diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c72ae4ef52..52eacc3ff70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -437,6 +437,7 @@ mark_as_advanced(KIVA_EXE_BUILD) mark_as_advanced(KIVA_GROUND_PLOT) mark_as_advanced(KIVA_STATIC_LIB) mark_as_advanced(KIVA_TESTING) +mark_as_advanced(KIVA_WERROR) mark_as_advanced(BTWXT_COVERAGE) mark_as_advanced(BUILD_BTWXT_TESTING) mark_as_advanced(BTWXT_STATIC_LIB) @@ -488,3 +489,15 @@ mark_as_advanced(ENABLE_SANITIZER_LEAK) mark_as_advanced(ENABLE_SANITIZER_MEMORY) mark_as_advanced(ENABLE_SANITIZER_THREAD) mark_as_advanced(ENABLE_SANITIZER_UNDEFINED_BEHAVIOR) +mark_as_advanced(X11_xcb_xkb_INCLUDE_PATH) +mark_as_advanced(ENABLE_SANITIZER_UNDEFINED_BEHAVIOR) +mark_as_advanced(JSONCPP_USE_SECURE_MEMORY) +mark_as_advanced(JSONCPP_WITH_CMAKE_PACKAGE) +mark_as_advanced(JSONCPP_WITH_PKGCONFIG_SUPPORT) +mark_as_advanced(JSONCPP_WITH_POST_BUILD_UNITTE) +mark_as_advanced(JSONCPP_WITH_STRICT_ISO) +mark_as_advanced(JSONCPP_WITH_TESTS) +mark_as_advanced(JSONCPP_WITH_WARNING_AS_ERROR) +mark_as_advanced(CMAKE_CXX_COMPILER_LAUNCHER) +mark_as_advanced(CMAKE_C_COMPILER_LAUNCHER) +mark_as_advanced(DEBUG_LIBNAME_SUFFIX) diff --git a/design/FY2024/NFP-90-1-Metrics-24-1.md b/design/FY2024/NFP-90-1-Metrics-24-1.md new file mode 100644 index 00000000000..a9eaf69e09c --- /dev/null +++ b/design/FY2024/NFP-90-1-Metrics-24-1.md @@ -0,0 +1,224 @@ +# Additional ASHRAE Metrics Reporting in EnergyPlus 24-1 +**NFP/Design -- Digital Alchemy** + +**Revisions** +- New Feature Proposal -- 15-Nov23 +- New Feature Design & Updates -- 15-Nov-23; 18-Dec-23 + +## Justification for New Feature +Many new metrics were established in the ASHRAE 90.1-2019 \[1\] standard. +EnergyPlus should be updated to predict these new metrics for equipment used in simulation. + +## Overview +We have identified and investigated the following commonly used +equipment metrics, defined by various industry organizations and used in +ASHRAE 90.1-2019: + +|#| Metric
(Defining Org) | Used in | Description | Equipment
Measured | URl | +|--|--|--|--|--|--| +|1 |SEER2
[(AHRI 210/240-2023)](https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat) | ASHRAE 90.1-2019 | (new) Seasonal Energy Efficiency Ratio | Air Conditioner Condensing Units
Heat Pumps
Single Packaged Units
Evaporator /Coils
Gas Furnaces | [[2]](https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat) | +|2 | HSPF2
[(AHRI 210/240-2023)](https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat) | ASHRAE 90.1-2019 |(new) Heating Seasonal Performance Factor| Unitary Air-source Heat Pump |[[3]](https://www.ahrinet.org/search-standards/ahri-210240-2023-2020-performance-rating-unitary-air-conditioning-air-source-heat)| +|3 | IEER
[(AHRI 340/360-2022)](https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air) | ASHRAE 90.1-2019 | Integrated Energy Efficiency Ratio | Commercial and Industrial Unitary Air-conditioning and Heat Pump |[[4]](https://www.ahrinet.org/search-standards/ahri-340360-i-p2022-performance-rating-commercial-and-industrial-unitary-air) | +|4 |CEER
[(ANSI/AHAM RAC-1-2020)](https://www.aham.org/ItemDetail?iProductCode=20010&Category=MADSTD) | ASHRAE 90.1-2019 |Combined Energy Efficiency Ratio |Household Room Air Conditioners |[[5]](https://www.aham.org/ItemDetail?iProductCode=20010&Category=MADSTD)| +|5 |MRE
[(AHRI 910-2020)](https://www.ahrinet.org/search-standards/ahri-910-i-p2014-performance-rating-indoor-pool-dehumidifiers) | ASHRAE 90.1-2019| Moisture Removal Efficiency |Indoor Pool Dehumidifiers |[[6]](https://www.ahrinet.org/search-standards/ahri-910-i-p2014-performance-rating-indoor-pool-dehumidifiers)| +|6 |ISMRE
[(AHRI 920-2020)](https://global.ihs.com/doc_detail.cfm?document_name=AHRI%20920%20I%2DP&item_s_key=00662234) | ASHRAE 90.1-2019 |Integrated Seasonal Moisture Removal Efficiency| DOAS Specification |[[7]](https://global.ihs.com/doc_detail.cfm?document_name=AHRI%20920%20I%2DP&item_s_key=00662234)| +|7 |ISCOP
[(AHRI 920-2020)](https://global.ihs.com/doc_detail.cfm?document_name=AHRI%20920%20I%2DP&item_s_key=00662234) | ASHRAE 90.1-2019 |Integrated Seasonal Coefficient Of Performance |Direct Expansion-Dedicated Outdoor Air System Units (DX DOAS Units) |[[8]](https://global.ihs.com/doc_detail.cfm?document_name=AHRI%20920%20I%2DP&item_s_key=00662234)| +|8 |UEF
[(CFR-430-2016 Appendix E)](https://www.govinfo.gov/app/details/CFR-2016-title10-vol3/CFR-2016-title10-vol3-part430-subpartB-appE) | ASHRAE 90.1-2019| Uniform Energy Factor| Water Heaters |[[9]](https://www.govinfo.gov/app/details/CFR-2016-title10-vol3/CFR-2016-title10-vol3-part430-subpartB-appE)| +|9 |FEI
[(AMCA 208-2018)](https://www.techstreet.com/amca/searches/35955048) | ASHRAE 90.1-2019 | fan energy index | Fan Energy | [[10]](https://www.techstreet.com/amca/searches/35955048) | + +In previous Task Orders, we implemented support for the following calculations and reporting: +- SEER2/HSPF2 -- support for these Metrics was implemented/released in EnergyPlus 22-2, based on the 2023 version of the ANSI/AHRI 210-240 standard. + - SEER2 - for the SingleSpeed, MultiSpeed, and CurveFit:Speed variants of DX Cooling coils. + - HSPF2 - for the SingleSpeed and MultiSpeed DX Heating coils. All of this was implemented based on the 2023 version of the ANSI/AHRI 210-240 standard. +- EER/IEER -- support for these Metrics was implemented/released in EnergyPlus 23-1, based on the 2022 version of the AHRI Standard 340-360 + - EER - for the SingleSpeed, TwoSpeed, MultiSpeed, VariableSpeed, and CurveFit:Speed variants of DX Cooling coils. + - IEER - for the SingleSpeed, TwoSpeed, MultiSpeed, VariableSpeed, and CurveFit:Speed variants of DX Cooling coils. + +In this Task Order we propose the following scope of work: +- Implement SEER2 -- for the following configurations and calculation variants, as defined in the 2023 version of the ANSI/AHRI Standard 210-240: + - Coil:Cooling:DX:TwoSpeed -- supporting 4 different calculation paths, determined by the building cooling load and the Coil's cooling capacity + - Coil:Cooling:DX:VariableSpeed -- supporting 3 different calculation paths for several configurations, ranging from 1 speed to 10 speeds, and also depending on the building cooling load and the coil's cooling capacity at each speed. +- Refactoring of standards calculation and reporting code, which has been implemented by various team members over the past 15 years +- Improved handling of metrics calculation/reporting, based on Coil cooling capacity. The applicable metric standard rating is dependent on the coil's cooling capacity. For example, the applicable standard rating for coils with a capacity of less than 65K Btu/hr is SEER2 (AHRI Standard 210/240), whereas for coils with capacities from 65K Btu/hr and 135K Btu/hr, it is IEER (AHRI Standard 340/360) + +## SEER2 = Seasonal Energy Efficiency Rating (2023) +SEER2 is calculated based on ANSI/AHRI Standard 210/240-2023: applies to: Unitary Air-conditioners and Unitary Air-source Heat Pumps with +capacities less than 65,000 Btu/h. + +### FOR TWO STAGE SYSTEMS + +|Two Stage Systems| +|--| +|Graphical representation of SEER2:
| + +|Variable|Formulas| +|--|--| +|SEER2|| +|q(tj) and E(tj) are calculated for the following temperature bins|| +|BL(tj)||| +|qLOW(tj)||| +|PLOW(tj)||| +|qFull(tj)||| +|PFull(tj)||| +## Case 1 +|Variable|Formulas| +|--|--| +||Building load is less than Low Stage capacity| +||| +|CDC
Default Cooling Degradation Coefficient|Default: 0.2
If Tests C and D are not performed or CDC is greater than default use default value| +## Case 2 +|Variable|Formulas| +|--|--| +||Building load is greater than Low Stage capacity, but less than Full Stage capacity
and the unit cycles between Low Stage operation and Full Stage operation| +||| +## Case 3 +|Variable|Formulas| +|--|--| +||Building load is greater than Low Stage capacity, but less than Full Stage capacity
and the unit cycles between off and Full Stage operation| +||| +|CDc,Full
Default Cooling Degradation Coefficient|Default: 0.2
If Tests C and D are not conducted set CDc,Full to the default value or use the following forumlar:

If the test is conducted use the following forumlar:

| +## Case 4 +|Variable|Formulas| +|--|--| +||Building load is greater than or equal to the unit capacity| +||| + +### FOR VARIABLE SPEED SYSTEMS + |Variable Speed Systems| +|--| +|Graphical representation of SEER2:
| + +|Variable|Formulas| +|--|--| +|SEER2|| +|qLOW(tj)|| +|PLOW(tj)|| +|qInt-Bin(tj)|| +|EInt-Bin(tj)|| +|qInt(tj)|
| +|qInt(87)|| +|PInt(tj)|| +|PLOW(87)|| +## Case 1 +|Variable|Formulas| +|--|--| +|
|Building load is no greater than unit capacity at low speed| +||| +|CDC,low|

Substitute Test G and I for test C and D +|CDC
Default Cooling Degradation Coefficient|Default: 0.25
If Tests G and I are not performed or CDC is greater than default use default value| +## Case 2 +|Variable|Formulas| +|--|--| +||Building load can be matched by modulating the compressor
speed between low speed and full speed| +|qInt-Bin(tj)|| +|EInt-Bin(tj)|| +|||| +|EERInt-Bin(tj)|| +## Case 3 +|Variable|Formulas| +|--|--| +||Building load is equal to or greater than unit capacity at full stage| +||!| + +## Test Conditions:
+!

+!
+ +**Example Test Points Used for EER Rating Points**
+!
+ +## Approach +The EnergyPlus components for this scope of work are: Coil:Cooling:DX:TwoSpeed and Coil:Cooling:DX:VariableSpeed (for which calculations must support from 1 to 10 speeds). The TwoSpeed implementation will be new, as the standard calculations are different from OneSpeed and VariableSpeed. The VariableSpeed implementation will have some similarities to the previous implementation for MultiSpeed, but will be more involved as it must adapt to number of speeds ranging from 1 to 10. +Unit tests will be implemented for many, if not all variations -- to ensure the calculation is correct and to fag any regressions that might occur in the future. + +Once the metrics are calculated we can integrate them into the corresponding report code of the equipment summary table. +This work will all be done by extending the implementation in StandardRatings.hh & StandardRatings.cc. Our initial estimate for the scope of this work includes the following: +- Expand MultiSpeedDXCoolingCoilStandardRatings to report SEER2 values for the following E+ coils: + - Coil:Cooling:DX:TwoSpeed + - Coil:Cooling:DX:VariableSpeed + +- Extend ReportDXCoilRating to report SEER2 for these Coils +- CheckCurveLimitsForStandardRatings +- Ensure existing unit tests pass with changes +- Add new tests where new cases have been added + +Given the budget in this round of development, implementation of HSPF2 calculation & reporting for variable speed DX heating coils, will not be possible. We hope that this can be done in the EnergyPlus 24-2 implementation cycle. + +## Testing/Validation/Data Source(s) +Example files will be simulated to confirm calculation and reporting of the these metrics. Simulation results will be compared with values generated by a third-party implementations. +Peer reviewer input on this is eagerly invited. +Unit tests for the Continuous Integration (CI) pipeline will also be updated/extended to confirm the calculation of the metrics and ensure the code produces correct results and does not fail when future code changes are merged. + +## Input Output Reference Documentation +The Input Output Documentation will be expanded to include the new metric. There will be an update in two places: first on the related section of the EnergyPlus components for which the metric is calculated and second in the reports section, specifically the Equipment Summary report. This will be done for (2) coil types listed above. +We will also add a disclaimer in the sections for these Coils: \"It is not reasonable to expect AHRI ratings calculated from model inputs to match the actual ratings in the AHRI directory. This is largely because it is common practice for manufacturers to underrate their equipment for marketing reasons and/or to build in some safety margin in case DOE audits their ratings.\" + +## Input Description +Fields To support Calculation of SEER2 were added to these Coils in EnergyPlus 22-2, to represent the static pressure on the fans (Power per flow rate). +- Coil:Cooling:DX:TwoSpeed -- for EER/IEER (E+ 23-1) & SEER2 (E+ 23-2) +- Coil:Cooling:DX:VariableSpeed -- for EER/IEER (E+ 23-1) & SEER2 (E+ 23-2) + +Therefore, we will not need to add any new fields in this development cycle. + +## Outputs Description +The EPlusout-EIO.tex files will be updated to document these metrics for (2) Coil types listed above -- that have been added to the HTML report generated by EnergyPlus after simulation. These updates will document the fields in the tables named “DX Cooling Coil Standard Ratings 2017” and “DX Cooling Coil Standard Ratings 2023.” + +## Engineering Reference +The Engineering Reference will be updated with a high-level description of the calculations with links/references to Formulae defined in the standard - for the (2) coil types listed above. + +## Example Files and Transition Changes +Example files for Coil:Cooling:DX:TwoSpeed in which the condenser is air-cooled: + - Coil:Cooling:DX:TwoSpeed.idf + - ASHRAE9012016_OfficeMedium_Denver.idf + - RefBldgPrimarySchoolNew2004_Chicago.idf +Example files for Coil:Cooling:DX:VariableSpeed in which the condenser is air-cooled: + - 5Zone_Unitary_HXAssistedCoil.idf + - HeatPumpVSAS.idf + - PackagedTerminalAirConditionerVSAS.idf + - PackagedTerminalHeatPumpVSAS.idf + +## E-mail and Conference Call Conclusions ## +[15-Nov-23] During NFP presentation, posed the question about whether EnergyPlus support simulation of the 'lock-out' feature described in Case 3 of the Two-Stage calculations section of the AHRI Standard 210/240. As loosely described, this feature avoids unnessary cycling through low stage in very hot outdoor temperatures -- instead cycling direct to Full stage. Mike Witte suggested that we pose this question for R.Raustad and N.Bereket in email. +[1-Dec-23] Response from R.Raustad covered the following: +- Data for both Coil:Cooling:DX:TwoSpeed and Coil:Cooling:DX:VariableSpeed in EnergyPlus - include fields for 'Minimum Outdoor Dry-Bulb Temperature for Compressor operation. However we are looking for a high temperature at which Low Stage operation is skipped; cycling instead directly to Full Stage. +- ZoneControl:Thermostat:StagedDualSetpoint can be used to cycle between off and full stage operation. +[2-Dec-23] Response from N.Bereket included the following: +- Calculation for Coil:Cooling:DX:MultiSpeed and Coil:Cooling:DX:VariableSpeed will both use calculations described in the standard for Variable Speed systems. +- Coil:Cooling:DX:TwoSpeed implementation in EnergyPlus may be more realistic because it does address multi-stage compressors +- Equations in the AHRI standard approximate results measured in test labs and include some assumptions and approximations. Consequently, some adjustment may be required. + +## Acknowledgments +Thanks to R.Raustad and N.Bereket for their responses to questions raised in the NFP review. + +## References +\[1\] ASHRAE, ANSI/ASHRAE/IES Standard 90.1-2019: Energy Standard for +Buildings Except Low-Rise Residential Buildings. 2019. + +\[2\] Jonestone Supply: The SEER2 Guide. 2022. URL: [AHRI 210/240-202](https://seer2.com/) + +\[3\] AHRI: Air Conditioning, Heating & Refrigeration Institute. 2023 +(2020) Standard for Performance Rating of Unitary Air-conditioning & +Air-source Heat Pump Equipment. 2020. URL: [AHRI 210/240-2023](https://www.ahrinet.org/Portals/\_Appleseed/documents/Standards/AHRI%20Standard%20210.240-2023%20(2020).pdf) + +\[4\] AHRI: AHRI Standard 340/360-2022 (I-P): 2022 Standard for +Performance Rating of Commercial and Industrial Unitary Air-conditioning +and Heat Pump Equipment. 2019. URL: [AHRI 340/360-2022](https://www.ahrinet.org/Portals/Standards/AHRI%20Standard%20340-360-2022%20(I-P).pdf) + +\[5\] ANSI/AHAM: ANSI/AHAM RAC-1-2015: Room Air Conditioners. 2015. URL: [ANSI/AHAM RAC-1-2020](https://webstore.ansi.org/standards/aham/ansiahamrac2015) + +\[6\] ANSI/AHAM: ANSI/AHRI 910-I-P-2014: Performance Rating of Indoor +Pool Dehumidifiers. 2014. URL: [AHRI 910-2020](http://www.ahrinet.org/App_Content/ahri/files/STANDARDS/AHRI/AHRI_Standard_910_I-P_2014.pdf) + +\[7\] HPAC Engineering. Understanding AHRI 920 and ISMRE Ratings for +Most Efficient DOAS Specification. 2018. URL:[AHRI 920-2020](https://www.hpac.com/columns/managing-facilities/article/20929562/understanding-ahri-920-and-ismre-ratings-for-most-efficient-doas-specification) + +\[8\] ANSI/AHAM: ANSI/AHRI 920-I-P-2015: 2015 Standard for Performance +Rating of DX-Dedicated Outdoor Air System Units. 2015.
   URL: [AHRI 920-2020](https://www.ahrinet.org/App_Content/ahri/files/STANDARDS/ANSI/ANSI_AHRI_Standard_920_I-P_2015.pdf) + +\[9\] 10 CFR Appendix E to Subpart B of Part 430 - Uniform Test Method +for Measuring the Energy Consumption of Water Heaters. 2016.
   URL: [FR-430-2016 Appendix E](https://www.govinfo.gov/app/details/CFR-2016-title10-vol3/CFR-2016-title10-vol3-part430-subpartB-appE) + +\[10\] ANSI/AMCA Standard 208, Calculation of the Fan Energy Index. +2019. URL: [AMCA 208-2018](https://www.amca.org/news/press-releases/ansi/amca-standard-208,-calculation-of-the-fan-energy-index,-available-for-free-download.html&usg=AOvVaw2eZxHxgdq183Y9WsZlgjTB) + +\[11\] Differences between SEER and HSOPF and SEER2 and HSPF2 URL: [Presentation](https://www.ahrinet.org/Portals/AHRI%20CAC%20HP%20Appendix%20M1%20Presentation%20-%20AHR%20Expo.pdf) diff --git a/design/FY2024/NFP_VariableCondenserFlowRequest.md b/design/FY2024/NFP_VariableCondenserFlowRequest.md new file mode 100644 index 00000000000..a4e8e0b7ae8 --- /dev/null +++ b/design/FY2024/NFP_VariableCondenserFlowRequest.md @@ -0,0 +1,122 @@ +Variable Condenser Flow Request +================================= + +**Jeremy Lerond, Pacific Northwest National Laboratory** + + +## Justification for New Feature ## + +Issue [#7111](https://github.com/NREL/EnergyPlus/issues/7111) +- "User file with Chiller:Electric:EIR always requests full condenser flow rate" +- "This is a problem not only when using cooling towers, but also when using seawater cooling by PlantComponent:TemperatureSource. Unlike cooling towers, it is not possible to make a compromise of variable tower fans instead of variable condenser water." + +## E-mail and Conference Call Conclusions ## + +Notes from the 5/15/2024 technicalities call: +- TRANE trace scales the condenser flow request based on the chiller PLR +- The new chiller input is different than the existing chiller flow mode input (evaporator side) +- Implement the new inputs and logic for both the `Chiller:Electric:EIR` and `Chiller:Electric:ReformulatedEIR` + +## Overview ## + +Chilled water plant designs can include variable flow condenser requests from chillers. Currently, the `Chiller:Electric:EIR` and `Chiller:Electric:ReformulatedEIR` objects request the maximum condenser flow rate every time a chiller is active. This new feature will implement new control strategies to allow users to model variable flow condenser requests from chillers. + +## Approach ## + +Three new control approaches will be implemented: +1. When used in conjunction with a cooling tower, users will be able to use the approach from the _Fundamentals of Design and Control of Central Chilled-Water Plants_ which correlates the condenser water flow ratio to the chilled water plant's PLR as follows: `CWFR = C . PLR + D`, where `CWFR` is the condenser water flow ration (actual/design), `C` and `D` are user specified coefficients (for proposed values see _Optimizing Design & Control Of Chilled Water Plants, Part 5_, S. Taylor, ASHRAE Journal June 2012) and `PLR` is the chilled water plant loop part load ratio (actual/design). The condenser loop flow would be calculated as `m_dot_CW = CWFR * m_dot_CW_design`. Because the request comes from the chillers, the chiller request will be determined as follows: `m_dot_CW_chiller = m_dot_CW * Q_chiller / Q_CHW`. Where `Q_chiller` is the chiller load and `Q_CHW` is the chilled water loop load. So if a chilled water plant loop has two chillers, then `Q_CHW = Q_chiller_1 + Q_chiller_2`. +2. When no cooling tower are used, users will be able to specify that the condenser water flow request will be determined as follows: `m_dot_CW_chiuller = Q_condenser / (C_p .dT)` where dT is the delta T across the condenser. +3. A simplified approach to 1. will also be implemented which will set the request condenser flow rate for each chiller to be `m_dot_CW_chiller = PLR_chiller * m_dot_max_condenser_chiller`. + +## Testing/Validation/Data Sources ## + +Unit tests will be added to confirm the correct implementation of these control strategies. + +## Input Output Reference Documentation ## + +A description of the new field will be added to the input output reference manual. + +## Input Description ## + +``` +Chiller:Electric:EIR, +\min-fields 23 + \memo This chiller model is the empirical model from the DOE-2 building Energy + \memo simulation program. Chiller performance at off-reference conditions is modeled + \memo using three polynomial equations. Three curves objects are required. +[...] +A16, \field End-Use Subcategory + \note Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table. + \type alpha + \retaincase + \default General +A17, \field Condenser Flow Control + \note Select the chiller condenser flow request mode. With "ConstantFlow" a chiller will always request + \note its maximum condenser flow rate. With "ModulatedChillerPLR" the condenser flow request corresponds + \note to the chiller part load ratio multiplied by the chiller maximum condenser flow rate. With + \note "ModulatedLoopPLR" the chiller will request a flow rate that is function of the chilled water + \note loop's part load ratio, see the "Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio + \note Curve Name" input. With "ModulatedDeltaTemperature" the chiller will request the flow rate required + \note to meet a condenser loop delta temperature, see the "Temperature Difference Across Condenser" and + \note "Temperature Difference Across Condenser Schedule Name" input. + \note Use "ConstantFlow" when modeling a constant flow condenser plant loop, choose one of the other inputs + \note when modeling a variable flow condenser plant loop. + \key ConstantFlow + \key ModulatedChillerPLR + \key ModulatedLoopPLR + \key ModulatedDeltaTemperature + \default ConstantFlow +A18, \field Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name + \note Condenser loop flow rate fraction as a function of the chiller water loop part load ratio. A linear + \note curve is expected. + \note CWFR = C * PLR + D + \note Where: + \note CWFR is the condenser water flow fraction (actual/design) + \note C and D are coefficients, see "Optimizing Design & Control Of Chilled Water Plants, Part 5", + \note S. Taylor, ASHRAE Journal June 2012 PLR is the chilled water plant loop part load ratio + \note (actual/design). This input is only used when the "ModulatedLoopPLR" condenser flow control + \note option is used. + \type object-list + \object-list UnivariateFunctions +A20, \field Temperature Difference Across Condenser Schedule Name + \note A schedule that defines the temperature difference across the condenser. This input is used to + \note calculate the condenser flow. This input is only used when "Condenser Flow Control" is set to + \note "ModulatedDeltaTemperature". + \type object-list + \object-list ScheduleNames +N19; \field Condenser Minimum Flow Fraction + \note This input corresponds to the minimum flow fraction to be simulated. The minimum condenser flow + \note corresponds to this fraction multiplied by the maximum condenser flow rate. This input is only used + \note when the "Condenser Flow Control" input is set to "ModulatedChillerPLR", "ModulatedLoopPLR" or + \note "ModulatedDeltaTemperature". + \type real + \minimum 0.0 + \maximum 1.0 + \default 0.2 +``` + +Similar input will be implemented for the `Chiller:Electric:ReformulatedEIR` object. + +## Outputs Description ## + +No new output will be added. + +## Engineering Reference ## + +A new section will be added to the Chiller section of the Engineering Reference to provide details on the control approach as shown in the Approach section of this document. + +A note will be added indicating that chiller performance will be only impacted when simulating a `Chiller:Electric:ReformulatedEIR` since this chiller object has its part load performance impacted by the leaving chiller condenser temperature. + +## Example File and Transition Changes ## + +No transition will be necessary. + +New example files will be provided to showcase the new feature. + +## References ## + +- "Optimizing Design & Control Of Chilled Water Plants, Part 2", S. Taylor, ASHRAE Journal Sept 2011 +- "Optimizing Design & Control Of Chilled Water Plants, Part 5", S. Taylor, ASHRAE Journal June 2012 +- "Optimizing Chilled Water Plan Control", M. Hydeman, ASHRAE Journal June 2007 +- "Carrier® ChillerVu™ Variable Flow Condenser Pump Application Guide", https://www.shareddocs.com/hvac/docs/1000/Public/0A/11-808-577-01.pdf +- "Achieving Variable Condenser Water Flow with VFDs" https://www.esmagazine.com/articles/99689-achieving-variable-condenser-water-flow-with-vfds \ No newline at end of file diff --git a/design/FY2024/NFP_VariableSpeedPIUs.md b/design/FY2024/NFP_VariableSpeedPIUs.md new file mode 100644 index 00000000000..4c1130c0ae2 --- /dev/null +++ b/design/FY2024/NFP_VariableSpeedPIUs.md @@ -0,0 +1,207 @@ +Variable Speed Power Induction Units (Series/Parallel) +================ + +**Jeremy Lerond, Pacific Northwest National Laboratory** + + - Original Date: 11/2023 + - Revision Date: N/A + + +## Justification for New Feature ## + +Certain building energy codes require fan powered VAV boxes to use variable speed fans. The code section below is an example from section C403.7.10 of the Washington State Energy Code. Currently, EnergyPlus can only simulate constant speed fans with PIU terminals, even when a variable speed fan object (`Fan:VariableVolume` or `Fan:SystemModel`) is used. + + All fan powered VAV terminal units (series or parallel) shall be provided with electronically commutated motors. The DDC system shall be configured to vary the speed of the motor as a function of the heating and cooling load in the space. Minimum speed shall not be greater than 66 percent of design airflow required for the greater of heating or cooling operation. Minimum speed shall be used during periods of low heating and cooling operation and ventilation-only operation. + +There is also a user request for it, see [here](https://github.com/NREL/EnergyPlus/issues/7311). + +## E-mail and Conference Call Conclusions ## + +TRANE has agreed to share their variable speed series fan powered terminal units hence this NFP will focus on the implementation of parallel fan powered terminal units. See this [PR](https://github.com/NREL/EnergyPlus/pull/10336) for reference. + +## Overview ## + +This new feature will enable users to simulate parallel fan powered boxes with variable speed fans by using a `Fan:SystemModel` as part of an `AirTerminal:SingleDuct:ParallelPIU:Reheat` with a `Continuous` speed control method input. `Fan:VariableVolume` will not be supported as part of this new feature. + +The ASHRAE Guideline 36 provides sequence of operation during heating, cooling and deadband (ventilation) operation for both series and parallel fan powered boxes, see Figure 1 and Figure 2 below. + +![Sequence of Operation of a VAV parallel FPB](vav_parallel_fpb.png) + +_Figure 1 - Sequence of Operation of a VAV parallel FPB According to ASHRAE Guideline 36_ + +In summary, Figure 1 shows that VAV parallel FPB should operate as follows: +- **Heating**: the fan should operate at minimum airflow rate until the maximum reheat discharge air temperature is reached, and then the airflow should be raised to meet the load. +- **Deadband**: the fan should be off, unless the primary airflow rate falls under the minimum outdoor airflow rate. When it's the case the fan flow rate is equal to minimum outdoor airflow rate minus the primary airflow rate. The sequence of operation does not specify it but the implementation will respect the fan's minimum flow rate which means that in that instance the airflow rate will be the maximum of the minimum airflow rate and the minimum outdoor airflow rate minus the primary airflow rate. +- **Cooling**: the fan is off unless the primary airflow rate falls under the minimum outdoor airflow rate (same case as in deadband). + +![Sequence of Operation of a VAV series FPB](vav_series_fpb.png) + +_Figure 2 - Sequence of Operation of a VAV series FPB According to ASHRAE Guideline 36_ + +In summary, Figure 2 shows that VAV series FPB should operate as follows: +- **Heating**: the fan should operate at the minimum airflow rate (fan minimum airflow rate or outdoor air minimum flow rate) until the maximum reheat discharge air temperature is reached, and then the airflow should be raised to meet the load. +- **Deadband**: the fan shall operate at the minimum airflow rate (fan minimum airflow rate or outdoor air minimum flow rate). +- **Cooling**: the fan air flow rate will be adjusted based on the primary airflow rate ratio (ratio of actual primary airflow rate to maximum airflow rate). + +PIU terminals currently don't have a maximum reheat air temperature input but is necessary to support such an implementation. + +Currently, both the `CalcSeriesPIU` and `CalcParallelPIU` routine follow a similar approach which is to 1. determine the primary/secondary airflow rates, 2. simulate the fan, 3. simulate the heating coil. The new implementation will use a "two-step" approach when the terminal sees a heating load: First, the `Calc` methods will force the terminal to run at its minimum flow rate, if the maximum reheat temperature is reached and the load is not met, then flow rate will be increased so the load can be met (at that maximum reheat temperature). The "Deadband" and "Cooling" sequences of operations specified above can be implemented using the current structure of the routines (see 1.). + +TRANE has shared some documentation that describe how their product operate. This document is the bases for [PR #10336](https://github.com/NREL/EnergyPlus/pull/10336). The following figures shows how staged and modulated heating elements can be controlled along with variable speed fans in parallel fan powered terminals to meet space loads. + +![Sequence of Operation of a VAV parallel FPB with staged heating](vav_parallel_fpb_trane_staged.png) + +_Figure 3 - Sequence of Operation of a VAV parallel FPB with Staged Heating_ (source: TRANE) + +During heating operations and during the first stage of heating, the terminal coil is off and the terminal fan speed is increased until the maximum flow rate is reached. If the load is not met, the coil is cycled on/off to meet the load while the fan operates at its maximum flow rates. The primary flow rate is unchanged and is at the minimum primary flow rate. During deadband operations, the heating coil is off and the terminal fan is off too, same during cooling operations. + +![Sequence of Operation of a VAV parallel FPB with modulated heating](vav_parallel_fpb_trane_modulated.png) + +_Figure 4 - Sequence of Operation of a VAV parallel FPB with Modulated Heating_ (source: TRANE) + +During heating operations and during the first stage of heating, the terminal fan is on and operating at its minimum flow rate and the heating coil is modulated to provide additional heating if need be until the design heating discharge air temperature is reached. Then, the fan flow rate is increased until it reaches the fan's maximum flow rate. If additional heat is needed to meet the load, the heating coil is modulated further to reach the maximum reheat discharge air temperature of the terminal. + +## Approach ## + +After presenting to the development team, feedback was that the Guideline 36 are specific to high performance building system. Hence, the TRANE sequences will be implemented in EnergyPlus to align with [PR #10336](https://github.com/NREL/EnergyPlus/pull/10336). + +The following new inputs will be added to the `AirTerminal:SingleDuct:ParallelPIU:Reheat`: +- `Fan Control Type` +- `Minimum Fan Turn Down Ratio` +- `Heating Control Type` +- `Design Heating Discharge Air Temperature` +- `High Limit Heating Discharge Air Temperature` + +## Testing/Validation/Data Sources ## + +Appropriate unit tests will be provided for all sequences for both terminals. + +## Input Output Reference Documentation ## + +```latex +\paragraph{Field: Fan Control Type}\label{field-fan-control-type-parallelPIU} + +This field can be used to declare that a model for variable speed fan should be used. There are two choices, \textbf{VariableSpeed} or \textbf{Constant}. Enter VariableSpeed to indicate that the air terminal should operate with variable fan and emulate a modern controller. To use VariableSpeed the fan type needs to be a Fan:SystemModel and the named fan needs to be setup for variable flow. Enter Constant to use the legacy model for constant fan operation. + +\paragraph{Field: Minimum Fan Turn Down Ratio}\label{field-fan-turn-down-ratio-parallelPIU} + +This field is used to determine the minimum fan speed as a fraction when modeling variable speed fan. This ratio or fraction is multiplied by the Maximum Air Flow Rate to determine the minimum air flow rate while the fan is operating. + +\paragraph{Field: Heating Control Type}\label{field-heat-control-type-parallelPIU} + +This field is used to declare how the heating coil is to be controlled. There are two choices, \textbf{Staged} or \textbf{Modulated}, see the control diagrams above. + +Staged heat control has two stages. The first stage increases the fan flow first while leaving the reheat coil off. The second stage runs the fan at full speed and brings on heating. + +Modulated heat control has three stages and considers discharge air temperature. The first stage of heating leaves fan speed at the minimum and brings on heat until the design discharge air temperature is reached. The second stage of heating maintains the design discharge air temperature and ramps up the fan speed. The third stage of heating runs at full fan speed and allows the discharge air temperature to exceed the design up until it reaches a high limit. When using the Modulated heat control type the following two fields are needed for input on the discharge air temperatures. + +\paragraph{Field: Design Heating Discharge Air Temperature}\label{field-heat-design-DAT-parallelPIU} + +This field is used to indicate the design discharge air temperature during stage two heating for Modulated heat control. There is a default of 32.1 C (90F). + +\paragraph{Field: High Limit Heating Discharge Air Temperature}\label{field-heat-limit-DAT-parallelPIU} + +This field is used to indicate the high limit on discharge air temperature at the end of stage three heating for Modulated heat control. There is a default of 37.7C (100F). + +``` + +## Input Description ## + +``` + A11, \field Fan Control Type + \note If VariableSpeed, then the fan object type must be Fan:SystemModel + \type choice + \key VariableSpeed + \key Constant + \default Constant + N8, \field Minimum Fan Turn Down Ratio + \type real + \units dimensionless + \note flow through terminal at minimum fan speed is this ratio multiplied by Maximum Air Flow Rate + \minimum 0.0 + \maximum 1.0 + \default 0.3 + A12, \field Heating Control Type + \type choice + \key Staged + \key Modulated + N9, \field Design Heating Discharge Air Temperature + \type real + \units C + \default 32.1 + \note Only used if Heating Control Type is Modulated + \note Used to control second stage heating, typically zone heat setpoint plus 20F + N10; \field High Limit Heating Discharge Air Temperature + \type real + \units C + \default 37.7 + \note Only used if Heating Control Type is Modulated + \note Used to determine end of third stage heating. +``` + +## Outputs Description ## + +TODO: address last item + +```latex + +\paragraph{Zone Air Terminal Total Air Mass Flow Rate {[}kg/s{]}} + +This field reports the total air mass flow rate discharging from the air terminal into the zone, in kg/s. The flow rate will vary when using VariableSpeed fan option and this is a convenient method of reporting the flow. + +\paragraph{Zone Air Terminal Primary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the primary node, typically a central air handling unit, in kg/s. The flow will vary during cooling when using a central variable speed fan. + +\paragraph{Zone Air Terminal Secondary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the secondary node, in kg/s. This air is typically local recirculated or induced air drawn from the return plenum or directly from the zone. The flow rate will vary during heating when using a variable speed fan. + +\paragraph{Zone Air Terminal Outlet Discharge Air Temperature {[}C{]}} + +This field reports the drybulb temperature of the air leaving the terminal and discharging into the zone. When using Modulated heating control method, the air terminal controls the discharge temperature with design and high limit values. This output is convenient for examining the controlling. + +\paragraph{Zone Air Terminal Current Operation Control Stage} + +This field reports the current control stage of a PIU terminal. The controller diagrams above show the different stages. This output helps to monitor what control stage the air terminal is in at a given time. The output itself is an integer value that is mapped to a stage in the following list. Note that the frequency of reporting needs to be at the highest level because averaging integers across more than one system timestep makes them meaningless. + +\begin{itemize} +\item + value = -1 => Not determined, should not occur, please report to developers +\item + value = 0 => Terminal Shut Down, system is not available. +\item + value = 1 => First Stage Cooling +\item + value = 4 => In Deadband, neither cooling or heating +\item + value = 5 => First Stage Heating, Staged Heat Control +\item + value = 6 => Second Stage Heating, Staged Heat Control +\item + value = 8 => First Stage Heating, Modulated Heat Control +\item + value = 9 => Second Stage Heating, Modulated Heat Control +\item + value = 10 => Third Stage Heating, Modulated Heat Control +\item + value = 11 => Legacy Constant Volume Cooling +\item + value = 12 => Legacy Constant Volume Heating +\end{itemize} + +``` + +## Engineering Reference ## + +Documentation of the implementation of the TRANE sequences of operation will be added to the engineering reference guide. + +## Example File and Transition Changes ## + +One example file showcasing both sequences of operations will be provided, probably based on `PIUAuto.idf`. + +## References ## + +ASHRAE, Guideline. 36: High performance sequences of operation for HVAC systems. American Society of Heating, Refrigerating and Air-Conditioning Engineers, Atlanta, 2018. + +Washington State Energy Code; International Code Council: Country Club Hills, IL, USA, 2015. \ No newline at end of file diff --git a/design/FY2024/vav_parallel_fpb.png b/design/FY2024/vav_parallel_fpb.png new file mode 100644 index 00000000000..fdf1d4c6a34 Binary files /dev/null and b/design/FY2024/vav_parallel_fpb.png differ diff --git a/design/FY2024/vav_parallel_fpb_trane_modulated.png b/design/FY2024/vav_parallel_fpb_trane_modulated.png new file mode 100644 index 00000000000..b660ff6a699 Binary files /dev/null and b/design/FY2024/vav_parallel_fpb_trane_modulated.png differ diff --git a/design/FY2024/vav_parallel_fpb_trane_staged.png b/design/FY2024/vav_parallel_fpb_trane_staged.png new file mode 100644 index 00000000000..6c368efbd51 Binary files /dev/null and b/design/FY2024/vav_parallel_fpb_trane_staged.png differ diff --git a/design/FY2024/vav_series_fpb.png b/design/FY2024/vav_series_fpb.png new file mode 100644 index 00000000000..cba13a3a54f Binary files /dev/null and b/design/FY2024/vav_series_fpb.png differ diff --git a/doc/engineering-reference/src/alternative-modeling-processes/hybrid-model.tex b/doc/engineering-reference/src/alternative-modeling-processes/hybrid-model.tex index f7b78e70650..f7c02443f7f 100644 --- a/doc/engineering-reference/src/alternative-modeling-processes/hybrid-model.tex +++ b/doc/engineering-reference/src/alternative-modeling-processes/hybrid-model.tex @@ -183,7 +183,7 @@ \subsubsection{Inverse algorithm for zone capacitance multiplier}\label{Inverse- \label{eq:InternalMassMultiplierforEachTimestep} \end{equation} -The default value is 1.0. Ideally the zone heat capacity shall remain constant for the same condition of the interior environment in the zone heat balance equation. An underlying assumption is that the zone heat capacity is treated as constant for the equilibrium of the inversed heat balance model. However the measured temperatures are not the same as the simulated zone air temperatures which is the result of the energy simulation in Equations~\ref{eq:ZoneAirHeatCapacityforEachTimestep} and~\ref{eq:InternalMassMultiplierforEachTimestep}. This causes the internal mass multiplier, $C_T^t$, the result from the inverse model is not constant during the course of the simulation period. The hybrid model will determine a time span when $|T_z^t - T_z^{t-\delta t}| > 0.05^{\circ}C$ that $C_z^t$ remains more constant. Internal mass multiplier calculations are only done when the zone air temperature difference between timesteps meets the condition. This filter is needed for more reliable inverse calculation to avoid the anomaly conditions due to the use of the inverse model. +The default value is 1.0. Ideally the zone heat capacity shall remain constant for the same condition of the interior environment in the zone heat balance equation. An underlying assumption is that the zone heat capacity is treated as constant for the equilibrium of the inversed heat balance model. However the measured temperatures are not the same as the simulated zone air temperatures which is the result of the energy simulation in Equations~\ref{eq:ZoneAirHeatCapacityforEachTimestep} and~\ref{eq:InternalMassMultiplierforEachTimestep}. This causes the internal mass multiplier, $C_T^t$, the result from the inverse model is not constant during the course of the simulation period. The hybrid model will determine a time span when $|T_z^t - T_z^{t-\delta t}| > 0.05^{\circ}C$ that $C_z^t$ remains more constant. Internal mass multiplier calculations are only done when the zone air temperature difference between timesteps meets the condition. This filter is needed for more reliable inverse calculation to avoid the anomaly conditions due to the use of the inverse model. So, when the value for this parameter is 1.0, this means that any of the following conditions is met: $|T_z^t - T_z^{t-\delta t}| > 0.05^{\circ}C$, the simulation is not currently during the time period for which hybrid modeling is set to run, or the value calculated for this parameter using the above methodology results in a value less than 1.0. The value for this multiplier can be obtained as output as described in the Input/Output Reference (Object: HybridModel:Zone). \subsection{Infiltration hybrid modeling method}\label{Infiltration hybrid modeling method} diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex index da6b5eebf2f..3d96644eeed 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-compound-component-groups.tex @@ -2647,6 +2647,15 @@ \subsubsection{Heat Pump Performance Calculations}\label{eir-air-to-water-heat-p \dot{Q}_{avail} = \dot{Q}_{ref} \times CAPFT \end{equation} +If heat recovery is active, the capacity of the heat pump is a function of the load-side outlet temperature and the heat recovery-side inlet temperature. Again the heat pump is assumed to meet the load-side temperature set point and therefore the load-side outlet temperature is assumed to be the set point temperature. + +\begin{equation} +CAPFT = f(T_{setpoint}, T_{heatrecovery,\; inlet}) +\end{equation} +\begin{equation} +\dot{Q}_{avail} = \dot{Q}_{ref} \times CAPFT +\end{equation} + \subsubsection{Dry Outdoor Coil Calculations (Heating mode only)}\label{eir-air-to-water-heat-pumps-dry-coil-calculations} For air-cooled heat pumps a dry coil correction factor, if used, is applied for heating operation. As the moisture content of the ambient air changes the heating capacity also changes. This change in performance is limited to an ambient relative humidity range of 60 - 90\% where below 60\% the outdoor coil is dry and reduces heating capacity and above 90\% the coil is fully wet and yields full heating capacity. In the following equations, below 60\% relative humidity the $Factor_{correction} = Factor_{correction,\;dry}$ and above 90\% relative humidity the $Factor_{correction} = 1$. These calculations apply only to heating operation. \begin{equation} @@ -2902,6 +2911,77 @@ \subsubsection{Final Calculation of Load and Energy, Power and Electricity, and {Q}_{source} = \dot{Q}_{source} \times TimeStepInSeconds \end{equation} +\subsection{Air to Water Heat Pumps with Heat Recovery}\label{air-to-water-heat-pumps-with-heat-recovery} + +This section describes an air-to-water heat pump with a heat recovery option. The heat pump object is based on \textit{HeatPump:PlantLoop:EIR:Cooling} and \textit{HeatPump:PlantLoop:EIR:Heating}. The heat recovery options are supported using heat recovery refrigerant-to-water heat exchangers (condenser or evaporator coils) that connect to hot water or chilled water heat recovery plant loops. These objects have fluid inlet and outlet nodes connecting them to a heat recovery plant loop. When these objects are connected to the heat recovery plant loop and the entering fluid temperature is favorable for heat recovery, then the heat recovery operation is enabled + +\subsubsection{Heat Recovery Equipment Capacity} +The heat recovery capacity is derived from the load side capacity of the heat pump by applying energy balance around the heat pump. The hot water and chilled water recovery capacities are calculated as follows: + +\begin{equation} +\dot{Q}_\mathrm{Cap,\; HW} = \dot{Q}_\mathrm{RefCap,\; cool} \times \mathrm{(1 + COP_\mathrm{cool})} +\end{equation} + +\begin{equation} +\dot{Q}_\mathrm{Cap,\; CHW} = \dot{Q}_\mathrm{RefCap,\; heat} \times \mathrm{(1 - COP_\mathrm{heat})} +\end{equation} + +\subsubsection{Heat Recovery Reference Fluid Flow Rate} +The heat recovery fluid reference volume flow rates are determined from the heat recovery capacity, design temperature difference of the heat recovery loop, specific heat capacity of the heat recovery fluid and density of the heat recovery fluid as follows: + +\begin{equation} +\dot{V}_\mathrm{heatrecovery,\; HW} = \frac{\dot{Q}_\mathrm{Cap,\; HW}}{\mathrm{Cp}_\mathrm{HW} \times \mathrm{Den}_\mathrm{HW} \times \mathrm{deltaT}_\mathrm{HW}} +\end{equation} + +\begin{equation} +\dot{V}_\mathrm{heatrecovery,\; CHW} = \frac{\dot{Q}_\mathrm{Cap,\; CHW}}{\mathrm{Cp}_\mathrm{CHW} \times \mathrm{Den}_\mathrm{CHW} \times \mathrm{deltaT}_\mathrm{CHW}} +\end{equation} + +\subsubsection{Heat Recovery Rate} +The hot water or chilled water heat recovery rate is determined from the load side heat transfer rate and the electric power usage rate based on energy conservation as follows: + +\begin{equation} +\mathrm{Q}_\mathrm{HW} = \dot{Q}_\mathrm{load,\; cool} + \mathrm{Power} +\end{equation} + +\begin{equation} +\mathrm{Q}_\mathrm{CHW} = \dot{Q}_\mathrm{load,\; heat} - \mathrm{Power} +\end{equation} + +The heat recovery does not occur when the heat recovery hot water outlet temperature exceed the user specified maximum temperature limit or when the heat reovery chilled water outlet temperature drops below the minimum temperature limit. Therefore, the heat recovery operation is disabled when heat recovery loop temeprature reaches at these temperature limits. + +\subsubsection{Heat Recovery Outlet Temperature} +The heat recovery fluid outlet temperature is determiend from the heat recovery rate, specific heat of the fluid, and the heat recovery inlet temperature. + +\begin{equation} +\mathrm{T}_\mathrm{HW,\; Out} = \mathrm{T}_\mathrm{HW,\; In} + \frac{\mathrm{Q}_\mathrm{HW}}{\mathrm{Cp}_\mathrm{HW} \times \dot{m}_\mathrm{heatrecovery,\; HW}} +\end{equation} + +\begin{equation} +\mathrm{T}_\mathrm{CHW,\; Out} = \mathrm{T}_\mathrm{CHW,\; In} - \frac{\mathrm{Q}_\mathrm{CHW}}{\mathrm{Cp}_\mathrm{CHW} \times \dot{m}_\mathrm{heatrecovery,\; CHW}} +\end{equation} + +When the heat recovery outlet temperature exceeds the user-specified maximum or minimum temperature limits, the outlet temperatures are capped at this temperature, and the delivered heat recovery rate is recalculated based on these user specified temperature limits. + +\begin{equation} +\dot{Q}_\mathrm{HW,\; limit} = \dot{m}_\mathrm{HW} \times \mathrm{Cp}_\mathrm{HW} \times {(\mathrm{T}_\mathrm{HW,\; limit} - \mathrm{T}_\mathrm{HW,\; In})} +\end{equation} + +\begin{equation} +\dot{Q}_\mathrm{CHW,\; limit} = \dot{m}_\mathrm{CHW} \times \mathrm{Cp}_\mathrm{CHW} \times {(\mathrm{T}_\mathrm{CHW,\; In} - \mathrm{T}_\mathrm{CHW,\; limit})} +\end{equation} + +The net difference between the potential heat recovery rate and delivered heat recovery rate is reported as source side heat transfer rate and is calculated as follows: + +\begin{equation} +\dot{Q}_\mathrm{source,\; cool} = \dot{Q}_\mathrm{HW} - \dot{Q}_\mathrm{HW,\; limit} +\end{equation} + +\begin{equation} +\dot{Q}_\mathrm{source,\; heat} = \dot{Q}_\mathrm{CHW} - \dot{Q}_\mathrm{CHW,\; limit} +\end{equation} + + \subsection{Fuel-Fired Air to Water Heat Pumps}\label{fuel-fired-air-to-water-heat-pumps} This section describes the EIR formulated model for fuel-fired plant loop absorption air-to-water heat pumps. The object is similar to a conventional air-to-water heat pump, except that it uses an absorption cycle driven by fuel combustion. The object names are HeatPump:AirToWater:FuelFired:Heating and HeatPump:AirToWater:FuelFired:Cooling. In general, these heat pump objects are treated in the same way as the other plant loop heat pump models. When dealing with the heating and cooling modules of the equipment, it uses a similar paradigm as the electric-driven \hyperref[eir-plant-loop-heat-pump-model]{EIR Formulated Plant Loop Heat Pump}: even though a heat pump is generally a single load coil and a single source coil with a reversing valve, in EnergyPlus, the paradigm is to split the operation into two separate units, one for heating a hot water loop and one for cooling a chilled water loop. It is certainly possible to connect the load side of both of these to a single plant loop if the controls are established properly. This equipment only supports air-source operation with an outdoor air node used as the source-side inlet node. diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-fans.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-fans.tex index 32219cb08d4..d4187e7db30 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-fans.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference-002/air-system-fans.tex @@ -893,7 +893,9 @@ \subsection{Fan Energy Index}\label{fan-energy-index} \(P_0\) is 100 Pa -\(\eta_0\) is 66\%. +\(\eta_0\) is 66\% or 0.66. + +It should be noted that the density of air (\(\rho\)) is calculated at a reference temperature of 21\(^{\circ}\)C and a relative humidity of 50\% to represent average indoor air conditions. The barometric pressure used to calculated the humidity ratio for this reference condition is the pressure at the elevation of the location being simulated. \emph{Reference fan transmission efficiency} diff --git a/doc/engineering-reference/src/simulation-models-encyclopedic-reference/chillers.tex b/doc/engineering-reference/src/simulation-models-encyclopedic-reference/chillers.tex index dbef26c420b..9f900004a95 100644 --- a/doc/engineering-reference/src/simulation-models-encyclopedic-reference/chillers.tex +++ b/doc/engineering-reference/src/simulation-models-encyclopedic-reference/chillers.tex @@ -2006,3 +2006,60 @@ \subsubsection{Chiller Basin Heater}\label{chiller-basin-heater-3} \emph{Schedule\(_{heater,basin}\)} is the basin heater schedule, user input (schedule value \textgreater{} 0 means ON) \emph{ChillerIsOFF} is the logical variable denoting that the chiller is not operating for the current simulation time step (e.g.,~ there is no cooling load to be met by the chiller, or if there is no water flow through the chiller due to a chiller or pump availability schedule, etc.). + +\subsection{Variable Flow Condenser}\label{variable-flow-condenser} + +The \hyperref[electric-chiller-model-based-on-condenser-entering-temperature](Chiller:Electric:EIR) and \hyperref[electric-chiller-model-based-on-condenser-leaving-temperature](Chiller:Electric:ReformulatedEIR) have the capability to simulate variable condenser flow requests. The flow request can be capped to a minimum via a user-defined fraction. The minimum condenser plant loop flow rate will be limited by the minimum flow rates of the operating pumps. The flow request can be calculated using one of the following approaches: + +\begin{itemize} + \item Chiller part load ratio + \item Chilled water part load ratio + \item Condenser temperature difference +\end{itemize} + +Note that simulating a variable flow condenser will, at identical load and entering conditions, modify the condenser leaving water temperature when compared with a constant flow condenser. The performance of a Chiller:Electric:EIR object won't be impacted by a change in leaving water condenser temperature but the performance of a Chiller:Electric:ReformulatedEIR object will be impacted. + +\subsubsection{Chiller Part Load Ratio} + +The flow request is determined by multiplying the maximum chiller condenser mass flow rate by the chiller operating part load ratio. + +\subsubsection{Chiller water part load ratio} + +The flow request is determined by first calculating the chilled water loop (CHWL) part load ratio: + +\begin{equation} +{PLR_{CHWL}} = \frac{{L_{CHWL}}}{CAP_{CHWL}} +\end{equation} + +where: + +\({PLR_{CHWL}}\) is the chilled water loop part load ratio + +\({L_{CHWL}}\) is the actual load on the chilled water loop + +\({CAP_{CHWL}}\) is the design chilled water loop capacity determined using inputs from the Sizing:Plant object for the loop + + +The condenser plant loop water flow fraction (\({CWFR}\)) corresponding to the \({PLR_{CWHL}}\) is obtained by feeding it through a user-specified curve. A linear curve is expected: \(CWFR = C * {PLR_{CHWL}} + D\) where C and D are coefficients. A reference for these coefficients is provided in ``Optimizing Design \& Control Of Chilled Water Plants, Part 5'', S. Taylor, ASHRAE Journal June 2012. + +The actual condenser mass flow request for the chiller is then calculated as follows: + +\begin{equation} +{\dot m_{chiller_{condenser}}} = \frac{{\dot m_{condenser_{loop_{design}}}} . {CWFR} . {\dot Q_{chiller_{evaporator}}}}{L_{CHWL}} +\end{equation} + +If a single chiller is meeting the \({L_{CHWL}}\), then \({\dot m_{chiller_{condenser}}} = {\dot m_{condenser_{loop_{design}}}} * {CWFR}\). + +\subsubsection{Chiller water part load ratio} + +The flow request is determined as follows: + +\begin{equation} +{\dot m_{chiller_{condenser}}} = \frac{{\dot Q_{chiller_{condenser}}}}{({C_p} . {\Delta {T_{condenser}}})} +\end{equation} + +where: + +\({\dot Q_{chiller_{condenser}}}\) is the chiller's condenser heat transfer rate + +\({\Delta {T_{condenser}}}\) is the user-defined temperature difference across the chiller condenser bundle diff --git a/doc/input-output-reference/CMakeLists.txt b/doc/input-output-reference/CMakeLists.txt index 31eb0e1e5a3..ac9a2540e2e 100644 --- a/doc/input-output-reference/CMakeLists.txt +++ b/doc/input-output-reference/CMakeLists.txt @@ -114,6 +114,10 @@ set(INCLUDED_TEX # to get the list of inluded images, go to the root of the document folder and: # grep -r '\\includegraphics' * | cut -d ':' -f 2 | rev | cut -d '{' -f 1 | rev | cut -d '}' -f 1 | sed 's/^/ /g' | sort -n -t'.' -k 1.14 set(INCLUDED_IMAGES + ${PROJECT_SOURCE_DIR}/input-output-reference/media/VSFanStagedHeatControlDiag.png + ${PROJECT_SOURCE_DIR}/input-output-reference/media/SeriesVSFanModulatedHeatControlDiag.png + ${PROJECT_SOURCE_DIR}/input-output-reference/media/vav_parallel_fpb_trane_staged.png + ${PROJECT_SOURCE_DIR}/input-output-reference/media/vav_parallel_fpb_trane_modulated.png ${PROJECT_SOURCE_DIR}/input-output-reference/media/ACBussDiagram.png ${PROJECT_SOURCE_DIR}/input-output-reference/media/ACStorageBussDiagram.png ${PROJECT_SOURCE_DIR}/input-output-reference/media/AirLoopComponentMatrix.png diff --git a/doc/input-output-reference/media/FourPipe_HeatRecoveryPlantConfig.png b/doc/input-output-reference/media/FourPipe_HeatRecoveryPlantConfig.png new file mode 100644 index 00000000000..5ab19ae35b9 Binary files /dev/null and b/doc/input-output-reference/media/FourPipe_HeatRecoveryPlantConfig.png differ diff --git a/doc/input-output-reference/media/SeriesVSFanModulatedHeatControlDiag.png b/doc/input-output-reference/media/SeriesVSFanModulatedHeatControlDiag.png new file mode 100644 index 00000000000..e173edcb6a6 Binary files /dev/null and b/doc/input-output-reference/media/SeriesVSFanModulatedHeatControlDiag.png differ diff --git a/doc/input-output-reference/media/SixPipe_HeatRecoveryPlantConfig.png b/doc/input-output-reference/media/SixPipe_HeatRecoveryPlantConfig.png new file mode 100644 index 00000000000..4eba804b699 Binary files /dev/null and b/doc/input-output-reference/media/SixPipe_HeatRecoveryPlantConfig.png differ diff --git a/doc/input-output-reference/media/VSFanStagedHeatControlDiag.png b/doc/input-output-reference/media/VSFanStagedHeatControlDiag.png new file mode 100644 index 00000000000..8c3fec06bef Binary files /dev/null and b/doc/input-output-reference/media/VSFanStagedHeatControlDiag.png differ diff --git a/doc/input-output-reference/media/vav_parallel_fpb_trane_modulated.png b/doc/input-output-reference/media/vav_parallel_fpb_trane_modulated.png new file mode 100644 index 00000000000..b660ff6a699 Binary files /dev/null and b/doc/input-output-reference/media/vav_parallel_fpb_trane_modulated.png differ diff --git a/doc/input-output-reference/media/vav_parallel_fpb_trane_staged.png b/doc/input-output-reference/media/vav_parallel_fpb_trane_staged.png new file mode 100644 index 00000000000..6c368efbd51 Binary files /dev/null and b/doc/input-output-reference/media/vav_parallel_fpb_trane_staged.png differ diff --git a/doc/input-output-reference/src/overview/group-air-distribution-equipment.tex b/doc/input-output-reference/src/overview/group-air-distribution-equipment.tex index 819b98dd60f..95e06fee626 100644 --- a/doc/input-output-reference/src/overview/group-air-distribution-equipment.tex +++ b/doc/input-output-reference/src/overview/group-air-distribution-equipment.tex @@ -882,6 +882,20 @@ \subsection{AirTerminal:SingleDuct:SeriesPIU:Reheat}\label{airterminalsingleduct \caption{Series PIU Terminal Unit \protect \label{fig:series-piu-terminal-unit}} \end{figure} +Additional optional inputs and control methods are available for modeling series fan-powered induction unit air terminals that have a variable speed fan. When using a variable speed fan, the air terminal is controlled to represent how a modern programmable controller would operate, but adapted for the context of long-timestep predicted-zone-load EnergyPlus simulation rather than real world fast-acting controls. Heating can be either staged or modulated with different heating controls as diagrammed below. + +\begin{figure}[hbtp] % fig 106b +\centering +\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/VSFanStagedHeatControlDiag.png} +\caption{Variable Speed Fan with Staged Heat Control \protect \label{fig:series-piu-terminal-unit-VS-staged-heat}} +\end{figure} + +\begin{figure}[hbtp] % fig 106c +\centering +\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/SeriesVSFanModulatedHeatControlDiag.png} +\caption{Variable Speed Fan with Modulated Heat Control \protect \label{fig:series-piu-terminal-unit-VS-modulated-heat}} +\end{figure} + \subsubsection{Inputs}\label{inputs-7-000} \paragraph{Field: Name}\label{field-name-7-000} @@ -967,6 +981,30 @@ \subsubsection{Inputs}\label{inputs-7-000} For gas or electric heating coils, this input should be left blank. The default is 0.001. +\paragraph{Field: Fan Control Type}\label{field-fan-control-type-seriesPIU} + +This field can be used to declare that a model for variable speed fan should be used. There are two choices, \textbf{VariableSpeed} or \textbf{Constant}. Enter VariableSpeed to indicate that the air terminal should operate with variable fan and emulate a modern controller. To use VariableSpeed the fan type needs to be a \hyperref[fansystemmodel]{Fan:SystemModel} and the named fan needs to be setup for variable flow. Enter Constant to use the legacy model for constant fan operation. + +\paragraph{Field: Minimum Fan Turn Down Ratio}\label{field-fan-turn-down-ratio-seriesPIU} + +This field is used to determine the minimum fan speed as a fraction when modeling variable speed fan. This ratio or fraction is multiplied by the \textbf{Maximum Air Flow Rate} to determine the minimum air flow rate while the fan is operating. + +\paragraph{Field: Heating Control Type}\label{field-heat-control-type-seriesPIU} + +This field is used to declare how the heating coil is to be controlled. There are two choices, \textbf{Staged} or \textbf{Modulated}, see the control diagrams above. + +Staged heat control has two stages. The first stage increases the fan flow first while leaving the reheat coil off. The second stage runs the fan at full speed and brings on heating. + +Modulated heat control has three stages and considers discharge air temperature. The first stage of heating leaves fan speed at the minimum and brings on heat until the design discharge air temperature is reached. The second stage of heating maintains the design discharge air temperature and ramps up the fan speed. The third stage of heating runs at full fan speed and allows the discharge air temperature to exceed the design up until it reaches a high limit. When using the Modulated heat control type the following two fields are needed for input on the discharge air temperatures. + +\paragraph{Field: Design Heating Discharge Air Temperature}\label{field-heat-design-DAT-seriesPIU} + +This field is used to indicate the design discharge air temperature during the second stage heating for \textbf{Modulated} heat control. The default is 32.1 deg. C (90 deg. F). + +\paragraph{Field: High Limit Heating Discharge Air Temperature}\label{field-heat-limit-DAT-seriesPIU} + +This field is used to indicate the high limit on discharge air temperature at the end of stage three heating for \textbf{Modulated} heat control. The default is 37.7 deg. C (100 deg. F). + An IDF example: \begin{lstlisting} @@ -1005,6 +1043,16 @@ \subsubsection{Outputs}\label{outputs-7} HVAC,Sum,Zone Air Terminal Sensible Cooling Energy {[}J{]} \item HVAC,Average,Zone Air Terminal Outdoor Air Volume Flow Rate {[}m3/s{]} +\item + HVAC,Average,Zone Air Terminal Total Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Primary Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Secondary Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Outlet Discharge Air Temperature {[}C{]} +\item + HVAC,Average,Zone Air Terminal Current Operation Control Stage {[} {]} \end{itemize} \paragraph{Zone Air Terminal Primary Damper Position {[]}}\label{zone-air-terminal-series-piu-primary-damper-position} @@ -1031,6 +1079,53 @@ \subsubsection{Outputs}\label{outputs-7} This output is the amount of outdoor air entering the zone. This is the average value over the frequency being reported. The amount of outdoor air is defined as the terminal unit air volume flow rate multiplied by the fraction of outdoor air entering the air loop's outside air system. +\paragraph{Zone Air Terminal Total Air Mass Flow Rate {[}kg/s{]}} + +This field reports the total air mass flow rate discharging from the air terminal into the zone, in kg/s. The flow rate will vary when modeling a variable speed fan. + +\paragraph{Zone Air Terminal Primary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the primary node, typically a central air handling unit, in kg/s. The flow will vary during cooling when using a variable speed fan. + +\paragraph{Zone Air Terminal Secondary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the secondary node, in kg/s. This air is typically locally recirculated or induced air drawn from the return plenum or directly from the zone. The flow rate will vary during heating when using a variable speed fan. + +\paragraph{Zone Air Terminal Outlet Discharge Air Temperature {[}C{]}} + +This field reports the drybulb temperature of the air leaving the terminal and discharging into the zone. When using the \textbf{Modulated} heating control method, the air terminal controls the discharge temperature with design and high limit values. + +\paragraph{Zone Air Terminal Current Operation Control Stage} + +This field reports the current control stage of a PIU terminal. The controller diagrams above show the different stages. This output helps to monitor what control stage the air terminal is in at a given time. The output itself is an integer value that is mapped to a stage in the following list. Note that the frequency of reporting needs to be at the highest level because averaging integers across more than one system timestep makes them meaningless. + +\begin{itemize} +\item + value = -1 => Not determined, should not occur, please report to developers +\item + value = 0 => The terminal is shut down, the system is not available +\item + value = 1 => Constant speed, cooling +\item + value = 2 => Constant speed, heating +\item + value = 3 => Deadband, no cooling, no heating +\item + value = 4 => Variable speed, first stage cooling +\item + value = 5 => Variable speed, second stage cooling +\item + value = 6 => Variable speed, staged, first stage heating +\item + value = 7 => Variable speed, staged, second stage heating +\item + value = 8 => Variable speed, modulated, first stage heating +\item + value = 9 => Variable speed, modulated, second stage heating +\item + value = 10 => Variable speed, modulated, third stage heating +\end{itemize} + \subsection{AirTerminal:SingleDuct:ParallelPIU:Reheat}\label{airterminalsingleductparallelpiureheat} The parallel powered induction unit is an air system terminal unit that mixes varying amounts of secondary (recirculated) air and primary (conditioned supply) air to produce a variable total flow of air to a zone. The unit contains a small fan that acts to induce the secondary air and a heating coil for heating the mixed secondary and primary air. The secondary and primary air streams enter the unit in parallel. The fan sits in the secondary air stream and runs only when the primary air flow is below the Fan On Flow Fraction and the fan's availability schedule is on or it is activated by an availability manager. The primary air inlet contains a damper that can move from fully open (maximum primary air) to a minimum stop (minimum primary air). @@ -1045,6 +1140,21 @@ \subsection{AirTerminal:SingleDuct:ParallelPIU:Reheat}\label{airterminalsingledu \caption{Parallel PIU Terminal Unit \protect \label{fig:parallel-piu-terminal-unit}} \end{figure} +Additional optional inputs and control methods are available for modeling parallel fan-powered induction unit air terminals that have a variable speed fan. When using a variable speed fan, the air terminal is controlled to represent how a modern programmable controller would operate, but adapted for the context of long-timestep predicted-zone-load EnergyPlus simulation rather than real world fast-acting controls. Heating can be either staged or modulated with different heating controls as diagrammed below. + +\begin{figure}[hbtp] % fig 107b +\centering +\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/vav_parallel_fpb_trane_staged.png} +\caption{Variable Speed Fan with Staged Heat Control \protect \label{fig:parallel-piu-terminal-unit-VS-staged-heat}} +\end{figure} + +\begin{figure}[hbtp] % fig 107c +\centering +\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/vav_parallel_fpb_trane_modulated.png} +\caption{Variable Speed Fan with Modulated Heat Control \protect \label{fig:parallel-piu-terminal-unit-VS-modulated-heat}} +\end{figure} + + \subsubsection{Inputs}\label{inputs-8-000} \paragraph{Field: Name}\label{field-name-8-000} @@ -1134,6 +1244,30 @@ \subsubsection{Inputs}\label{inputs-8-000} For gas or electric heating coils, this input should be left blank. The default is 0.001. +\paragraph{Field: Fan Control Type}\label{field-fan-control-type-parallelPIU} + +This field can be used to declare that a model for variable speed fan should be used. There are two choices, \textbf{VariableSpeed} or \textbf{Constant}. Enter VariableSpeed to indicate that the air terminal should operate with variable fan and emulate a modern controller. To use VariableSpeed the fan type needs to be a \hyperref[fansystemmodel]{Fan:SystemModel} and the named fan needs to be setup for variable flow. Enter Constant to use the legacy model for constant fan operation. + +\paragraph{Field: Minimum Fan Turn Down Ratio}\label{field-fan-turn-down-ratio-parallelPIU} + +This field is used to determine the minimum fan speed as a fraction when modeling variable speed fan. This ratio or fraction is multiplied by the \textbf{Maximum Air Flow Rate} to determine the minimum air flow rate while the fan is operating. + +\paragraph{Field: Heating Control Type}\label{field-heat-control-type-parallelPIU} + +This field is used to declare how the heating coil is to be controlled. There are two choices, \textbf{Staged} or \textbf{Modulated}, see the control diagrams above. + +Staged heat control has two stages. The first stage increases the fan flow first while leaving the reheat coil off. The second stage runs the fan at full speed and brings on heating. + +Modulated heat control has three stages and considers discharge air temperature. The first stage of heating leaves fan speed at the minimum and brings on heat until the design discharge air temperature is reached. The second stage of heating maintains the design discharge air temperature and ramps up the fan speed. The third stage of heating runs at full fan speed and allows the discharge air temperature to exceed the design up until it reaches a high limit. When using the Modulated heat control type the following two fields are needed for input on the discharge air temperatures. + +\paragraph{Field: Design Heating Discharge Air Temperature}\label{field-heat-design-DAT-parallelPIU} + +This field is used to indicate the design discharge air temperature during the second stage heating for \textbf{Modulated} heat control. The default is 32.1 deg. C (90 deg. F). + +\paragraph{Field: High Limit Heating Discharge Air Temperature}\label{field-heat-limit-DAT-parallelPIU} + +This field is used to indicate the high limit on discharge air temperature at the end of stage three heating for \textbf{Modulated} heat control. The default is 37.7 deg. C (100 deg. F). + An IDF example: \begin{lstlisting} @@ -1173,6 +1307,16 @@ \subsubsection{Outputs}\label{outputs-8} HVAC,Sum,Zone Air Terminal Sensible Cooling Energy {[}J{]} \item HVAC,Average,Zone Air Terminal Outdoor Air Volume Flow Rate {[}m3/s{]} +\item + HVAC,Average,Zone Air Terminal Total Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Primary Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Secondary Air Mass Flow Rate {[}kg/s{]} +\item + HVAC,Average,Zone Air Terminal Outlet Discharge Air Temperature {[}C{]} +\item + HVAC,Average,Zone Air Terminal Current Operation Control Stage {[} {]} \end{itemize} \paragraph{Zone Air Terminal Primary Damper Position {[]}}\label{zone-air-terminal-parallel-piu-primary-damper-position} @@ -1199,6 +1343,53 @@ \subsubsection{Outputs}\label{outputs-8} This output is the amount of outdoor air entering the zone. This is the average value over the frequency being reported. The amount of outdoor air is defined as the terminal unit air volume flow rate multiplied by the fraction of outdoor air entering the air loop's outside air system. +\paragraph{Zone Air Terminal Total Air Mass Flow Rate {[}kg/s{]}} + +This field reports the total air mass flow rate discharging from the air terminal into the zone, in kg/s. The flow rate will vary when modeling a variable speed fan. + +\paragraph{Zone Air Terminal Primary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the primary node, typically a central air handling unit, in kg/s. The flow will vary during cooling when using a variable speed fan. + +\paragraph{Zone Air Terminal Secondary Air Mass Flow Rate {[}kg/s{]}} + +This field reports the air mass flow entering the terminal from the secondary node, in kg/s. This air is typically locally recirculated or induced air drawn from the return plenum or directly from the zone. The flow rate will vary during heating when using a variable speed fan. + +\paragraph{Zone Air Terminal Outlet Discharge Air Temperature {[}C{]}} + +This field reports the drybulb temperature of the air leaving the terminal and discharging into the zone. When using the \textbf{Modulated} heating control method, the air terminal controls the discharge temperature with design and high limit values. + +\paragraph{Zone Air Terminal Current Operation Control Stage} + +This field reports the current control stage of a PIU terminal. The controller diagrams above show the different stages. This output helps to monitor what control stage the air terminal is in at a given time. The output itself is an integer value that is mapped to a stage in the following list. Note that the frequency of reporting needs to be at the highest level because averaging integers across more than one system timestep makes them meaningless. + +\begin{itemize} +\item + value = -1 => Not determined, should not occur, please report to developers +\item + value = 0 => The terminal is shut down, the system is not available +\item + value = 1 => Constant speed, cooling +\item + value = 2 => Constant speed, heating +\item + value = 3 => Deadband, no cooling, no heating +\item + value = 4 => Variable speed, first stage cooling +\item + value = 5 => Variable speed, second stage cooling +\item + value = 6 => Variable speed, staged, first stage heating +\item + value = 7 => Variable speed, staged, second stage heating +\item + value = 8 => Variable speed, modulated, first stage heating +\item + value = 9 => Variable speed, modulated, second stage heating +\item + value = 10 => Variable speed, modulated, third stage heating +\end{itemize} + \subsection{AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction}\label{airterminalsingleductconstantvolumefourpipeinduction} The four pipe induction terminal unit provides local hot water heating or chilled water cooling of induced zone air which then mixes with centrally conditioned supply air. An air conditioning system consisting of these terminal units is effectively a mixed central air / local hydronic system. The centrally conditioned air supplied to the induction terminal units is constant volume at quite high pressure. The central air is discharged through a nozzle in the terminal unit, inducing a flow of room air over a hydronic heating/cooling coil. The coil is connected either to a single inlet and outlet pipe (2 pipe unit) or to 2 inlets and 2 outlets (4 pipe unit). The heated or cooled induced air mixes with the centrally conditioned air before being discharged into the zone. The terminal units are usually expected to do only sensible cooling -- any dehumidification is done by the central air conditioning system. @@ -1835,7 +2026,7 @@ \subsubsection{Inputs}\label{inputs-12-000} \paragraph{Field: Design Specification Outdoor Air Object Name}\label{field-DSOA-object-name} -This field allows modifying the behavior of this air terminal so that it is modulated to supply the required outdoor air to the zone. This field is optional. When the name of an \hyperref[designspecificationoutdoorair]{DesignSpecification:OutdoorAir} or \hyperref[designspecificationoutdoorairspacelist]{DesignSpecification:OutdoorAir:SpaceList} object is entered, the model is changed to adjust the flow rate to provide the volume of outdoor air described by that object. This feature allows modeling demand controlled ventilation on a zone-by-zone basis using the Outdoor Air Flow per Person rate (specified in the \hyperref[designspecificationoutdoorair]{DesignSpecification:OutdoorAir} object) and the number of occupants (specified in the \hyperref[people]{People} object schedules). If the outdoor air fraction of the supply air is 1.0, as for a dedicated outdoor air system, the air flow rate will match the outdoor air requirement. When the outdoor air fraction is less than 1.0, as for a recirculating air system, the terminal air flow will be modulated upward to account for the increased total air flow needed to provide the required flow rate of outdoor air. The total air flow rate will not exceed the Maximum Air Flow Rate specified above. The volume flow rate is converted to mass flow rate using the standard density of air at Pressure = 101325 Pa, Temperature = 20C, and Humidity Ratio = 0.0. +This field allows modifying the behavior of this air terminal so that it is modulated to supply the required outdoor air to the zone. This field is optional. When the name of an \hyperref[designspecificationoutdoorair]{DesignSpecification:OutdoorAir} or \hyperref[designspecificationoutdoorairspacelist]{DesignSpecification:OutdoorAir:SpaceList} object is entered, the model is changed to adjust the flow rate to provide the volume of outdoor air described by that object. This feature allows modeling demand controlled ventilation on a zone-by-zone basis using the Outdoor Air Flow per Person rate (specified in the \hyperref[designspecificationoutdoorair]{DesignSpecification:OutdoorAir} object) and the number of occupants (specified in the \hyperref[people]{People} object schedules). If the outdoor air fraction of the supply air is 1.0, as for a dedicated outdoor air system, the air flow rate will match the outdoor air requirement. When the outdoor air fraction is less than 1.0, as for a recirculating air system, the terminal air flow will be modulated upward to account for the increased total air flow needed to provide the required flow rate of outdoor air. The total air flow rate will not exceed the Maximum Air Flow Rate specified above. The volume flow rate is converted to mass flow rate using the standard density of air at Pressure = 101325 Pa, Temperature = 20C, and Humidity Ratio = 0.0. \paragraph{Field: Per Person Ventilation Rate Mode} diff --git a/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex b/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex index 61413c25e87..9581e3197ee 100644 --- a/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex +++ b/doc/input-output-reference/src/overview/group-heating-and-cooling-coils.tex @@ -2077,19 +2077,19 @@ \subsubsection{Inputs}\label{inputs-13-004} \paragraph{Field: 2017 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2017 version of ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, 15.2 Coils) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils) Note 1: Standard Ratings using this field will be reported in the "2017 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER: 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation; 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. -Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 210-240 (2017). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2013). +Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2017) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2013) -- when the cooling capacity of the coil is between 65,000 and 135,000 Btu/hr. \paragraph{Field: 2023 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2023 version of ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER2), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER2, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2023 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER2. 'SEER2 User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER2 Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. -Note 3: SEER2 User, SEER2 Standard, EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr - will be calculated according to ANSI/AHRI standard 210-240 (2023). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacities between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2022). +Note 3: SEER2 User, SEER2 Standard, EER2, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2023) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2022) -- when the cooling capacity of the coill is between 65,000 and 135,000 Btu/hr. \paragraph{Field: Air Inlet Node Name}\label{field-air-inlet-node-name-9} @@ -2317,26 +2317,26 @@ \subsubsection{Inputs}\label{inputs-14-004} \paragraph{Field: High Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2017 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, 15.2 Coils) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2017 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER: 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation; 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. -Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 210-240 (2017). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2013). +Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2017) -- with cooling capacity less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2013) -- with cooling capacity between 65,000 and 135,000 Btu/hr. \paragraph{Field: High Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2023 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER2), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER2, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. +These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2023 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER2. 'SEER2 User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER2 Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. -Note 3: SEER2 User, SEER2 Standard, EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr - will be calculated according to ANSI/AHRI standard 210-240 (2023). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacities between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2022). +Note 3: SEER2 User, SEER2 Standard, EER2, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2023) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2022) -- when the cooling capacity of the coill is between 65,000 and 135,000 Btu/hr. \paragraph{Field: Unit Internal Static Air Pressure}\label{field-unit-internal-static-air-pressure} -This field is to specify the internal static air pressure, in units of Pascals, associated with the unit s supply air flow for rating purposes. This field does not affect the performance during operation. The air pressure drop/rise input here should be internal in the sense that it is for the entire package of unitary equipment as it would be tested in a laboratory (including other non-cooling sections inside the package for filters, dampers, and or heating coils) but none of the external pressure drop for distributing supply air throughout the building. This is different from the input field called Pressure Rise in the fan object which includes both the external static pressure and the internal static pressure. +This field is to specify the internal static air pressure, in units of Pascals, associated with the units supply air flow for rating purposes. This field does not affect the performance during operation. The air pressure drop/rise input here should be internal in the sense that it is for the entire package of unitary equipment as it would be tested in a laboratory (including other non-cooling sections inside the package for filters, dampers, and or heating coils) but none of the external pressure drop for distributing supply air throughout the building. This is different from the input field called Pressure Rise in the fan object which includes both the external static pressure and the internal static pressure. If this coil is used with a \hyperref[fanvariablevolume]{Fan:VariableVolume} to model a packaged variable-air-volume unit, then ratings for EER, IEER, SEER, and Standard Rating (Net) Cooling Capacity will be calculated as defined ANSI/AHRI Standard 340/360 standard. See also - the fields "High Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate" and "Low Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate", which are also used to calculate the 2017 version of these standard ratings. The 2017 standard ratings are reported to the EIO file and to the predefined output table "2017 Standard Ratings for DX Coils." -Additionally, a newer definition for calculating EER, IEER, SEER2, and Standard Rating (Net) Cooling Capacity, was published in the 2022 version of AHRI 340-360. These ratings are calculated using values in the fields "High Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate" and "Low Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate" The 2023 standard ratings are reported to the EIO file and to the predefined output table "2023 Standard Ratings for DX Coils", which are also used to calculate the 2023 version of these standard ratings. The 2023 standard ratings are reported to the EIO file and to the predefined output table "2023 Standard Ratings for DX Coils." -This field is optional. If a value is provided, then it will be used, together with the associated fan characteristics when calculating the standard ratings described above. If a value is not provided, then the standard ratings are still calculated, using values (user provided or default values) in the 'Rated Evaporator Fan Power Per Volume Flow Rate' fields, as described in those fields. +Additionally, a newer definition for calculating EER, IEER, SEER2, and Standard Rating (Net) Cooling Capacity, was published in the 2022 version of AHRI 340-360. These ratings are calculated using values in the fields "High Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate" and "Low Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate" The 2023 standard ratings are reported to the EIO file and to the predefined output table "2023 Standard Ratings for DX Coils." This field is optional. If a value is provided, then it will be used, together with the associated fan characteristics when calculating the standard ratings described above. If a value is not provided, then the standard ratings are still calculated, using values (user provided or default values) in the 'Rated Evaporator Fan Power Per Volume Flow Rate' fields, as described in those fields. \paragraph{Field: Air Inlet Node}\label{field-air-inlet-node} @@ -2402,19 +2402,19 @@ \subsubsection{Inputs}\label{inputs-14-004} \paragraph{Field: Low Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2017 version of ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Single Speed DX Cooling Coil, Standard Ratings) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER, EER, IEER and Standard Rating Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. -Note 1: two values are calculated for SEER. 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. -Note 2: SEER2 and Standard Rating (Net) Cooling Capacity -- will only be reported for coils with cooling capacity less than 65,000 Btu/hr - according to ANSI/AHRI standard 210-240 (2013). -Note 3: EER and IEER with cooling capacities less than 65,000 Btu/hr will be calculated according to ANSI/AHRI standard 210-240 (2017). -Note 4: EER and IEER with cooling capacities between 65,000 and 135,000 Btu/hr will be calculated according to ANSI/AHRI standard 340-360 (2013). +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). +Note 1: Standard Ratings using this field will be reported in the "2017 Standard Ratings for DX Coils" table +Note 2: two values are calculated for SEER: 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation; 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. +Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 210-240 (2017). +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2013). \paragraph{Field: Low Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2023 version of ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER2), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Single Speed DX Cooling Coil, Standard Ratings) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER2, EER, IEER and Standard Rating Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. -Note 1: two values are calculated for SEER. 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. -Note 2: SEER2 and Standard Rating (Net) Cooling Capacity -- will only be reported for coils with cooling capacity less than 65,000 Btu/hr - according to ANSI/AHRI standard 210-240 (2023). -Note 3: EER and IEER with cooling capacities less than 65,000 Btu/hr will be calculated according to ANSI/AHRI standard 210-240 (2023). -Note 4: EER and IEER with cooling capacities between 65,000 and 135,000 Btu/hr will be calculated according to ANSI/AHRI standard 340-360 (2022). +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). +Note 1: Standard Ratings using this field will be reported in the "2022/2023 Standard Ratings for DX Coils" table +Note 2: two values are calculated for SEER2. 'SEER2 User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER2 Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. +Note 3: SEER2 User, SEER2 Standard, EER2, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2023) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2022) -- when the cooling capacity of the coill is between 65,000 and 135,000 Btu/hr. \paragraph{Field: Low Speed Total Cooling Capacity Function of Temperature Curve Name}\label{field-low-speed-total-cooling-capacity-function-of-temperature-curve-name} @@ -2858,19 +2858,19 @@ \subsubsection{Inputs}\label{inputs-16-003} \paragraph{Field: Speed \textless{}X\textgreater{} 2017 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions for Speed in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2017 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, 15.2 Coils) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2017 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER: 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation; 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. -Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 210-240 (2017). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2013). +Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2017) -- when the cooling capacity of the coil is less than 65,000 Btu/hr -- . +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2013) -- with cooling capacity between 65,000 and 135,000 Btu/hr. \paragraph{Field: Speed \textless{}X\textgreater{} 2023 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions for Speed in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2023 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER2), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER2, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2023 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER2. 'SEER2 User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER2 Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. -Note 3: SEER2 User, SEER2 Standard, EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr - will be calculated according to ANSI/AHRI standard 210-240 (2023). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacities between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2022). +Note 3: SEER2 User, SEER2 Standard, EER2, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2023) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2022) -- when the cooling capacity of the coill is between 65,000 and 135,000 Btu/hr. \paragraph{Field: Speed \textless{}x\textgreater{} Total Cooling Capacity Function of Temperature Curve Name}\label{field-speed-x-total-cooling-capacity-function-of-temperature-curve-name} @@ -3436,19 +3436,19 @@ \subsubsection{Inputs}\label{inputs-17-001} \paragraph{Field: Speed \textless{}X\textgreater{} 2017 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions for Speed in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2017 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, 15.2 Coils) and also in the predefined tabular output reports (Output:Table:SummaryReports object, Equipment Summary). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 773.3 W/(m\(^{3}\)/s) (365 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1250 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2017 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER: 'SEER User' is calculated using user-input PLF curve and cooling coefficient of degradation; 'SEER Standard' is calculated using AHRI Std 210/240-2017 default PLF curve and cooling coefficient of degradation. -Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 210-240 (2017). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2013). +Note 3: SEER User, SEER Standard, EER, and IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2017) -- with cooling capacity less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2013) -- with cooling capacity between 65,000 and 135,000 Btu/hr. \paragraph{Field: Speed \textless{}X\textgreater{} 2023 Rated Evaporator Fan Power Per Volume Flow Rate} -This field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions for Speed in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the following metrics according to the 2023 version of the ANSI/AHRI 210-240 standard: Seasonal Energy Efficiency Ratio (SEER2), Energy Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER) and the Standard Rating (Net) Cooling Capacity. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). This value is not used for modeling the evaporator (cooling coil) fan during simulations; instead, it is used for calculating SEER2, EER, IEER, and Standard Rating (Net) Cooling Capacity to assist the user in verifying their inputs for modeling this type of equipment. +his field is the electric power for the evaporator (cooling coil) fan per air volume flow rate through the coil at the rated conditions in W/(m\(^{3}\)/s). The default value is 934.4 W/(m3/s) (441 W/1000 cfm) if this field is left blank. If a value is entered, it must be \textgreater{}= 0.0 and \textless{}= 1505 W/(m\(^{3}\)/s). This value is only used to calculate the ASHRAE/AHRI standard performance metrics to assist the user in verifying their inputs for modeling this type of equipment (see Notes below for which ratings will be reported). The value is not used for modeling the evaporator (cooling coil) fan during simulations. These metrics will be outputs in the EnergyPlus eio file (ref. EnergyPlus Engineering Reference, Section 15.2 Coils). Note 1: Standard Ratings using this field will be reported in the "2023 Standard Ratings for DX Coils" table Note 2: two values are calculated for SEER2. 'SEER2 User' is calculated using user-input PLF curve and cooling coefficient of degradation. 'SEER2 Standard' is calculated using AHRI Std 210/240-2023 default PLF curve and cooling coefficient of degradation. -Note 3: SEER2 User, SEER2 Standard, EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacity less than 65,000 Btu/hr - will be calculated according to ANSI/AHRI standard 210-240 (2023). -Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity -- with cooling capacities between 65,000 and 135,000 Btu/hr -- will be calculated according to ANSI/AHRI standard 340-360 (2022). +Note 3: SEER2 User, SEER2 Standard, EER2, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 210-240 (2023) -- when the cooling capacity of the coil is less than 65,000 Btu/hr. +Note 4: EER, IEER, and Standard Rating (Net) Cooling Capacity will be calculated according to ANSI/AHRI standard 340-360 (2022) -- when the cooling capacity of the coill is between 65,000 and 135,000 Btu/hr. \paragraph{Field: Speed \textless{}x\textgreater{} Reference Unit Rated Condenser Air Flow Rate}\label{field-speed-x-reference-unit-rated-condenser-air-flow-rate} diff --git a/doc/input-output-reference/src/overview/group-hybrid-model.tex b/doc/input-output-reference/src/overview/group-hybrid-model.tex index c60768c32d6..c110826c75b 100644 --- a/doc/input-output-reference/src/overview/group-hybrid-model.tex +++ b/doc/input-output-reference/src/overview/group-hybrid-model.tex @@ -198,6 +198,7 @@ \subsubsection{Outputs}\label{outputs-030} Zone,Average,Zone Infiltration Hybrid Model Air Change Rate [ACH] Zone,Average,Zone Infiltration Hybrid Model Mass Flow Rate [kg/s] Zone,Average,Zone Hybrid Model People Count +Zone,Average,Zone Hybrid Model Thermal Mass Multiplier \end{lstlisting} \paragraph{Zone Infiltration Hybrid Model Air Change Rate {[}ACH{]}}\label{zone-infiltration-hybrid-model-air-change-rate} @@ -210,4 +211,8 @@ \subsubsection{Outputs}\label{outputs-030} \paragraph{Zone Hybrid Model People Count}\label{zone-infiltration-hybrid-model-people-count} -The zone people count calculated by the hybrid model. \ No newline at end of file +The zone people count calculated by the hybrid model. + +\paragraph{Zone Hybrid Model Thermal Mass Multiplier}\label{zone-infiltration-hybrid-model-thermal-mass-multiplier} + +This is the value of the thermal mass multiplier that is the ratio of the zone air heat capacity calculated for current conditions using a heat balance equation to the heat capacity of the volume of air contained in the zone. This value is 1.0 when one of the following conditions is met: $|T_z^t - T_z^{t-\delta t}| > 0.05^{\circ}C$, the simulation is not currently during the time period for which hybrid modeling is set to run, or the value calculated for this parameter using the above methodology results in a value less than 1.0. The first time that the value that is calculated for this parameter is greater than 30.0 for a particular zone a warning message is produced in the EnergyPlus Error File (*.err) to inform the user of this occurrence. A summary of the times for when this parameter is greater than 30.0 for each zone is produced at the end of the standard error file. Note: when the value does exceed this warning threshold, the value is NOT reset. \ No newline at end of file diff --git a/doc/input-output-reference/src/overview/group-location-climate-weather-file-access.tex b/doc/input-output-reference/src/overview/group-location-climate-weather-file-access.tex index 644d019d65b..adebedf1611 100644 --- a/doc/input-output-reference/src/overview/group-location-climate-weather-file-access.tex +++ b/doc/input-output-reference/src/overview/group-location-climate-weather-file-access.tex @@ -4,7 +4,7 @@ \section{Group -- Location -- Climate -- Weather File Access}\label{group-locati \subsection{Site:Location}\label{sitelocation} -The location class describes the parameters for the building's location. Only one location is allowed. Weather data file location, if it exists, will override any location data in the IDF. Thus, for an annual simulation, a Location does not need to be entered. +The location class describes the parameters for the building's location. Only one location is allowed in an IDF. The Site:Location information input fields are described below. This object is not required for an annual simulation since by default it will read this information from the weather file specified for the run. See the Keep Site Location Information field below for more information. \subsubsection{Inputs}\label{inputs-201709281625} @@ -28,20 +28,29 @@ \subsubsection{Inputs}\label{inputs-201709281625} This field represents the elevation of the facility in meters (relative to sea level). -Units with their abbreviations are shown in Appendix A. And, as shown in an IDF: +\paragraph{Field: Keep Site Location Information}\label{keep-site-location-information} + +This field controls whether or not the above inforation is kept or overwritten when an annual run is performed using an attached, existing weather file. There are two choices for this optional field: Yes or No. When set to Yes, the site information in the above fields is kept and the values obtained from the weather file are ignored. This option can be useful when the nearest weather station might have a significant difference in one of the parameters such as being at a much higher altitude or being across a time zone boundary. The default value for this parameter is No which means that the values for latitude, longitude, time zone, and elevation will be overwritten by what is contained in the weather file. + +\begin{callout} +Note that throughout this document units are provided for various input fields. Units with their abbreviations are shown in Appendix A. +\end{callout} + +An example of what this object would look like in an IDF is: \begin{lstlisting} Site:Location, DENVER COLORADO, ! Name 39.75000, ! Latitude {N+ S-} -104.8700, ! Longitude {W- E+} -7.000000, ! TimeZoneNumber {GMT+/-} - 1610.26; ! Elevation {m} + 1610.26, ! Elevation {m} + No; ! Keep Site Location Information \end{lstlisting} -Most examples in this document include the comment lines that illustrate each data field's value. However, this is not necessary (though it makes the IDF more readable). The previous example could also be: +Most examples in this document include the comment lines that illustrate each data field's value. However, this is not necessary (though it makes the IDF more readable). The previous example could also be written in an IDF as: \begin{lstlisting} -Site:Location, DENVER COLORADO,39.75,-104.87,-7,1610.26; +Site:Location, DENVER COLORADO,39.75,-104.87,-7,1610.26,No; \end{lstlisting} diff --git a/doc/input-output-reference/src/overview/group-plant-equipment.tex b/doc/input-output-reference/src/overview/group-plant-equipment.tex index 5626dcfa515..6b5faf42321 100644 --- a/doc/input-output-reference/src/overview/group-plant-equipment.tex +++ b/doc/input-output-reference/src/overview/group-plant-equipment.tex @@ -1743,6 +1743,23 @@ \subsubsection{Inputs}\label{inputs-4-023} This optional field allows you to specify a user-defined end-use subcategory, e.g., ``Process''. A new meter for reporting is created for each unique subcategory (ref: \hyperref[outputmeter-and-outputmetermeterfileonly]{Output:Meter} objects). Any text may be used here to further subcategorize the end-uses in the ABUPS End Uses by Subcategory table and in the LEED Summary EAp2-4/5 Performance Rating Method Compliance table. If this field is omitted or blank, the chiller will be assigned to the ``General'' end-use subcategory. +\paragraph{Field: Condenser Flow Control} + +This field is optional.~ It describes the chiller condenser flow request mode to be used in a simulation. With ``ConstantFlow'' a chiller will always request its maximum condenser flow rate. With ``ModulatedChillerPLR'' the condenser flow request corresponds to the chiller part load ratio multiplied by the chiller maximum condenser flow rate. With ``ModulatedLoopPLR'' the chiller will request a flow rate that is function of the chilled water loop's part load ratio, see the \hyperref[field-condenser-loop-flow-rate-function-of-loop-part-load-ratio-curve-name]{Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name} input. With ``ModulatedDeltaTemperature'' the chiller will request the flow rate required to meet a condenser loop delta temperature, see the \hyperref[field-temperature-difference-across-condenser-schedule-name]{Temperature Difference Across Condenser Schedule Name} input. Use ``ConstantFlow'' when modeling a constant flow condenser plant loop, choose one of the other inputs when modeling a variable flow condenser plant loop. The default is ``ConstantFlow''. + +\paragraph{Field: Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name}\label{field-condenser-loop-flow-rate-function-of-loop-part-load-ratio-curve-name} + +This field describes the condenser loop flow rate fraction as a function of the chiller water loop part load ratio. A linear curve is expected: CWFR = C * PLR + D where CWFR is the condenser water flow fraction (actual/design), PLR is the chilled water plant loop part load ratio (actual/design), and C and D are coefficients. A reference for these coefficients is provided in ``Optimizing Design \& Control Of Chilled Water Plants, Part 5'', S. Taylor, ASHRAE Journal June 2012. This input is only used when the ``ModulatedLoopPLR'' condenser flow control option is used. + +\paragraph{Field: Temperature Difference Across Condenser Schedule Name}\label{field-temperature-difference-across-condenser-schedule-name} + +This field should be a schedule that defines the temperature difference across the condenser of the chiller. This input is used to calculate the condenser flow rate request. This input is only used when ``Condenser Flow Control'' is set to ``ModulatedDeltaTemperature''. + +\paragraph{Field: Condenser Minimum Flow Fraction} + +This field corresponds to the minimum condenser flow fraction. The minimum condenser flow is equal to the value of this input multiplied by the chiller maximum condenser flow rate. This input is only used when the ``Condenser Flow Control'' input is set to ``ModulatedChillerPLR'', ``ModulatedLoopPLR'' or ``ModulatedDeltaTemperature''. When not specified, a default of 0.2 is assumed. + + An example of this statement in an IDF is: \begin{lstlisting} @@ -2131,6 +2148,22 @@ \subsubsection{Inputs}\label{inputs-5-021} This optional field allows you to specify a user-defined end-use subcategory, e.g., ``Process''. A new meter for reporting is created for each unique subcategory (ref: \hyperref[outputmeter-and-outputmetermeterfileonly]{Output:Meter} objects). Any text may be used here to further subcategorize the end-uses in the ABUPS End Uses by Subcategory table and in the LEED Summary EAp2-4/5 Performance Rating Method Compliance table. If this field is omitted or blank, the chiller will be assigned to the ``General'' end-use subcategory. +\paragraph{Field: Condenser Flow Control}\label{field-condenser-flow-control} + +This field is optional.~ It describes the chiller condenser flow request mode to be used in a simulation. With ``ConstantFlow'' a chiller will always request its maximum condenser flow rate. With ``ModulatedChillerPLR'' the condenser flow request corresponds to the chiller part load ratio multiplied by the chiller maximum condenser flow rate. With ``ModulatedLoopPLR'' the chiller will request a flow rate that is function of the chilled water loop's part load ratio, see the \hyperref[field-condenser-loop-flow-rate-function-of-loop-part-load-ratio-curve-name-2]{Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name} input. With ``ModulatedDeltaTemperature'' the chiller will request the flow rate required to meet a condenser loop delta temperature, see the \hyperref[field-temperature-difference-across-condenser-schedule-name-2]{Temperature Difference Across Condenser Schedule Name} input. Use ``ConstantFlow'' when modeling a constant flow condenser plant loop, choose one of the other inputs when modeling a variable flow condenser plant loop. The default is ``ConstantFlow''. + +\paragraph{Field: Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name}\label{field-condenser-loop-flow-rate-function-of-loop-part-load-ratio-curve-name-2} + +This field describes the condenser loop flow rate fraction as a function of the chiller water loop part load ratio. A linear curve is expected: CWFR = C * PLR + D where CWFR is the condenser water flow fraction (actual/design), PLR is the chilled water plant loop part load ratio (actual/design), and C and D are coefficients. A reference for these coefficients is provided in ``Optimizing Design \& Control Of Chilled Water Plants, Part 5'', S. Taylor, ASHRAE Journal June 2012. This input is only used when the ``ModulatedLoopPLR'' condenser flow control option is used. + +\paragraph{Field: Temperature Difference Across Condenser Schedule Name}\label{field-temperature-difference-across-condenser-schedule-name-2} + +This field should be a schedule that defines the temperature difference across the condenser of the chiller. This input is used to calculate the condenser flow rate request. This input is only used when ``Condenser Flow Control'' is set to ``ModulatedDeltaTemperature''. + +\paragraph{Field: Condenser Minimum Flow Fraction} + +This field corresponds to the minimum condenser flow fraction. The minimum condenser flow is equal to the value of this input multiplied by the chiller maximum condenser flow rate. This input is only used when the ``Condenser Flow Control'' input is set to ``ModulatedChillerPLR'', ``ModulatedLoopPLR'' or ``ModulatedDeltaTemperature''. When not specified, a default of 0.2 is assumed. + An example of this statement in an IDF is: @@ -4693,6 +4726,32 @@ \subsection{Plant Loop Heat Pumps}\label{plant-loop-heat-pumps} Beginning with version 9.1, an EIR-formulated heat pump model was added. This heat pump can be operated as a water-source object with the source-side connected to another plant loop, or as an air-source object with the source-side interacting with the outdoor air. This formulation allows the user to enter curves for specifying the capacity and energy usage in a more generic way, allowing the curves to be applicable to a wide variety of components. With the original equation fit model, the curve form was locked in to a specific set of linear coefficients. With the new form, the curve can be a quadratic function of temperatures, or an even more generic lookup table. +\textbf{Air-to-Water Heat Pump with Heat Recovery}. This is an air-to-water heat pump with a heat recovery option. The heat pump object is based on \textit{HeatPump:PlantLoop:EIR:Cooling} and \textit{HeatPump:PlantLoop:EIR:Heating}. The heat recovery options are supported using heat recovery refrigerant-to-water heat exchangers (condenser or evaporator coils) that connect to hot water or chilled water heat recovery plant loops. These objects have heat recovery water inlet and outlet nodes connecting to a heat recovery plant loop. The air-to-water heat pump with heat recovery technology can simultaneously produce chilled and hot water. This feature is already available in the market, making it a promising technology option for HVAC systems. Hot water is recovered from the condenser when the heat pump unit operates in the chiller mode. The hot water recovery operation is enabled only when the heat pump unit operates in chiller mode and the heat recovery heat exchanger (condenser) entering fluid temperature is less than the user-specified temperature limit. When the heat recovery heat exchanger entering fluid temperature exceeds the user-specified maximum limit for hot water temperature recovery or drops below the minimum temperature limit for chilled water recovery, the heat recovery operation is disabled, and the heat pump continues to operate in chiller-only or heater-only operating mode. The plant equipment layout configuration for this technology can be \textit{four-pipe} and \textit{six-pipe} configurations. + + +\begin{figure}[hbtp] % fig 73 + \centering + \includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio=true]{media/FourPipe_HeatRecoveryPlantConfig.png} + \caption{Schematic of Four-Pipe Air-to-Water Heat Pump with Heat Recovery \protect \label{fig:schematic-of-four-pipe-air-to-water-heat-pump-with-heat-recovery}} +\end{figure} + +\begin{figure}[hbtp] % fig 74 + \centering + \includegraphics[width=1.0\textwidth, height=0.9\textheight, keepaspectratio=true]{media/SixPipe_HeatRecoveryPlantConfig.png} + \caption{Schematic of Six-Pipe Air-to-Water Heat Pump with Heat Recovery \protect \label{fig:schematic-of-six-pipe-air-to-water-heat-pump-with-heat-recovery}} +\end{figure} + + +\textbf{Four-Pipe Configuration}. In the four-pipe configuration, the heat pump operates in chiller mode, and the condenser is connected to a heat recovery system to generate the hot water. In this configuration, the heat pump refrigerant-to-water heat exchanger (evaporator) is connected to a chilled water plant loop, and the condenser is a refrigerant-to-water heat exchanger connected to a hot water recovery plant loop. Figure \ref{fig:schematic-of-four-pipe-air-to-water-heat-pump-with-heat-recovery} shows the plant layout and equipment connection of the four-pipe system configuration. + +\textbf{Six-Pipe Configuration}. In the six-pipe configuration, the heat pump may operate in chiller or heater mode, depending on the dominant load the heat pump is serving in the building. When the heat pump operates in the chiller mode, hot water is recovered from the condenser, which is connected to a heat recovery (secondary) plant loop. Therefore, a heat pump is connected to three plant loops: a chilled water plant loop, a hot water plant loop, and a secondary hot water plant for heat recovery. Figure \ref{fig:schematic-of-six-pipe-air-to-water-heat-pump-with-heat-recovery} shows six-pipe plant layout and equipment connection configuration. + + +If the hot water heat recovery coil's entering water temperature is at or exceeds the maximum temperature limit, the heat recovery operation is disabled, and the heat pump operates in cooling-only mode. Similarly, if the chilled water recovery coil's entering water temperature is at or drops below the minimum temperature limit, the chilled water recovery operation is disabled, and the heat pump operates in heating-only mode. Hot or chilled water is recovered at the source side of the heat pump unit. Any balance portion of the energy that cannot be recovered due to exceeding the minimum or maximum fluid temperature limits is reported as source-side heat transfer. Otherwise, full heat recovery potential is realized if the heat recovery fluid temperature does not violate these temperature limits. The heat recovery operation status is tracked using the \textit{Heat Pump Heat Recovery Operation Status} report variable. + + + + \textbf{\hyperref[plhp_fuelfired]{HeatPump:AirToWater:FuelFired:Cooling}} \textbf{\hyperref[plhp_fuelfired]{HeatPump:AirToWater:FuelFired:Heating}} @@ -5357,6 +5416,7 @@ \subsubsection{Outputs}\label{outputs-13-003} This output variable represents the average fluid flow rate through the source side coil. The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. + \subsection{HeatPump:PlantLoop:EIR:Cooling}\label{plhp_eir_cooling} The EIR-formulated cooling model objects are described. @@ -5387,6 +5447,14 @@ \subsubsection{Inputs}\label{plhp_eir_cooling_inputs} This alpha field contains the heat pump's source side outlet node name. +\paragraph{Field: Heat Recovery Inlet Node Name}\label{plhp_eir_cooling_inputs_heat_recovery_inlet_node} + +This alpha field contains the heat pump's heat recovery inlet node name. + +\paragraph{Field: Heat Recovery Outlet Node Name}\label{plhp_eir_cooling_inputs_heat_recovery_outlet_node} + +This alpha field contains the heat pump's heat recovery outlet node name. + \paragraph{Field: Companion Heat Pump Name}\label{plhp_eir_cooling_inputs_companion_name} This optional alpha field contains the name of a companion heat pump object. The current coolling object is expected to include the paired heating object. The companion is used for sizing if plant sizing data is unavailable, and during the simulation to ensure that any unexpected simultaneous operation of the two objects provides a warning to the user. @@ -5399,6 +5467,10 @@ \subsubsection{Inputs}\label{plhp_eir_cooling_inputs} This autosizable field defines the reference source side side flow rate for the heat pump. This field is used as the nominal flow request for this heat pump unit during the simulation. The units for this field are [m3/s]. +\paragraph{Field: Heat Recovery Reference Flow Rate}\label{plhp_eir_cooling_inputs_heat_recovery_flow} + +This autosizable field defines the heat recovery reference flow rate for the heat pump. This field is used as the nominal heat recovery flow request for this heat pump unit during the simulation. The units for this field is[m3/s]. + \paragraph{Field: Reference Capacity}\label{plhp_eir_cooling_inputs_reference_capacity} This autosizable field defines the reference load side cooling capacity for the heat pump. The units for this field are [W]. @@ -5451,6 +5523,19 @@ \subsubsection{Inputs}\label{plhp_eir_cooling_inputs} This optional alpha field specifies the name of a univariate curve or table that defines the maximum supply water temperature. +\paragraph{Field: Maximum Heat Recovery Outlet Temperature}\label{plhp_eir_cooling_inputs_maximum_heat_recovery_outlet_temperature} + +This optional numeric field specifies the maximum leaving water temperature at the heat recovery outlet node. The hot water temperature is not allowed to exceed this value. The default value is 60. The units for this field are [C]. If the heat recovery coil entering hot water temperature is at or exceeds this temperature limit, the heat recovery operation is disabled, and the heat pump operates in cooling-only mode. + +\paragraph{Field: Heat Recovery Capacity Modifier Function of Temperature Curve Name}\label{plhp_eir_cooling_inputs_heat_recovery_capft} + +This field is the name of a bivariate curve or table that defines an available capacity modifier of the unit as a function of the load side outlet temperature and the heat recovery side inlet temperature. The temperatures are in degrees Celsius when used in the function and the output of the function is multiplied by the reference capacity to get a current available capacity when the unit is operating in heat recovery mode. + +\paragraph{Field: Heat Recovery Electric Input to Output Ratio Modifier Function of Temperature Curve Name}\label{plhp_eir_cooling_inputs_heat_recovery_eirft} + +This field is the name of a bivariate curve or table that defines an EIR (1/COP) modifier as a function of the load side outlet temperature and the heat recovery side inlet temperature. The temperatures are in degrees Celsius when used in the function. The output of this function and the output of the EIR Modifier Function of PLR are multiplied by the reference EIR to get a current EIR when the unit is operating in heat recovery mode. + + \subsection{HeatPump:PlantLoop:EIR:Heating}\label{plhp_eir_heating} The EIR-formulated heating model objects are described. @@ -5481,6 +5566,14 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} This alpha field contains the heat pump's source side outlet node name. +\paragraph{Field: Heat Recovery Inlet Node Name}\label{plhp_eir_heating_inputs_heat_recovery_inlet_node} + +This alpha field contains the heat pump's heat recovery inlet node name. + +\paragraph{Field: Heat Recovery Outlet Node Name}\label{plhp_eir_heating_inputs_heat_recovery_outlet_node} + +This alpha field contains the heat pump's heat recovery outlet node name. + \paragraph{Field: Companion Heat Pump Name}\label{plhp_eir_heating_inputs_companion_name} This optional alpha field contains the name of a companion heat pump object. The current heatling object is expected to include the paired cooling object. The companion is used for sizing if plant sizing data is unavailable, and during the simulation to ensure that any unexpected simultaneous operation of the two objects provides a warning to the user. @@ -5493,6 +5586,10 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} This autosizable field defines the reference source side side flow rate for the heat pump. This field is used as the nominal flow request for this heat pump unit during the simulation. The units for this field are [m3/s]. +\paragraph{Field: Heat Recovery Reference Flow Rate}\label{plhp_eir_heating_inputs_heat_recovery_flow} + +This autosizable field defines the heat recovery reference flow rate for the heat pump. This field is used as the nominal heat recovery flow request for this heat pump unit during the simulation. The units for this field is [m3/s]. + \paragraph{Field: Reference Capacity}\label{plhp_eir_heating_inputs_reference_capacity} This autosizable field defines the reference load side heating capacity for the heat pump. The units for this field are [W]. @@ -5585,7 +5682,17 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} This optional alpha field specifies the name of a univariate or bivariant curve or table that defines the heating energy fraction of defrost based on outdoor conditions. This curve is used only when TimedEmpirical defrost control is selected. -An idf example for a water-source application: +\paragraph{Field: Minimum Heat Recovery Outlet Temperature}\label{plhp_eir_heating_inputs_minimum_heat_recovery_outlet_temperature} + +This optional numeric field specifies the minimum leaving water temperature at the heat recovery outlet node. The chilled water temperature is not allowed to drop below this value. The default value is 4.5. The units for this field is [C]. If the chilled water recovery coil entering water temperature is at or below this temperature limit, the heat recovery operation is disabled, and the heat pump operates in heating-only mode. + +\paragraph{Field: Heat Recovery Capacity Modifier Function of Temperature Curve Name}\label{plhp_eir_heating_inputs_heat_recovery_capft} + +This field is the name of a bivariate curve or table that defines an available capacity modifier of the unit as a function of the load side outlet temperature and the heat recovery side inlet temperature. The temperatures are in degrees Celsius when used in the function and the output of the function is multiplied by the reference capacity to get a current available capacity when the unit is operating in heat recovery mode. + +\paragraph{Field: Heat Recovery Electric Input to Output Ratio Modifier Function of Temperature Curve Name}\label{plhp_eir_heating_inputs_heat_recovery_eirft} + +This field is the name of a bivariate curve or table that defines an EIR (1/COP) modifier as a function of the load side outlet temperature and the heat recovery side inlet temperature. The temperatures are in degrees Celsius when used in the function. The output of this function and the output of the EIR Modifier Function of PLR are multiplied by the reference EIR to get a current EIR when the unit is operating in heat recovery mode. \begin{lstlisting} HeatPump:PlantLoop:EIR:Heating, @@ -5595,9 +5702,12 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} WaterSource, ! Condenser Type Condenser Loop Demand Inlet Node, !- Source Side Inlet Node Name Condenser Loop Demand Intermediate Node, !- Source Side Outlet Node Name + , !- Heat Recovery Inlet Node Name + , !- Heat Recovery Outlet Node Name Cooling Coil, !- Companion Heat Pump Name 0.005, !- Load Side Design Volume Flow Rate {m3/s} 0.002, !- Source Side Design Volume Flow Rate {m3/s} + , !- Heat Recovery Reference Flow Rate 80000, !- Reference Capacity 3.5, !- Reference COP , !- Sizing Factor @@ -5612,9 +5722,12 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} WaterSource, !- Condenser Type Condenser Loop Demand Intermediate Node, !- Source Side Inlet Node Name Condenser Loop Demand Outlet Node, !- Source Side Outlet Node Name + , !- Heat Recovery Inlet Node Name + , !- Heat Recovery Outlet Node Name Heating Coil, !- Companion Heat Pump Name 0.005, !- Load Side Design Volume Flow Rate {m3/s} 0.003, !- Source Side Design Volume Flow Rate {m3/s} + , !- Heat Recovery Reference Flow Rate 75000, !- Reference Capacity 4.0, !- Reference COP , !- Sizing Factor @@ -5633,9 +5746,12 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} AirSource, ! Condenser Type Outdoor Air HP Inlet Node, !- Source Side Inlet Node Name Outdoor Air HP Outlet Node, !- Source Side Outlet Node Name +, !- Heat Recovery Inlet Node Name +, !- Heat Recovery Outlet Node Name Cooling Coil, !- Companion Heat Pump Name 0.005, !- Load Side Design Volume Flow Rate {m3/s} 0.002, !- Source Side Design Volume Flow Rate {m3/s} +, !- Heat Recovery Reference Flow Rate 80000, !- Reference Capacity 3.5, !- Reference COP , !- Sizing Factor @@ -5650,9 +5766,12 @@ \subsubsection{Inputs}\label{plhp_eir_heating_inputs} AirSource , !- Condenser Type Outdoor Air HP Inlet Node, !- Source Side Inlet Node Name Outdoor Air HP Outlet Node, !- Source Side Outlet Node Name +, !- Heat Recovery Inlet Node Name +, !- Heat Recovery Outlet Node Name Heating Coil, !- Companion Heat Pump Name 0.005, !- Load Side Design Volume Flow Rate {m3/s} 0.003, !- Source Side Design Volume Flow Rate {m3/s} +, !- Heat Recovery Reference Flow Rate 75000, !- Reference Capacity 4.0, !- Reference COP , !- Sizing Factor @@ -5694,6 +5813,18 @@ \subsubsection{Outputs}\label{plhp_eir_outputs} HVAC,Average,Heat Pump Load Side Mass Flow Rate {[}kg/s{]} \item HVAC,Average,Heat Pump Source Side Mass Flow Rate {[}kg/s{]} + \item + HVAC,Sum,Heat Pump Heat Recovery Heat Transfer Energy {[}J{]} + \item + HVAC,Average,Heat Pump Heat Recovery Heat Transfer Rate {[}W{]} + \item + HVAC,Average,Heat Pump Heat Recovery Outlet Temperaturee {[}$^\circ$C{]} + \item + HVAC,Average,Heat Pump Heat Recovery Inlet Temperature {[}$^\circ$C{]} + \item + HVAC,Average,Heat Pump Heat Recovery Mass Flow Rate {[}kg/s{]} + \item + HVAC,Average,Heat Pump Heat Recovery Operation Status {[}{]} \end{itemize} Outputs specific to HeatPump:PlantLoop:EIR:Heating @@ -5782,6 +5913,31 @@ \subsubsection{Outputs}\label{plhp_eir_outputs} This output variable represents the average defrost electricity energy in joules during the specified reporting window. +\paragraph{Heat Pump Heat Recovery Heat Transfer Energy {[}J{]}}\label{air-to-water-heat-pump-heat-recovery-heat-transfer-energy-j} + +This output variable represents the cumulative heat transfer across the heat recovery coil. The values are calculated for each HVAC system time step being simulated, and the results are summed across the reporting period. + +\paragraph{Heat Pump Heat Recovery Heat Transfer Rate {[}W{]}}\label{air-to-water-heat-pump-heat-recovery-heat-transfer-rate-w} + +This output variable represents the heat transfer across the heat recovery coil. The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. + +\paragraph{Heat Pump Heat Recovery Outlet Temperature {[}C{]}}\label{air-to-water-heat-pump-heat-recovery-outlet-temperature-c} + +This output variable represents the average fluid temperature leaving the heat recovery coil. The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. + +\paragraph{Heat Pump Source Side Inlet Temperature {[}C{]}}\label{air-to-water-heat-pump-source-side-inlet-temperature-c} + +This output variable represents the average fluid temperature entering the heat recovery coil.~ The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. + +\paragraph{Heat Pump Heat Recovery Mass Flow Rate {[}kg/s{]}}\label{air-to-water-heat-pump-heat-recovery-mass-flow-rate-kgs} + +This output variable represents the average fluid flow rate through the heat recovery coil. The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. + +\paragraph{Heat Pump Heat Recovery Operation Status {[}{]}}\label{air-to-water-heat-pump-heat-recovery-operating-status} + +This output variable represents the average operating status of heat recovery operation. The values are calculated for each HVAC system time step being simulated, and the results are averaged for the time step being reported. 0 means the heat recovery operation is off or disabled, 1 means the heat recovery operation is active. + + \subsection{HeatPump:AirToWater:FuelFired:Heating (and Cooling)}\label{plhp_fuelfired} HeatPump:AirToWater:FuelFired:Heating is a gas-fired (or fuel fired) air-to-water absorption heat pump that can be used for space heating and domestic hot water. diff --git a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex index 6d45b41541f..8cd3b0f175f 100644 --- a/doc/input-output-reference/src/overview/group-surface-construction-elements.tex +++ b/doc/input-output-reference/src/overview/group-surface-construction-elements.tex @@ -452,7 +452,7 @@ \subsubsection{Inputs}\label{inputs-5-030} \paragraph{Field Set: Temperature-Enthalpy}\label{field-set-temperature-enthalpy} -The temperature-enthalpy set of inputs specify a two column tabular temperature-enthalpy function for the basic material. Sixteen pairs can be specified. Specify only the number of pairs necessary. The tabular function must cover the entire temperature range that will be seen by the material in the simulation. It is suggested that the function start at a low temperature, and extend to 100$^\circ$C. Note that the function has no negative slopes and the lowest slope that will occur is the base material specific heat. Temperature values should be strictly increasing. Enthalpy contributions of the phase change are always added to the enthalpy that would result from a constant specific heat base material. An example of a simple Enthalpy Temperature function is shown below. +The temperature-enthalpy set of inputs specify a two column tabular temperature-enthalpy function for the basic material. The number of temperature-enthalpy pairs that can be specified is extensible. Specify only the number of pairs necessary. The tabular function must cover the entire temperature range that will be seen by the material in the simulation. It is suggested that the function start at a low temperature, and extend to 100$^\circ$C. Note that the function has no negative slopes and the lowest slope that will occur is the base material specific heat. Temperature values should be strictly increasing. Enthalpy contributions of the phase change are always added to the enthalpy that would result from a constant specific heat base material. An example of a simple Enthalpy Temperature function is shown below. \begin{figure}[htbp] \centering @@ -674,7 +674,7 @@ \subsubsection{Inputs}\label{inputs-6-027} \paragraph{Field Set: Temperature-Thermal Conductivity}\label{field-set-temperature-thermal-conductivity} -The temperature -- conductivity set of inputs specify a two column tabular temperature-thermal conductivity function for the basic material. Ten pairs can be specified. Specify only the number of pairs necessary. Temperature values should be strictly increasing. +The temperature -- conductivity set of inputs specify a two column tabular temperature-thermal conductivity function for the basic material. The number of temperature-thermal conductivity pairs that can be specified is extensible. Specify only the number of pairs necessary. Temperature values should be strictly increasing. \paragraph{Field: Temperature x}\label{field-temperature-x-1} diff --git a/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex b/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex index 939f1252cd9..2c7f95fb65b 100644 --- a/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex +++ b/doc/input-output-reference/src/overview/group-thermal-zone-description-geometry.tex @@ -1983,7 +1983,7 @@ \subsection{Surface Vertices}\label{surface-vertices} use the same vertex input. The numeric parameters indicated below are taken from the \hyperref[buildingsurfacedetailed]{BuildingSurface:Detailed} definition; the others may not be exactly the same but are identical in configuration. They are also ``extensible'' -- so, to define more vertices for these surfaces, simply add the required number of vertices (X, Y, and Z coordinates for each vertex) to the input file. Note that \hyperref[fenestrationsurfacedetailed]{FenestrationSurface:Detailed} is not extensible and is limited to 4 (max) vertices. If the Number of Surface Vertex groups is left blank or entered as \textbf{autocalculate}, EnergyPlus looks at the number of groups entered and figures out how many coordinate groups are entered. \begin{callout} -\warning{Note that the resolution on the surface vertex input is 1 millimeter (.001 meter). Therefore, using vertices that are very close together (\textless{} 1 mm) may result in invalid dot product and fatal errors during shading calculations.} +\warning{Note that the resolution for surface vertex input is 1 centimeter (0.01 meter). Vertices that are \textless{} 1 cm apart will be combined.} \end{callout} \begin{figure}[hbtp] % fig 29 diff --git a/doc/input-output-reference/src/overview/group-user-defined-hvac-and-plant-component.tex b/doc/input-output-reference/src/overview/group-user-defined-hvac-and-plant-component.tex index 5b0f56db9e6..4d36f03cd2f 100644 --- a/doc/input-output-reference/src/overview/group-user-defined-hvac-and-plant-component.tex +++ b/doc/input-output-reference/src/overview/group-user-defined-hvac-and-plant-component.tex @@ -310,7 +310,7 @@ \subsubsection{Inputs}\label{plantcomponentuserdefined-inputs} This fields defines the number of different plant loop connections that the component will use. Up to four separate loops can be connected if desired. This field is required. -\paragraph{Field Set: (inlet node name, outlet node name, loading mode, flow request mode, initialization program calling manager, simulation program calling manager)}\label{feildset-inlet-node-name-outlet-node-name-loading-mode-flow-request-mode-initialization-program-calling-manager-simulation-program-calling-manager.} +\paragraph{Field Set: (inlet node name, outlet node name, loading mode, flow request mode, initialization program calling manager, simulation program calling manager)}\label{fieldset-inlet-node-name-outlet-node-name-loading-mode-flow-request-mode-initialization-program-calling-manager-simulation-program-calling-manager.} Each of the plant loop connections used is defined by a set of 6 input fields that contain and inlet node, and outlet node, a loading mode, a flow request mode, a program calling manager for setup and sizing, and a program calling manager for model calculations that should run when this loop is being simulated. diff --git a/idd/Energy+.idd.in b/idd/Energy+.idd.in index 466fc0a596b..0193d450215 100644 --- a/idd/Energy+.idd.in +++ b/idd/Energy+.idd.in @@ -1022,12 +1022,17 @@ Site:Location, \default 0.0 \note Time relative to GMT. Decimal hours. \type real - N4 ; \field Elevation + N4 , \field Elevation \units m \minimum -300.0 \maximum< 8900.0 \default 0.0 \type real + A2 ; \field Keep Site Location Information + \type choice + \key Yes + \key No + \default No Site:VariableLocation, \memo Captures the scheduling of a moving/reorienting building, or more likely a vessel @@ -7269,9 +7274,11 @@ MaterialProperty:MoisturePenetrationDepth:Settings, MaterialProperty:PhaseChange, \memo Additional properties for temperature dependent thermal conductivity \memo and enthalpy for Phase Change Materials (PCM) + \memo Name and temperature coefficient are followed by up to 100 sets of temperature-enthalpy pairs. \memo HeatBalanceAlgorithm = CondFD(ConductionFiniteDifference) solution algorithm only. \memo Constructions with this should use the detailed CondFD process. \memo Has no effect with other HeatBalanceAlgorithm solution algorithms + \extensible:2 A1 , \field Name \required-field \type object-list @@ -7286,6 +7293,7 @@ MaterialProperty:PhaseChange, \type real \default 0.0 N2 , \field Temperature 1 + \begin-extensible \required-field \note for Temperature-enthalpy function \units C @@ -7361,62 +7369,97 @@ MaterialProperty:PhaseChange, N19, \field Enthalpy 9 \note for Temperature-enthalpy function corresponding to temperature 1 \units J/kg - N20 , \field Temperature 10 - \note for Temperature-enthalpy function - \units C - \type real - N21, \field Enthalpy 10 - \note for Temperature-enthalpy function corresponding to temperature 2 - \units J/kg - \type real - N22 , \field Temperature 11 - \note for Temperature-enthalpy function - \units C - \type real - N23, \field Enthalpy 11 - \note for Temperature-enthalpy function corresponding to temperature 3 - \units J/kg - \type real - N24 , \field Temperature 12 - \note for Temperature-enthalpy function - \units C - \type real - N25, \field Enthalpy 12 - \note for Temperature-enthalpy function corresponding to temperature 14 - \units J/kg - \type real - N26, \field Temperature 13 - \note for Temperature-enthalpy function - \units C - \type real - N27, \field Enthalpy 13 - \note for Temperature-enthalpy function corresponding to temperature 15 - \units J/kg - \type real - N28, \field Temperature 14 - \note for Temperature-enthalpy function - \units C - \type real - N29, \field Enthalpy 14 - \note for Temperature-enthalpy function corresponding to temperature 16 - \units J/kg - \type real - N30, \field Temperature 15 - \note for Temperature-enthalpy function - \units C - \type real - N31, \field Enthalpy 15 - \note for Temperature-enthalpy function corresponding to temperature 17 - \units J/kg - \type real - N32, \field Temperature 16 - \note for Temperature-enthalpy function - \units C - \type real - N33; \field Enthalpy 16 - \note for Temperature-enthalpy function corresponding to temperature 16 - \units J/kg - \type real + N20,N21, \note fields as indicated + N22,N23, \note fields as indicated + N24,N25, \note fields as indicated + N26,N27, \note fields as indicated + N28,N29, \note fields as indicated + N30,N31, \note fields as indicated + N32,N33, \note fields as indicated + N34,N35, \note fields as indicated + N36,N37, \note fields as indicated + N38,N39, \note fields as indicated + N40,N41, \note fields as indicated + N42,N43, \note fields as indicated + N44,N45, \note fields as indicated + N46,N47, \note fields as indicated + N48,N49, \note fields as indicated + N50,N51, \note fields as indicated + N52,N53, \note fields as indicated + N54,N55, \note fields as indicated + N56,N57, \note fields as indicated + N58,N59, \note fields as indicated + N60,N61, \note fields as indicated + N62,N63, \note fields as indicated + N64,N65, \note fields as indicated + N66,N67, \note fields as indicated + N68,N69, \note fields as indicated + N70,N71, \note fields as indicated + N72,N73, \note fields as indicated + N74,N75, \note fields as indicated + N76,N77, \note fields as indicated + N78,N79, \note fields as indicated + N80,N81, \note fields as indicated + N82,N83, \note fields as indicated + N84,N85, \note fields as indicated + N86,N87, \note fields as indicated + N88,N89, \note fields as indicated + N90,N91, \note fields as indicated + N92,N93, \note fields as indicated + N94,N95, \note fields as indicated + N96,N97, \note fields as indicated + N98,N99, \note fields as indicated + N100,N101, \note fields as indicated + N102,N103, \note fields as indicated + N104,N105, \note fields as indicated + N106,N107, \note fields as indicated + N108,N109, \note fields as indicated + N110,N111, \note fields as indicated + N112,N113, \note fields as indicated + N114,N115, \note fields as indicated + N116,N117, \note fields as indicated + N118,N119, \note fields as indicated + N120,N121, \note fields as indicated + N122,N123, \note fields as indicated + N124,N125, \note fields as indicated + N126,N127, \note fields as indicated + N128,N129, \note fields as indicated + N130,N131, \note fields as indicated + N132,N133, \note fields as indicated + N134,N135, \note fields as indicated + N136,N137, \note fields as indicated + N138,N139, \note fields as indicated + N140,N141, \note fields as indicated + N142,N143, \note fields as indicated + N144,N145, \note fields as indicated + N146,N147, \note fields as indicated + N148,N149, \note fields as indicated + N150,N151, \note fields as indicated + N152,N153, \note fields as indicated + N154,N155, \note fields as indicated + N156,N157, \note fields as indicated + N158,N159, \note fields as indicated + N160,N161, \note fields as indicated + N162,N163, \note fields as indicated + N164,N165, \note fields as indicated + N166,N167, \note fields as indicated + N168,N169, \note fields as indicated + N170,N171, \note fields as indicated + N172,N173, \note fields as indicated + N174,N175, \note fields as indicated + N176,N177, \note fields as indicated + N178,N179, \note fields as indicated + N180,N181, \note fields as indicated + N182,N183, \note fields as indicated + N184,N185, \note fields as indicated + N186,N187, \note fields as indicated + N188,N189, \note fields as indicated + N190,N191, \note fields as indicated + N192,N193, \note fields as indicated + N194,N195, \note fields as indicated + N196,N197, \note fields as indicated + N198,N199, \note fields as indicated + N200,N201; \note fields as indicated MaterialProperty:PhaseChangeHysteresis, \memo Additional properties for temperature dependent thermal conductivity @@ -7512,8 +7555,10 @@ MaterialProperty:PhaseChangeHysteresis, MaterialProperty:VariableThermalConductivity, \memo Additional properties for temperature dependent thermal conductivity \memo using piecewise linear temperature-conductivity function. + \memo Name is followed by up to 100 sets of temperature-conductivity pairs. \memo HeatBalanceAlgorithm = CondFD(ConductionFiniteDifference) solution algorithm only. \memo Has no effect with other HeatBalanceAlgorithm solution algorithms + \extensible:2 A1 , \field Name \required-field \type object-list @@ -7521,6 +7566,7 @@ MaterialProperty:VariableThermalConductivity, \note Regular Material Name to which the additional properties will be added. \note this the material name for the basic material properties. N1 , \field Temperature 1 + \begin-extensible \required-field \note for Temperature-Thermal Conductivity function \units C @@ -7600,10 +7646,101 @@ MaterialProperty:VariableThermalConductivity, \note for Temperature-Thermal Conductivity function \units C \type real - N20; \field Thermal Conductivity 10 + N20, \field Thermal Conductivity 10 \note for Temperature-Thermal Conductivity function corresponding to temperature 10 \units W/m-K \type real + N21,N22, \note fields as indicated + N23,N24, \note fields as indicated + N25,N26, \note fields as indicated + N27,N28, \note fields as indicated + N29,N30, \note fields as indicated + N31,N32, \note fields as indicated + N33,N34, \note fields as indicated + N35,N36, \note fields as indicated + N37,N38, \note fields as indicated + N39,N40, \note fields as indicated + N41,N42, \note fields as indicated + N43,N44, \note fields as indicated + N45,N46, \note fields as indicated + N47,N48, \note fields as indicated + N49,N50, \note fields as indicated + N51,N52, \note fields as indicated + N53,N54, \note fields as indicated + N55,N56, \note fields as indicated + N57,N58, \note fields as indicated + N59,N60, \note fields as indicated + N61,N62, \note fields as indicated + N63,N64, \note fields as indicated + N65,N66, \note fields as indicated + N67,N68, \note fields as indicated + N69,N70, \note fields as indicated + N71,N72, \note fields as indicated + N73,N74, \note fields as indicated + N75,N76, \note fields as indicated + N77,N78, \note fields as indicated + N79,N80, \note fields as indicated + N81,N82, \note fields as indicated + N83,N84, \note fields as indicated + N85,N86, \note fields as indicated + N87,N88, \note fields as indicated + N89,N90, \note fields as indicated + N91,N92, \note fields as indicated + N93,N94, \note fields as indicated + N95,N96, \note fields as indicated + N97,N98, \note fields as indicated + N99,N100, \note fields as indicated + N101,N102, \note fields as indicated + N103,N104, \note fields as indicated + N105,N106, \note fields as indicated + N107,N108, \note fields as indicated + N109,N110, \note fields as indicated + N111,N112, \note fields as indicated + N113,N114, \note fields as indicated + N115,N116, \note fields as indicated + N117,N118, \note fields as indicated + N119,N120, \note fields as indicated + N121,N122, \note fields as indicated + N123,N124, \note fields as indicated + N125,N126, \note fields as indicated + N127,N128, \note fields as indicated + N129,N130, \note fields as indicated + N131,N132, \note fields as indicated + N133,N134, \note fields as indicated + N135,N136, \note fields as indicated + N137,N138, \note fields as indicated + N139,N140, \note fields as indicated + N141,N142, \note fields as indicated + N143,N144, \note fields as indicated + N145,N146, \note fields as indicated + N147,N148, \note fields as indicated + N149,N150, \note fields as indicated + N151,N152, \note fields as indicated + N153,N154, \note fields as indicated + N155,N156, \note fields as indicated + N157,N158, \note fields as indicated + N159,N160, \note fields as indicated + N161,N162, \note fields as indicated + N163,N164, \note fields as indicated + N165,N166, \note fields as indicated + N167,N168, \note fields as indicated + N169,N170, \note fields as indicated + N171,N172, \note fields as indicated + N173,N174, \note fields as indicated + N175,N176, \note fields as indicated + N177,N178, \note fields as indicated + N179,N180, \note fields as indicated + N181,N182, \note fields as indicated + N183,N184, \note fields as indicated + N185,N186, \note fields as indicated + N187,N188, \note fields as indicated + N189,N190, \note fields as indicated + N191,N192, \note fields as indicated + N193,N194, \note fields as indicated + N195,N196, \note fields as indicated + N197,N198, \note fields as indicated + N199,N200, \note fields as indicated + N201,N202; \note fields as indicated MaterialProperty:VariableAbsorptance, A1 , \field Name @@ -48484,10 +48621,40 @@ AirTerminal:SingleDuct:SeriesPIU:Reheat, \minimum 0.0 \default 0.0 \ip-units gal/min - N6; \field Convergence Tolerance + N6, \field Convergence Tolerance \type real \minimum> 0.0 \default 0.001 + A11, \field Fan Control Type + \note If VariableSpeed, then the fan object type must be Fan:SystemModel + \type choice + \key VariableSpeed + \key ConstantSpeed + \default ConstantSpeed + N7, \field Minimum Fan Turn Down Ratio + \type real + \units dimensionless + \note flow through terminal at minimum fan speed is this ratio multiplied by Maximum Air Flow Rate + \minimum 0.0 + \maximum 1.0 + \default 0.3 + A12, \field Heating Control Type + \type choice + \key Staged + \key Modulated + N8, \field Design Heating Discharge Air Temperature + \type real + \units C + \default 32.1 + \note Only used if Heating Control Type is Modulated + \note Used to control second stage heating, typically zone heat setpoint plus 20F + N9; \field High Limit Heating Discharge Air Temperature + \type real + \units C + \default 37.7 + \note Only used if Heating Control Type is Modulated + \note Used to determine end of third stage heating + AirTerminal:SingleDuct:ParallelPIU:Reheat, \memo Central air system terminal unit, single duct, variable volume, parallel powered @@ -48568,10 +48735,39 @@ AirTerminal:SingleDuct:ParallelPIU:Reheat, \minimum 0.0 \default 0.0 \ip-units gal/min - N7; \field Convergence Tolerance + N7, \field Convergence Tolerance \type real \minimum> 0.0 \default 0.001 + A11, \field Fan Control Type + \note If VariableSpeed, then the fan object type must be Fan:SystemModel + \type choice + \key VariableSpeed + \key ConstantSpeed + \default ConstantSpeed + N8, \field Minimum Fan Turn Down Ratio + \type real + \units dimensionless + \note flow through terminal at minimum fan speed is this ratio multiplied by Maximum Air Flow Rate + \minimum 0.0 + \maximum 1.0 + \default 0.3 + A12, \field Heating Control Type + \type choice + \key Staged + \key Modulated + N9, \field Design Heating Discharge Air Temperature + \type real + \units C + \default 32.1 + \note Only used if Heating Control Type is Modulated + \note Used to control second stage heating, typically zone heat setpoint plus 20F + N10; \field High Limit Heating Discharge Air Temperature + \type real + \units C + \default 37.7 + \note Only used if Heating Control Type is Modulated + \note Used to determine end of third stage heating AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction, \memo Central air system terminal unit, single duct, variable volume, induction unit with @@ -73352,11 +73548,48 @@ Chiller:Electric:EIR, \note Using this triggers a model more suited to series bundle and chillers with higher temperature heat recovery \note If this field is not used, the bundles are modeled as being in parallel \type node - A16; \field End-Use Subcategory + A16, \field End-Use Subcategory \note Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table. \type alpha \retaincase \default General + A17, \field Condenser Flow Control + \note Select the chiller condenser flow request mode. With "ConstantFlow" a chiller will always request + \note its maximum condenser flow rate. With "ModulatedChillerPLR" the condenser flow request corresponds + \note to the chiller part load ratio multiplied by the chiller maximum condenser flow rate. With + \note "ModulatedLoopPLR" the chiller will request a flow rate that is function of the chilled water + \note loop's part load ratio, see the "Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio + \note Curve Name" input. With "ModulatedDeltaTemperature" the chiller will request the flow rate required to meet + \note the condenser loop load based on the condenser leaving fluid temperature and a reference temperature, + \note see the "Temperature Difference Across Condenser" and "Temperature Difference Across Condenser Schedule + \note Name" input. + \note Use "ConstantFlow" when modeling a constant flow condenser plant loop, choose one of the other inputs + \note when modeling a variable flow condenser plant loop. + \key ConstantFlow + \key ModulatedChillerPLR + \key ModulatedLoopPLR + \key ModulatedDeltaTemperature + \default ConstantFlow + A18, \field Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name + \note Condenser loop flow rate fraction as a function of loop part load ratio + \note CWFR = C * PLR + D + \note Where: + \note CWFR is the condenser water flow fraction (actual/design) + \note C and D are coefficients, see "Optimizing Design & Control Of Chilled Water Plants, Part 5", S. Taylor, ASHRAE Journal June 2012 + \note PLR is the chilled water plant loop part load ratio (actual/design) + \type object-list + \object-list UnivariateFunctions + A20, \field Temperature Difference Across Condenser Schedule Name + \note A schedule that defines the temperature difference across the condenser. This input is used to + \note calculate the condenser flow. This input is only used when "Condenser Flow Control" is set to + \note "ModulatedDeltaTemperature". + \type object-list + \object-list ScheduleNames + N19; \field Condenser Minimum Flow Fraction + \note This input corresponds to the minimum flow fraction to be simulated. The minimum condenser flow + \note corresponds to this fraction multiplied by the maximum condenser flow rate. This input is only used + \note when the "Condenser Flow Control" input is set to "ModulatedChillerPLR", "ModulatedLoopPLR" or + \note "ModulatedDeltaTemperature". Chiller:Electric:ReformulatedEIR, \min-fields 22 @@ -73550,11 +73783,48 @@ Chiller:Electric:ReformulatedEIR, \note Using this triggers a model more suited to series bundle and chillers with higher temperature heat recovery \note If this field is not used, the bundles are modeled as being in parallel \type node - A15; \field End-Use Subcategory + A15, \field End-Use Subcategory \note Any text may be used here to categorize the end-uses in the ABUPS End Uses by Subcategory table. \type alpha \retaincase \default General + A16, \field Condenser Flow Control + \note Select the chiller condenser flow request mode. With "ConstantFlow" a chiller will always request + \note its maximum condenser flow rate. With "ModulatedChillerPLR" the condenser flow request corresponds + \note to the chiller part load ratio multiplied by the chiller maximum condenser flow rate. With + \note "ModulatedLoopPLR" the chiller will request a flow rate that is function of the chilled water + \note loop's part load ratio, see the "Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio + \note Curve Name" input. With "ModulatedDeltaTemperature" the chiller will request the flow rate required to meet + \note the condenser loop load based on the condenser leaving fluid temperature and a reference temperature, + \note see the "Temperature Difference Across Condenser" and "Temperature Difference Across Condenser Schedule + \note Name" input. + \note Use "ConstantFlow" when modeling a constant flow condenser plant loop, choose one of the other inputs + \note when modeling a variable flow condenser plant loop. + \key ConstantFlow + \key ModulatedChillerPLR + \key ModulatedLoopPLR + \key ModulatedDeltaTemperature + \default ConstantFlow + A17, \field Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name + \note Condenser loop flow rate fraction as a function of loop part load ratio + \note CWFR = C * PLR + D + \note Where: + \note CWFR is the condenser water flow fraction (actual/design) + \note C and D are coefficients, see "Optimizing Design & Control Of Chilled Water Plants, Part 5", S. Taylor, ASHRAE Journal June 2012 + \note PLR is the chilled water plant loop part load ratio (actual/design) + \type object-list + \object-list UnivariateFunctions + A19, \field Temperature Difference Across Condenser Schedule Name + \note A schedule that defines the temperature difference across the condenser. This input is used to + \note calculate the condenser flow. This input is only used when "Condenser Flow Control" is set to + \note "ModulatedDeltaTemperature". + \type object-list + \object-list ScheduleNames + N16; \field Condenser Minimum Flow Fraction + \note This input corresponds to the minimum flow fraction to be simulated. The minimum condenser flow + \note corresponds to this fraction multiplied by the maximum condenser flow rate. This input is only used + \note when the "Condenser Flow Control" input is set to "ModulatedChillerPLR", "ModulatedLoopPLR" or + \note "ModulatedDeltaTemperature". Chiller:Electric, \min-fields 27 diff --git a/idd/schema/modify_schema.py b/idd/schema/modify_schema.py index b93173cf8e4..3d9e631facf 100644 --- a/idd/schema/modify_schema.py +++ b/idd/schema/modify_schema.py @@ -185,6 +185,8 @@ def isInt(s): 'PythonPlugin:Variables': 'global_py_vars', 'PythonPlugin:SearchPaths': 'py_search_paths', 'Output:Diagnostics': 'diagnostics', + 'MaterialProperty:PhaseChange': 'values', + 'MaterialProperty:VariableThermalConductivity': 'values', } remaining_objects = [ 'Site:SpectrumData', diff --git a/src/ConvertInputFormat/main.cpp b/src/ConvertInputFormat/main.cpp index d53e6d81790..51c911434aa 100644 --- a/src/ConvertInputFormat/main.cpp +++ b/src/ConvertInputFormat/main.cpp @@ -436,10 +436,11 @@ std::vector parse_input_paths(fs::path const &inputFilePath) return input_paths; } -int main(/** [[maybe_unused]] int argc, [[maybe_unused]] const char *argv[] */) +int main(int argc, char **argv) { CLI::App app{"ConvertInputFormat"}; + argv = app.ensure_utf8(argv); app.description("Run input file conversion tool"); app.set_version_flag("-v,--version", EnergyPlus::DataStringGlobals::VerString); @@ -502,7 +503,7 @@ Select one (case insensitive): // We are not modifying argc/argv, so we defer to CLI11 to find the argc/argv instead. It'll use GetCommandLineW & CommandLineToArgvW on windows try { - app.parse(); + app.parse(argc, argv); } catch (const CLI::ParseError &e) { return app.exit(e); } diff --git a/src/EnergyPlus/Autosizing/HeatingCapacitySizing.cc b/src/EnergyPlus/Autosizing/HeatingCapacitySizing.cc index 90a1482f116..60339fe5202 100644 --- a/src/EnergyPlus/Autosizing/HeatingCapacitySizing.cc +++ b/src/EnergyPlus/Autosizing/HeatingCapacitySizing.cc @@ -110,7 +110,7 @@ Real64 HeatingCapacitySizer::size(EnergyPlusData &state, Real64 _originalValue, DesVolFlow = this->dataFlowUsedForSizing; } if (this->termUnitPIU && (this->curTermUnitSizingNum > 0)) { - Real64 const MinPriFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinFlowFrac; + Real64 const MinPriFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinPriFlowFrac; if (this->termUnitSizing(this->curTermUnitSizingNum).InducesPlenumAir) { CoilInTemp = (this->termUnitFinalZoneSizing(this->curTermUnitSizingNum).DesHeatCoilInTempTU * MinPriFlowFrac) + (this->termUnitFinalZoneSizing(this->curTermUnitSizingNum).ZoneRetTempAtHeatPeak * (1.0 - MinPriFlowFrac)); diff --git a/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletHumRatSizing.cc b/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletHumRatSizing.cc index 71b105e2702..191fceacd81 100644 --- a/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletHumRatSizing.cc +++ b/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletHumRatSizing.cc @@ -63,7 +63,7 @@ Real64 HeatingWaterDesAirInletHumRatSizer::size(EnergyPlusData &state, Real64 _o this->autoSizedValue = _originalValue; } else { if (this->termUnitPIU && (this->curTermUnitSizingNum > 0)) { - Real64 MinFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinFlowFrac; + Real64 MinFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinPriFlowFrac; this->autoSizedValue = this->termUnitFinalZoneSizing(this->curTermUnitSizingNum).DesHeatCoilInHumRatTU * MinFlowFrac + this->finalZoneSizing(this->curZoneEqNum).ZoneHumRatAtHeatPeak * (1.0 - MinFlowFrac); } else if (this->termUnitIU && (this->curTermUnitSizingNum > 0)) { diff --git a/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletTempSizing.cc b/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletTempSizing.cc index 5b68f60913f..0800571eca9 100644 --- a/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletTempSizing.cc +++ b/src/EnergyPlus/Autosizing/HeatingWaterDesAirInletTempSizing.cc @@ -63,7 +63,7 @@ Real64 HeatingWaterDesAirInletTempSizer::size(EnergyPlusData &state, Real64 _ori this->autoSizedValue = _originalValue; } else { if (this->termUnitPIU && (this->curTermUnitSizingNum > 0)) { - Real64 MinFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinFlowFrac; + Real64 MinFlowFrac = this->termUnitSizing(this->curTermUnitSizingNum).MinPriFlowFrac; if (this->termUnitSizing(this->curTermUnitSizingNum).InducesPlenumAir) { this->autoSizedValue = (this->termUnitFinalZoneSizing(this->curTermUnitSizingNum).DesHeatCoilInTempTU * MinFlowFrac) + (this->termUnitFinalZoneSizing(this->curTermUnitSizingNum).ZoneRetTempAtHeatPeak * (1.0 - MinFlowFrac)); diff --git a/src/EnergyPlus/ChillerElectricEIR.cc b/src/EnergyPlus/ChillerElectricEIR.cc index 0c771b352b6..ad6003b6f90 100644 --- a/src/EnergyPlus/ChillerElectricEIR.cc +++ b/src/EnergyPlus/ChillerElectricEIR.cc @@ -655,6 +655,49 @@ void GetElectricEIRChillerInput(EnergyPlusData &state) } } + if (NumAlphas > 16) { + thisChiller.CondenserFlowControl = static_cast( + getEnumValue(DataPlant::CondenserFlowControlNamesUC, state.dataIPShortCut->cAlphaArgs(17))); + } else { + thisChiller.CondenserFlowControl = DataPlant::CondenserFlowControl::ConstantFlow; + } + + if (thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::Invalid) { + ShowSevereError(state, + format("{}{}=\"{}\",", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(17), state.dataIPShortCut->cAlphaArgs(17))); + ShowContinueError(state, "Available choices are ConstantFlow, ModulatedChillerPLR, ModulatedLoopPLR, or ModulatedDeltaTemperature"); + ShowContinueError(state, "Flow mode ConstantFlow is assumed and the simulation continues."); + thisChiller.CondenserFlowControl = DataPlant::CondenserFlowControl::ConstantFlow; + }; + + if (NumAlphas > 17) { + thisChiller.ChillerCondLoopFlowFLoopPLRIndex = Curve::GetCurveIndex(state, state.dataIPShortCut->cAlphaArgs(18)); + } + if ((thisChiller.ChillerCondLoopFlowFLoopPLRIndex == 0) && + (thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::ModulatedLoopPLR)) { + ShowSevereError(state, + format("{}{} \"{}\"", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(18), state.dataIPShortCut->cAlphaArgs(18))); + ErrorsFound = true; + } + + if (NumAlphas > 18) { + if (!state.dataIPShortCut->lAlphaFieldBlanks(19)) { + thisChiller.CondDTScheduleNum = ScheduleManager::GetScheduleIndex(state, state.dataIPShortCut->cAlphaArgs(19)); + } + } + if (thisChiller.CondDTScheduleNum == 0 && thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::ModulatedDeltaTemperature) { + ShowSevereError(state, + format("{}{}=\"{}\"", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(19), state.dataIPShortCut->cAlphaArgs(19))); + ErrorsFound = true; + } + + if (NumNums > 18) { + thisChiller.MinCondFlowRatio = state.dataIPShortCut->rNumericArgs(19); + } + // Check the CAP-FT, EIR-FT, and PLR curves and warn user if different from 1.0 by more than +-10% if (thisChiller.ChillerCapFTIndex > 0) { Real64 CurveVal = Curve::CurveValue(state, thisChiller.ChillerCapFTIndex, thisChiller.TempRefEvapOut, thisChiller.TempRefCondIn); @@ -1297,6 +1340,9 @@ void ElectricEIRChillerSpecs::initialize(EnergyPlusData &state, bool const RunFl if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { PlantUtilities::SetComponentFlowRate(state, mdotCond, this->CondInletNodeNum, this->CondOutletNodeNum, this->CDPlantLoc); + // get minimum condenser plant loop pump mass flow rate + this->VSBranchPumpMinLimitMassFlowCond = + PlantUtilities::MinFlowIfBranchHasVSPump(state, this->CDPlantLoc, this->VSBranchPumpFoundCond, this->VSLoopPumpFoundCond, false); } // Initialize heat recovery flow rates at node if (this->HeatRecActive) { @@ -1470,7 +1516,7 @@ void ElectricEIRChillerSpecs::size(EnergyPlusData &state) Real64 rho = FluidProperties::GetDensityGlycol(state, state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidName, - Constant::CWInitConvTemp, + this->TempRefCondIn, state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidIndex, RoutineName); Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, @@ -1889,7 +1935,7 @@ void ElectricEIRChillerSpecs::calculate(EnergyPlusData &state, Real64 &MyLoad, b ReferenceCOP = ReferenceCOP_ff * this->FaultyChillerFoulingFactor; } - // Set mass flow rates + // Set initial mass flow rates if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { this->CondMassFlowRate = this->CondMassFlowRateMax; PlantUtilities::SetComponentFlowRate(state, this->CondMassFlowRate, this->CondInletNodeNum, this->CondOutletNodeNum, this->CDPlantLoc); @@ -2296,6 +2342,71 @@ void ElectricEIRChillerSpecs::calculate(EnergyPlusData &state, Real64 &MyLoad, b this->QCondenser = this->Power * this->CompPowerToCondenserFrac + this->QEvaporator + this->ChillerFalseLoadRate; + // set condenser mass flow rate + if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { + switch (this->CondenserFlowControl) { + case DataPlant::CondenserFlowControl::ConstantFlow: { + this->CondMassFlowRate = this->CondMassFlowRateMax; + } break; + case DataPlant::CondenserFlowControl::ModulatedChillerPLR: { + this->CondMassFlowRate = this->CondMassFlowRateMax * PartLoadRat; + } break; + case DataPlant::CondenserFlowControl::ModulatedLoopPLR: { + int PltSizNum = state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).PlantSizNum; + int CondPltSizNum = state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).PlantSizNum; + if (PltSizNum > 0 && CondPltSizNum > 0) { + Real64 chwLoopCap = state.dataSize->PlantSizData(PltSizNum).DesCapacity; + Real64 chwLoopDemand = + std::abs(state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).LoopSide(this->CWPlantLoc.loopSideNum).UpdatedDemandToLoopSetPoint); + Real64 cwhLoopPLR = 0.0; + if (chwLoopDemand > 0) { + cwhLoopPLR = chwLoopDemand / chwLoopCap; + } + Real64 condWaterFlowFrac = Curve::CurveValue(state, this->ChillerCondLoopFlowFLoopPLRIndex, cwhLoopPLR); + Real64 cwLoopDesVolFlowRate = state.dataSize->PlantSizData(CondPltSizNum).DesVolFlowRate; + Real64 cwLoopVolFlowRate = condWaterFlowFrac * cwLoopDesVolFlowRate; + Real64 rho = FluidProperties::GetDensityGlycol(state, + state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidName, + this->TempRefCondIn, + state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidIndex, + RoutineName); + if (chwLoopDemand > 0) { + this->CondMassFlowRate = cwLoopVolFlowRate * rho * this->QEvaporator / chwLoopDemand; + } else { + this->CondMassFlowRate = 0.0; + } + } else { + ShowFatalError(state, + format("{}: The ModulatedLoopPLR condenser flow control requires a Sizing:Plant object for " + "both loops connected to the condenser and evaporator of the chiller.", + RoutineName)); + } + } break; + case DataPlant::CondenserFlowControl::ModulatedDeltaTemperature: { + Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, + state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).FluidName, + this->CondInletTemp, + state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).FluidIndex, + RoutineName); + Real64 condDT = 0.0; + if (this->CondDTScheduleNum > 0) { + condDT = ScheduleManager::GetCurrentScheduleValue(state, this->CondDTScheduleNum); + } + this->CondMassFlowRate = this->QCondenser / (Cp * condDT); + } break; + default: { + this->CondMassFlowRate = this->CondMassFlowRateMax; + } break; + } + Real64 minCondMassFlowRate = this->MinCondFlowRatio * this->CondMassFlowRateMax; + Real64 minPumpMassFlowRate = this->VSBranchPumpMinLimitMassFlowCond; + Real64 maxCondMassFlowRate = min(this->CondMassFlowRate, this->CondMassFlowRateMax); + this->CondMassFlowRate = max(maxCondMassFlowRate, minCondMassFlowRate, minPumpMassFlowRate); + PlantUtilities::SetComponentFlowRate(state, this->CondMassFlowRate, this->CondInletNodeNum, this->CondOutletNodeNum, this->CDPlantLoc); + PlantUtilities::PullCompInterconnectTrigger( + state, this->CWPlantLoc, this->CondMassFlowIndex, this->CDPlantLoc, DataPlant::CriteriaType::MassFlowRate, this->CondMassFlowRate); + } + if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { if (this->CondMassFlowRate > DataBranchAirLoopPlant::MassFlowTolerance) { // If Heat Recovery specified for this vapor compression chiller, then Qcondenser will be adjusted by this subroutine diff --git a/src/EnergyPlus/ChillerElectricEIR.hh b/src/EnergyPlus/ChillerElectricEIR.hh index f732e6558cb..aaee0a7fc23 100644 --- a/src/EnergyPlus/ChillerElectricEIR.hh +++ b/src/EnergyPlus/ChillerElectricEIR.hh @@ -75,9 +75,10 @@ namespace ChillerElectricEIR { bool RefCapWasAutoSized = false; // reference capacity was autosized on input Real64 RefCOP = 0.0; // Reference coefficient of performance [W/W] DataPlant::FlowMode FlowMode = DataPlant::FlowMode::Invalid; // one of 3 modes for component flow during operation - bool ModulatedFlowSetToLoop = false; // True if the setpoint is missing at the outlet node - bool ModulatedFlowErrDone = false; // true if setpoint warning issued - bool HRSPErrDone = false; // TRUE if set point warning issued for heat recovery loop + DataPlant::CondenserFlowControl CondenserFlowControl = DataPlant::CondenserFlowControl::Invalid; + bool ModulatedFlowSetToLoop = false; // True if the setpoint is missing at the outlet node + bool ModulatedFlowErrDone = false; // true if setpoint warning issued + bool HRSPErrDone = false; // TRUE if set point warning issued for heat recovery loop Real64 EvapVolFlowRate = 0.0; // Reference water volumetric flow rate through the evaporator [m3/s] bool EvapVolFlowRateWasAutoSized = false; // true if previous was autosize input Real64 EvapMassFlowRate = 0.0; @@ -187,7 +188,14 @@ namespace ChillerElectricEIR { Real64 CondenserFanEnergyConsumption = 0.0; // reporting: Air-cooled condenser fan energy [J] Real64 BasinHeaterConsumption = 0.0; // Basin heater energy consumption (J) bool IPLVFlag = true; + int ChillerCondLoopFlowFLoopPLRIndex = 0; // Condenser loop flow rate fraction function of loop PLR + int CondDT = 0; // Temperature difference across condenser + int CondDTScheduleNum = 0; // Temperature difference across condenser schedule index + Real64 MinCondFlowRatio = 0.2; // Minimum condenser flow fraction DataBranchAirLoopPlant::ControlType EquipFlowCtrl = DataBranchAirLoopPlant::ControlType::Invalid; + Real64 VSBranchPumpMinLimitMassFlowCond = 0.0; + bool VSBranchPumpFoundCond = false; + bool VSLoopPumpFoundCond = false; static ElectricEIRChillerSpecs *factory(EnergyPlusData &state, std::string const &objectName); diff --git a/src/EnergyPlus/ChillerReformulatedEIR.cc b/src/EnergyPlus/ChillerReformulatedEIR.cc index fced4b2388a..8affa19efb2 100644 --- a/src/EnergyPlus/ChillerReformulatedEIR.cc +++ b/src/EnergyPlus/ChillerReformulatedEIR.cc @@ -628,6 +628,49 @@ void GetElecReformEIRChillerInput(EnergyPlusData &state) } else { thisChiller.EndUseSubcategory = "General"; } + + if (NumAlphas > 15) { + thisChiller.CondenserFlowControl = static_cast( + getEnumValue(DataPlant::CondenserFlowControlNamesUC, state.dataIPShortCut->cAlphaArgs(16))); + } else { + thisChiller.CondenserFlowControl = DataPlant::CondenserFlowControl::ConstantFlow; + } + + if (thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::Invalid) { + ShowSevereError(state, + format("{}{}=\"{}\",", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(16), state.dataIPShortCut->cAlphaArgs(16))); + ShowContinueError(state, "Available choices are ConstantFlow, ModulatedChillerPLR, ModulatedLoopPLR, or ModulatedDeltaTemperature"); + thisChiller.CondenserFlowControl = DataPlant::CondenserFlowControl::ConstantFlow; + ErrorsFound = true; + }; + + if (NumAlphas > 16) { + thisChiller.ChillerCondLoopFlowFLoopPLRIndex = Curve::GetCurveIndex(state, state.dataIPShortCut->cAlphaArgs(17)); + } + if ((thisChiller.ChillerCondLoopFlowFLoopPLRIndex == 0) && + (thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::ModulatedLoopPLR)) { + ShowSevereError(state, + format("{}{} \"{}\"", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(17), state.dataIPShortCut->cAlphaArgs(17))); + ErrorsFound = true; + } + + if (NumAlphas > 17) { + if (!state.dataIPShortCut->lAlphaFieldBlanks(18)) { + thisChiller.CondDTScheduleNum = ScheduleManager::GetScheduleIndex(state, state.dataIPShortCut->cAlphaArgs(18)); + } + } + if (thisChiller.CondDTScheduleNum == 0 && thisChiller.CondenserFlowControl == DataPlant::CondenserFlowControl::ModulatedDeltaTemperature) { + ShowSevereError(state, + format("{}{}=\"{}\"", RoutineName, state.dataIPShortCut->cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1))); + ShowContinueError(state, format("Invalid {}={}", state.dataIPShortCut->cAlphaFieldNames(18), state.dataIPShortCut->cAlphaArgs(18))); + ErrorsFound = true; + } + + if (NumNums > 15) { + thisChiller.MinCondFlowRatio = state.dataIPShortCut->rNumericArgs(16); + } } if (ErrorsFound) { @@ -1010,6 +1053,9 @@ void ReformulatedEIRChillerSpecs::initialize(EnergyPlusData &state, bool const R this->CondMassFlowRateMax = rho * this->CondVolFlowRate; PlantUtilities::InitComponentNodes(state, 0.0, this->CondMassFlowRateMax, this->CondInletNodeNum, this->CondOutletNodeNum); state.dataLoopNodes->Node(this->CondInletNodeNum).Temp = this->TempRefCondIn; + // get minimum condenser plant loop pump mass flow rate + this->VSBranchPumpMinLimitMassFlowCond = + PlantUtilities::MinFlowIfBranchHasVSPump(state, this->CDPlantLoc, this->VSBranchPumpFoundCond, this->VSLoopPumpFoundCond, false); } else { // air or evap air condenser // Initialize maximum available condenser flow rate state.dataLoopNodes->Node(this->CondInletNodeNum).MassFlowRate = @@ -1265,7 +1311,7 @@ void ReformulatedEIRChillerSpecs::size(EnergyPlusData &state) if (state.dataSize->PlantSizData(PltSizNum).DesVolFlowRate >= HVAC::SmallWaterVolFlow && tmpNomCap > 0.0) { Real64 rho = FluidProperties::GetDensityGlycol(state, state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidName, - Constant::CWInitConvTemp, + this->TempRefCondIn, state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidIndex, RoutineName); Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, @@ -2075,8 +2121,7 @@ void ReformulatedEIRChillerSpecs::calculate(EnergyPlusData &state, Real64 &MyLoa ReferenceCOP = ReferenceCOP_ff * this->FaultyChillerFoulingFactor; } - // Set mass flow rates - + // Set initial mass flow rates if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { this->CondMassFlowRate = this->CondMassFlowRateMax; PlantUtilities::SetComponentFlowRate(state, this->CondMassFlowRate, this->CondInletNodeNum, this->CondOutletNodeNum, this->CDPlantLoc); @@ -2438,6 +2483,71 @@ void ReformulatedEIRChillerSpecs::calculate(EnergyPlusData &state, Real64 &MyLoa this->QCondenser = this->Power * this->CompPowerToCondenserFrac + this->QEvaporator + this->ChillerFalseLoadRate; + // set condenser mass flow rate + if (this->CondenserType == DataPlant::CondenserType::WaterCooled) { + switch (this->CondenserFlowControl) { + case DataPlant::CondenserFlowControl::ConstantFlow: { + this->CondMassFlowRate = this->CondMassFlowRateMax; + } break; + case DataPlant::CondenserFlowControl::ModulatedChillerPLR: { + this->CondMassFlowRate = this->CondMassFlowRateMax * PartLoadRat; + } break; + case DataPlant::CondenserFlowControl::ModulatedLoopPLR: { + int PltSizNum = state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).PlantSizNum; + int CondPltSizNum = state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).PlantSizNum; + if (PltSizNum > 0 && CondPltSizNum > 0) { + Real64 chwLoopCap = state.dataSize->PlantSizData(PltSizNum).DesCapacity; + Real64 chwLoopDemand = + std::abs(state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).LoopSide(this->CWPlantLoc.loopSideNum).UpdatedDemandToLoopSetPoint); + Real64 cwhLoopPLR = 0.0; + if (chwLoopDemand > 0) { + cwhLoopPLR = chwLoopDemand / chwLoopCap; + } + Real64 condWaterFlowFrac = Curve::CurveValue(state, this->ChillerCondLoopFlowFLoopPLRIndex, cwhLoopPLR); + Real64 cwLoopDesVolFlowRate = state.dataSize->PlantSizData(CondPltSizNum).DesVolFlowRate; + Real64 cwLoopVolFlowRate = condWaterFlowFrac * cwLoopDesVolFlowRate; + Real64 rho = FluidProperties::GetDensityGlycol(state, + state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidName, + this->TempRefCondIn, + state.dataPlnt->PlantLoop(this->CDPlantLoc.loopNum).FluidIndex, + RoutineName); + if (chwLoopDemand > 0) { + this->CondMassFlowRate = cwLoopVolFlowRate * rho * this->QEvaporator / chwLoopDemand; + } else { + this->CondMassFlowRate = 0.0; + } + } else { + ShowFatalError(state, + format("{}: The ModulatedLoopPLR condenser flow control requires a Sizing:Plant object for " + "both loops connected to the condenser and evaporator of the chiller.", + RoutineName)); + } + } break; + case DataPlant::CondenserFlowControl::ModulatedDeltaTemperature: { + Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, + state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).FluidName, + this->CondInletTemp, + state.dataPlnt->PlantLoop(this->CWPlantLoc.loopNum).FluidIndex, + RoutineName); + Real64 condDT = 0.0; + if (this->CondDTScheduleNum > 0) { + condDT = ScheduleManager::GetCurrentScheduleValue(state, this->CondDTScheduleNum); + } + this->CondMassFlowRate = this->QCondenser / (Cp * condDT); + } break; + default: { + this->CondMassFlowRate = this->CondMassFlowRateMax; + } break; + } + Real64 minCondMassFlowRate = this->MinCondFlowRatio * this->CondMassFlowRateMax; + Real64 minPumpMassFlowRate = this->VSBranchPumpMinLimitMassFlowCond; + Real64 maxCondMassFlowRate = min(this->CondMassFlowRate, this->CondMassFlowRateMax); + this->CondMassFlowRate = max(maxCondMassFlowRate, minCondMassFlowRate, minPumpMassFlowRate); + PlantUtilities::SetComponentFlowRate(state, this->CondMassFlowRate, this->CondInletNodeNum, this->CondOutletNodeNum, this->CDPlantLoc); + PlantUtilities::PullCompInterconnectTrigger( + state, this->CWPlantLoc, this->CondMassFlowIndex, this->CDPlantLoc, DataPlant::CriteriaType::MassFlowRate, this->CondMassFlowRate); + } + // Currently only water cooled chillers are allowed for the reformulated EIR chiller model if (this->CondMassFlowRate > DataBranchAirLoopPlant::MassFlowTolerance) { // If Heat Recovery specified for this vapor compression chiller, then Qcondenser will be adjusted by this subroutine diff --git a/src/EnergyPlus/ChillerReformulatedEIR.hh b/src/EnergyPlus/ChillerReformulatedEIR.hh index 02891624d3e..8ee3f264ae2 100644 --- a/src/EnergyPlus/ChillerReformulatedEIR.hh +++ b/src/EnergyPlus/ChillerReformulatedEIR.hh @@ -82,30 +82,31 @@ namespace ChillerReformulatedEIR { std::string EIRFTName; // EIRFT curve name std::string EIRFPLRName; // EIRPLR curve name DataPlant::CondenserType CondenserType = - DataPlant::CondenserType::Invalid; // Type of Condenser. Water Cooled is the only available option for now - PLR PartLoadCurveType = PLR::Invalid; // Part Load Ratio Curve Type: 1_LeavingCondenserWaterTemperature; 2_Lift - Real64 RefCap = 0.0; // Reference capacity of the chiller [W] - bool RefCapWasAutoSized = false; // reference capacity was autosized on input - Real64 RefCOP = 0.0; // Reference coefficient of performance [W/W] - DataPlant::FlowMode FlowMode = DataPlant::FlowMode::Invalid; // one of 3 modes for component flow during operation - bool ModulatedFlowSetToLoop = false; // True if the setpoint is missing at the outlet node - bool ModulatedFlowErrDone = false; // true if setpoint warning issued - Real64 EvapVolFlowRate = 0.0; // Reference water volumetric flow rate through the evaporator [m3/s] - bool EvapVolFlowRateWasAutoSized = false; // true if previous was autosize input - Real64 EvapMassFlowRateMax = 0.0; // Reference water mass flow rate through evaporator [kg/s] - Real64 CondVolFlowRate = 0.0; // Reference water volumetric flow rate through the condenser [m3/s] - bool CondVolFlowRateWasAutoSized = false; // true if previous was set to autosize on input - Real64 CondMassFlowRateMax = 0.0; // Reference water mass flow rate through condenser [kg/s] - Real64 CompPowerToCondenserFrac = 0.0; // Fraction of compressor electric power rejected by condenser [0 to 1] - int EvapInletNodeNum = 0; // Node number on the inlet side of the plant (evaporator side) - int EvapOutletNodeNum = 0; // Node number on the outlet side of the plant (evaporator side) - int CondInletNodeNum = 0; // Node number on the inlet side of the condenser - int CondOutletNodeNum = 0; // Node number on the outlet side of the condenser - Real64 MinPartLoadRat = 0.0; // Minimum allowed operating fraction of full load - Real64 MaxPartLoadRat = 0.0; // Maximum allowed operating fraction of full load - Real64 OptPartLoadRat = 0.0; // Optimal operating fraction of full load - Real64 MinUnloadRat = 0.0; // Minimum unloading ratio - Real64 TempRefCondIn = 0.0; // The reference secondary loop fluid temperature at the + DataPlant::CondenserType::Invalid; // Type of Condenser. Water Cooled is the only available option for now + PLR PartLoadCurveType = PLR::Invalid; // Part Load Ratio Curve Type: 1_LeavingCondenserWaterTemperature; 2_Lift + Real64 RefCap = 0.0; // Reference capacity of the chiller [W] + bool RefCapWasAutoSized = false; // reference capacity was autosized on input + Real64 RefCOP = 0.0; // Reference coefficient of performance [W/W] + DataPlant::FlowMode FlowMode = DataPlant::FlowMode::Invalid; + DataPlant::CondenserFlowControl CondenserFlowControl = DataPlant::CondenserFlowControl::Invalid; + bool ModulatedFlowSetToLoop = false; // True if the setpoint is missing at the outlet node + bool ModulatedFlowErrDone = false; // true if setpoint warning issued + Real64 EvapVolFlowRate = 0.0; // Reference water volumetric flow rate through the evaporator [m3/s] + bool EvapVolFlowRateWasAutoSized = false; // true if previous was autosize input + Real64 EvapMassFlowRateMax = 0.0; // Reference water mass flow rate through evaporator [kg/s] + Real64 CondVolFlowRate = 0.0; // Reference water volumetric flow rate through the condenser [m3/s] + bool CondVolFlowRateWasAutoSized = false; // true if previous was set to autosize on input + Real64 CondMassFlowRateMax = 0.0; // Reference water mass flow rate through condenser [kg/s] + Real64 CompPowerToCondenserFrac = 0.0; // Fraction of compressor electric power rejected by condenser [0 to 1] + int EvapInletNodeNum = 0; // Node number on the inlet side of the plant (evaporator side) + int EvapOutletNodeNum = 0; // Node number on the outlet side of the plant (evaporator side) + int CondInletNodeNum = 0; // Node number on the inlet side of the condenser + int CondOutletNodeNum = 0; // Node number on the outlet side of the condenser + Real64 MinPartLoadRat = 0.0; // Minimum allowed operating fraction of full load + Real64 MaxPartLoadRat = 0.0; // Maximum allowed operating fraction of full load + Real64 OptPartLoadRat = 0.0; // Optimal operating fraction of full load + Real64 MinUnloadRat = 0.0; // Minimum unloading ratio + Real64 TempRefCondIn = 0.0; // The reference secondary loop fluid temperature at the // chiller condenser side inlet for the reformulated chiller [C] Real64 TempRefCondOut = 0.0; // The reference secondary loop fluid temperature at the // chiller condenser side outlet for the reformulated chiller [C] @@ -195,23 +196,30 @@ namespace ChillerReformulatedEIR { Real64 HeatRecOutletTemp = 0.0; Real64 QHeatRecovery = 0.0; // Heat recovered from water-cooled condenser [W] Real64 QCondenser = 0.0; - Real64 QEvaporator = 0.0; // Evaporator heat transfer rate [W] - Real64 Power = 0.0; // Chiller power [W] - Real64 EvapOutletTemp = 0.0; // Evaporator outlet temperature [C] - Real64 CondOutletTemp = 0.0; // Condenser outlet temperature [C] - Real64 EvapMassFlowRate = 0.0; // Evaporator mass flow rate [kg/s] - Real64 CondMassFlowRate = 0.0; // Condenser mass flow rate [kg/s] - Real64 ChillerFalseLoad = 0.0; // Chiller false load over and above water side load [W] - Real64 Energy = 0.0; // Chiller electric consumption [J] - Real64 EvapEnergy = 0.0; // Evaporator heat transfer energy [J] - Real64 CondEnergy = 0.0; // Condenser heat transfer energy [J] - Real64 CondInletTemp = 0.0; // Condenser inlet temperature [C] - Real64 EvapInletTemp = 0.0; // Evaporator inlet temperature [C] - Real64 ActualCOP = 0.0; // Coefficient of performance - Real64 EnergyHeatRecovery = 0.0; // Energy recovered from water-cooled condenser [J] - Real64 HeatRecInletTemp = 0.0; // Heat reclaim inlet temperature [C] - Real64 HeatRecMassFlow = 0.0; // Heat reclaim mass flow rate [kg/s] + Real64 QEvaporator = 0.0; // Evaporator heat transfer rate [W] + Real64 Power = 0.0; // Chiller power [W] + Real64 EvapOutletTemp = 0.0; // Evaporator outlet temperature [C] + Real64 CondOutletTemp = 0.0; // Condenser outlet temperature [C] + Real64 EvapMassFlowRate = 0.0; // Evaporator mass flow rate [kg/s] + Real64 CondMassFlowRate = 0.0; // Condenser mass flow rate [kg/s] + Real64 ChillerFalseLoad = 0.0; // Chiller false load over and above water side load [W] + Real64 Energy = 0.0; // Chiller electric consumption [J] + Real64 EvapEnergy = 0.0; // Evaporator heat transfer energy [J] + Real64 CondEnergy = 0.0; // Condenser heat transfer energy [J] + Real64 CondInletTemp = 0.0; // Condenser inlet temperature [C] + Real64 EvapInletTemp = 0.0; // Evaporator inlet temperature [C] + Real64 ActualCOP = 0.0; // Coefficient of performance + Real64 EnergyHeatRecovery = 0.0; // Energy recovered from water-cooled condenser [J] + Real64 HeatRecInletTemp = 0.0; // Heat reclaim inlet temperature [C] + Real64 HeatRecMassFlow = 0.0; // Heat reclaim mass flow rate [kg/s] + int ChillerCondLoopFlowFLoopPLRIndex = 0; // Condenser loop flow rate fraction function of loop PLR + int CondDT = 0; // Temperature difference across condenser + int CondDTScheduleNum = 0; // Temperature difference across condenser schedule index + Real64 MinCondFlowRatio = 0.2; // Minimum condenser flow fraction DataBranchAirLoopPlant::ControlType EquipFlowCtrl = DataBranchAirLoopPlant::ControlType::Invalid; + Real64 VSBranchPumpMinLimitMassFlowCond = 0.0; + bool VSBranchPumpFoundCond = false; + bool VSLoopPumpFoundCond = false; static ReformulatedEIRChillerSpecs *factory(EnergyPlusData &state, std::string const &objectName); diff --git a/src/EnergyPlus/Coils/CoilCoolingDX.cc b/src/EnergyPlus/Coils/CoilCoolingDX.cc index ddae946fb44..6ce7bef2a44 100644 --- a/src/EnergyPlus/Coils/CoilCoolingDX.cc +++ b/src/EnergyPlus/Coils/CoilCoolingDX.cc @@ -953,99 +953,190 @@ void CoilCoolingDX::passThroughNodeData(DataLoopNode::NodeData &in, DataLoopNode out.MassFlowRateMinAvail = in.MassFlowRateMinAvail; } +void PopulateCoolingCoilStandardRatingInformation(InputOutputFile &eio, + std::string coilName, + Real64 &capacity, + Real64 &eer, + Real64 &seer_User, + Real64 &seer_Standard, + Real64 &ieer, + bool const AHRI2023StandardRatings) +{ + Real64 constexpr ConvFromSIToIP(3.412141633); + // TODO: TOO BIG |Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - + // Ratings not yet supported in EnergyPlus + // Define the format string based on the condition + std::string_view Format_991; + if (!AHRI2023StandardRatings) { + Format_991 = " DX Cooling Coil Standard Rating Information, {}, {}, {:.1f}, {:.2f}, {:.2f}, {:.2f}, {:.2f}, {:.1f}\n"; + } else { + Format_991 = " DX Cooling Coil AHRI 2023 Standard Rating Information, {}, {}, {:.1f}, {:.2f}, {:.2f}, {:.2f}, {:.2f}, {:.1f}\n"; + } + print(eio, + Format_991, + "Coil:Cooling:DX", + coilName, + capacity, + eer, + eer * ConvFromSIToIP, + seer_User * ConvFromSIToIP, + seer_Standard * ConvFromSIToIP, // SEER | Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2023. + ieer * ConvFromSIToIP); // IEER | Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard + // 340/360-2022. +} + void CoilCoolingDX::reportAllStandardRatings(EnergyPlusData &state) { if (!state.dataCoilCooingDX->coilCoolingDXs.empty()) { Real64 constexpr ConvFromSIToIP(3.412141633); // Conversion from SI to IP [3.412 Btu/hr-W] - static constexpr std::string_view Format_990( - "! , Component Type, Component Name, Standard Rating (Net) " - "Cooling Capacity {W}, Standard Rated Net COP {W/W}, EER1 {Btu/W-h}, SEER {Btu/W-h}, IEER {Btu/W-h}\n"); - print(state.files.eio, "{}", Format_990); + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { + static constexpr std::string_view Format_994( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " + "IEER " + "{Btu/W-h}"); + print(state.files.eio, "{}\n", Format_994); + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag = false; + } for (auto &coil : state.dataCoilCooingDX->coilCoolingDXs) { coil.performance.calcStandardRatings210240(state); - - static constexpr std::string_view Format_991( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}\n"); - print(state.files.eio, - Format_991, - "Coil:Cooling:DX", - coil.name, - coil.performance.standardRatingCoolingCapacity, - coil.performance.standardRatingEER, - coil.performance.standardRatingEER * ConvFromSIToIP, - coil.performance.standardRatingSEER * ConvFromSIToIP, - coil.performance.standardRatingIEER * ConvFromSIToIP); + PopulateCoolingCoilStandardRatingInformation(state.files.eio, + coil.name, + coil.performance.standardRatingCoolingCapacity, + coil.performance.standardRatingEER, + coil.performance.standardRatingSEER, + coil.performance.standardRatingSEER_Standard, + coil.performance.standardRatingIEER, + false); OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType, coil.name, "Coil:Cooling:DX"); OutputReportPredefined::PreDefTableEntry( state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI, coil.name, coil.performance.standardRatingCoolingCapacity, 1); // W/W is the same as Btuh/Btuh so that's fine too - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, coil.name, coil.performance.standardRatingEER, 2); + if (coil.performance.standardRatingEER > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, coil.name, coil.performance.standardRatingEER, 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, coil.name, "N/A"); + } // Btu/W-h will convert to itself - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, coil.name, coil.performance.standardRatingEER * ConvFromSIToIP, 2); - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, coil.name, coil.performance.standardRatingSEER * ConvFromSIToIP, 2); - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, coil.name, coil.performance.standardRatingIEER * ConvFromSIToIP, 2); + if (coil.performance.standardRatingEER > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, coil.name, coil.performance.standardRatingEER * ConvFromSIToIP, 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, coil.name, "N/A"); + } + if (coil.performance.standardRatingSEER > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, coil.name, coil.performance.standardRatingSEER * ConvFromSIToIP, 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, coil.name, "N/A"); + } + if (coil.performance.standardRatingSEER_Standard > 0.0) { + OutputReportPredefined::PreDefTableEntry(state, + state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, + coil.name, + coil.performance.standardRatingSEER_Standard * ConvFromSIToIP, + 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, coil.name, "N/A"); + } + if (coil.performance.standardRatingIEER > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, coil.name, coil.performance.standardRatingIEER * ConvFromSIToIP, 1); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, coil.name, "N/A"); + } OutputReportPredefined::addFootNoteSubTable( state, state.dataOutRptPredefined->pdstDXCoolCoil, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2017.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2007.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2017.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard 340/360-2007. " + "
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - Ratings not yet " + "supported in EnergyPlus.
" "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard."); // AHRI 2023 Standard SEER2 Calculations - static constexpr std::string_view Format_991_( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {}\n"); - print(state.files.eio, - Format_991_, - "Coil:Cooling:DX", - coil.name, - coil.performance.standardRatingCoolingCapacity2023, - coil.performance.standardRatingEER2, - coil.performance.standardRatingEER2 * ConvFromSIToIP, - coil.performance.standardRatingSEER2_User * ConvFromSIToIP, - coil.performance.standardRatingSEER2_Standard * ConvFromSIToIP, - coil.performance.standardRatingIEER2 * ConvFromSIToIP); + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2) { + static constexpr std::string_view Format_991_( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP2 {W/W}, EER2 {Btu/W-h}, SEER2 User {Btu/W-h}, SEER2 Standard " + "{Btu/W-h}, " + "IEER 2022 " + "{Btu/W-h}"); + print(state.files.eio, "{}\n", Format_991_); + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2 = false; + } + PopulateCoolingCoilStandardRatingInformation(state.files.eio, + coil.name, + coil.performance.standardRatingCoolingCapacity2023, + coil.performance.standardRatingEER2, + coil.performance.standardRatingSEER2_User, + coil.performance.standardRatingSEER2_Standard, + coil.performance.standardRatingIEER2, + true); OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType_2023, coil.name, "Coil:Cooling:DX"); OutputReportPredefined::PreDefTableEntry( state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI_2023, coil.name, coil.performance.standardRatingCoolingCapacity2023, 1); // W/W is the same as Btuh/Btuh so that's fine too - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, coil.name, coil.performance.standardRatingEER2, 2); + if (coil.performance.standardRatingEER2 > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, coil.name, coil.performance.standardRatingEER2, 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, coil.name, "N/A"); + } // Btu/W-h will convert to itself - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, coil.name, coil.performance.standardRatingEER2 * ConvFromSIToIP, 2); - OutputReportPredefined::PreDefTableEntry(state, - state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, - coil.name, - coil.performance.standardRatingSEER2_User * ConvFromSIToIP, - 2); - OutputReportPredefined::PreDefTableEntry(state, - state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, - coil.name, - coil.performance.standardRatingSEER2_Standard * ConvFromSIToIP, - 2); - OutputReportPredefined::PreDefTableEntry( - state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, coil.name, coil.performance.standardRatingIEER2 * ConvFromSIToIP, 2); + if (coil.performance.standardRatingEER2 > 0.0) { + OutputReportPredefined::PreDefTableEntry( + state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, coil.name, coil.performance.standardRatingEER2 * ConvFromSIToIP, 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, coil.name, "N/A"); + } + if (coil.performance.standardRatingSEER2_User > 0.0) { + OutputReportPredefined::PreDefTableEntry(state, + state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, + coil.name, + coil.performance.standardRatingSEER2_User * ConvFromSIToIP, + 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, coil.name, "N/A"); + } + if (coil.performance.standardRatingSEER2_Standard > 0.0) { + OutputReportPredefined::PreDefTableEntry(state, + state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, + coil.name, + coil.performance.standardRatingSEER2_Standard * ConvFromSIToIP, + 2); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, coil.name, "N/A"); + } + if (coil.performance.standardRatingIEER2 > 0.0) { + OutputReportPredefined::PreDefTableEntry(state, + state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, + coil.name, + coil.performance.standardRatingIEER2 * ConvFromSIToIP, + 1); + } else { + OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, coil.name, "N/A"); + } OutputReportPredefined::addFootNoteSubTable( state, state.dataOutRptPredefined->pdstDXCoolCoil_2023, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2023.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2022.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" - "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" - "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2023.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard 340/360-2022. " + "
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - Ratings not yet " + "supported in EnergyPlus.
" + "3 - SEER2 (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" + "  SEER2 (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard.
" "4 - Value for the Full Speed of the coil."); } diff --git a/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.cc b/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.cc index e47b72bc923..67ab205d590 100644 --- a/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.cc +++ b/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.cc @@ -486,8 +486,22 @@ void CoilCoolingDXCurveFitPerformance::calcStandardRatings210240(EnergyPlus::Ene } if (mode.ratedGrossTotalCap > 0.0) { - // SEER calculations: TotCapFlowModFac = Curve::CurveValue(state, speed.indexCapFFF, AirMassFlowRatioRated); + + TotCapTempModFac = Curve::CurveValue(state, speed.indexCapFT, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTemp); + TotCoolingCapAHRI = mode.ratedGrossTotalCap * TotCapTempModFac * TotCapFlowModFac; + // Calculate net cooling capacity | 2017 + this->standardRatingCoolingCapacity = TotCoolingCapAHRI - FanPowerPerEvapAirFlowRate * mode.ratedEvapAirFlowRate; + // Calculate net cooling capacity | 2023 + this->standardRatingCoolingCapacity2023 = TotCoolingCapAHRI - FanPowerPerEvapAirFlowRate2023 * mode.ratedEvapAirFlowRate; + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 Watts) + // as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + + // SEER2 standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 (ANSI/AHRI 210-240 2023) + // Removal of water-cooled and evaporatively-cooled products from the scope | Foreword (ANSI/AHRI 210-240 2023) + + // SEER calculations: TotCapTempModFac = Curve::CurveValue(state, speed.indexCapFT, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTemp); TotCoolingCapAHRI = mode.ratedGrossTotalCap * TotCapTempModFac * TotCapFlowModFac; EIRTempModFac = Curve::CurveValue(state, speed.indexEIRFT, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTemp); @@ -507,13 +521,15 @@ void CoilCoolingDXCurveFitPerformance::calcStandardRatings210240(EnergyPlus::Ene // Calculate SEER value from the Energy Efficiency Ratio (EER) at the AHRI test conditions and the part load factor. // First evaluate the Part Load Factor curve at PLR = 0.5 (AHRI Standard 210/240) PartLoadFactor = Curve::CurveValue(state, speed.indexPLRFPLF, PLRforSEER); + Real64 PartLoadFactorStandard = 1.0 - (1 - PLRforSEER) * CyclicDegradationCoefficient; if (TotalElecPower > 0.0) { this->standardRatingSEER = (NetCoolingCapAHRI / TotalElecPower) * PartLoadFactor; + this->standardRatingSEER_Standard = (NetCoolingCapAHRI / TotalElecPower) * PartLoadFactorStandard; } else { this->standardRatingSEER = 0.0; + this->standardRatingSEER2_Standard = 0.0; } - Real64 PartLoadFactorStandard = 1.0 - (1 - PLRforSEER) * CyclicDegradationCoefficient; if (TotalElecPower2023 > 0.0) { this->standardRatingSEER2_User = (NetCoolingCapAHRI2023 / TotalElecPower2023) * PartLoadFactor; this->standardRatingSEER2_Standard = (NetCoolingCapAHRI2023 / TotalElecPower2023) * PartLoadFactorStandard; @@ -552,14 +568,19 @@ void CoilCoolingDXCurveFitPerformance::calcStandardRatings210240(EnergyPlus::Ene this->standardRatingEER2 = 0.0; } - // IEER calculations: + if (mode.condenserType == CoilCoolingDXCurveFitOperatingMode::CondenserType::AIRCOOLED) { + std::tie(this->standardRatingCoolingCapacity2023, + this->standardRatingSEER2_User, + this->standardRatingSEER2_Standard, + this->standardRatingEER2) = StandardRatings::SEER2CalulcationCurveFit(state, "Coil:Cooling:DX:CurveFit", this->normalMode); + } + + // IEER calculations: Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard 340/360-2022. this->standardRatingIEER = 0.0; // Calculate the net cooling capacity at the rated conditions (19.44C WB and 35.0C DB ) TotCapTempModFac = Curve::CurveValue(state, speed.indexCapFT, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTempRated); this->standardRatingCoolingCapacity = mode.ratedGrossTotalCap * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate * mode.ratedEvapAirFlowRate; - this->standardRatingCoolingCapacity2023 = - mode.ratedGrossTotalCap * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate2023 * mode.ratedEvapAirFlowRate; for (int RedCapNum = 0; RedCapNum < NumOfReducedCap; ++RedCapNum) { // get the outdoor air dry bulb temperature for the reduced capacity test conditions if (ReducedPLR[RedCapNum] > 0.444) { @@ -571,6 +592,7 @@ void CoilCoolingDXCurveFitPerformance::calcStandardRatings210240(EnergyPlus::Ene NetCoolingCapReduced = mode.ratedGrossTotalCap * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate * mode.ratedEvapAirFlowRate; EIRTempModFac = Curve::CurveValue(state, speed.indexEIRFT, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTempReduced); + EIRFlowModFac = Curve::CurveValue(state, speed.indexEIRFFF, AirMassFlowRatioRated); if (speed.ratedCOP > 0.0) { EIR = EIRTempModFac * EIRFlowModFac / speed.ratedCOP; } else { @@ -596,7 +618,7 @@ void CoilCoolingDXCurveFitPerformance::calcStandardRatings210240(EnergyPlus::Ene } else { ShowSevereError(state, - "Standard Ratings: Coil:Cooling:DX " + this->name + // TODO: Use dynamic COIL TYPE and COIL INSTANCE name later + "Standard Ratings: Coil:Cooling:DX " + this->name + " has zero rated total cooling capacity. Standard ratings cannot be calculated."); } } diff --git a/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh b/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh index 02404f3f240..2f1b5a4ce27 100644 --- a/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh +++ b/src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh @@ -154,6 +154,7 @@ struct CoilCoolingDXCurveFitPerformance // standard rating stuff -- for now just 210/240 Real64 standardRatingCoolingCapacity = 0.0; // net cooling capacity of single speed DX cooling coil Real64 standardRatingSEER = 0.0; // seasonal energy efficiency ratio of single speed DX cooling coil + Real64 standardRatingSEER_Standard = 0.0; // seasonal energy efficiency ratio Real64 standardRatingEER = 0.0; // energy efficiency ratio of single speed DX cooling coil Real64 standardRatingIEER = 0.0; // Integrated energy efficiency ratio of single speed DX cooling coil diff --git a/src/EnergyPlus/Construction.cc b/src/EnergyPlus/Construction.cc index 8afb0356275..1cd78dc5f44 100644 --- a/src/EnergyPlus/Construction.cc +++ b/src/EnergyPlus/Construction.cc @@ -712,7 +712,7 @@ void ConstructionProps::calculateTransferFunction(EnergyPlusData &state, bool &E // As with the 1-D solution, we are accounting for the thermal mass // of the half-node at the surface by adding it to the first row - // of interior nodes at both sides of the this-> This is not + // of interior nodes at both sides of the construction. This is not // exact, but it does take all of the thermal mass into account. amatx = rk(1) / (1.5 * rho(1) * cp(1) * dx(1) * dx(1)); amaty = rk(1) / (1.5 * rho(1) * cp(1) * dyn * dyn); @@ -821,7 +821,7 @@ void ConstructionProps::calculateTransferFunction(EnergyPlusData &state, bool &E // As with the 1-D solution, we are accounting for the thermal mass // of the half-node at the surface by adding it to the first row - // of interior nodes at both sides of the this-> This is not + // of interior nodes at both sides of the construction. This is not // exact, but it does take all of the thermal mass into account. amatx /= 1.5; amaty /= 1.5; @@ -943,9 +943,9 @@ void ConstructionProps::calculateTransferFunction(EnergyPlusData &state, bool &E ShowContinueError(state, "listed in the severe error above. The CTF calculate routine is unable to come up"); ShowContinueError(state, "with a series of CTF terms that have a reasonable time step and this indicates an"); ShowContinueError(state, "error. Check the definition of this construction and the materials that make up"); - ShowContinueError(state, "the this-> Very thin, highly conductive materials may cause problems."); + ShowContinueError(state, "the construction. Very thin, highly conductive materials may cause problems."); ShowContinueError(state, "This may be avoided by ignoring the presence of those materials since they probably"); - ShowContinueError(state, "do not effect the heat transfer characteristics of the this-> Highly"); + ShowContinueError(state, "do not effect the heat transfer characteristics of the construction. Highly"); ShowContinueError(state, "conductive or highly resistive layers that are alternated with high mass layers"); ShowContinueError(state, "may also result in problems. After confirming that the input is correct and"); ShowContinueError(state, "realistic, the user should contact the EnergyPlus support team."); @@ -972,7 +972,7 @@ void ConstructionProps::calculateTransferFunction(EnergyPlusData &state, bool &E this->s0(1, 1) = cnd; // CTFs for current time this->s0(2, 1) = -cnd; // step are set to the this->s0(1, 2) = cnd; // overall conductance - this->s0(2, 2) = -cnd; // of the this-> + this->s0(2, 2) = -cnd; // of the construction. this->e.allocate(1); this->e = 0.0; diff --git a/src/EnergyPlus/DXCoils.cc b/src/EnergyPlus/DXCoils.cc index 808423da9f5..07e1867685e 100644 --- a/src/EnergyPlus/DXCoils.cc +++ b/src/EnergyPlus/DXCoils.cc @@ -14870,25 +14870,56 @@ void CalcTwoSpeedDXCoilStandardRating(EnergyPlusData &state, int const DXCoilNum SupAirMdot_TestPoint(3), SupAirMdot_TestPoint(4)); + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { + static constexpr std::string_view Format_994( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " + "IEER " + "{Btu/W-h}"); + print(state.files.eio, "{}\n", Format_994); + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag = false; + } + static constexpr std::string_view Format_995(" DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {}, {}, {}, {}, {}\n"); + print(state.files.eio, + Format_995, + "Coil:Cooling:DX:TwoSpeed", + thisDXCoil.Name, + NetCoolingCapRated, + EER_TestPoint_SI(1), + EER_TestPoint_IP(1), + "N/A", + "N/A", + IEER); + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType, thisDXCoil.Name, "Coil:Cooling:DX:TwoSpeed"); // W to tons PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI, thisDXCoil.Name, NetCoolingCapRated, 1); + + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 Watts) + // as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + // // These will convert with a factor of 1 which is ok + // SEER | Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2023. PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, thisDXCoil.Name, EER_TestPoint_SI(1), 2); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, thisDXCoil.Name, EER_TestPoint_IP(1), 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, thisDXCoil.Name, IEER, 2); + // These will convert with a factor of 1 which is ok + // IEER | Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard 340/360-2022. + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, thisDXCoil.Name, IEER, 1); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, thisDXCoil.Name, "N/A"); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, thisDXCoil.Name, "N/A"); - addFootNoteSubTable(state, - state.dataOutRptPredefined->pdstDXCoolCoil, - "ANSI/AHRI ratings account for supply air fan heat and electric power.
" - "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2017.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2007.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" - "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" - "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" - "from the appropriate AHRI standard."); + + addFootNoteSubTable( + state, + state.dataOutRptPredefined->pdstDXCoolCoil, + "ANSI/AHRI ratings account for supply air fan heat and electric power.
" + "1 - EnergyPlus object type.
" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2017.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard 340/360-2007.
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - Ratings not yet supported in " + "EnergyPlus.
" + "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" + "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" + "from the appropriate AHRI standard."); PreDefTableEntry(state, state.dataOutRptPredefined->pdchVAVDXCoolCoilType, thisDXCoil.Name, "Coil:Cooling:DX:TwoSpeed"); if (thisDXCoil.RateWithInternalStaticAndFanObject) { diff --git a/src/EnergyPlus/Data/EnergyPlusData.cc b/src/EnergyPlus/Data/EnergyPlusData.cc index 03b30e7bfbb..db7eed811b0 100644 --- a/src/EnergyPlus/Data/EnergyPlusData.cc +++ b/src/EnergyPlus/Data/EnergyPlusData.cc @@ -309,6 +309,7 @@ EnergyPlusData::~EnergyPlusData() = default; void EnergyPlusData::clear_state() { this->ready = true; + this->init_state_called = false; this->dataAirLoop->clear_state(); this->dataAirLoopHVACDOAS->clear_state(); this->dataAirSystemsData->clear_state(); @@ -570,11 +571,15 @@ void EnergyPlusData::clear_state() void EnergyPlusData::init_state(EnergyPlusData &state) { + if (this->init_state_called) return; + this->init_state_called = true; // The order in which we do this matters. We're going to try to // do this in "topological" order meaning the first to go are the // objects that do not reference any other objects, like fluids, // schedules, curves, etc. - this->dataFluidProps->init_state(state); + this->dataSimulationManager->init_state(state); // GetProjectData + this->dataFluidProps->init_state(state); // GetFluidPropertiesData + this->dataPsychrometrics->init_state(state); // InitializePsychRoutines this->dataAirLoop->init_state(state); this->dataAirLoopHVACDOAS->init_state(state); @@ -736,7 +741,6 @@ void EnergyPlusData::init_state(EnergyPlusData &state) this->dataPollution->init_state(state); this->dataPondGHE->init_state(state); this->dataPowerInductionUnits->init_state(state); - this->dataPsychrometrics->init_state(state); this->dataPsychCache->init_state(state); this->dataPumps->init_state(state); this->dataPurchasedAirMgr->init_state(state); @@ -758,7 +762,6 @@ void EnergyPlusData::init_state(EnergyPlusData &state) this->dataSetPointManager->init_state(state); this->dataShadowComb->init_state(state); this->dataSimAirServingZones->init_state(state); - this->dataSimulationManager->init_state(state); this->dataSingleDuct->init_state(state); this->dataSize->init_state(state); this->dataSizingManager->init_state(state); diff --git a/src/EnergyPlus/Data/EnergyPlusData.hh b/src/EnergyPlus/Data/EnergyPlusData.hh index b1b4f3eeb3d..ff30f15b8f1 100644 --- a/src/EnergyPlus/Data/EnergyPlusData.hh +++ b/src/EnergyPlus/Data/EnergyPlusData.hh @@ -577,6 +577,7 @@ struct EnergyPlusData : BaseGlobalStruct EnergyPlusData(EnergyPlusData &&) = delete; void init_state([[maybe_unused]] EnergyPlusData &state) override; + bool init_state_called = false; void clear_state() override; }; diff --git a/src/EnergyPlus/DataGlobalConstants.hh b/src/EnergyPlus/DataGlobalConstants.hh index d51cb6e1380..26daeb678ae 100644 --- a/src/EnergyPlus/DataGlobalConstants.hh +++ b/src/EnergyPlus/DataGlobalConstants.hh @@ -571,7 +571,12 @@ namespace Constant { Real64 constexpr OneFifth = 1.0 / 5.0; // 1/5 in highest precision Real64 constexpr OneSixth = 1.0 / 6.0; // 1/6 in highest precision Real64 constexpr FourFifths = 4.0 / 5.0; // 4/5 in highest precision + Real64 constexpr OneThousandth = 1.0e-3; // Used as a tolerance in various places + Real64 constexpr OneMillionth = 1.0e-6; // Used as a tolerance in various places + Real64 constexpr OneCentimeter = 0.01; // Geometric tolerance in meters + Real64 constexpr TwoCentimeters = 0.02; // Geometric tolerance in meters + Real64 constexpr SmallDistance = 1.0e-4; // Geometric tolerance in meters Real64 constexpr MaxEXPArg = 709.78; // maximum exponent in EXP() function Real64 constexpr Pi = 3.14159265358979324; // Pi 3.1415926535897932384626435 Real64 constexpr PiOvr2 = Pi / 2.0; // Pi/2 diff --git a/src/EnergyPlus/DataHVACGlobals.hh b/src/EnergyPlus/DataHVACGlobals.hh index 139585abe53..b497fc9ccf1 100644 --- a/src/EnergyPlus/DataHVACGlobals.hh +++ b/src/EnergyPlus/DataHVACGlobals.hh @@ -525,6 +525,7 @@ struct HVACGlobalsData : BaseGlobalStruct bool StandardRatingsMyOneTimeFlag = true; bool StandardRatingsMyCoolOneTimeFlag = true; bool StandardRatingsMyCoolOneTimeFlag2 = true; + bool StandardRatingsMyCoolOneTimeFlag3 = true; bool StandardRatingsMyHeatOneTimeFlag = true; void init_state([[maybe_unused]] EnergyPlusData &state) override diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index 4653f954ae4..25c8fa3a0d2 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -618,7 +618,7 @@ namespace DataSizing { Real64 MaxHWVolFlow; // design Hot Water vol flow for single duct terminal unit [m3/s] Real64 MaxSTVolFlow; // design Steam vol flow rate for single duct terminal unit [m3/s] Real64 MaxCWVolFlow; // design Cold Water vol flow for single duct terminal unit [m3/s] - Real64 MinFlowFrac; // design minimum flow fraction for a terminal unit + Real64 MinPriFlowFrac; // design minimum primary flow fraction for a terminal unit Real64 InducRat; // design induction ratio for a terminal unit bool InducesPlenumAir; // True if secondary air comes from the plenum Real64 ReheatAirFlowMult; // multiplier for air flow in reheat coil UA calculation @@ -630,10 +630,11 @@ namespace DataSizing { Real64 SpecDesSensHeatingFrac; // Fraction of Design Sensible Heating Load from DesignSpecification:AirTerminal:Sizing Real64 SpecDesHeatSATRatio; // Heating Design Supply Air Temperature Difference Ratio from DesignSpecification:AirTerminal:Sizing Real64 SpecMinOAFrac; // Fraction of Minimum Outdoor Air Flow from DesignSpecification:AirTerminal:Sizing + int plenumIndex = 0; // plenum index for PIU inlet conditions // Default Constructor TermUnitSizingData() - : CtrlZoneNum(0), AirVolFlow(0.0), MaxHWVolFlow(0.0), MaxSTVolFlow(0.0), MaxCWVolFlow(0.0), MinFlowFrac(0.0), InducRat(0.0), + : CtrlZoneNum(0), AirVolFlow(0.0), MaxHWVolFlow(0.0), MaxSTVolFlow(0.0), MaxCWVolFlow(0.0), MinPriFlowFrac(0.0), InducRat(0.0), InducesPlenumAir(false), ReheatAirFlowMult(1.0), ReheatLoadMult(1.0), DesCoolingLoad(0.0), DesHeatingLoad(0.0), SpecDesSensCoolingFrac(1.0), SpecDesCoolSATRatio(1.0), SpecDesSensHeatingFrac(1.0), SpecDesHeatSATRatio(1.0), SpecMinOAFrac(1.0) { diff --git a/src/EnergyPlus/DataSurfaces.cc b/src/EnergyPlus/DataSurfaces.cc index a19ab6120c6..c5114717f9e 100644 --- a/src/EnergyPlus/DataSurfaces.cc +++ b/src/EnergyPlus/DataSurfaces.cc @@ -74,7 +74,6 @@ namespace EnergyPlus::DataSurfaces { // Dec 2006, DJS (PSU) added logical ecoroof variable // Dec 2008, TH added new properties to SurfaceWindowCalc for thermochromic windows // Jul 2011, M.J. Witte and C.O. Pedersen, add new fields to OSC for last T, max and min -// RE-ENGINEERED na // Using/Aliasing using namespace DataVectorTypes; @@ -88,15 +87,6 @@ using namespace Window; Array1D_string const cExtBoundCondition({-6, 0}, {"KivaFoundation", "FCGround", "OSCM", "OSC", "OSC", "Ground", "ExternalEnvironment"}); -// Parameters to indicate surface classes -// Surface Class (FLOOR, WALL, ROOF (incl's CEILING), WINDOW, DOOR, GLASSDOOR, -// SHADING (includes OVERHANG, WING), DETACHED, INTMASS), -// TDD:DOME, TDD:DIFFUSER (for tubular daylighting device) -// (Note: GLASSDOOR and TDD:DIFFUSER get overwritten as WINDOW -// in SurfaceGeometry.cc, SurfaceWindow%OriginalClass holds the true value) -// why aren't these sequential (LKL - 13 Aug 2007) - -// Constructor Surface2D::Surface2D(ShapeCat const shapeCat, int const axis, Vertices const &v, Vector2D const &vl, Vector2D const &vu) : axis(axis), vertices(v), vl(vl), vu(vu) { @@ -180,7 +170,7 @@ Surface2D::Surface2D(ShapeCat const shapeCat, int const axis, Vertices const &v, xt = xte; } #endif - assert((shapeCat == ShapeCat::Nonconvex) || (crossEdges.size() == 2)); + assert((shapeCat == ShapeCat::Nonconvex) || (crossEdges.size() == 2u)); for (auto const &edge : crossEdges) { size_type const iEdge(std::get<2>(edge)); slab.edges.push_back(iEdge); // Add edge to slab @@ -470,7 +460,7 @@ Surface2D SurfaceData::computed_surface2d() const Real64 SurfaceData::get_average_height(EnergyPlusData &state) const { - if (std::abs(SinTilt) < 1.e-4) { + if (std::abs(SinTilt) < Constant::SmallDistance) { return 0.0; } using Vertex2D = ObjexxFCL::Vector2; diff --git a/src/EnergyPlus/EMSManager.cc b/src/EnergyPlus/EMSManager.cc index e422714a5ef..567f8a931bd 100644 --- a/src/EnergyPlus/EMSManager.cc +++ b/src/EnergyPlus/EMSManager.cc @@ -313,7 +313,9 @@ namespace EMSManager { anyProgramRan = true; } - if (!anyProgramRan) return; + if (!anyProgramRan) { + return; + } // Set actuated variables with new values for (int ActuatorUsedLoop = 1; @@ -321,35 +323,43 @@ namespace EMSManager { state.dataRuntimeLang->NumExternalInterfaceFunctionalMockupUnitImportActuatorsUsed + state.dataRuntimeLang->NumExternalInterfaceFunctionalMockupUnitExportActuatorsUsed; ++ActuatorUsedLoop) { - int ErlVariableNum = state.dataRuntimeLang->EMSActuatorUsed(ActuatorUsedLoop).ErlVariableNum; - if (ErlVariableNum <= 0) continue; // this can happen for good reason during sizing + auto const &thisActuatorUsed = state.dataRuntimeLang->EMSActuatorUsed(ActuatorUsedLoop); + + int ErlVariableNum = thisActuatorUsed.ErlVariableNum; + if (ErlVariableNum <= 0) { + continue; // this can happen for good reason during sizing + } + + int EMSActuatorVariableNum = thisActuatorUsed.ActuatorVariableNum; + if (EMSActuatorVariableNum <= 0) { + continue; // this can happen for good reason during sizing + } - int EMSActuatorVariableNum = state.dataRuntimeLang->EMSActuatorUsed(ActuatorUsedLoop).ActuatorVariableNum; - if (EMSActuatorVariableNum <= 0) continue; // this can happen for good reason during sizing + auto const &thisErlVar = state.dataRuntimeLang->ErlVariable(ErlVariableNum); + auto &thisActuatorAvail = state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum); - if (state.dataRuntimeLang->ErlVariable(ErlVariableNum).Value.Type == DataRuntimeLanguage::Value::Null) { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).Actuated = false; + if (thisErlVar.Value.Type == DataRuntimeLanguage::Value::Null) { + *thisActuatorAvail.Actuated = false; } else { // Set the value and the actuated flag remotely on the actuated object via the pointer - switch (state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).PntrVarTypeUsed) { + switch (thisActuatorAvail.PntrVarTypeUsed) { case DataRuntimeLanguage::PtrDataType::Real: { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).Actuated = true; - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).RealValue = - state.dataRuntimeLang->ErlVariable(ErlVariableNum).Value.Number; + *thisActuatorAvail.Actuated = true; + *thisActuatorAvail.RealValue = thisErlVar.Value.Number; } break; case DataRuntimeLanguage::PtrDataType::Integer: { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).Actuated = true; - int tmpInteger = std::floor(state.dataRuntimeLang->ErlVariable(ErlVariableNum).Value.Number); - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).IntValue = tmpInteger; + *thisActuatorAvail.Actuated = true; + int tmpInteger = std::floor(thisErlVar.Value.Number); + *thisActuatorAvail.IntValue = tmpInteger; } break; case DataRuntimeLanguage::PtrDataType::Logical: { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).Actuated = true; - if (state.dataRuntimeLang->ErlVariable(ErlVariableNum).Value.Number == 0.0) { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).LogValue = false; - } else if (state.dataRuntimeLang->ErlVariable(ErlVariableNum).Value.Number == 1.0) { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).LogValue = true; + *thisActuatorAvail.Actuated = true; + if (thisErlVar.Value.Number == 0.0) { + *thisActuatorAvail.LogValue = false; + } else if (thisErlVar.Value.Number == 1.0) { + *thisActuatorAvail.LogValue = true; } else { - *state.dataRuntimeLang->EMSActuatorAvailable(EMSActuatorVariableNum).LogValue = false; + *thisActuatorAvail.LogValue = false; } } break; default: diff --git a/src/EnergyPlus/ElectricPowerServiceManager.cc b/src/EnergyPlus/ElectricPowerServiceManager.cc index 208727ccb5d..76069c342d1 100644 --- a/src/EnergyPlus/ElectricPowerServiceManager.cc +++ b/src/EnergyPlus/ElectricPowerServiceManager.cc @@ -678,10 +678,9 @@ ElectPowerLoadCenter::ElectPowerLoadCenter(EnergyPlusData &state, int const obje subpanelFeedInRequest(0.0), subpanelFeedInRate(0.0), subpanelDrawRate(0.0), genElectricProd(0.0), genElectProdRate(0.0), storOpCVDrawRate(0.0), storOpCVFeedInRate(0.0), storOpCVChargeRate(0.0), storOpCVDischargeRate(0.0), storOpIsCharging(false), storOpIsDischarging(false), genOperationScheme_(GeneratorOpScheme::Invalid), demandMeterPtr_(0), generatorsPresent_(false), myCoGenSetupFlag_(true), demandLimit_(0.0), - trackSchedPtr_(0), dCElectricityProd_(0.0), dCElectProdRate_(0.0), dCpowerConditionLosses_(0.0), storagePresent_(false), - transformerPresent_(false), totalPowerRequest_(0.0), totalThermalPowerRequest_(0.0), storageScheme_(StorageOpScheme::Invalid), - trackStorageOpMeterIndex_(0), converterPresent_(false), maxStorageSOCFraction_(1.0), minStorageSOCFraction_(0.0), - designStorageChargePower_(0.0), designStorageChargePowerWasSet_(false), designStorageDischargePower_(0.0), + trackSchedPtr_(0), storagePresent_(false), transformerPresent_(false), totalPowerRequest_(0.0), totalThermalPowerRequest_(0.0), + storageScheme_(StorageOpScheme::Invalid), trackStorageOpMeterIndex_(0), converterPresent_(false), maxStorageSOCFraction_(1.0), + minStorageSOCFraction_(0.0), designStorageChargePower_(0.0), designStorageChargePowerWasSet_(false), designStorageDischargePower_(0.0), designStorageDischargePowerWasSet_(false), storageChargeModSchedIndex_(0), storageDischargeModSchedIndex_(0), facilityDemandTarget_(0.0), facilityDemandTargetModSchedIndex_(0), eMSOverridePelFromStorage_(false), // if true, EMS calling for override eMSValuePelFromStorage_(0.0), // value EMS is directing to use, power from storage [W] @@ -1959,9 +1958,6 @@ void ElectPowerLoadCenter::setupLoadCenterMeterIndices(EnergyPlusData &state) void ElectPowerLoadCenter::reinitAtBeginEnvironment() { - dCElectricityProd_ = 0.0; - dCElectProdRate_ = 0.0; - dCpowerConditionLosses_ = 0.0; genElectricProd = 0.0; genElectProdRate = 0.0; thermalProd = 0.0; @@ -2017,11 +2013,6 @@ void ElectPowerLoadCenter::reinitZoneGainsAtBeginEnvironment() } } -std::string const &ElectPowerLoadCenter::transformerName() const -{ - return transformerName_; -} - std::string const &ElectPowerLoadCenter::generatorListName() const { return generatorListName_; @@ -2794,21 +2785,11 @@ Real64 DCtoACInverter::pvWattsDCtoACSizeRatio() return pvWattsDCtoACSizeRatio_; } -Real64 DCtoACInverter::thermLossRate() const -{ - return thermLossRate_; -} - Real64 DCtoACInverter::aCPowerOut() const { return aCPowerOut_; } -Real64 DCtoACInverter::aCEnergyOut() const -{ - return aCEnergyOut_; -} - DCtoACInverter::InverterModelType DCtoACInverter::modelType() const { return modelType_; @@ -3194,21 +3175,6 @@ void ACtoDCConverter::reinitZoneGainsAtBeginEnvironment() qdotRadZone_ = 0.0; } -Real64 ACtoDCConverter::thermLossRate() const -{ - return thermLossRate_; -} - -Real64 ACtoDCConverter::dCPowerOut() const -{ - return dCPowerOut_; -} - -Real64 ACtoDCConverter::dCEnergyOut() const -{ - return dCEnergyOut_; -} - Real64 ACtoDCConverter::aCPowerIn() const { return aCPowerIn_; @@ -3626,6 +3592,7 @@ ElectricStorage::ElectricStorage( // main constructor ), nullptr)); ssc_lastBatteryState_ = std::make_unique(ssc_battery_->get_state()); + ssc_lastBatteryTimeStep_ = ssc_battery_->get_params().dt_hr; ssc_initBatteryState_ = std::make_unique(ssc_battery_->get_state()); } @@ -3912,7 +3879,8 @@ void ElectricStorage::reinitAtBeginEnvironment() } else if (storageModelMode_ == StorageModelType::LiIonNmcBattery) { // Copy the initial battery state to the last battery state *ssc_lastBatteryState_ = *ssc_initBatteryState_; - ssc_battery_->set_state(*ssc_lastBatteryState_); + ssc_lastBatteryTimeStep_ = ssc_initBatteryTimeStep_; + ssc_battery_->set_state(*ssc_lastBatteryState_, ssc_initBatteryTimeStep_); } myWarmUpFlag_ = true; } @@ -3953,7 +3921,8 @@ void ElectricStorage::reinitAtEndWarmup() } else if (storageModelMode_ == StorageModelType::LiIonNmcBattery) { // Copy the initial battery state to the last battery state *ssc_lastBatteryState_ = *ssc_initBatteryState_; - ssc_battery_->set_state(*ssc_lastBatteryState_); + ssc_lastBatteryTimeStep_ = ssc_initBatteryTimeStep_; + ssc_battery_->set_state(*ssc_lastBatteryState_, ssc_lastBatteryTimeStep_); } myWarmUpFlag_ = false; } @@ -4013,6 +3982,7 @@ void ElectricStorage::timeCheckAndUpdate(EnergyPlusData &state) } } else if (storageModelMode_ == StorageModelType::LiIonNmcBattery) { *ssc_lastBatteryState_ = ssc_battery_->get_state(); + ssc_lastBatteryTimeStep_ = ssc_battery_->get_params().dt_hr; } lastTimeStepStateOfCharge_ = thisTimeStepStateOfCharge_; @@ -4366,6 +4336,10 @@ void ElectricStorage::simulateLiIonNmcBatteryModel(EnergyPlusData &state, // Copy the battery state from the end of last timestep battery_state battState = *ssc_lastBatteryState_; + ssc_battery_->set_state(battState, ssc_lastBatteryTimeStep_); + if (std::lround(ssc_battery_->get_params().dt_hr * 60.0) != std::lround(state.dataHVACGlobal->TimeStepSys * 60.0)) { + ssc_battery_->ChangeTimestep(state.dataHVACGlobal->TimeStepSys); + } // Set the temperature the battery sees if (zoneNum_ > 0) { @@ -4375,15 +4349,11 @@ void ElectricStorage::simulateLiIonNmcBatteryModel(EnergyPlusData &state, // If outside, use outdoor temperature battState.thermal->T_room = state.dataEnvrn->OutDryBulbTemp; } - ssc_battery_->set_state(battState); // Set the SOC limits ssc_battery_->changeSOCLimits(controlSOCMinFracLimit * 100.0, controlSOCMaxFracLimit * 100.0); // Set the current timestep length - if (std::lround(ssc_battery_->get_params().dt_hr * 60.0) != std::lround(state.dataHVACGlobal->TimeStepSys * 60.0)) { - ssc_battery_->ChangeTimestep(state.dataHVACGlobal->TimeStepSys); - } // Run the battery // SAM uses negative values for charging, positive for discharging @@ -4672,7 +4642,7 @@ void ElectricStorage::shift(std::vector &A, int const m, int const n, st // constructor ElectricTransformer::ElectricTransformer(EnergyPlusData &state, std::string const &objectName) : myOneTimeFlag_(true), availSchedPtr_(0), usageMode_(TransformerUse::Invalid), heatLossesDestination_(ThermalLossDestination::Invalid), - zoneNum_(0), zoneRadFrac_(0.0), ratedCapacity_(0.0), phase_(0), factorTempCoeff_(0.0), tempRise_(0.0), eddyFrac_(0.0), + zoneNum_(0), zoneRadFrac_(0.0), ratedCapacity_(0.0), factorTempCoeff_(0.0), tempRise_(0.0), eddyFrac_(0.0), performanceInputMode_(TransformerPerformanceInput::Invalid), ratedEfficiency_(0.0), ratedPUL_(0.0), ratedTemp_(0.0), maxPUL_(0.0), considerLosses_(true), ratedNL_(0.0), ratedLL_(0.0), overloadErrorIndex_(0), efficiency_(0.0), powerIn_(0.0), energyIn_(0.0), powerOut_(0.0), energyOut_(0.0), noLoadLossRate_(0.0), noLoadLossEnergy_(0.0), loadLossRate_(0.0), loadLossEnergy_(0.0), thermalLossRate_(0.0), @@ -4751,7 +4721,7 @@ ElectricTransformer::ElectricTransformer(EnergyPlusData &state, std::string cons } zoneRadFrac_ = state.dataIPShortCut->rNumericArgs(1); ratedCapacity_ = state.dataIPShortCut->rNumericArgs(2); - phase_ = state.dataIPShortCut->rNumericArgs(3); + // unused phase_ = state.dataIPShortCut->rNumericArgs(3); if (Util::SameString(state.dataIPShortCut->cAlphaArgs(5), "Copper")) { factorTempCoeff_ = 234.5; @@ -5125,7 +5095,7 @@ void ElectricTransformer::manageTransformers(EnergyPlusData &state, Real64 const // Transformer has two modes.If it works in one mode, the variable for meter output in the other mode // is assigned 0 - totalLossEnergy_ = totalLossRate_ * state.dataHVACGlobal->TimeStepSysSec; + // unused totalLossEnergy_ = totalLossRate_ * state.dataHVACGlobal->TimeStepSysSec; break; } diff --git a/src/EnergyPlus/ElectricPowerServiceManager.hh b/src/EnergyPlus/ElectricPowerServiceManager.hh index 33d71150dff..518c5b33aa3 100644 --- a/src/EnergyPlus/ElectricPowerServiceManager.hh +++ b/src/EnergyPlus/ElectricPowerServiceManager.hh @@ -144,14 +144,10 @@ public: // Methods Real64 pvWattsDCtoACSizeRatio(); - Real64 thermLossRate() const; - Real64 getLossRateForOutputPower(EnergyPlusData &state, Real64 const powerOutOfInverter); Real64 aCPowerOut() const; - Real64 aCEnergyOut() const; - InverterModelType modelType() const; std::string const &name() const; @@ -209,12 +205,6 @@ public: // Methods void reinitZoneGainsAtBeginEnvironment(); - Real64 thermLossRate() const; - - Real64 dCPowerOut() const; - - Real64 dCEnergyOut() const; - Real64 aCPowerIn() const; Real64 getLossRateForInputPower(EnergyPlusData &state, Real64 const powerIntoConverter); // AC power going into inverter @@ -440,7 +430,9 @@ private: // data // Li-ion NMC battery objects from SAM Simulation Core lib_battery std::unique_ptr ssc_battery_; std::unique_ptr ssc_lastBatteryState_; + Real64 ssc_lastBatteryTimeStep_ = 0.0; std::unique_ptr ssc_initBatteryState_; + Real64 ssc_initBatteryTimeStep_ = 0.0; // battery life calculation variables int count0_; std::vector b10_; @@ -509,7 +501,7 @@ private: // data int zoneNum_; // destination zone for heat losses from inverter. Real64 zoneRadFrac_; // radiative fraction for thermal losses to zone Real64 ratedCapacity_; // rated capacity [VA] - int phase_; // phase + // int phase_; // phase Real64 factorTempCoeff_; // thermal coefficient of resistance for winding material Real64 tempRise_; // full load temperature rise [C] Real64 eddyFrac_; // fraction of eddy current losses [] @@ -539,7 +531,7 @@ private: // data Real64 loadLossRate_; // [W] Real64 loadLossEnergy_; // [J] Real64 totalLossRate_; // [W] - Real64 totalLossEnergy_; // [J] + // Real64 totalLossEnergy_; // [J] Real64 thermalLossRate_; // [W] Real64 thermalLossEnergy_; // [J] Real64 elecUseMeteredUtilityLosses_; // [J] Energy consumption for a utility transformer (power in) @@ -622,8 +614,6 @@ public: // Methods void reinitZoneGainsAtBeginEnvironment(); - std::string const &transformerName() const; - std::string const &generatorListName() const; void updateLoadCenterGeneratorRecords(EnergyPlusData &state); @@ -705,11 +695,8 @@ private: // data std::string generationMeterName_; // Name of Generated Energy Meter for "on demand" operation bool generatorsPresent_; // true if any generators bool myCoGenSetupFlag_; - Real64 demandLimit_; // Demand Limit in Watts(W) which the generator will operate above - int trackSchedPtr_; // "pointer" to schedule for electrical demand to meet. - Real64 dCElectricityProd_; // Current DC Elect produced (J) (if buss type DCbussInverter) - Real64 dCElectProdRate_; // Current DC Elect power produced (W) (if buss type DCbussInverter) - Real64 dCpowerConditionLosses_; // current DC to AC inverter losses (W) (if DCbussInverter) + Real64 demandLimit_; // Demand Limit in Watts(W) which the generator will operate above + int trackSchedPtr_; // "pointer" to schedule for electrical demand to meet. bool storagePresent_; std::string storageName_; // hold name for verificaton and error messages bool transformerPresent_; // should only be transformers for on-site load center, not facility service diff --git a/src/EnergyPlus/Fans.cc b/src/EnergyPlus/Fans.cc index 948c3084e3a..15531484448 100644 --- a/src/EnergyPlus/Fans.cc +++ b/src/EnergyPlus/Fans.cc @@ -1556,7 +1556,7 @@ void FanComponent::set_size(EnergyPlusData &state) OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchFanVolFlow, Name, _volFlow); Real64 _ratedPower = _volFlow * deltaPress / totalEff; // total fan power if (type != HVAC::FanType::ComponentModel) { - designPointFEI = FanSystem::report_fei(state, _volFlow, _ratedPower, deltaPress, state.dataEnvrn->StdRhoAir); + designPointFEI = FanSystem::report_fei(state, _volFlow, _ratedPower, deltaPress); } OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchFanPwr, Name, _ratedPower); if (_volFlow != 0.0) { @@ -2643,8 +2643,7 @@ void FanSystem::set_size(EnergyPlusData &state) } } } - Real64 _rhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(state, state.dataLoopNodes->Node(inletNodeNum).Press, inletAirTemp, inletAirHumRat); - designPointFEI = report_fei(state, maxAirFlowRate, designElecPower, deltaPress, _rhoAir); + designPointFEI = report_fei(state, maxAirFlowRate, designElecPower, deltaPress); OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchFanType, Name, HVAC::fanTypeNames[(int)type]); OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchFanTotEff, Name, totalEff); @@ -2673,8 +2672,7 @@ void FanSystem::set_size(EnergyPlusData &state) airLoopNum > 0 ? state.dataAirSystemsData->PrimaryAirSystems(airLoopNum).Name : "N/A"); } -Real64 FanSystem::report_fei( - EnergyPlusData &state, Real64 const _designFlowRate, Real64 const _designElecPower, Real64 const _designDeltaPress, Real64 _inletRhoAir) +Real64 FanSystem::report_fei(EnergyPlusData &state, Real64 const _designFlowRate, Real64 const _designElecPower, Real64 const _designDeltaPress) { // PURPOSE OF THIS SUBROUTINE: // Calculate the Fan Energy Index @@ -2683,9 +2681,14 @@ Real64 FanSystem::report_fei( // ANSI/AMCA Standard 207-17: Fan System Efficiency and Fan System Input Power Calculation, 2017. // AANSI / AMCA Standard 208 - 18: Calculation of the Fan Energy Index, 2018. - assert(state.dataEnvrn->StdRhoAir > 0.0); + Real64 constexpr rhoAirStd = 1.2; // Value from the above referenced standard + Real64 constexpr tempAirFan = 21.0; // Standard fan inlet temperature in Celsius + Real64 constexpr hrAirFan = 0.5; // Standard fan inlet humidity ratio (50%) + Real64 _wAirFan = Psychrometrics::PsyWFnTdbRhPb(state, tempAirFan, hrAirFan, state.dataEnvrn->StdBaroPress); + Real64 _rhoAirFan = Psychrometrics::PsyRhoAirFnPbTdbW(state, state.dataEnvrn->StdBaroPress, tempAirFan, _wAirFan); + // Calculate reference fan shaft power - Real64 _refFanShaftPower = (_designFlowRate + 0.118) * (_designDeltaPress + 100 * _inletRhoAir / state.dataEnvrn->StdRhoAir) / (1000 * 0.66); + Real64 _refFanShaftPower = (_designFlowRate + 0.118) * (_designDeltaPress + 100 * _rhoAirFan / rhoAirStd) / (1000 * 0.66); // Calculate reference reference fan transmission efficiency Real64 _refFanTransEff = 0.96 * pow((_refFanShaftPower / (_refFanShaftPower + 1.64)), 0.05); diff --git a/src/EnergyPlus/Fans.hh b/src/EnergyPlus/Fans.hh index 126a9bc8b14..bb0b6bd1ba2 100644 --- a/src/EnergyPlus/Fans.hh +++ b/src/EnergyPlus/Fans.hh @@ -394,8 +394,7 @@ namespace Fans { bool isSecondaryDriver = false; // true if this fan is used to augment flow and may pass air when off. // FEI - static Real64 report_fei( - EnergyPlusData &state, Real64 const designFlowRate, Real64 const designElecPower, Real64 const designDeltaPress, Real64 inletRhoAir); + static Real64 report_fei(EnergyPlusData &state, Real64 const designFlowRate, Real64 const designElecPower, Real64 const designDeltaPress); void init(EnergyPlusData &state); diff --git a/src/EnergyPlus/FluidProperties.cc b/src/EnergyPlus/FluidProperties.cc index c4353b32718..c63f0b6fc95 100644 --- a/src/EnergyPlus/FluidProperties.cc +++ b/src/EnergyPlus/FluidProperties.cc @@ -102,11 +102,6 @@ namespace FluidProperties { // supplying the same data for concentrations of 0.0 and 1.0 only. // Temperature data has to be supplied in ascending order only. - void InitializeGlycRoutines() - { - // TODO: Delete this, the cache is now part of state and initialized with the state constructor - } - void GetFluidPropertiesData(EnergyPlusData &state) { @@ -162,6 +157,9 @@ namespace FluidProperties { // Array initializer only takes one argument. std::bind is used to convert the // actual initializer into a function of one argument. + state.dataFluidProps->NumOfRefrigerants = 0; + state.dataFluidProps->NumOfGlycols = 0; + // For default "glycol" fluids of Water, Ethylene Glycol, and Propylene Glycol static constexpr std::array DefaultGlycolTemps = { @@ -657,8 +655,6 @@ namespace FluidProperties { cNumericFieldNames = ""; lNumericFieldBlanks = false; - InitializeGlycRoutines(); - // Check to see if there is any FluidName input. If not, this is okay as // long as the user only desires to simulate loops with water. More than // one FluidName input is not allowed. @@ -4926,8 +4922,6 @@ namespace FluidProperties { Real64 Temperature; // Temperature to drive values Real64 ReturnValue; // Values returned from glycol functions - state.dataFluidProps->GetInput = false; // input has already been gotten - for (int GlycolNum = 1; GlycolNum <= state.dataFluidProps->NumOfGlycols; ++GlycolNum) { auto &glycol = state.dataFluidProps->GlycolData(GlycolNum); int GlycolIndex = 0; // used in routine calls -- value is returned when first 0 @@ -5168,8 +5162,6 @@ namespace FluidProperties { Real64 Temperature; // Temperature to drive values Real64 ReturnValue; // Values returned from refrigerant functions - state.dataFluidProps->GetInput = false; // input has already been gotten - for (int RefrigNum = 1; RefrigNum <= state.dataFluidProps->NumOfRefrigerants; ++RefrigNum) { int RefrigIndex = 0; // used in routine calls -- value is returned when first 0 // Lay out the basic values: @@ -5606,23 +5598,15 @@ namespace FluidProperties { // FUNCTION LOCAL VARIABLE DECLARATIONS: int HiTempIndex; // index value of next highest Temperature from table int LoTempIndex; // index value of next lowest Temperature from table - int RefrigNum; // index for refrigerant under consideration Real64 TempInterpRatio; // ratio to interpolate in temperature domain - // error counters and dummy string - bool ErrorFlag; // error flag for current call - - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - RefrigNum = 0; + int RefrigNum = 0; // index for refrigerant under consideration if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( state, state.dataFluidProps->NumOfRefrigerants, RefrigNum, true, Refrigerant, "GetSatPressureRefrig", "properties", CalledFrom); } - ErrorFlag = false; + bool ErrorFlag = false; if (RefrigIndex > 0) { RefrigNum = RefrigIndex; @@ -5717,23 +5701,15 @@ namespace FluidProperties { // FUNCTION LOCAL VARIABLE DECLARATIONS: int HiPresIndex; // index value of next highest Temperature from table int LoPresIndex; // index value of next lowest Temperature from table - int RefrigNum; // index for refrigerant under consideration Real64 PresInterpRatio; // ratio to interpolate in temperature domain - // error counters and dummy string - bool ErrorFlag; // error flag for current call - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - - RefrigNum = 0; + int RefrigNum = 0; // index for refrigerant under consideration if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( state, state.dataFluidProps->NumOfRefrigerants, RefrigNum, true, Refrigerant, "GetSatTemperatureRefrig", "properties", CalledFrom); } - ErrorFlag = false; + bool ErrorFlag = false; if (RefrigIndex > 0) { RefrigNum = RefrigIndex; @@ -5832,14 +5808,7 @@ namespace FluidProperties { static constexpr std::string_view RoutineName("GetSatEnthalpyRefrig"); // FUNCTION LOCAL VARIABLE DECLARATIONS: - int RefrigNum; // index for refrigerant under consideration - - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - - RefrigNum = 0; + int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( state, state.dataFluidProps->NumOfRefrigerants, RefrigNum, true, Refrigerant, RoutineName, "properties", CalledFrom); @@ -5905,13 +5874,6 @@ namespace FluidProperties { Real64 HiSatProp; // Sat. prop. at higher temp & given quality Real64 TempInterpRatio; // ratio to interpolate in temperature domain - // error counters and dummy string - - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -6040,11 +6002,6 @@ namespace FluidProperties { // FUNCTION PARAMETER DEFINITIONS: static constexpr std::string_view RoutineName("GetSatSpecificHeatRefrig: "); - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -6146,12 +6103,6 @@ namespace FluidProperties { int HiTempIndex; // high temperature index value int HiPressIndex; // high pressure index value - // see if data is there - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -6398,11 +6349,6 @@ namespace FluidProperties { int LoEnthalpyIndex; // Index value of lower enthalpy from data int HiEnthalpyIndex; // Index value of higher enthalpy from data - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -6674,11 +6620,6 @@ namespace FluidProperties { Real64 RefTSat; // Saturated temperature of the refrigerant. Used to check whether the refrigernat is in the superheat area Real64 Temp; // Temperature of the superheated refrigerant at the given enthalpy and pressure - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -6822,12 +6763,6 @@ namespace FluidProperties { int HiTempIndex; // high temperature index value int HiPressIndex; // high pressure index value - // see if data is there - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - int RefrigNum = 0; if (state.dataFluidProps->NumOfRefrigerants == 0) { ReportFatalRefrigerantErrors( @@ -7091,12 +7026,6 @@ namespace FluidProperties { // FUNCTION PARAMETERS: static constexpr std::string_view RoutineName("GetSpecificHeatGlycol: "); - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // If no glycols, no fluid properties can be evaluated int GlycolNum(0); if (state.dataFluidProps->NumOfGlycols == 0) @@ -7243,12 +7172,6 @@ namespace FluidProperties { bool LowErrorThisTime = false; bool HighErrorThisTime = false; - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // If no glycols, no fluid properties can be evaluated int GlycolNum = 0; if (state.dataFluidProps->NumOfGlycols == 0) @@ -7406,12 +7329,6 @@ namespace FluidProperties { bool LowErrorThisTime = false; bool HighErrorThisTime = false; - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // If no glycols, no fluid properties can be evaluated int GlycolNum = 0; if (state.dataFluidProps->NumOfGlycols == 0) @@ -7572,12 +7489,6 @@ namespace FluidProperties { bool LowErrorThisTime = false; bool HighErrorThisTime = false; - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // If no glycols, no fluid properties can be evaluated int GlycolNum = 0; if (state.dataFluidProps->NumOfGlycols == 0) @@ -7727,12 +7638,6 @@ namespace FluidProperties { // Return value int FindRefrigerant; - // Make sure we have already read in the input - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // Check to see if this glycol shows up in the glycol data int Found = Util::FindItemInList(Util::makeUPPER(Refrigerant), state.dataFluidProps->RefrigData); @@ -7769,12 +7674,6 @@ namespace FluidProperties { // Return value int FindGlycol; - // Make sure we have already read in the input - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // Check to see if this glycol shows up in the glycol data int Found = Util::FindItemInList(Util::makeUPPER(Glycol), state.dataFluidProps->GlycolData, @@ -8024,11 +7923,6 @@ namespace FluidProperties { // Return value int CheckFluidPropertyName; - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - // Item must be either in Refrigerant or Glycol list int Found = 0; if (state.dataFluidProps->NumOfRefrigerants > 0) { @@ -8192,12 +8086,6 @@ namespace FluidProperties { void GetFluidDensityTemperatureLimits(EnergyPlusData &state, int const FluidIndex, Real64 &MinTempLimit, Real64 &MaxTempLimit) { - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - if (FluidIndex > 0) { MinTempLimit = state.dataFluidProps->GlycolData(FluidIndex).RhoLowTempValue; MaxTempLimit = state.dataFluidProps->GlycolData(FluidIndex).RhoHighTempValue; @@ -8206,12 +8094,6 @@ namespace FluidProperties { void GetFluidSpecificHeatTemperatureLimits(EnergyPlusData &state, int const FluidIndex, Real64 &MinTempLimit, Real64 &MaxTempLimit) { - // Get the input if we haven't already - if (state.dataFluidProps->GetInput) { - GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } - if (FluidIndex > 0) { MinTempLimit = state.dataFluidProps->GlycolData(FluidIndex).CpLowTempValue; MaxTempLimit = state.dataFluidProps->GlycolData(FluidIndex).CpHighTempValue; diff --git a/src/EnergyPlus/FluidProperties.hh b/src/EnergyPlus/FluidProperties.hh index c0e77cc9006..3cfe2d5111b 100644 --- a/src/EnergyPlus/FluidProperties.hh +++ b/src/EnergyPlus/FluidProperties.hh @@ -344,8 +344,6 @@ namespace FluidProperties { } }; - void InitializeGlycRoutines(); - void GetFluidPropertiesData(EnergyPlusData &state); template @@ -627,7 +625,6 @@ namespace FluidProperties { struct FluidPropertiesData : BaseGlobalStruct { - bool GetInput = true; // Used to get the input once only int NumOfRefrigerants = 0; // Total number of refrigerants input by user int NumOfGlycols = 0; // Total number of glycols input by user bool DebugReportGlycols = false; @@ -665,7 +662,6 @@ struct FluidPropertiesData : BaseGlobalStruct void init_state(EnergyPlusData &state) override { FluidProperties::GetFluidPropertiesData(state); - this->GetInput = false; } void clear_state() override diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index bce02535fa9..ea402f0ea39 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -2484,10 +2484,6 @@ void GetVRFInputData(EnergyPlusData &state, bool &ErrorsFound) // Refrigerant type thisVrfFluidCtrl.RefrigerantName = cAlphaArgs(4); - if (state.dataFluidProps->GetInput) { - EnergyPlus::FluidProperties::GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } if (Util::FindItemInList(thisVrfFluidCtrl.RefrigerantName, state.dataFluidProps->RefrigData, state.dataFluidProps->NumOfRefrigerants) == 0) { ShowSevereError(state, cCurrentModuleObject + " = " + thisVrfFluidCtrl.Name); ShowContinueError(state, "Illegal " + cAlphaFieldNames(4) + " = " + cAlphaArgs(4)); @@ -2883,10 +2879,6 @@ void GetVRFInputData(EnergyPlusData &state, bool &ErrorsFound) // Refrigerant type thisVrfFluidCtrlHR.RefrigerantName = cAlphaArgs(4); - if (state.dataFluidProps->GetInput) { - EnergyPlus::FluidProperties::GetFluidPropertiesData(state); - state.dataFluidProps->GetInput = false; - } if (Util::FindItemInList(thisVrfFluidCtrlHR.RefrigerantName, state.dataFluidProps->RefrigData, state.dataFluidProps->NumOfRefrigerants) == 0) { ShowSevereError(state, cCurrentModuleObject + " = " + thisVrfFluidCtrlHR.Name); diff --git a/src/EnergyPlus/HeatBalFiniteDiffManager.cc b/src/EnergyPlus/HeatBalFiniteDiffManager.cc index 5d7436c2eba..950aa5c81e8 100644 --- a/src/EnergyPlus/HeatBalFiniteDiffManager.cc +++ b/src/EnergyPlus/HeatBalFiniteDiffManager.cc @@ -141,7 +141,7 @@ namespace HeatBalFiniteDiffManager { int MaterNum; // Counter to keep track of the material number int MaterialNumAlpha; // Number of material alpha names being passed int MaterialNumProp; // Number of material properties being passed - Array1D MaterialProps(40); // Temporary array to transfer material properties + Array1D MaterialProps; // Temporary array to transfer material properties (allocated based on user input) bool ErrorsFound(false); // If errors detected in input int Loop; int propNum; @@ -200,6 +200,9 @@ namespace HeatBalFiniteDiffManager { pcMat = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "MaterialProperty:PhaseChange"); vcMat = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "MaterialProperty:VariableThermalConductivity"); + int numProps = setSizeMaxProperties(state); + MaterialProps.allocate(numProps); + auto &MaterialFD = state.dataHeatBalFiniteDiffMgr->MaterialFD; MaterialFD.allocate(state.dataMaterial->TotMaterials); @@ -408,6 +411,23 @@ namespace HeatBalFiniteDiffManager { InitialInitHeatBalFiniteDiff(state); } + int setSizeMaxProperties(EnergyPlusData &state) + { + int numArgs; + int numAlphas; + int numNumerics; + int maxTotalProps = 0; + + state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(state, "MaterialProperty:PhaseChange", numArgs, numAlphas, numNumerics); + maxTotalProps = max(maxTotalProps, numNumerics); + + state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs( + state, "MaterialProperty:VariableThermalConductivity", numArgs, numAlphas, numNumerics); + maxTotalProps = max(maxTotalProps, numNumerics); + + return maxTotalProps; + } + void InitHeatBalFiniteDiff(EnergyPlusData &state) { diff --git a/src/EnergyPlus/HeatBalFiniteDiffManager.hh b/src/EnergyPlus/HeatBalFiniteDiffManager.hh index b30eba5e654..2d520079ef3 100644 --- a/src/EnergyPlus/HeatBalFiniteDiffManager.hh +++ b/src/EnergyPlus/HeatBalFiniteDiffManager.hh @@ -205,6 +205,8 @@ namespace HeatBalFiniteDiffManager { void GetCondFDInput(EnergyPlusData &state); + int setSizeMaxProperties(EnergyPlusData &state); + void InitHeatBalFiniteDiff(EnergyPlusData &state); void InitialInitHeatBalFiniteDiff(EnergyPlusData &state); diff --git a/src/EnergyPlus/HeatBalanceSurfaceManager.cc b/src/EnergyPlus/HeatBalanceSurfaceManager.cc index 8eb85e3226c..8b1dd140ff0 100644 --- a/src/EnergyPlus/HeatBalanceSurfaceManager.cc +++ b/src/EnergyPlus/HeatBalanceSurfaceManager.cc @@ -409,7 +409,7 @@ void InitSurfaceHeatBalance(EnergyPlusData &state) if (state.dataHeatBalSurfMgr->InitSurfaceHeatBalancefirstTime) { DisplayString(state, "Computing Interior Diffuse Solar Exchange through Interzone Windows"); } - ComputeDifSolExcZonesWIZWindows(state, state.dataGlobal->NumOfZones); + ComputeDifSolExcZonesWIZWindows(state); } Dayltg::initDaylighting(state, state.dataHeatBalSurfMgr->InitSurfaceHeatBalancefirstTime); @@ -4427,7 +4427,7 @@ void ComputeIntSWAbsorpFactors(EnergyPlusData &state) } // End of enclosure loop } -void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEnclosures) // Number of solar enclosures +void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state) { // SUBROUTINE INFORMATION: @@ -4435,13 +4435,14 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn // RE-ENGINEERED Winkelmann, Lawrie // PURPOSE OF THIS SUBROUTINE: - // This subroutine computes the diffuse solar exchange factors between zones with + // This subroutine computes the diffuse solar exchange factors between enclosures with // interzone windows. + int const numEnclosures = state.dataViewFactor->NumOfSolarEnclosures; if (!allocated(state.dataHeatBalSurf->ZoneFractDifShortZtoZ)) { - state.dataHeatBalSurf->ZoneFractDifShortZtoZ.allocate(NumberOfEnclosures, NumberOfEnclosures); - state.dataHeatBalSurf->EnclSolRecDifShortFromZ.allocate(NumberOfEnclosures); - state.dataHeatBalSurfMgr->DiffuseArray.allocate(NumberOfEnclosures, NumberOfEnclosures); + state.dataHeatBalSurf->ZoneFractDifShortZtoZ.allocate(numEnclosures, numEnclosures); + state.dataHeatBalSurf->EnclSolRecDifShortFromZ.allocate(numEnclosures); + state.dataHeatBalSurfMgr->DiffuseArray.allocate(numEnclosures, numEnclosures); } state.dataHeatBalSurf->EnclSolRecDifShortFromZ = false; @@ -4468,10 +4469,10 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn // Compute fractions for multiple passes. Array2D::size_type l(0u), m(0u), d(0u); - for (int NZ = 1; NZ <= NumberOfEnclosures; ++NZ, d += NumberOfEnclosures + 1) { + for (int NZ = 1; NZ <= numEnclosures; ++NZ, d += numEnclosures + 1) { m = NZ - 1; Real64 D_d(0.0); // Local accumulator - for (int MZ = 1; MZ <= NumberOfEnclosures; ++MZ, ++l, m += NumberOfEnclosures) { + for (int MZ = 1; MZ <= numEnclosures; ++MZ, ++l, m += numEnclosures) { if (MZ == NZ) continue; state.dataHeatBalSurfMgr->DiffuseArray[l] = state.dataHeatBalSurf->ZoneFractDifShortZtoZ[l] / @@ -4484,13 +4485,12 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn state.dataHeatBalSurf->ZoneFractDifShortZtoZ = state.dataHeatBalSurfMgr->DiffuseArray; // added for CR 7999 & 7869 - assert(state.dataHeatBalSurf->ZoneFractDifShortZtoZ.isize1() == NumberOfEnclosures); - assert(state.dataHeatBalSurf->ZoneFractDifShortZtoZ.isize2() == NumberOfEnclosures); - l = 0u; - for (int NZ = 1; NZ <= NumberOfEnclosures; ++NZ) { - for (int MZ = 1; MZ <= NumberOfEnclosures; ++MZ, ++l) { + assert(state.dataHeatBalSurf->ZoneFractDifShortZtoZ.isize1() == numEnclosures); + assert(state.dataHeatBalSurf->ZoneFractDifShortZtoZ.isize2() == numEnclosures); + for (int NZ = 1; NZ <= numEnclosures; ++NZ) { + for (int MZ = 1; MZ <= numEnclosures; ++MZ) { if (MZ == NZ) continue; - if (state.dataHeatBalSurf->ZoneFractDifShortZtoZ[l] > 0.0) { // [ l ] == ( MZ, NZ ) + if (state.dataHeatBalSurf->ZoneFractDifShortZtoZ(MZ, NZ) > 0.0) { state.dataHeatBalSurf->EnclSolRecDifShortFromZ(NZ) = true; break; } @@ -4499,15 +4499,15 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn // Compute fractions for multiple zones. - for (int IZ = 1; IZ <= NumberOfEnclosures; ++IZ) { + for (int IZ = 1; IZ <= numEnclosures; ++IZ) { if (!state.dataHeatBalSurf->EnclSolRecDifShortFromZ(IZ)) continue; - for (int JZ = 1; JZ <= NumberOfEnclosures; ++JZ) { + for (int JZ = 1; JZ <= numEnclosures; ++JZ) { if (!state.dataHeatBalSurf->EnclSolRecDifShortFromZ(JZ)) continue; if (IZ == JZ) continue; if (state.dataHeatBalSurfMgr->DiffuseArray(IZ, JZ) == 0.0) continue; - for (int KZ = 1; KZ <= NumberOfEnclosures; ++KZ) { + for (int KZ = 1; KZ <= numEnclosures; ++KZ) { if (!state.dataHeatBalSurf->EnclSolRecDifShortFromZ(KZ)) continue; if (IZ == KZ) continue; if (JZ == KZ) continue; @@ -4515,7 +4515,7 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn state.dataHeatBalSurf->ZoneFractDifShortZtoZ(IZ, KZ) += state.dataHeatBalSurfMgr->DiffuseArray(JZ, KZ) * state.dataHeatBalSurfMgr->DiffuseArray(IZ, JZ); - for (int LZ = 1; LZ <= NumberOfEnclosures; ++LZ) { + for (int LZ = 1; LZ <= numEnclosures; ++LZ) { if (!state.dataHeatBalSurf->EnclSolRecDifShortFromZ(LZ)) continue; if (IZ == LZ) continue; if (JZ == LZ) continue; @@ -4525,7 +4525,7 @@ void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int const NumberOfEn state.dataHeatBalSurfMgr->DiffuseArray(JZ, KZ) * state.dataHeatBalSurfMgr->DiffuseArray(IZ, JZ); - for (int MZ = 1; MZ <= NumberOfEnclosures; ++MZ) { + for (int MZ = 1; MZ <= numEnclosures; ++MZ) { if (!state.dataHeatBalSurf->EnclSolRecDifShortFromZ(MZ)) continue; if (IZ == MZ) continue; if (JZ == MZ) continue; diff --git a/src/EnergyPlus/HeatBalanceSurfaceManager.hh b/src/EnergyPlus/HeatBalanceSurfaceManager.hh index 6ec6ec4583c..caaef860db2 100644 --- a/src/EnergyPlus/HeatBalanceSurfaceManager.hh +++ b/src/EnergyPlus/HeatBalanceSurfaceManager.hh @@ -114,7 +114,7 @@ namespace HeatBalanceSurfaceManager { void ComputeIntSWAbsorpFactors(EnergyPlusData &state); - void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state, int NumberOfEnclosures); // Number of solar enclosures + void ComputeDifSolExcZonesWIZWindows(EnergyPlusData &state); void InitEMSControlledSurfaceProperties(EnergyPlusData &state); diff --git a/src/EnergyPlus/HybridModel.cc b/src/EnergyPlus/HybridModel.cc index 152599c04e8..b3e80bcfcb1 100644 --- a/src/EnergyPlus/HybridModel.cc +++ b/src/EnergyPlus/HybridModel.cc @@ -472,7 +472,15 @@ namespace HybridModel { OutputProcessor::StoreType::Average, state.dataHeatBal->Zone(ZonePtr).Name); } - + if (state.dataHybridModel->HybridModelZone(ZonePtr).InternalThermalMassCalc_T) { + SetupOutputVariable(state, + "Zone Hybrid Model Thermal Mass Multiplier", + Constant::Units::None, + state.dataHeatBal->Zone(ZonePtr).ZoneVolCapMultpSensHM, + OutputProcessor::TimeStepType::Zone, + OutputProcessor::StoreType::Average, + state.dataHeatBal->Zone(ZonePtr).Name); + } } else { ShowSevereError( state, diff --git a/src/EnergyPlus/InternalHeatGains.cc b/src/EnergyPlus/InternalHeatGains.cc index 28be848bb73..b7c816e8803 100644 --- a/src/EnergyPlus/InternalHeatGains.cc +++ b/src/EnergyPlus/InternalHeatGains.cc @@ -8217,7 +8217,7 @@ namespace InternalHeatGains { state.dataHeatBal->spaceRpt(spaceNum).EnergyRpt[i] += state.dataHeatBal->ZoneITEq(Loop).EnergyRpt[i]; } - state.dataHeatBal->ZoneITEq(Loop).AirVolFlowStdDensity = AirMassFlowRate * state.dataEnvrn->StdRhoAir; + state.dataHeatBal->ZoneITEq(Loop).AirVolFlowStdDensity = AirMassFlowRate / state.dataEnvrn->StdRhoAir; state.dataHeatBal->ZoneITEq(Loop).AirVolFlowCurDensity = AirVolFlowRate; state.dataHeatBal->ZoneITEq(Loop).AirMassFlow = AirMassFlowRate; state.dataHeatBal->ZoneITEq(Loop).AirInletDryBulbT = TAirIn; diff --git a/src/EnergyPlus/OutputReportPredefined.cc b/src/EnergyPlus/OutputReportPredefined.cc index f16f54edba1..79575aaf29e 100644 --- a/src/EnergyPlus/OutputReportPredefined.cc +++ b/src/EnergyPlus/OutputReportPredefined.cc @@ -336,29 +336,29 @@ namespace OutputReportPredefined { s->pdchCoolCoilArea = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Coil Surface Area [m2]"); s->pdstDXCoolCoil = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil Standard Ratings 2017"); - s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil, "Cooling Coil Type #1"); - s->pdchDXCoolCoilNetCapSI = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rated Net Cooling Capacity [W] #2"); + s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil, "Cooling Coil Type [1]"); + s->pdchDXCoolCoilNetCapSI = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rating Net Cooling Capacity [W][2]"); - s->pdchDXCoolCoilCOP = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rated Net COP [W/W] #2"); - s->pdchDXCoolCoilEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "EER [Btu/W-h] #2"); - s->pdchDXCoolCoilSEERUserIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER User [Btu/W-h] #2,3"); - s->pdchDXCoolCoilSEERStandardIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER Standard [Btu/W-h] #2,3"); - s->pdchDXCoolCoilIEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "IEER [Btu/W-h] #2"); + s->pdchDXCoolCoilCOP = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rating Net COP [W/W][2]"); + s->pdchDXCoolCoilEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "EER [Btu/W-h][2]"); + s->pdchDXCoolCoilSEERUserIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER User [Btu/W-h][2,3]"); + s->pdchDXCoolCoilSEERStandardIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER Standard [Btu/W-h][2,3]"); + s->pdchDXCoolCoilIEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "IEER [Btu/W-h][2]"); // for DX Cooling Coil AHRI Standard 2023 Ratings | SEER2 s->pdstDXCoolCoil_2023 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil Standard Ratings 2023"); - s->pdchDXCoolCoilType_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Cooling Coil Type #1"); - s->pdchDXCoolCoilNetCapSI_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rated Net Cooling Capacity [W] #2"); + s->pdchDXCoolCoilType_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Cooling Coil Type [1]"); + s->pdchDXCoolCoilNetCapSI_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rating Net Cooling Capacity [W][2]"); - s->pdchDXCoolCoilCOP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rated Net COP [W/W] #2,4"); - s->pdchDXCoolCoilEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "EER [Btu/W-h] #2,4"); - s->pdchDXCoolCoilSEER2UserIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER User [Btu/W-h] #2,3"); - s->pdchDXCoolCoilSEER2StandardIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER Standard [Btu/W-h] #2,3"); - s->pdchDXCoolCoilIEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "IEER [Btu/W-h] #2"); + s->pdchDXCoolCoilCOP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rating Net COP2 [W/W][2,4]"); + s->pdchDXCoolCoilEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "EER2 [Btu/W-h][2,4]"); + s->pdchDXCoolCoilSEER2UserIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 User [Btu/W-h][2,3]"); + s->pdchDXCoolCoilSEER2StandardIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 Standard [Btu/W-h][2,3]"); + s->pdchDXCoolCoilIEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "IEER [Btu/W-h][2]"); // for DX Cooling Coil ASHRAE 127-12 Report s->pdstDXCoolCoil2 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil ASHRAE 127 Standard Ratings Report"); - s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil2, "DX Cooling Coil Type"); + s->pdchDXCoolCoilType2 = newPreDefColumn(state, s->pdstDXCoolCoil2, "DX Cooling Coil Type"); s->pdchDXCoolCoilNetCapSIA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test A [W]"); s->pdchDXCoolCoilElecPowerA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test A [W]"); s->pdchDXCoolCoilNetCapSIB = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test B [W]"); diff --git a/src/EnergyPlus/OutputReportPredefined.hh b/src/EnergyPlus/OutputReportPredefined.hh index bfa0bc73b21..497fb039f20 100644 --- a/src/EnergyPlus/OutputReportPredefined.hh +++ b/src/EnergyPlus/OutputReportPredefined.hh @@ -299,6 +299,7 @@ struct OutputReportPredefinedData : BaseGlobalStruct // DX Cooling Coil subtable per ANSI/ASHRAE Std 127 for Tests A, B, C and D int pdstDXCoolCoil2 = 0; + int pdchDXCoolCoilType2 = 0; // DX cooling coil type int pdchDXCoolCoilNetCapSIA = 0; // Standard Rated (Net) Cooling Capacity [W], Test A int pdchDXCoolCoilElecPowerA = 0; // Standard Rated Electric Power [W], Test A int pdchDXCoolCoilNetCapSIB = 0; // Standard Rated (Net) Cooling Capacity [W], Test B diff --git a/src/EnergyPlus/Plant/Enums.hh b/src/EnergyPlus/Plant/Enums.hh index 7a04605d850..a8ef2ea229f 100644 --- a/src/EnergyPlus/Plant/Enums.hh +++ b/src/EnergyPlus/Plant/Enums.hh @@ -250,6 +250,19 @@ enum class FlowMode constexpr std::array(FlowMode::Num)> FlowModeNamesUC{ "CONSTANTFLOW", "NOTMODULATED", "LEAVINGSETPOINTMODULATED", "VARIABLESPEEDPUMPING"}; +enum class CondenserFlowControl +{ + Invalid = -1, + ConstantFlow, + ModulatedChillerPLR, + ModulatedLoopPLR, + ModulatedDeltaTemperature, + Num +}; + +constexpr std::array(CondenserFlowControl::Num)> CondenserFlowControlNamesUC{ + "CONSTANTFLOW", "MODULATEDCHILLERPLR", "MODULATEDLOOPPLR", "MODULATEDDELTATEMPERATURE"}; + enum class CondenserType { Invalid = -1, diff --git a/src/EnergyPlus/Plant/PlantManager.cc b/src/EnergyPlus/Plant/PlantManager.cc index f109bd37b28..97ad288b237 100644 --- a/src/EnergyPlus/Plant/PlantManager.cc +++ b/src/EnergyPlus/Plant/PlantManager.cc @@ -3046,16 +3046,6 @@ void SizePlantLoop(EnergyPlusData &state, state.dataPlnt->PlantLoop(LoopNum).LoopSide(LoopSideLocation::Supply).Branch(BranchNum).PumpSizFac = PlantSizFac; } } - - } else { - // fill PlantSizFac from data structure - // for (BranchNum = 1; - // BranchNum <= PlantLoop(LoopNum).LoopSide(LoopSideLocation::Supply).TotalBranches; ++BranchNum) { - // if (PlantLoop(LoopNum).LoopSide(LoopSideLocation::Supply).NodeNumIn == - // PlantLoop(LoopNum).LoopSide(LoopSideLocation::Supply).Branch(BranchNum).NodeNumIn) { - // break; - // } - // } } // sum up contributions from CompDesWaterFlow, demand side size request (non-coincident) @@ -3263,6 +3253,9 @@ void SizePlantLoop(EnergyPlusData &state, Real64 DesignPlantCapacity = cp * FluidDensity * state.dataSize->PlantSizData(PlantSizNum).DesVolFlowRate * state.dataSize->PlantSizData(PlantSizNum).DeltaT; state.dataSize->PlantSizData(PlantSizNum).DesCapacity = DesignPlantCapacity; // store it for later use in scaling + if (state.dataPlnt->PlantFinalSizesOkayToReport) { + BaseSizer::reportSizerOutput(state, "PlantLoop", state.dataPlnt->PlantLoop(LoopNum).Name, "Design Capacity [W]", DesignPlantCapacity); + } } } else if (state.dataPlnt->PlantLoop(LoopNum).FluidType == DataLoopNode::NodeFluidType::Steam) { FluidDensity = GetSatDensityRefrig(state, fluidNameSteam, 100.0, 1.0, state.dataPlnt->PlantLoop(LoopNum).FluidIndex, RoutineName); diff --git a/src/EnergyPlus/PlantCentralGSHP.cc b/src/EnergyPlus/PlantCentralGSHP.cc index 323da9bafe3..22b83365e15 100644 --- a/src/EnergyPlus/PlantCentralGSHP.cc +++ b/src/EnergyPlus/PlantCentralGSHP.cc @@ -1206,7 +1206,11 @@ void GetChillerHeaterInput(EnergyPlusData &state) state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).Name = state.dataIPShortCut->cAlphaArgs(1); Util::IsNameEmpty(state, state.dataIPShortCut->cAlphaArgs(1), state.dataIPShortCut->cCurrentModuleObject, CHErrorsFound); - state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeCooling = state.dataIPShortCut->cAlphaArgs(4); + if (Util::SameString(state.dataIPShortCut->cAlphaArgs(4), "LEAVINGCONDENSER")) { + state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeCooling = CondenserModeTemperature::LeavingCondenser; + } else { // only other option and default value is EnteringCondenser + state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeCooling = CondenserModeTemperature::EnteringCondenser; + } // Performance curves state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).ChillerCapFTCoolingIDX = @@ -1233,7 +1237,11 @@ void GetChillerHeaterInput(EnergyPlusData &state) CHErrorsFound = true; } - state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeHeating = state.dataIPShortCut->cAlphaArgs(8); + if (Util::SameString(state.dataIPShortCut->cAlphaArgs(8), "LEAVINGCONDENSER")) { + state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeHeating = CondenserModeTemperature::LeavingCondenser; + } else { // only other option and default value is EnteringCondenser + state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).CondModeHeating = CondenserModeTemperature::EnteringCondenser; + } // Performance curves state.dataPlantCentralGSHP->ChillerHeater(ChillerHeaterNum).ChillerCapFTHeatingIDX = @@ -1975,57 +1983,16 @@ void WrapperSpecs::CalcChillerModel(EnergyPlusData &state) // Only used to read curve values CondOutletTemp = this->ChillerHeater(ChillerHeaterNum).TempRefCondOutCooling; - Real64 CondTempforCurve; - if (this->ChillerHeater(ChillerHeaterNum).CondMode == "ENTERINGCONDENSER") { - CondTempforCurve = CondInletTemp; - } else if (this->ChillerHeater(ChillerHeaterNum).CondMode == "LEAVINGCONDENSER") { - CondTempforCurve = CondOutletTemp; - } else { - ShowWarningError(state, format("ChillerHeaterPerformance:Electric:EIR \"{}\":", this->ChillerHeater(ChillerHeaterNum).Name)); - ShowContinueError(state, - format("Chiller condenser temperature for curve fit are not decided, defalt value= cond_leaving ({:.3R}).", - state.dataPlantCentralGSHP->ChillerCapFT)); - CondTempforCurve = CondOutletTemp; - } - - // Bind local variables from the curve - Real64 MinPartLoadRat; // Min allowed operating fraction of full load - Real64 MaxPartLoadRat; // Max allowed operating fraction of full load - - Curve::GetCurveMinMaxValues(state, this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRIDX, MinPartLoadRat, MaxPartLoadRat); + Real64 CondTempforCurve = this->setChillerHeaterCondTemp(state, ChillerHeaterNum, CondInletTemp, CondOutletTemp); // Chiller reference capacity Real64 ChillerRefCap = this->ChillerHeater(ChillerHeaterNum).RefCap; Real64 ReferenceCOP = this->ChillerHeater(ChillerHeaterNum).RefCOP; Real64 TempLowLimitEout = this->ChillerHeater(ChillerHeaterNum).TempLowLimitEvapOut; Real64 EvapOutletTempSetPoint = this->ChillerHeater(ChillerHeaterNum).TempRefEvapOutCooling; - state.dataPlantCentralGSHP->ChillerCapFT = - Curve::CurveValue(state, this->ChillerHeater(ChillerHeaterNum).ChillerCapFTIDX, EvapOutletTempSetPoint, CondTempforCurve); - - if (state.dataPlantCentralGSHP->ChillerCapFT < 0) { - if (this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError < 1 && !state.dataGlobal->WarmupFlag) { - ++this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError; - ShowWarningError(state, format("ChillerHeaterPerformance:Electric:EIR \"{}\":", this->ChillerHeater(ChillerHeaterNum).Name)); - ShowContinueError(state, - format(" ChillerHeater Capacity as a Function of Temperature curve output is negative ({:.3R}).", - state.dataPlantCentralGSHP->ChillerCapFT)); - ShowContinueError(state, - format(" Negative value occurs using an Evaporator Outlet Temp of {:.1R} and a Condenser Inlet Temp of {:.1R}.", - EvapOutletTempSetPoint, - CondInletTemp)); - ShowContinueErrorTimeStamp(state, " Resetting curve output to zero and continuing simulation."); - } else if (!state.dataGlobal->WarmupFlag) { - ++this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError; - ShowRecurringWarningErrorAtEnd( - state, - "ChillerHeaterPerformance:Electric:EIR \"" + this->ChillerHeater(ChillerHeaterNum).Name + - "\": ChillerHeater Capacity as a Function of Temperature curve output is negative warning continues...", - this->ChillerHeater(ChillerHeaterNum).ChillerCapFTErrorIndex, - state.dataPlantCentralGSHP->ChillerCapFT, - state.dataPlantCentralGSHP->ChillerCapFT); - } - state.dataPlantCentralGSHP->ChillerCapFT = 0.0; - } + + // Calculate Chiller Capacity as a function of temperature and error check + state.dataPlantCentralGSHP->ChillerCapFT = this->calcChillerCapFT(state, ChillerHeaterNum, EvapOutletTempSetPoint, CondTempforCurve); // Calculate the specific heat of chilled water Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, @@ -2048,13 +2015,17 @@ void WrapperSpecs::CalcChillerModel(EnergyPlusData &state) // Chiller available capacity at current operating conditions [W] Real64 AvailChillerCap = ChillerRefCap * state.dataPlantCentralGSHP->ChillerCapFT; + Real64 PartLoadRat; // Operating part load ratio + Real64 MinPartLoadRat; // Min allowed operating fraction of full load + Real64 MaxPartLoadRat; // Max allowed operating fraction of full load + + Curve::GetCurveMinMaxValues(state, this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRIDX, MinPartLoadRat, MaxPartLoadRat); + // Set load this chiller heater should meet QEvaporator = min(CoolingLoadToMeet, (AvailChillerCap * MaxPartLoadRat)); EvapOutletTemp = EvapOutletTempSetPoint; Real64 EvapDeltaTemp = EvapInletTemp - EvapOutletTemp; - Real64 PartLoadRat; // Operating part load ratio - // Calculate temperatures for constant flow and mass flow rates for variable flow if (EvapMassFlowRate > DataBranchAirLoopPlant::MassFlowTolerance) { if (this->SimulHtgDominant) { // Evaporator operates at full capacity for heating @@ -2088,59 +2059,12 @@ void WrapperSpecs::CalcChillerModel(EnergyPlusData &state) EvapOutletTemp = EvapInletTemp; } - // Check evaporator temperature low limit and adjust capacity if needed - if (EvapOutletTemp < TempLowLimitEout) { - if ((EvapInletTemp - TempLowLimitEout) > DataPlant::DeltaTempTol) { - EvapOutletTemp = TempLowLimitEout; - EvapDeltaTemp = EvapInletTemp - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } else { - QEvaporator = 0.0; - EvapOutletTemp = EvapInletTemp; - } - } - - // Check if the outlet temperature exceeds the node minimum temperature and adjust capacity if needed - if (EvapOutletTemp < this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin) { - if ((this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp - this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin) > - DataPlant::DeltaTempTol) { - EvapOutletTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin; - EvapDeltaTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } else { - QEvaporator = 0.0; - EvapOutletTemp = EvapInletTemp; - } - } + // Run evaporator checks and adjust outlet temp and QEvaporator if necessary + WrapperSpecs::checkEvapOutletTemp( + state, ChillerHeaterNum, EvapOutletTemp, TempLowLimitEout, EvapInletTemp, QEvaporator, EvapMassFlowRate, Cp); // Calculate part load once more since evaporator capacity might be modified - if (AvailChillerCap > 0.0) { - PartLoadRat = max(0.0, min((QEvaporator / AvailChillerCap), MaxPartLoadRat)); - } else { - PartLoadRat = 0.0; - } - - // Chiller cycles below minimum part load ratio, FRAC = amount of time chiller is ON during this time step - if (PartLoadRat < MinPartLoadRat) FRAC = min(1.0, (PartLoadRat / MinPartLoadRat)); - - // set the module level variable used for reporting FRAC - state.dataPlantCentralGSHP->ChillerCyclingRatio = FRAC; - - // Chiller is false loading below PLR = minimum unloading ratio, find PLR used for energy calculation - if (AvailChillerCap > 0.0) { - PartLoadRat = max(PartLoadRat, MinPartLoadRat); - } else { - PartLoadRat = 0.0; - } - - // set the module level variable used for reporting PLR - state.dataPlantCentralGSHP->ChillerPartLoadRatio = PartLoadRat; - - // calculate the load due to false loading on chiller over and above water side load - state.dataPlantCentralGSHP->ChillerFalseLoadRate = (AvailChillerCap * PartLoadRat * FRAC) - QEvaporator; - if (state.dataPlantCentralGSHP->ChillerFalseLoadRate < HVAC::SmallLoad) { - state.dataPlantCentralGSHP->ChillerFalseLoadRate = 0.0; - } + WrapperSpecs::calcPLRAndCyclingRatio(state, AvailChillerCap, PartLoadRat, MinPartLoadRat, MaxPartLoadRat, QEvaporator, FRAC); // Determine chiller compressor power and transfer heat calculation state.dataPlantCentralGSHP->ChillerEIRFT = @@ -2442,34 +2366,8 @@ void WrapperSpecs::CalcChillerHeaterModel(EnergyPlusData &state) // Mode 4 uses all data from the chilled water loop due to no heating demand if (this->SimulClgDominant || CurrentMode == 3) { CurrentMode = 3; - Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, - state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidName, - CondInletTemp, - state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidIndex, - RoutineName); - QCondenser = this->ChillerHeater(ChillerHeaterNum).Report.QCondSimul; - - if (this->VariableFlowCH) { // Variable flow - Real64 CondMassFlowRateCalc = QCondenser / CondDeltaTemp / Cp; - if (CondMassFlowRateCalc > CondMassFlowRate) { - CondMassFlowRateCalc = CondMassFlowRate; - Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; - if (CondDeltaTempCalc > CondDeltaTemp) { // Load to meet should be adjusted - QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; - } - } - CondMassFlowRate = CondMassFlowRateCalc; - } else { // Constant flow control - Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; - Real64 CondOutletTempCalc = CondDeltaTempCalc + CondInletTemp; - if (CondOutletTempCalc > CondOutletTemp) { - CondOutletTempCalc = CondOutletTemp; - QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; - } - CondOutletTemp = CondOutletTempCalc; - } - + this->adjustChillerHeaterFlowTemp(state, QCondenser, CondMassFlowRate, CondOutletTemp, CondInletTemp, CondDeltaTemp); } else { // Either Mode 2 or 3 or 5 if (this->SimulHtgDominant) { CurrentMode = 5; @@ -2492,63 +2390,27 @@ void WrapperSpecs::CalcChillerHeaterModel(EnergyPlusData &state) this->ChillerHeater(ChillerHeaterNum).ChillerEIRFTIDX = this->ChillerHeater(ChillerHeaterNum).ChillerEIRFTHeatingIDX; this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRIDX = this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRHeatingIDX; - Real64 CondTempforCurve; // Reference condenser temperature for the performance curve reading - - if (this->ChillerHeater(ChillerHeaterNum).CondMode == "ENTERINGCONDENSER") { - CondTempforCurve = CondInletTemp; - } else if (this->ChillerHeater(ChillerHeaterNum).CondMode == "LEAVINGCONDENSER") { - CondTempforCurve = this->ChillerHeater(ChillerHeaterNum).TempRefCondOutClgHtg; //! CondOutletTemp - } else { - ShowWarningError(state, format("ChillerHeaterPerformance:Electric:EIR \"{}\":", this->ChillerHeater(ChillerHeaterNum).Name)); - ShowContinueError(state, - format("Chiller condenser temperature for curve fit are not decided, default value= cond_leaving ({:.3R}).", - state.dataPlantCentralGSHP->ChillerCapFT)); - CondTempforCurve = - state.dataLoopNodes->Node(state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).TempSetPointNodeNum).TempSetPoint; - } - - Real64 MinPartLoadRat; // Min allowed operating fraction of full load - Real64 MaxPartLoadRat; // Max allowed operating fraction of full load + // Reference condenser temperature for the performance curve reading: set to entering or leaving condenser temperature based on user + // input + Real64 CondTempforCurve = this->setChillerHeaterCondTemp( + state, ChillerHeaterNum, CondInletTemp, this->ChillerHeater(ChillerHeaterNum).TempRefCondOutClgHtg); - Curve::GetCurveMinMaxValues(state, this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRIDX, MinPartLoadRat, MaxPartLoadRat); Real64 ChillerRefCap = this->ChillerHeater(ChillerHeaterNum).RefCap; Real64 ReferenceCOP = this->ChillerHeater(ChillerHeaterNum).RefCOP; EvapOutletTemp = this->ChillerHeater(ChillerHeaterNum).TempRefEvapOutClgHtg; Real64 TempLowLimitEout = this->ChillerHeater(ChillerHeaterNum).TempLowLimitEvapOut; Real64 EvapOutletTempSetPoint = this->ChillerHeater(ChillerHeaterNum).TempRefEvapOutClgHtg; - state.dataPlantCentralGSHP->ChillerCapFT = - Curve::CurveValue(state, this->ChillerHeater(ChillerHeaterNum).ChillerCapFTIDX, EvapOutletTempSetPoint, CondTempforCurve); - if (state.dataPlantCentralGSHP->ChillerCapFT < 0) { - if (this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError < 1 && !state.dataGlobal->WarmupFlag) { - ++this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError; - ShowWarningError(state, format("ChillerHeaterPerformance:Electric:EIR \"{}\":", this->ChillerHeater(ChillerHeaterNum).Name)); - ShowContinueError(state, - format(" ChillerHeater Capacity as a Function of Temperature curve output is negative ({:.3R}).", - state.dataPlantCentralGSHP->ChillerCapFT)); - ShowContinueError( - state, - format(" Negative value occurs using an Evaporator Outlet Temp of {:.1R} and a Condenser Inlet Temp of {:.1R}.", - EvapOutletTempSetPoint, - CondInletTemp)); - ShowContinueErrorTimeStamp(state, " Resetting curve output to zero and continuing simulation."); - } else if (!state.dataGlobal->WarmupFlag) { - ++this->ChillerHeater(ChillerHeaterNum).ChillerCapFTError; - ShowRecurringWarningErrorAtEnd( - state, - "ChillerHeaterPerformance:Electric:EIR \"" + this->ChillerHeater(ChillerHeaterNum).Name + - "\": ChillerHeater Capacity as a Function of Temperature curve output is negative warning continues...", - this->ChillerHeater(ChillerHeaterNum).ChillerCapFTErrorIndex, - state.dataPlantCentralGSHP->ChillerCapFT, - state.dataPlantCentralGSHP->ChillerCapFT); - } - state.dataPlantCentralGSHP->ChillerCapFT = 0.0; - } + // Calculate Chiller Capacity as a function of temperature and error check + state.dataPlantCentralGSHP->ChillerCapFT = this->calcChillerCapFT(state, ChillerHeaterNum, EvapOutletTempSetPoint, CondTempforCurve); // Available chiller capacity as a function of temperature Real64 AvailChillerCap = ChillerRefCap * state.dataPlantCentralGSHP->ChillerCapFT; - Real64 PartLoadRat; // Operating part load ratio + Real64 PartLoadRat; // Operating part load ratio + Real64 MinPartLoadRat; // Min allowed operating fraction of full load + Real64 MaxPartLoadRat; // Max allowed operating fraction of full load + Curve::GetCurveMinMaxValues(state, this->ChillerHeater(ChillerHeaterNum).ChillerEIRFPLRIDX, MinPartLoadRat, MaxPartLoadRat); // Part load ratio based on reference capacity and available chiller capacity if (AvailChillerCap > 0) { @@ -2570,58 +2432,17 @@ void WrapperSpecs::CalcChillerHeaterModel(EnergyPlusData &state) EvapOutletTemp = EvapInletTemp - EvapDeltaTemp; } - // Check that the evaporator outlet temp honors both plant loop temp low limit and also the chiller low limit - if (EvapOutletTemp < TempLowLimitEout) { - if ((this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp - TempLowLimitEout) > DataPlant::DeltaTempTol) { - EvapOutletTemp = TempLowLimitEout; - Real64 EvapDeltaTemp = this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } else { - EvapOutletTemp = this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp; - Real64 EvapDeltaTemp = this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } - } + // Run evaporator checks and adjust outlet temp and QEvaporator if necessary + WrapperSpecs::checkEvapOutletTemp(state, + ChillerHeaterNum, + EvapOutletTemp, + TempLowLimitEout, + this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp, + QEvaporator, + EvapMassFlowRate, + Cp); - if (EvapOutletTemp < this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin) { - if ((this->ChillerHeater(ChillerHeaterNum).EvapInletNode.Temp - this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin) > - DataPlant::DeltaTempTol) { - EvapOutletTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin; - Real64 EvapDeltaTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } else { - EvapOutletTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin; - Real64 EvapDeltaTemp = this->ChillerHeater(ChillerHeaterNum).EvapOutletNode.TempMin - EvapOutletTemp; - QEvaporator = EvapMassFlowRate * Cp * EvapDeltaTemp; - } - } - - // Evaporator operates at full load - if (AvailChillerCap > 0.0) { - PartLoadRat = max(0.0, min((QEvaporator / AvailChillerCap), MaxPartLoadRat)); - } else { - PartLoadRat = 0.0; - } - - // Chiller cycles below minimum part load ratio, FRAC = amount of time chiller is ON during this time step - if (PartLoadRat < MinPartLoadRat) FRAC = min(1.0, (PartLoadRat / MinPartLoadRat)); - if (FRAC <= 0.0) FRAC = 1.0; // CR 9303 COP reporting issue, it should be greater than zero in this routine - state.dataPlantCentralGSHP->ChillerCyclingRatio = FRAC; - - // Chiller is false loading below PLR = minimum unloading ratio, find PLR used for energy calculation - if (AvailChillerCap > 0.0) { - PartLoadRat = max(PartLoadRat, MinPartLoadRat); - } else { - PartLoadRat = 0.0; - } - // Evaporator part load ratio - state.dataPlantCentralGSHP->ChillerPartLoadRatio = PartLoadRat; - - // calculate the load due to false loading on chiller over and above water side load - state.dataPlantCentralGSHP->ChillerFalseLoadRate = (AvailChillerCap * PartLoadRat * FRAC) - QEvaporator; - if (state.dataPlantCentralGSHP->ChillerFalseLoadRate < HVAC::SmallLoad) { - state.dataPlantCentralGSHP->ChillerFalseLoadRate = 0.0; - } + WrapperSpecs::calcPLRAndCyclingRatio(state, AvailChillerCap, PartLoadRat, MinPartLoadRat, MaxPartLoadRat, QEvaporator, FRAC); state.dataPlantCentralGSHP->ChillerEIRFT = max(0.0, Curve::CurveValue(state, this->ChillerHeater(ChillerHeaterNum).ChillerEIRFTIDX, EvapOutletTemp, CondTempforCurve)); @@ -2646,37 +2467,13 @@ void WrapperSpecs::CalcChillerHeaterModel(EnergyPlusData &state) // Set load this chiller heater should meet and temperatures given QCondenser = min(HeatingLoadToMeet, QCondenser); - Cp = FluidProperties::GetSpecificHeatGlycol(state, - state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidName, - CondInletTemp, - state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidIndex, - RoutineNameElecEIRChiller); - - // Calculate temperatures for constant flow and mass flow rate for variable flow - // Limit mass for this chiller heater to the available mass at given temperature conditions - // when mass calculated to meet the load is greater than the maximum available + // Calculate outlet temperature for constant flow and mass flow rate for variable flow + // Limit mass flow rate for this chiller heater to the available mass at given temperature conditions + // when mass flow rate calculated to meet the load is greater than the maximum available // then recalculate heating load this chiller heater can meet if (CurrentMode == 2 || this->SimulHtgDominant) { if (CondMassFlowRate > DataBranchAirLoopPlant::MassFlowTolerance && CondDeltaTemp > 0.0) { - if (this->VariableFlowCH) { // Variable flow - Real64 CondMassFlowRateCalc = QCondenser / CondDeltaTemp / Cp; - if (CondMassFlowRateCalc > CondMassFlowRate) { - CondMassFlowRateCalc = CondMassFlowRate; - Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; - if (CondDeltaTempCalc > CondDeltaTemp) { // Load to meet should be adjusted - QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; - } - } - CondMassFlowRate = CondMassFlowRateCalc; - } else { // Constant Flow at a fixed flow rate and capacity - Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; - Real64 CondOutletTempCalc = CondDeltaTempCalc + CondInletTemp; - if (CondOutletTempCalc > CondOutletTemp) { // Load to meet should be adjusted - CondOutletTempCalc = CondOutletTemp; - QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; - } - CondOutletTemp = CondOutletTempCalc; - } + this->adjustChillerHeaterFlowTemp(state, QCondenser, CondMassFlowRate, CondOutletTemp, CondInletTemp, CondDeltaTemp); } else { QCondenser = 0.0; CondOutletTemp = CondInletTemp; @@ -2757,6 +2554,157 @@ void WrapperSpecs::CalcChillerHeaterModel(EnergyPlusData &state) } } +void WrapperSpecs::adjustChillerHeaterFlowTemp(EnergyPlusData &state, + Real64 &QCondenser, + Real64 &CondMassFlowRate, + Real64 &CondOutletTemp, + Real64 const CondInletTemp, + Real64 const CondDeltaTemp) +{ + // Based on whether this is variable or constant flow, adjust either flow or outlet temperature and also the load + static constexpr std::string_view RoutineName("adjustChillerHeaterFlow"); + Real64 Cp = FluidProperties::GetSpecificHeatGlycol(state, + state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidName, + CondInletTemp, + state.dataPlnt->PlantLoop(this->HWPlantLoc.loopNum).FluidIndex, + RoutineName); + + if (this->VariableFlowCH) { // Variable Flow (adjust flow and condenser load as needed) + Real64 CondMassFlowRateCalc = QCondenser / CondDeltaTemp / Cp; + if (CondMassFlowRateCalc > CondMassFlowRate) { + CondMassFlowRateCalc = CondMassFlowRate; + Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; + if (CondDeltaTempCalc > CondDeltaTemp) { // Load to meet should be adjusted + QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; + } + } + CondMassFlowRate = CondMassFlowRateCalc; + } else { // Constant Flow (adjust outlet temperature and condenser load as needed) + Real64 CondDeltaTempCalc = QCondenser / CondMassFlowRate / Cp; + Real64 CondOutletTempCalc = CondDeltaTempCalc + CondInletTemp; + if (CondOutletTempCalc > CondOutletTemp) { // Load to meet should be adjusted + CondOutletTempCalc = CondOutletTemp; + QCondenser = CondMassFlowRate * Cp * CondDeltaTemp; + } + CondOutletTemp = CondOutletTempCalc; + } +} + +Real64 +WrapperSpecs::setChillerHeaterCondTemp(EnergyPlusData &state, int const numChillerHeater, Real64 const condEnteringTemp, Real64 const condLeavingTemp) +{ + Real64 setChillerHeaterCondTemp; + if (this->ChillerHeater(numChillerHeater).CondMode == CondenserModeTemperature::EnteringCondenser) { + setChillerHeaterCondTemp = condEnteringTemp; + } else { // by default, if not EnteringCondenser, then this can only be LeavingCondenser + setChillerHeaterCondTemp = condLeavingTemp; + } + return setChillerHeaterCondTemp; +} + +Real64 WrapperSpecs::calcChillerCapFT(EnergyPlusData &state, int const numChillerHeater, Real64 const evapOutletTemp, Real64 const condTemp) +{ + // Calculate the chiller capacity as a function of temperature + Real64 chillCapFT = Curve::CurveValue(state, this->ChillerHeater(numChillerHeater).ChillerCapFTIDX, evapOutletTemp, condTemp); + + // Tracks errors for when the capacity is calculated as less than zero + if (chillCapFT < 0) { + if (this->ChillerHeater(numChillerHeater).ChillerCapFTError < 1 && !state.dataGlobal->WarmupFlag) { + ++this->ChillerHeater(numChillerHeater).ChillerCapFTError; + ShowWarningError(state, format("ChillerHeaterPerformance:Electric:EIR \"{}\":", this->ChillerHeater(numChillerHeater).Name)); + ShowContinueError(state, format(" ChillerHeater Capacity as a Function of Temperature curve output is negative ({:.3R}).", chillCapFT)); + ShowContinueError(state, + format(" Negative value occurs using an Evaporator Outlet Temp of {:.1R} and a Condenser Inlet Temp of {:.1R}.", + evapOutletTemp, + condTemp)); + ShowContinueErrorTimeStamp(state, " Resetting curve output to zero and continuing simulation."); + } else if (!state.dataGlobal->WarmupFlag) { + ++this->ChillerHeater(numChillerHeater).ChillerCapFTError; + ShowRecurringWarningErrorAtEnd( + state, + "ChillerHeaterPerformance:Electric:EIR \"" + this->ChillerHeater(numChillerHeater).Name + + "\": ChillerHeater Capacity as a Function of Temperature curve output is negative warning continues...", + this->ChillerHeater(numChillerHeater).ChillerCapFTErrorIndex, + chillCapFT, + chillCapFT); + } + chillCapFT = 0.0; + } + return chillCapFT; +} + +void WrapperSpecs::checkEvapOutletTemp(EnergyPlusData &state, + int const numChillerHeater, + Real64 &evapOutletTemp, + Real64 const lowTempLimitEout, + Real64 const evapInletTemp, + Real64 &qEvaporator, + Real64 &evapMassFlowRate, + Real64 const Cp) +{ + // Check evaporator temperature low limit and adjust capacity if needed + if (evapOutletTemp < lowTempLimitEout) { + if ((evapInletTemp - lowTempLimitEout) > DataPlant::DeltaTempTol) { + evapOutletTemp = lowTempLimitEout; + Real64 evapDeltaTemp = evapInletTemp - evapOutletTemp; + qEvaporator = evapMassFlowRate * Cp * evapDeltaTemp; + } else { + qEvaporator = 0.0; + evapOutletTemp = evapInletTemp; + } + } + + // Check if the outlet temperature exceeds the node minimum temperature and adjust capacity if needed + if (evapOutletTemp < this->ChillerHeater(numChillerHeater).EvapOutletNode.TempMin) { + if ((this->ChillerHeater(numChillerHeater).EvapInletNode.Temp - this->ChillerHeater(numChillerHeater).EvapOutletNode.TempMin) > + DataPlant::DeltaTempTol) { + evapOutletTemp = this->ChillerHeater(numChillerHeater).EvapOutletNode.TempMin; + Real64 evapDeltaTemp = this->ChillerHeater(numChillerHeater).EvapOutletNode.TempMin - evapOutletTemp; + qEvaporator = evapMassFlowRate * Cp * evapDeltaTemp; + } else { + qEvaporator = 0.0; + evapOutletTemp = evapInletTemp; + } + } +} + +void WrapperSpecs::calcPLRAndCyclingRatio(EnergyPlusData &state, + Real64 const availChillerCap, + Real64 &actualPartLoadRatio, + Real64 const minPartLoadRatio, + Real64 const maxPartLoadRatio, + Real64 const qEvaporator, + Real64 &frac) +{ + // Calculate PLR (actualPartLoadRatio) based on evaporator load and available capacity, factoring in max PLR + if (availChillerCap > 0.0) { + actualPartLoadRatio = max(0.0, min((qEvaporator / availChillerCap), maxPartLoadRatio)); + } else { + actualPartLoadRatio = 0.0; + } + + // Chiller cycles below minimum part load ratio, frac = amount of time chiller is ON during this time step + if (actualPartLoadRatio < minPartLoadRatio) frac = min(1.0, (actualPartLoadRatio / minPartLoadRatio)); + if (frac <= 0.0) frac = 1.0; // CR 9303 COP reporting issue, it should be greater than zero in this routine + state.dataPlantCentralGSHP->ChillerCyclingRatio = frac; + + // Chiller is false loading below PLR = minimum unloading ratio, find PLR used for energy calculation + if (availChillerCap > 0.0) { + actualPartLoadRatio = max(actualPartLoadRatio, minPartLoadRatio); + } else { + actualPartLoadRatio = 0.0; + } + + // Evaporator part load ratio + state.dataPlantCentralGSHP->ChillerPartLoadRatio = actualPartLoadRatio; + + // Calculate the load due to false loading on chiller over and above water side load + state.dataPlantCentralGSHP->ChillerFalseLoadRate = (availChillerCap * actualPartLoadRatio * frac) - qEvaporator; + if (state.dataPlantCentralGSHP->ChillerFalseLoadRate < HVAC::SmallLoad) { + state.dataPlantCentralGSHP->ChillerFalseLoadRate = 0.0; + } +} + void WrapperSpecs::CalcWrapperModel(EnergyPlusData &state, Real64 &MyLoad, int const LoopNum) { // SUBROUTINE INFORMATION: diff --git a/src/EnergyPlus/PlantCentralGSHP.hh b/src/EnergyPlus/PlantCentralGSHP.hh index 7121e3e1217..1744470956f 100644 --- a/src/EnergyPlus/PlantCentralGSHP.hh +++ b/src/EnergyPlus/PlantCentralGSHP.hh @@ -72,6 +72,14 @@ namespace PlantCentralGSHP { Num }; + enum class CondenserModeTemperature + { + Invalid = -1, + EnteringCondenser, + LeavingCondenser, + Num + }; + struct CGSHPNodeData { // Members @@ -168,88 +176,88 @@ namespace PlantCentralGSHP { struct ChillerHeaterSpecs { - std::string Name; // Name of the Chiller Heater object - std::string CondModeCooling; // Cooling mode temperature curve input variable - std::string CondModeHeating; // Clg/Htg mode temperature curve input variable - std::string CondMode; // Current mode temperature curve input variable - bool ConstantFlow; // True if this is a Constant Flow Chiller - bool VariableFlow; // True if this is a Variable Flow Chiller - bool CoolSetPointSetToLoop; // True if the setpoint is missing at the outlet node - bool HeatSetPointSetToLoop; // True if the setpoint is missing at the outlet node - bool CoolSetPointErrDone; // true if setpoint warning issued - bool HeatSetPointErrDone; // true if setpoint warning issued - bool PossibleSubcooling; // flag to indicate chiller is doing less cooling that requested - int ChillerHeaterNum; // Chiller heater number - CondenserType condenserType; // Type of Condenser - only water cooled is allowed - int ChillerCapFTCoolingIDX; // Cooling capacity function of temperature curve index - int ChillerEIRFTCoolingIDX; // Elec Input to Cooling Output ratio function of temperature curve index - int ChillerEIRFPLRCoolingIDX; // Elec Input to cooling output ratio function of PLR curve index - int ChillerCapFTHeatingIDX; // Clg/Htg capacity function of temperature curve index - int ChillerEIRFTHeatingIDX; // Elec Input to Clg/Htg Output ratio function of temperature curve index - int ChillerEIRFPLRHeatingIDX; // Elec Input to Clg/Htg output ratio function of PLR curve index - int ChillerCapFTIDX; // Capacity function of temperature curve index - int ChillerEIRFTIDX; // Elec Input to demand output ratio function of temperature curve index - int ChillerEIRFPLRIDX; // Elec Input to demand output ratio function of PLR curve index - int EvapInletNodeNum; // Node number on the inlet side of the plant (evaporator side) - int EvapOutletNodeNum; // Node number on the outlet side of the plant (evaporator side) - int CondInletNodeNum; // Node number on the inlet side of the condenser - int CondOutletNodeNum; // Node number on the outlet side of the condenser - int ChillerCapFTError; // Used for negative capacity as a function of temp warnings - int ChillerCapFTErrorIndex; // Used for negative capacity as a function of temp warnings - int ChillerEIRFTError; // Used for negative EIR as a function of temp warnings - int ChillerEIRFTErrorIndex; // Used for negative EIR as a function of temp warnings - int ChillerEIRFPLRError; // Used for negative EIR as a function of PLR warnings - int ChillerEIRFPLRErrorIndex; // Used for negative EIR as a function of PLR warnings - int ChillerEIRRefTempErrorIndex; // Used for reference temperature problems - int DeltaTErrCount; // Evaporator delta T equals 0 for variable flow chiller warning messages - int DeltaTErrCountIndex; // Index to evaporator delta T = 0 for variable flow chiller warning messages - int CondMassFlowIndex; // Index to condenser mass flow rate - Real64 RefCapCooling; // Reference cooling-mode evaporator capacity [W] - bool RefCapCoolingWasAutoSized; // true if reference cooling capacity was autosize on input - Real64 RefCOPCooling; // Reference cooling-mode COP - Real64 TempRefEvapOutCooling; // Reference cooling-mode evaporator leaving temperature [C] - Real64 TempRefCondInCooling; // Reference cooling-mode condenser entering temperature [C] - Real64 TempRefCondOutCooling; // Reference cooling-mode condenser leaving temperature [C] - Real64 MaxPartLoadRatCooling; // Maximum Part load ratio in cooling mode - Real64 OptPartLoadRatCooling; // Optimum Part load ratio in cooling mode - Real64 MinPartLoadRatCooling; // minimum Part load ratio in cooling mode - Real64 ClgHtgToCoolingCapRatio; // ratio of clg/htg-mode evaporator capacity to cooling-mode evap. cap - Real64 ClgHtgtoCogPowerRatio; // ratio of clg/htg-mode evaporator power to cooling-mode evap. power - Real64 RefCapClgHtg; // Reference clg/htg-mode evaporator capacity [W] - Real64 RefCOPClgHtg; // Reference clg/htg-mode COP - Real64 RefPowerClgHtg; // Reference clg/htg-mode evaporator power [W] - Real64 TempRefEvapOutClgHtg; // Reference clg/htg-mode evaporator leaving temperature [C] - Real64 TempRefCondInClgHtg; // Reference clg/htg-mode condenser entering temperature [C] - Real64 TempRefCondOutClgHtg; // Reference clg/htg-mode condenser leaving temperature [C] - Real64 TempLowLimitEvapOut; // Low temperature shut off [C] - Real64 MaxPartLoadRatClgHtg; // Maximum Part load ratio in simultaneous heating/cooling mode - Real64 OptPartLoadRatClgHtg; // Optimum Part load ratio in simultaneous heating/cooling mode - Real64 MinPartLoadRatClgHtg; // minimum Part load ratio in simultaneous heating/cooling mode - CGSHPNodeData EvapInletNode; // Chiller heater evaperator inlet node - CGSHPNodeData EvapOutletNode; // Chiller heater evaperator outlet node - CGSHPNodeData CondInletNode; // Chiller heater condenser inlet node - CGSHPNodeData CondOutletNode; // Chiller heater condenser outlet node - Real64 EvapVolFlowRate; // Reference water volumetric flow rate through the evaporator [m3/s] - bool EvapVolFlowRateWasAutoSized; // true if evaporator flow rate was autosize on input - Real64 tmpEvapVolFlowRate; // temporary ref water vol flow rate for intermediate sizing [m3/s] - Real64 CondVolFlowRate; // Reference water volumetric flow rate through the condenser [m3/s] - bool CondVolFlowRateWasAutoSized; // true if condenser flow rate was autosize on input - Real64 tmpCondVolFlowRate; // temporary ref water vol flow rate for intermediate sizing [m3/s] - Real64 CondMassFlowRateMax; // Reference water mass flow rate through condenser [kg/s] - Real64 EvapMassFlowRateMax; // Reference water mass flow rate through evaporator [kg/s] - Real64 Evapmdot; // Evaporator mass flow rate [kg/s] - Real64 Condmdot; // Condenser mass flow rate [kg/s] - Real64 DesignHotWaterVolFlowRate; // Design hot water volumetric flow rate through the condenser [m3/s] - Real64 OpenMotorEff; // Open chiller motor efficiency [fraction, 0 to 1] - Real64 SizFac; // sizing factor - Real64 RefCap; // Reference evaporator capacity [W] - Real64 RefCOP; // Reference COP - Real64 TempRefEvapOut; // Reference evaporator leaving temperature [C] - Real64 TempRefCondIn; // Reference condenser entering temperature [C] - Real64 TempRefCondOut; // Reference condenser leaving temperature [C] - Real64 OptPartLoadRat; // Optimal operating fraction of full load - Real64 ChillerEIRFPLRMin; // Minimum value of PLR from EIRFPLR curve - Real64 ChillerEIRFPLRMax; // Maximum value of PLR from EIRFPLR curve + std::string Name; // Name of the Chiller Heater object + CondenserModeTemperature CondModeCooling; // Cooling mode temperature curve input variable + CondenserModeTemperature CondModeHeating; // Clg/Htg mode temperature curve input variable + CondenserModeTemperature CondMode; // Current mode temperature curve input variable + bool ConstantFlow; // True if this is a Constant Flow Chiller + bool VariableFlow; // True if this is a Variable Flow Chiller + bool CoolSetPointSetToLoop; // True if the setpoint is missing at the outlet node + bool HeatSetPointSetToLoop; // True if the setpoint is missing at the outlet node + bool CoolSetPointErrDone; // true if setpoint warning issued + bool HeatSetPointErrDone; // true if setpoint warning issued + bool PossibleSubcooling; // flag to indicate chiller is doing less cooling that requested + int ChillerHeaterNum; // Chiller heater number + CondenserType condenserType; // Type of Condenser - only water cooled is allowed + int ChillerCapFTCoolingIDX; // Cooling capacity function of temperature curve index + int ChillerEIRFTCoolingIDX; // Elec Input to Cooling Output ratio function of temperature curve index + int ChillerEIRFPLRCoolingIDX; // Elec Input to cooling output ratio function of PLR curve index + int ChillerCapFTHeatingIDX; // Clg/Htg capacity function of temperature curve index + int ChillerEIRFTHeatingIDX; // Elec Input to Clg/Htg Output ratio function of temperature curve index + int ChillerEIRFPLRHeatingIDX; // Elec Input to Clg/Htg output ratio function of PLR curve index + int ChillerCapFTIDX; // Capacity function of temperature curve index + int ChillerEIRFTIDX; // Elec Input to demand output ratio function of temperature curve index + int ChillerEIRFPLRIDX; // Elec Input to demand output ratio function of PLR curve index + int EvapInletNodeNum; // Node number on the inlet side of the plant (evaporator side) + int EvapOutletNodeNum; // Node number on the outlet side of the plant (evaporator side) + int CondInletNodeNum; // Node number on the inlet side of the condenser + int CondOutletNodeNum; // Node number on the outlet side of the condenser + int ChillerCapFTError; // Used for negative capacity as a function of temp warnings + int ChillerCapFTErrorIndex; // Used for negative capacity as a function of temp warnings + int ChillerEIRFTError; // Used for negative EIR as a function of temp warnings + int ChillerEIRFTErrorIndex; // Used for negative EIR as a function of temp warnings + int ChillerEIRFPLRError; // Used for negative EIR as a function of PLR warnings + int ChillerEIRFPLRErrorIndex; // Used for negative EIR as a function of PLR warnings + int ChillerEIRRefTempErrorIndex; // Used for reference temperature problems + int DeltaTErrCount; // Evaporator delta T equals 0 for variable flow chiller warning messages + int DeltaTErrCountIndex; // Index to evaporator delta T = 0 for variable flow chiller warning messages + int CondMassFlowIndex; // Index to condenser mass flow rate + Real64 RefCapCooling; // Reference cooling-mode evaporator capacity [W] + bool RefCapCoolingWasAutoSized; // true if reference cooling capacity was autosize on input + Real64 RefCOPCooling; // Reference cooling-mode COP + Real64 TempRefEvapOutCooling; // Reference cooling-mode evaporator leaving temperature [C] + Real64 TempRefCondInCooling; // Reference cooling-mode condenser entering temperature [C] + Real64 TempRefCondOutCooling; // Reference cooling-mode condenser leaving temperature [C] + Real64 MaxPartLoadRatCooling; // Maximum Part load ratio in cooling mode + Real64 OptPartLoadRatCooling; // Optimum Part load ratio in cooling mode + Real64 MinPartLoadRatCooling; // minimum Part load ratio in cooling mode + Real64 ClgHtgToCoolingCapRatio; // ratio of clg/htg-mode evaporator capacity to cooling-mode evap. cap + Real64 ClgHtgtoCogPowerRatio; // ratio of clg/htg-mode evaporator power to cooling-mode evap. power + Real64 RefCapClgHtg; // Reference clg/htg-mode evaporator capacity [W] + Real64 RefCOPClgHtg; // Reference clg/htg-mode COP + Real64 RefPowerClgHtg; // Reference clg/htg-mode evaporator power [W] + Real64 TempRefEvapOutClgHtg; // Reference clg/htg-mode evaporator leaving temperature [C] + Real64 TempRefCondInClgHtg; // Reference clg/htg-mode condenser entering temperature [C] + Real64 TempRefCondOutClgHtg; // Reference clg/htg-mode condenser leaving temperature [C] + Real64 TempLowLimitEvapOut; // Low temperature shut off [C] + Real64 MaxPartLoadRatClgHtg; // Maximum Part load ratio in simultaneous heating/cooling mode + Real64 OptPartLoadRatClgHtg; // Optimum Part load ratio in simultaneous heating/cooling mode + Real64 MinPartLoadRatClgHtg; // minimum Part load ratio in simultaneous heating/cooling mode + CGSHPNodeData EvapInletNode; // Chiller heater evaperator inlet node + CGSHPNodeData EvapOutletNode; // Chiller heater evaperator outlet node + CGSHPNodeData CondInletNode; // Chiller heater condenser inlet node + CGSHPNodeData CondOutletNode; // Chiller heater condenser outlet node + Real64 EvapVolFlowRate; // Reference water volumetric flow rate through the evaporator [m3/s] + bool EvapVolFlowRateWasAutoSized; // true if evaporator flow rate was autosize on input + Real64 tmpEvapVolFlowRate; // temporary ref water vol flow rate for intermediate sizing [m3/s] + Real64 CondVolFlowRate; // Reference water volumetric flow rate through the condenser [m3/s] + bool CondVolFlowRateWasAutoSized; // true if condenser flow rate was autosize on input + Real64 tmpCondVolFlowRate; // temporary ref water vol flow rate for intermediate sizing [m3/s] + Real64 CondMassFlowRateMax; // Reference water mass flow rate through condenser [kg/s] + Real64 EvapMassFlowRateMax; // Reference water mass flow rate through evaporator [kg/s] + Real64 Evapmdot; // Evaporator mass flow rate [kg/s] + Real64 Condmdot; // Condenser mass flow rate [kg/s] + Real64 DesignHotWaterVolFlowRate; // Design hot water volumetric flow rate through the condenser [m3/s] + Real64 OpenMotorEff; // Open chiller motor efficiency [fraction, 0 to 1] + Real64 SizFac; // sizing factor + Real64 RefCap; // Reference evaporator capacity [W] + Real64 RefCOP; // Reference COP + Real64 TempRefEvapOut; // Reference evaporator leaving temperature [C] + Real64 TempRefCondIn; // Reference condenser entering temperature [C] + Real64 TempRefCondOut; // Reference condenser leaving temperature [C] + Real64 OptPartLoadRat; // Optimal operating fraction of full load + Real64 ChillerEIRFPLRMin; // Minimum value of PLR from EIRFPLR curve + Real64 ChillerEIRFPLRMax; // Maximum value of PLR from EIRFPLR curve CHReportVars Report; ChillerHeaterSpecs() @@ -407,6 +415,35 @@ namespace PlantCentralGSHP { void CalcChillerHeaterModel(EnergyPlusData &state); + void adjustChillerHeaterFlowTemp(EnergyPlusData &state, + Real64 &QCondenser, + Real64 &CondMassFlowRate, + Real64 &CondOutletTemp, + Real64 const CondInletTemp, + Real64 const CondDeltaTemp); + + Real64 + setChillerHeaterCondTemp(EnergyPlusData &state, int const numChillerHeater, Real64 const condEnteringTemp, Real64 const condLeavingTemp); + + Real64 calcChillerCapFT(EnergyPlusData &state, int const numChillerHeater, Real64 const evapOutletTemp, Real64 const condTemp); + + void checkEvapOutletTemp(EnergyPlusData &state, + int const numChillerHeater, + Real64 &evapOutletTemp, + Real64 const lowTempLimitEout, + Real64 evapInletTemp, + Real64 &qEvaporator, + Real64 &evapMassFlowRate, + Real64 const Cp); + + void calcPLRAndCyclingRatio(EnergyPlusData &state, + Real64 const availChillerCap, + Real64 &actualPartLoadRatio, + Real64 const minPartLoadRatio, + Real64 const maxPartLoadRatio, + Real64 const qEvaporator, + Real64 &frac); + void UpdateChillerHeaterRecords(EnergyPlusData &state); void UpdateChillerRecords(EnergyPlusData &state); diff --git a/src/EnergyPlus/PlantUtilities.cc b/src/EnergyPlus/PlantUtilities.cc index 3d442924399..6ecabb91bbe 100644 --- a/src/EnergyPlus/PlantUtilities.cc +++ b/src/EnergyPlus/PlantUtilities.cc @@ -2038,15 +2038,18 @@ MinFlowIfBranchHasVSPump(EnergyPlusData &state, PlantLocation const &plantLoc, b if (!foundBranchPump) { // second, if no branch pump, search for variable speed pump on inlet branch of supply side of this loop - int NumCompsOnInletBranch = - state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(DataPlant::LoopSideLocation::Supply).Branch(1).TotalComponents; - for (int CompCounter = 1; CompCounter <= NumCompsOnInletBranch; ++CompCounter) { - auto &component(state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(DataPlant::LoopSideLocation::Supply).Branch(1).Comp(CompCounter)); - if (component.Type == DataPlant::PlantEquipmentType::PumpVariableSpeed || - component.Type == DataPlant::PlantEquipmentType::PumpBankVariableSpeed) { - foundLoopPump = true; - if (component.CompNum > 0) branchPumpMinFlowLimit = state.dataPumps->PumpEquip(component.CompNum).MassFlowRateMin; - break; + if (state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(DataPlant::LoopSideLocation::Supply).TotalBranches > 1) { + int NumCompsOnInletBranch = + state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(DataPlant::LoopSideLocation::Supply).Branch(1).TotalComponents; + for (int CompCounter = 1; CompCounter <= NumCompsOnInletBranch; ++CompCounter) { + auto &component( + state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(DataPlant::LoopSideLocation::Supply).Branch(1).Comp(CompCounter)); + if (component.Type == DataPlant::PlantEquipmentType::PumpVariableSpeed || + component.Type == DataPlant::PlantEquipmentType::PumpBankVariableSpeed) { + foundLoopPump = true; + if (component.CompNum > 0) branchPumpMinFlowLimit = state.dataPumps->PumpEquip(component.CompNum).MassFlowRateMin; + break; + } } } } diff --git a/src/EnergyPlus/PoweredInductionUnits.cc b/src/EnergyPlus/PoweredInductionUnits.cc index ee144695346..61b5a745745 100644 --- a/src/EnergyPlus/PoweredInductionUnits.cc +++ b/src/EnergyPlus/PoweredInductionUnits.cc @@ -58,7 +58,6 @@ #include #include #include -#include #include #include #include @@ -241,9 +240,6 @@ void GetPIUs(EnergyPlusData &state) static constexpr std::string_view routineName = "GetPIUs"; // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - int NumAlphas = 0; // Number of Alpha input fields for each GetObjectItem call - int NumNumbers = 0; // Number of Numeric input fields for each GetObjectItem call - int IOStatus = 0; // Used in GetObjectItem bool ErrorsFound(false); // Set to true if errors in input, fatal at end of routine static constexpr std::string_view RoutineName("GetPIUs: "); // include trailing blank space bool SteamMessageNeeded = true; @@ -267,462 +263,298 @@ void GetPIUs(EnergyPlusData &state) state.dataPowerInductionUnits->PIU.allocate(state.dataPowerInductionUnits->NumPIUs); state.dataPowerInductionUnits->PiuUniqueNames.reserve(static_cast(state.dataPowerInductionUnits->NumPIUs)); state.dataPowerInductionUnits->CheckEquipName.dimension(state.dataPowerInductionUnits->NumPIUs, true); - auto &cCurrentModuleObject = state.dataIPShortCut->cCurrentModuleObject; - // loop over Series PIUs; get and load the input data - for (int PIUIndex = 1; PIUIndex <= state.dataPowerInductionUnits->NumSeriesPIUs; ++PIUIndex) { - - cCurrentModuleObject = "AirTerminal:SingleDuct:SeriesPIU:Reheat"; - - state.dataInputProcessing->inputProcessor->getObjectItem(state, - cCurrentModuleObject, - PIUIndex, - state.dataIPShortCut->cAlphaArgs, - NumAlphas, - state.dataIPShortCut->rNumericArgs, - NumNumbers, - IOStatus, - state.dataIPShortCut->lNumericFieldBlanks, - state.dataIPShortCut->lAlphaFieldBlanks, - state.dataIPShortCut->cAlphaFieldNames, - state.dataIPShortCut->cNumericFieldNames); - - ErrorObjectHeader eoh{routineName, cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1)}; - GlobalNames::VerifyUniqueInterObjectName(state, - state.dataPowerInductionUnits->PiuUniqueNames, - state.dataIPShortCut->cAlphaArgs(1), - cCurrentModuleObject, - state.dataIPShortCut->cAlphaFieldNames(1), - ErrorsFound); - auto &thisPIU = state.dataPowerInductionUnits->PIU(PIUIndex); - thisPIU.Name = state.dataIPShortCut->cAlphaArgs(1); - thisPIU.UnitType = cCurrentModuleObject; - thisPIU.UnitType_Num = DataDefineEquip::ZnAirLoopEquipType::SingleDuct_SeriesPIU_Reheat; - thisPIU.Sched = state.dataIPShortCut->cAlphaArgs(2); - if (state.dataIPShortCut->lAlphaFieldBlanks(2)) { - thisPIU.SchedPtr = ScheduleManager::ScheduleAlwaysOn; - } else { - thisPIU.SchedPtr = GetScheduleIndex(state, state.dataIPShortCut->cAlphaArgs(2)); // convert schedule name to pointer - if (thisPIU.SchedPtr == 0) { - ShowSevereError(state, - format("{}{}: invalid {} entered ={} for {}={}", - RoutineName, - cCurrentModuleObject, - state.dataIPShortCut->cAlphaFieldNames(2), - state.dataIPShortCut->cAlphaArgs(2), - state.dataIPShortCut->cAlphaFieldNames(1), - state.dataIPShortCut->cAlphaArgs(1))); - ErrorsFound = true; - } - } - thisPIU.MaxTotAirVolFlow = state.dataIPShortCut->rNumericArgs(1); - thisPIU.MaxPriAirVolFlow = state.dataIPShortCut->rNumericArgs(2); - thisPIU.MinPriAirFlowFrac = state.dataIPShortCut->rNumericArgs(3); - thisPIU.HCoilType = static_cast(getEnumValue(HCoilNamesUC, Util::makeUPPER(state.dataIPShortCut->cAlphaArgs(9)))); - switch (thisPIU.HCoilType) { - case HtgCoilType::SimpleHeating: { - thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilWaterSimpleHeating; - break; - } - case HtgCoilType::Electric: - case HtgCoilType::Gas: { - break; - } - case HtgCoilType::SteamAirHeating: { - thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilSteamAirHeating; - thisPIU.HCoil_FluidIndex = FindRefrigerant(state, "Steam"); - if (thisPIU.HCoil_FluidIndex == 0) { - ShowSevereError(state, format("{}Steam Properties for {} not found.", RoutineName, state.dataIPShortCut->cAlphaArgs(1))); - if (SteamMessageNeeded) { - ShowContinueError(state, "Steam Fluid Properties should have been included in the input file."); + int PIUNum{0}; + auto &ip = state.dataInputProcessing->inputProcessor; + // loop over Series PIUs; get and load the input data + for (const std::string cCurrentModuleObject : {"AirTerminal:SingleDuct:SeriesPIU:Reheat", "AirTerminal:SingleDuct:ParallelPIU:Reheat"}) { + auto const &objectSchemaProps = ip->getObjectSchemaProps(state, cCurrentModuleObject); + auto const &PIUsInstances = ip->epJSON.find(cCurrentModuleObject); + if (PIUsInstances != ip->epJSON.end()) { + auto &PIUInstances = PIUsInstances.value(); + for (auto instance = PIUInstances.begin(); instance != PIUInstances.end(); ++instance) { + ++PIUNum; + auto const &fields = instance.value(); + + GlobalNames::VerifyUniqueInterObjectName( + state, state.dataPowerInductionUnits->PiuUniqueNames, Util::makeUPPER(instance.key()), cCurrentModuleObject, "Name", ErrorsFound); + auto &thisPIU = state.dataPowerInductionUnits->PIU(PIUNum); + thisPIU.Name = Util::makeUPPER(instance.key()); + thisPIU.UnitType = cCurrentModuleObject; + ip->markObjectAsUsed(cCurrentModuleObject, instance.key()); + if (cCurrentModuleObject == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.UnitType_Num = DataDefineEquip::ZnAirLoopEquipType::SingleDuct_SeriesPIU_Reheat; + } else if (cCurrentModuleObject == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.UnitType_Num = DataDefineEquip::ZnAirLoopEquipType::SingleDuct_ParallelPIU_Reheat; } - ErrorsFound = true; - SteamMessageNeeded = false; - } - break; - } - default: { - ShowSevereError(state, format("Illegal {} = {}", state.dataIPShortCut->cAlphaFieldNames(9), state.dataIPShortCut->cAlphaArgs(9))); - ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); - ErrorsFound = true; - } - } - - thisPIU.PriAirInNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(3), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Inlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(3)); - - thisPIU.SecAirInNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(4), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Inlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(4)); - - thisPIU.OutAirNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(5), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Outlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(5)); - - thisPIU.HCoilInAirNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(6), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Internal, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(6)); - // The reheat coil control node is necessary for hot water reheat, but not necessary for - // electric or gas reheat. - if (thisPIU.HCoilType == HtgCoilType::SimpleHeating) { - thisPIU.HotControlNode = - GetCoilWaterInletNode(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), ErrorsFound); - } - if (thisPIU.HCoilType == HtgCoilType::SteamAirHeating) { - thisPIU.HotControlNode = - GetCoilSteamInletNode(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), ErrorsFound); - } - thisPIU.MixerName = state.dataIPShortCut->cAlphaArgs(7); // name of zone mixer object - thisPIU.FanName = state.dataIPShortCut->cAlphaArgs(8); // name of fan object - - // find fan type - // test if Fan:SystemModel fan of this name exists - if ((thisPIU.Fan_Index = Fans::GetFanIndex(state, thisPIU.FanName)) == 0) { - ShowSevereItemNotFound(state, eoh, state.dataIPShortCut->cAlphaFieldNames(8), thisPIU.FanName); - ErrorsFound = true; - } else { - auto *fan = state.dataFans->fans(thisPIU.Fan_Index); - thisPIU.fanType = fan->type; - // assert(thisPIU.fanType == HVAC::FanType::Constant); - thisPIU.FanAvailSchedPtr = fan->availSchedNum; - } - - thisPIU.HCoil = state.dataIPShortCut->cAlphaArgs(10); // name of heating coil object - bool IsNotOK = false; - ValidateComponent(state, HCoilNamesUC[static_cast(thisPIU.HCoilType)], thisPIU.HCoil, IsNotOK, cCurrentModuleObject + " - Heating Coil"); - if (IsNotOK) { - ShowContinueError(state, format("In {} = {}", cCurrentModuleObject, thisPIU.Name)); - ErrorsFound = true; - } - thisPIU.MaxVolHotWaterFlow = state.dataIPShortCut->rNumericArgs(4); - thisPIU.MinVolHotWaterFlow = state.dataIPShortCut->rNumericArgs(5); - thisPIU.HotControlOffset = state.dataIPShortCut->rNumericArgs(6); - // Set default convergence tolerance - if (thisPIU.HotControlOffset <= 0.0) { - thisPIU.HotControlOffset = 0.001; - } - - // Add fan to component sets array - SetUpCompSets(state, - thisPIU.UnitType, - thisPIU.Name, - "UNDEFINED", - state.dataIPShortCut->cAlphaArgs(8), - "UNDEFINED", - state.dataIPShortCut->cAlphaArgs(6)); - - // Add reheat coil to component sets array - SetUpCompSets(state, - thisPIU.UnitType, - thisPIU.Name, - state.dataIPShortCut->cAlphaArgs(9), - state.dataIPShortCut->cAlphaArgs(10), - state.dataIPShortCut->cAlphaArgs(6), - state.dataIPShortCut->cAlphaArgs(5)); - - // Register component set data - TestCompSet(state, - thisPIU.UnitType, - thisPIU.Name, - state.dataLoopNodes->NodeID(thisPIU.PriAirInNode), - state.dataLoopNodes->NodeID(thisPIU.OutAirNode), - "Air Nodes"); - - for (int ADUNum = 1; ADUNum <= (int)state.dataDefineEquipment->AirDistUnit.size(); ++ADUNum) { - if (thisPIU.OutAirNode == state.dataDefineEquipment->AirDistUnit(ADUNum).OutletNodeNum) { - thisPIU.ADUNum = ADUNum; - state.dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum = thisPIU.PriAirInNode; - } - } - // one assumes if there isn't one assigned, it's an error? - if (thisPIU.ADUNum == 0) { - ShowSevereError(state, format("{}No matching Air Distribution Unit, for PIU = [{},{}].", RoutineName, thisPIU.UnitType, thisPIU.Name)); - ShowContinueError(state, format("...should have outlet node = {}", state.dataLoopNodes->NodeID(thisPIU.OutAirNode))); - ErrorsFound = true; - } else { - - bool AirNodeFound = false; - // Fill the Zone Equipment data with the supply air inlet node number of this unit. - for (int CtrlZone = 1; CtrlZone <= state.dataGlobal->NumOfZones; ++CtrlZone) { - if (!state.dataZoneEquip->ZoneEquipConfig(CtrlZone).IsControlled) { - continue; + thisPIU.Sched = ip->getAlphaFieldValue(fields, objectSchemaProps, "availability_schedule_name"); + if (!thisPIU.Sched.empty()) { + thisPIU.SchedPtr = ScheduleManager::GetScheduleIndex(state, thisPIU.Sched); + if (thisPIU.SchedPtr == 0) { + ShowWarningError( + state, + format("GetPIUs {}=\"{}\", invalid Availability Schedule Name = {}", cCurrentModuleObject, thisPIU.Name, thisPIU.Sched)); + ShowContinueError(state, "Set the default as Always On. Simulation continues."); + thisPIU.SchedPtr = ScheduleManager::ScheduleAlwaysOn; + } + } else { + thisPIU.SchedPtr = ScheduleManager::ScheduleAlwaysOn; + } + if (cCurrentModuleObject == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.MaxTotAirVolFlow = ip->getRealFieldValue(fields, objectSchemaProps, "maximum_air_flow_rate"); + } + if (cCurrentModuleObject == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.MaxSecAirVolFlow = ip->getRealFieldValue(fields, objectSchemaProps, "maximum_secondary_air_flow_rate"); + } + thisPIU.MaxPriAirVolFlow = ip->getRealFieldValue(fields, objectSchemaProps, "maximum_primary_air_flow_rate"); + thisPIU.MinPriAirFlowFrac = ip->getRealFieldValue(fields, objectSchemaProps, "minimum_primary_air_flow_fraction"); + if (cCurrentModuleObject == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.FanOnFlowFrac = ip->getRealFieldValue(fields, objectSchemaProps, "fan_on_flow_fraction"); } - for (int SupAirIn = 1; SupAirIn <= state.dataZoneEquip->ZoneEquipConfig(CtrlZone).NumInletNodes; ++SupAirIn) { - if (thisPIU.OutAirNode == state.dataZoneEquip->ZoneEquipConfig(CtrlZone).InletNode(SupAirIn)) { - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).InNode = thisPIU.PriAirInNode; - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).OutNode = thisPIU.OutAirNode; - state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).TermUnitSizingNum = - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).TermUnitSizingIndex; - state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).ZoneEqNum = CtrlZone; - AirNodeFound = true; - thisPIU.CtrlZoneNum = CtrlZone; // fill index for later use in finding air loop index - thisPIU.ctrlZoneInNodeIndex = SupAirIn; - break; + thisPIU.HCoilType = static_cast( + getEnumValue(HCoilNamesUC, Util::makeUPPER(ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_object_type")))); + switch (thisPIU.HCoilType) { + case HtgCoilType::SimpleHeating: { + thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilWaterSimpleHeating; + break; + } + case HtgCoilType::Electric: + case HtgCoilType::Gas: { + break; + } + case HtgCoilType::SteamAirHeating: { + thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilSteamAirHeating; + thisPIU.HCoil_FluidIndex = FindRefrigerant(state, "Steam"); + if (thisPIU.HCoil_FluidIndex == 0) { + ShowSevereError(state, format("{} Steam Properties for {} not found.", RoutineName, thisPIU.Name)); + if (SteamMessageNeeded) { + ShowContinueError(state, "Steam Fluid Properties should have been included in the input file."); + } + ErrorsFound = true; + SteamMessageNeeded = false; } + break; + } + default: { + ShowSevereError(state, format("Illegal Reheat Coil Type = {}", thisPIU.HCoilType)); + ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); + ErrorsFound = true; + } } - } - if (!AirNodeFound) { - ShowSevereError(state, format("The outlet air node from the {} Unit = {}", cCurrentModuleObject, thisPIU.Name)); - ShowContinueError(state, format("did not have a matching Zone Equipment Inlet Node, Node = {}", state.dataIPShortCut->cAlphaArgs(5))); - ErrorsFound = true; - } - } - } - for (int PIUIndex = 1; PIUIndex <= state.dataPowerInductionUnits->NumParallelPIUs; ++PIUIndex) { - - cCurrentModuleObject = "AirTerminal:SingleDuct:ParallelPIU:Reheat"; - - state.dataInputProcessing->inputProcessor->getObjectItem(state, - cCurrentModuleObject, - PIUIndex, - state.dataIPShortCut->cAlphaArgs, - NumAlphas, - state.dataIPShortCut->rNumericArgs, - NumNumbers, - IOStatus, - state.dataIPShortCut->lNumericFieldBlanks, - state.dataIPShortCut->lAlphaFieldBlanks, - state.dataIPShortCut->cAlphaFieldNames, - state.dataIPShortCut->cNumericFieldNames); - - auto &thisPIU = state.dataPowerInductionUnits->PIU(PIUIndex + state.dataPowerInductionUnits->NumSeriesPIUs); - - ErrorObjectHeader eoh{routineName, cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(1)}; - - GlobalNames::VerifyUniqueInterObjectName(state, - state.dataPowerInductionUnits->PiuUniqueNames, - state.dataIPShortCut->cAlphaArgs(1), - cCurrentModuleObject, - state.dataIPShortCut->cAlphaFieldNames(1), - ErrorsFound); - thisPIU.Name = state.dataIPShortCut->cAlphaArgs(1); - thisPIU.UnitType = cCurrentModuleObject; - thisPIU.UnitType_Num = DataDefineEquip::ZnAirLoopEquipType::SingleDuct_ParallelPIU_Reheat; - thisPIU.Sched = state.dataIPShortCut->cAlphaArgs(2); - if (state.dataIPShortCut->lAlphaFieldBlanks(2)) { - thisPIU.SchedPtr = ScheduleManager::ScheduleAlwaysOn; - } else { - thisPIU.SchedPtr = GetScheduleIndex(state, state.dataIPShortCut->cAlphaArgs(2)); // convert schedule name to pointer - if (thisPIU.SchedPtr == 0) { - ShowSevereError(state, - format("{}{}: invalid {} entered ={} for {}={}", - RoutineName, - cCurrentModuleObject, - state.dataIPShortCut->cAlphaFieldNames(2), - state.dataIPShortCut->cAlphaArgs(2), - state.dataIPShortCut->cAlphaFieldNames(1), - state.dataIPShortCut->cAlphaArgs(1))); - ErrorsFound = true; - } - } - thisPIU.MaxPriAirVolFlow = state.dataIPShortCut->rNumericArgs(1); - thisPIU.MaxSecAirVolFlow = state.dataIPShortCut->rNumericArgs(2); - thisPIU.MinPriAirFlowFrac = state.dataIPShortCut->rNumericArgs(3); - thisPIU.FanOnFlowFrac = state.dataIPShortCut->rNumericArgs(4); - if (Util::SameString(state.dataIPShortCut->cAlphaArgs(9), "COIL:HEATING:WATER")) { - thisPIU.HCoilType = HtgCoilType::SimpleHeating; - thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilWaterSimpleHeating; - } else if (Util::SameString(state.dataIPShortCut->cAlphaArgs(9), "COIL:HEATING:FUEL")) { - thisPIU.HCoilType = HtgCoilType::Gas; - } else if (Util::SameString(state.dataIPShortCut->cAlphaArgs(9), "COIL:HEATING:STEAM")) { - thisPIU.HCoilType = HtgCoilType::SteamAirHeating; - thisPIU.HCoil_PlantType = DataPlant::PlantEquipmentType::CoilSteamAirHeating; - thisPIU.HCoil_FluidIndex = FindRefrigerant(state, "Steam"); - if (thisPIU.HCoil_FluidIndex == 0) { - ShowSevereError(state, format("{}Steam Properties for {} not found.", RoutineName, state.dataIPShortCut->cAlphaArgs(1))); - if (SteamMessageNeeded) { - ShowContinueError(state, "Steam Fluid Properties should have been included in the input file."); + auto connectionType = DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctSeriesPIUReheat; + if (cCurrentModuleObject == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + connectionType = DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctParallelPIUReheat; + } + thisPIU.PriAirInNode = GetOnlySingleNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "supply_air_inlet_node_name"), + ErrorsFound, + connectionType, + thisPIU.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Inlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent, + "Supply Air Inlet Node Name"); + + thisPIU.SecAirInNode = GetOnlySingleNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "secondary_air_inlet_node_name"), + ErrorsFound, + connectionType, + thisPIU.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Inlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent, + "Secondary Air Inlet Node Name"); + + thisPIU.OutAirNode = GetOnlySingleNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "outlet_node_name"), + ErrorsFound, + connectionType, + thisPIU.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Outlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent, + "Outlet Node Name"); + + thisPIU.HCoilInAirNode = GetOnlySingleNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_air_inlet_node_name"), + ErrorsFound, + connectionType, + thisPIU.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Internal, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent, + "Reheat Coil Air Inlet Node Name"); + // The reheat coil control node is necessary for hot water reheat, but not necessary for + // electric or gas reheat. + if (thisPIU.HCoilType == HtgCoilType::SimpleHeating) { + thisPIU.HotControlNode = GetCoilWaterInletNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_object_type"), + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_name"), + ErrorsFound); + } + if (thisPIU.HCoilType == HtgCoilType::SteamAirHeating) { + thisPIU.HotControlNode = GetCoilSteamInletNode(state, + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_object_type"), + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_name"), + ErrorsFound); + } + thisPIU.MixerName = ip->getAlphaFieldValue(fields, objectSchemaProps, "zone_mixer_name"); + thisPIU.FanName = ip->getAlphaFieldValue(fields, objectSchemaProps, "fan_name"); + + // find fan type + // test if Fan:SystemModel fan of this name exists + ErrorObjectHeader eoh{routineName, cCurrentModuleObject, state.dataIPShortCut->cAlphaArgs(8)}; + if ((thisPIU.Fan_Index = Fans::GetFanIndex(state, thisPIU.FanName)) == 0) { + ShowSevereItemNotFound(state, eoh, state.dataIPShortCut->cAlphaFieldNames(8), thisPIU.FanName); + ErrorsFound = true; + } else { + // Assert that this is a constant volume fan? + auto *fan = state.dataFans->fans(thisPIU.Fan_Index); + thisPIU.fanType = fan->type; + thisPIU.FanAvailSchedPtr = fan->availSchedNum; } - ErrorsFound = true; - SteamMessageNeeded = false; - } - } else if (Util::SameString(state.dataIPShortCut->cAlphaArgs(9), "COIL:HEATING:ELECTRIC")) { - thisPIU.HCoilType = HtgCoilType::Electric; - } else { - ShowSevereError(state, format("Illegal {} = {}", state.dataIPShortCut->cAlphaFieldNames(9), state.dataIPShortCut->cAlphaArgs(9))); - ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); - ErrorsFound = true; - } - thisPIU.PriAirInNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(3), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctParallelPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Inlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(3)); - - thisPIU.SecAirInNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(4), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctParallelPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Inlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(4)); - - thisPIU.OutAirNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(5), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctParallelPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Outlet, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(5)); - - thisPIU.HCoilInAirNode = GetOnlySingleNode(state, - state.dataIPShortCut->cAlphaArgs(6), - ErrorsFound, - DataLoopNode::ConnectionObjectType::AirTerminalSingleDuctParallelPIUReheat, - state.dataIPShortCut->cAlphaArgs(1), - DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Internal, - NodeInputManager::CompFluidStream::Primary, - ObjectIsParent, - state.dataIPShortCut->cAlphaFieldNames(6)); - if (thisPIU.HCoilType == HtgCoilType::SimpleHeating) { - thisPIU.HotControlNode = - GetCoilWaterInletNode(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), ErrorsFound); - } - if (thisPIU.HCoilType == HtgCoilType::SteamAirHeating) { - thisPIU.HotControlNode = - GetCoilSteamInletNode(state, state.dataIPShortCut->cAlphaArgs(9), state.dataIPShortCut->cAlphaArgs(10), ErrorsFound); - } - thisPIU.MixerName = state.dataIPShortCut->cAlphaArgs(7); // name of zone mixer object - thisPIU.FanName = state.dataIPShortCut->cAlphaArgs(8); // name of fan object - // find fan type - // test if Fan:SystemModel fan of this name exists - if ((thisPIU.Fan_Index = Fans::GetFanIndex(state, thisPIU.FanName)) == 0) { - ShowSevereItemNotFound(state, eoh, state.dataIPShortCut->cAlphaFieldNames(8), thisPIU.FanName); - ErrorsFound = true; - } else { - // Assert that this is a constant volume fan? - auto *fan = state.dataFans->fans(thisPIU.Fan_Index); - thisPIU.fanType = fan->type; - thisPIU.FanAvailSchedPtr = fan->availSchedNum; - } + thisPIU.HCoil = ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_name"); + bool IsNotOK = false; + ValidateComponent( + state, HCoilNamesUC[static_cast(thisPIU.HCoilType)], thisPIU.HCoil, IsNotOK, cCurrentModuleObject + " - Heating Coil"); + if (IsNotOK) { + ShowContinueError(state, format("In {} = {}", cCurrentModuleObject, thisPIU.Name)); + ErrorsFound = true; + } + thisPIU.MaxVolHotWaterFlow = ip->getRealFieldValue(fields, objectSchemaProps, "maximum_hot_water_or_steam_flow_rate"); + thisPIU.MinVolHotWaterFlow = ip->getRealFieldValue(fields, objectSchemaProps, "minimum_hot_water_or_steam_flow_rate"); + thisPIU.HotControlOffset = ip->getRealFieldValue(fields, objectSchemaProps, "convergence_tolerance"); + // Set default convergence tolerance + if (thisPIU.HotControlOffset <= 0.0) { + thisPIU.HotControlOffset = 0.001; + } - thisPIU.HCoil = state.dataIPShortCut->cAlphaArgs(10); // name of heating coil object - bool IsNotOK = false; - ValidateComponent(state, HCoilNamesUC[static_cast(thisPIU.HCoilType)], thisPIU.HCoil, IsNotOK, cCurrentModuleObject + " - Heating Coil"); - if (IsNotOK) { - ShowContinueError(state, format("In {} = {}", cCurrentModuleObject, thisPIU.Name)); - ErrorsFound = true; - } - thisPIU.MaxVolHotWaterFlow = state.dataIPShortCut->rNumericArgs(5); - thisPIU.MinVolHotWaterFlow = state.dataIPShortCut->rNumericArgs(6); - thisPIU.HotControlOffset = state.dataIPShortCut->rNumericArgs(7); - // Set default convergence tolerance - if (thisPIU.HotControlOffset <= 0.0) { - thisPIU.HotControlOffset = 0.001; - } + // Variable speed fan inputs + std::string fan_control_type = "ConstantSpeed"; + fan_control_type = ip->getAlphaFieldValue(fields, objectSchemaProps, "fan_control_type"); + thisPIU.fanControlType = FanCntrlType::ConstantSpeedFan; + if (Util::SameString(fan_control_type, "VariableSpeed")) { + thisPIU.fanControlType = FanCntrlType::VariableSpeedFan; + if (thisPIU.fanType != HVAC::FanType::SystemModel) { + ErrorsFound = true; + ShowSevereError(state, format("Fan type must be Fan:SystemModel when Fan Control Type = {}", fan_control_type)); + ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); + } + } else if (Util::SameString(fan_control_type, "ConstantSpeed")) { + thisPIU.fanControlType = FanCntrlType::ConstantSpeedFan; + } else { + ShowSevereError(state, format("Illegal Fan Control Type = {}", fan_control_type)); + ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); + ErrorsFound = true; + } - // Add fan to component sets array - SetUpCompSets(state, - thisPIU.UnitType, - thisPIU.Name, - "UNDEFINED", - state.dataIPShortCut->cAlphaArgs(8), - state.dataIPShortCut->cAlphaArgs(4), - "UNDEFINED"); - - // Add reheat coil to component sets array - SetUpCompSets(state, - thisPIU.UnitType, - thisPIU.Name, - state.dataIPShortCut->cAlphaArgs(9), - state.dataIPShortCut->cAlphaArgs(10), - state.dataIPShortCut->cAlphaArgs(6), - state.dataIPShortCut->cAlphaArgs(5)); - - // Register component set data - TestCompSet(state, - thisPIU.UnitType, - thisPIU.Name, - state.dataLoopNodes->NodeID(thisPIU.PriAirInNode), - state.dataLoopNodes->NodeID(thisPIU.OutAirNode), - "Air Nodes"); - - for (int ADUNum = 1; ADUNum <= (int)state.dataDefineEquipment->AirDistUnit.size(); ++ADUNum) { - if (thisPIU.OutAirNode == state.dataDefineEquipment->AirDistUnit(ADUNum).OutletNodeNum) { - // AirDistUnit(ADUNum)%InletNodeNum = PIU(PIUNum)%InletNodeNum - state.dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum = thisPIU.PriAirInNode; - thisPIU.ADUNum = ADUNum; - } - } - // one assumes if there isn't one assigned, it's an error? - if (thisPIU.ADUNum == 0) { - ShowSevereError(state, format("{}No matching Air Distribution Unit, for PIU = [{},{}].", RoutineName, thisPIU.UnitType, thisPIU.Name)); - ShowContinueError(state, format("...should have outlet node = {}", state.dataLoopNodes->NodeID(thisPIU.OutAirNode))); - ErrorsFound = true; - } else { + std::string const heating_control_type = ip->getAlphaFieldValue(fields, objectSchemaProps, "heating_control_type"); + thisPIU.heatingControlType = HeatCntrlBehaviorType::Invalid; + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + if (Util::SameString(heating_control_type, "Staged")) { + thisPIU.heatingControlType = HeatCntrlBehaviorType::StagedHeaterBehavior; + } else if (Util::SameString(heating_control_type, "Modulated")) { + thisPIU.heatingControlType = HeatCntrlBehaviorType::ModulatedHeaterBehavior; + } else { + ShowSevereError(state, format("Illegal Heating Control Type = {}", heating_control_type)); + ShowContinueError(state, format("Occurs in {} = {}", cCurrentModuleObject, thisPIU.Name)); + ErrorsFound = true; + } + } - // Fill the Zone Equipment data with the supply air inlet node number of this unit. - bool AirNodeFound = false; - for (int CtrlZone = 1; CtrlZone <= state.dataGlobal->NumOfZones; ++CtrlZone) { - if (!state.dataZoneEquip->ZoneEquipConfig(CtrlZone).IsControlled) { - continue; + thisPIU.MinFanTurnDownRatio = ip->getRealFieldValue(fields, objectSchemaProps, "minimum_fan_turn_down_ratio"); + thisPIU.designHeatingDAT = ip->getRealFieldValue(fields, objectSchemaProps, "design_heating_discharge_air_temperature"); + thisPIU.highLimitDAT = ip->getRealFieldValue(fields, objectSchemaProps, "high_limit_heating_discharge_air_temperature"); + + // Add fan to component sets array + if (cCurrentModuleObject == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + SetUpCompSets(state, + thisPIU.UnitType, + thisPIU.Name, + "UNDEFINED", + thisPIU.FanName, + "UNDEFINED", + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_air_inlet_node_name")); + } else if (cCurrentModuleObject == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + SetUpCompSets(state, + thisPIU.UnitType, + thisPIU.Name, + "UNDEFINED", + thisPIU.FanName, + ip->getAlphaFieldValue(fields, objectSchemaProps, "secondary_air_inlet_node_name"), + "UNDEFINED"); } - for (int SupAirIn = 1; SupAirIn <= state.dataZoneEquip->ZoneEquipConfig(CtrlZone).NumInletNodes; ++SupAirIn) { - if (thisPIU.OutAirNode == state.dataZoneEquip->ZoneEquipConfig(CtrlZone).InletNode(SupAirIn)) { - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).InNode = thisPIU.PriAirInNode; - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).OutNode = thisPIU.OutAirNode; - state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).TermUnitSizingNum = - state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).TermUnitSizingIndex; - state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).ZoneEqNum = CtrlZone; - thisPIU.CtrlZoneNum = CtrlZone; - thisPIU.ctrlZoneInNodeIndex = SupAirIn; - AirNodeFound = true; + + // Add reheat coil to component sets array + SetUpCompSets(state, + thisPIU.UnitType, + thisPIU.Name, + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_object_type"), + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_name"), + ip->getAlphaFieldValue(fields, objectSchemaProps, "reheat_coil_air_inlet_node_name"), + ip->getAlphaFieldValue(fields, objectSchemaProps, "outlet_node_name")); + + // Register component set data + TestCompSet(state, + thisPIU.UnitType, + thisPIU.Name, + state.dataLoopNodes->NodeID(thisPIU.PriAirInNode), + state.dataLoopNodes->NodeID(thisPIU.OutAirNode), + "Air Nodes"); + + for (int ADUNum = 1; ADUNum <= (int)state.dataDefineEquipment->AirDistUnit.size(); ++ADUNum) { + if (thisPIU.OutAirNode == state.dataDefineEquipment->AirDistUnit(ADUNum).OutletNodeNum) { + thisPIU.ADUNum = ADUNum; + state.dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum = thisPIU.PriAirInNode; + } + } + // one assumes if there isn't one assigned, it's an error? + if (thisPIU.ADUNum == 0) { + ShowSevereError(state, + format("{}No matching Air Distribution Unit, for PIU = [{},{}].", RoutineName, thisPIU.UnitType, thisPIU.Name)); + ShowContinueError(state, format("...should have outlet node = {}", state.dataLoopNodes->NodeID(thisPIU.OutAirNode))); + ErrorsFound = true; + } else { + + bool AirNodeFound = false; + // Fill the Zone Equipment data with the supply air inlet node number of this unit. + for (int CtrlZone = 1; CtrlZone <= state.dataGlobal->NumOfZones; ++CtrlZone) { + if (!state.dataZoneEquip->ZoneEquipConfig(CtrlZone).IsControlled) { + continue; + } + for (int SupAirIn = 1; SupAirIn <= state.dataZoneEquip->ZoneEquipConfig(CtrlZone).NumInletNodes; ++SupAirIn) { + if (thisPIU.OutAirNode == state.dataZoneEquip->ZoneEquipConfig(CtrlZone).InletNode(SupAirIn)) { + state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).InNode = thisPIU.PriAirInNode; + state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).OutNode = thisPIU.OutAirNode; + state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).TermUnitSizingNum = + state.dataZoneEquip->ZoneEquipConfig(CtrlZone).AirDistUnitCool(SupAirIn).TermUnitSizingIndex; + state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).ZoneEqNum = CtrlZone; + AirNodeFound = true; + thisPIU.CtrlZoneNum = CtrlZone; // fill index for later use in finding air loop index + thisPIU.ctrlZoneInNodeIndex = SupAirIn; + break; + } + } + } + if (!AirNodeFound) { + ShowSevereError(state, format("The outlet air node from the {} Unit = {}", cCurrentModuleObject, thisPIU.Name)); + ShowContinueError( + state, format("did not have a matching Zone Equipment Inlet Node, Node = {}", state.dataIPShortCut->cAlphaArgs(5))); + ErrorsFound = true; } } - } - if (!AirNodeFound) { - ShowSevereError(state, format("The outlet air node from the {} Unit = {}", cCurrentModuleObject, thisPIU.Name)); - ShowContinueError(state, format("did not have a matching Zone Equipment Inlet Node, Node = {}", state.dataIPShortCut->cAlphaArgs(5))); - ErrorsFound = true; } } } if (ErrorsFound) { - ShowFatalError(state, format("{}Errors found in getting input. Preceding conditions cause termination.", RoutineName)); + ShowFatalError(state, format("{} Errors found in getting input. Preceding conditions cause termination.", RoutineName)); } for (int PIUNum = 1; PIUNum <= state.dataPowerInductionUnits->NumPIUs; ++PIUNum) { @@ -771,6 +603,41 @@ void GetPIUs(EnergyPlusData &state) OutputProcessor::TimeStepType::System, OutputProcessor::StoreType::Average, thisPIU.Name); + SetupOutputVariable(state, + "Zone Air Terminal Total Air Mass Flow Rate", + Constant::Units::kg_s, + thisPIU.TotMassFlowRate, + OutputProcessor::TimeStepType::System, + OutputProcessor::StoreType::Average, + state.dataPowerInductionUnits->PIU(PIUNum).Name); + SetupOutputVariable(state, + "Zone Air Terminal Primary Air Mass Flow Rate", + Constant::Units::kg_s, + thisPIU.PriMassFlowRate, + OutputProcessor::TimeStepType::System, + OutputProcessor::StoreType::Average, + state.dataPowerInductionUnits->PIU(PIUNum).Name); + SetupOutputVariable(state, + "Zone Air Terminal Secondary Air Mass Flow Rate", + Constant::Units::kg_s, + thisPIU.SecMassFlowRate, + OutputProcessor::TimeStepType::System, + OutputProcessor::StoreType::Average, + state.dataPowerInductionUnits->PIU(PIUNum).Name); + SetupOutputVariable(state, + "Zone Air Terminal Outlet Discharge Air Temperature", + Constant::Units::C, + thisPIU.DischargeAirTemp, + OutputProcessor::TimeStepType::System, + OutputProcessor::StoreType::Average, + state.dataPowerInductionUnits->PIU(PIUNum).Name); + SetupOutputVariable(state, + "Zone Air Terminal Current Operation Control Stage", + Constant::Units::unknown, + thisPIU.CurOperationControlStage, + OutputProcessor::TimeStepType::System, + OutputProcessor::StoreType::Average, + state.dataPowerInductionUnits->PIU(PIUNum).Name); } } @@ -880,7 +747,6 @@ void InitPIU(EnergyPlusData &state, int const OutletNode = thisPIU.OutAirNode; // set the mass flow rates from the input volume flow rates if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { - // series thisPIU.MaxTotAirMassFlow = RhoAir * thisPIU.MaxTotAirVolFlow; thisPIU.MaxPriAirMassFlow = RhoAir * thisPIU.MaxPriAirVolFlow; thisPIU.MinPriAirMassFlow = RhoAir * thisPIU.MinPriAirFlowFrac * thisPIU.MaxPriAirVolFlow; @@ -897,6 +763,18 @@ void InitPIU(EnergyPlusData &state, state.dataLoopNodes->Node(PriNode).MassFlowRateMin = thisPIU.MinPriAirMassFlow; state.dataLoopNodes->Node(OutletNode).MassFlowRateMax = thisPIU.MaxPriAirMassFlow; } + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.MinTotAirMassFlow = thisPIU.MaxTotAirMassFlow * thisPIU.MinFanTurnDownRatio; + thisPIU.MaxSecAirVolFlow = thisPIU.MaxTotAirMassFlow - thisPIU.MinPriAirMassFlow; + thisPIU.MaxSecAirMassFlow = RhoAir * thisPIU.MaxSecAirVolFlow; + thisPIU.MinSecAirMassFlow = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else { + thisPIU.MaxSecAirMassFlow = RhoAir * thisPIU.MaxSecAirVolFlow; + thisPIU.MinSecAirMassFlow = max(0.0, thisPIU.MaxSecAirMassFlow * thisPIU.MinFanTurnDownRatio); + thisPIU.MinTotAirMassFlow = thisPIU.MinSecAirMassFlow + thisPIU.MinPriAirMassFlow; + } + } if (((thisPIU.HCoilType == HtgCoilType::SimpleHeating) || (thisPIU.HCoilType == HtgCoilType::SteamAirHeating)) && !state.dataPowerInductionUnits->MyPlantScanFlag(PIUNum)) { @@ -1486,7 +1364,8 @@ void SizePIU(EnergyPlusData &state, int const PIUNum) } if (CurTermUnitSizingNum > 0) { - TermUnitSizing(CurTermUnitSizingNum).MinFlowFrac = thisPIU.MinPriAirFlowFrac; + TermUnitSizing(CurTermUnitSizingNum).MinPriFlowFrac = thisPIU.MinPriAirFlowFrac; + TermUnitSizing(CurTermUnitSizingNum).plenumIndex = thisPIU.plenumIndex; TermUnitSizing(CurTermUnitSizingNum).MaxHWVolFlow = thisPIU.MaxVolHotWaterFlow; TermUnitSizing(CurTermUnitSizingNum).MaxSTVolFlow = thisPIU.MaxVolHotSteamFlow; TermUnitSizing(CurTermUnitSizingNum).DesHeatingLoad = DesCoilLoad; // coil report @@ -1561,28 +1440,31 @@ void CalcSeriesPIU(EnergyPlusData &state, // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - bool UnitOn(true); // TRUE if unit is on - bool PriOn(true); // TRUE if primary air available - bool HCoilOn(true); // TRUE if heating coil is on + bool UnitOn(true); // TRUE if unit is on + bool PriOn(true); // TRUE if primary air available - Real64 QCoilReq; // required heating coil outlet to meet zone load - Real64 MaxWaterFlow; // maximum water flow for heating or cooling [kg/s] - Real64 MinWaterFlow; // minimum water flow for heating or cooling [kg/s] - Real64 MinSteamFlow; // TODO: this is unused - Real64 MaxSteamFlow; // TODO: this is unused + Real64 QCoilReq = 0.0; // required heating coil outlet to meet zone load + Real64 MaxWaterFlow = 0.0; // maximum water flow for heating or cooling [kg/s] + Real64 MinWaterFlow = 0.0; // minimum water flow for heating or cooling [kg/s] // initialize local variables auto &thisPIU = state.dataPowerInductionUnits->PIU(PIUNum); - Real64 PriAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; // primary air mass flow rate [kg/s] Real64 const PriAirMassFlowMax = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRateMaxAvail; // max primary air mass flow rate [kg/s] Real64 const PriAirMassFlowMin = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRateMinAvail; // min primary air mass flow rate [kg/s] - Real64 SecAirMassFlow = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; // secondary air mass flow rate [kg/s] Real64 const QZnReq = state.dataZoneEnergyDemand->ZoneSysEnergyDemand(ZoneNum).RemainingOutputRequired; // heating or cooling needed by zone [Watts] Real64 const QToHeatSetPt = state.dataZoneEnergyDemand->ZoneSysEnergyDemand(ZoneNum).RemainingOutputReqToHeatSP; // [W] remaining load to heating setpoint Real64 const CpAirZn = PsyCpAirFnW(state.dataLoopNodes->Node(ZoneNode).HumRat); // zone air specific heat [J/kg-C] + thisPIU.PriAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; // primary air mass flow rate [kg/s] + thisPIU.SecAirMassFlow = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; // secondary air mass flow rate [kg/s] + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + } else { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + } + thisPIU.coolingOperatingMode = CoolOpModeType::CoolerOff; // On the first HVAC iteration the system values are given to the controller, but after that // the demand limits are in place and there needs to be feedback to the Zone Equipment @@ -1590,13 +1472,9 @@ void CalcSeriesPIU(EnergyPlusData &state, if (FirstHVACIteration) { MaxWaterFlow = thisPIU.MaxHotWaterFlow; MinWaterFlow = thisPIU.MinHotWaterFlow; - MaxSteamFlow = thisPIU.MaxHotWaterFlow; // TODO: Need TO change THESE****************************** - MinSteamFlow = thisPIU.MinHotWaterFlow; } else { MaxWaterFlow = state.dataLoopNodes->Node(thisPIU.HotControlNode).MassFlowRateMaxAvail; MinWaterFlow = state.dataLoopNodes->Node(thisPIU.HotControlNode).MassFlowRateMinAvail; - MaxSteamFlow = state.dataLoopNodes->Node(thisPIU.HotControlNode).MassFlowRateMaxAvail; - MinSteamFlow = state.dataLoopNodes->Node(thisPIU.HotControlNode).MassFlowRateMinAvail; } } if (GetCurrentScheduleValue(state, thisPIU.SchedPtr) <= 0.0) { @@ -1605,7 +1483,7 @@ void CalcSeriesPIU(EnergyPlusData &state, if ((GetCurrentScheduleValue(state, thisPIU.FanAvailSchedPtr) <= 0.0 || state.dataHVACGlobal->TurnFansOff) && !state.dataHVACGlobal->TurnFansOn) { UnitOn = false; } - if (PriAirMassFlow <= SmallMassFlow || PriAirMassFlowMax <= SmallMassFlow) { + if (thisPIU.PriAirMassFlow <= SmallMassFlow || PriAirMassFlowMax <= SmallMassFlow) { PriOn = false; } // Set the mass flow rates @@ -1613,86 +1491,173 @@ void CalcSeriesPIU(EnergyPlusData &state, // unit is on if (!PriOn) { // no primary air flow - PriAirMassFlow = 0.0; + thisPIU.PriAirMassFlow = 0.0; // PIU fan off if there is no heating load, also reset fan flag if fan should be off if (QZnReq <= SmallLoad) { - SecAirMassFlow = 0.0; + thisPIU.SecAirMassFlow = 0.0; state.dataHVACGlobal->TurnFansOn = false; } else { - SecAirMassFlow = thisPIU.MaxTotAirMassFlow; + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + CalcVariableSpeedPIUStagedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + CalcVariableSpeedPIUModulatedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = thisPIU.MaxTotAirMassFlow; + } } } else if (state.dataZoneEnergyDemand->CurDeadBandOrSetback(ZoneNum) || std::abs(QZnReq) < SmallLoad) { // in deadband or very small load: set primary air flow to the minimum - PriAirMassFlow = PriAirMassFlowMin; - SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - PriAirMassFlow); + thisPIU.PriAirMassFlow = PriAirMassFlowMin; + if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.PriAirMassFlow); + } } else if (QZnReq > SmallLoad) { // heating: set primary air flow to the minimum - PriAirMassFlow = PriAirMassFlowMin; - SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - PriAirMassFlow); + thisPIU.PriAirMassFlow = PriAirMassFlowMin; + // determine secondary flow rate + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + CalcVariableSpeedPIUStagedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + CalcVariableSpeedPIUModulatedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - thisPIU.PriAirMassFlow); + } } else { - // cooling: set the primary air flow rate to meet the load. - // First calculate the fan temperature rise - // use only secondary air for this calculation - state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; - state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxTotAirMassFlow; - SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); // fire the mixer - state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); - - // fan temperature rise [C] - Real64 const FanDeltaTemp = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp; - // using the required zone load, calculate the air temperature needed to meet the load - // PIU(PIUNum)%MaxTotAirMassFlow * CpAirZn * (OutletTempNeeded - state.dataLoopNodes->Node(ZoneNodeNum)%Temp) = QZnReq - Real64 const OutletTempNeeded = state.dataLoopNodes->Node(ZoneNode).Temp + QZnReq / (thisPIU.MaxTotAirMassFlow * CpAirZn); - // mixer outlet temperature needed to meet cooling load - Real64 const MixTempNeeded = OutletTempNeeded - FanDeltaTemp; - if (MixTempNeeded <= state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp) { - PriAirMassFlow = PriAirMassFlowMax; - } else if (MixTempNeeded >= state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp && - MixTempNeeded >= state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp) { - PriAirMassFlow = PriAirMassFlowMin; - } else { - PriAirMassFlow = - thisPIU.MaxTotAirMassFlow * (state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp - MixTempNeeded) / - max(SmallTempDiff, state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp - state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp); - PriAirMassFlow = min(max(PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); + if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + // cooling: set the primary air flow rate to meet the load. + // First calculate the fan temperature rise + // use only secondary air for this calculation + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxTotAirMassFlow; + SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); // fire the mixer + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + + // fan temperature rise [C] + Real64 const FanDeltaTemp = + state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp; + + // using the required zone load, calculate the air temperature needed to meet the load + Real64 const OutletTempNeeded = state.dataLoopNodes->Node(ZoneNode).Temp + QZnReq / (thisPIU.MaxTotAirMassFlow * CpAirZn); + + // mixer outlet temperature needed to meet cooling load + Real64 const MixTempNeeded = OutletTempNeeded - FanDeltaTemp; + + if (MixTempNeeded <= state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp) { // + thisPIU.PriAirMassFlow = PriAirMassFlowMax; + } else if (MixTempNeeded >= state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp && + MixTempNeeded >= state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp) { + thisPIU.PriAirMassFlow = PriAirMassFlowMin; + } else { + thisPIU.PriAirMassFlow = + thisPIU.MaxTotAirMassFlow * (state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp - MixTempNeeded) / + max(SmallTempDiff, + state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp - state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp); + thisPIU.PriAirMassFlow = min(max(thisPIU.PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); + } + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - thisPIU.PriAirMassFlow); + if (QZnReq < 0) { + thisPIU.coolingOperatingMode = CoolOpModeType::ConstantVolumeCool; + } + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + CalcVariableSpeedPIUCoolingBehavior(state, PIUNum, ZoneNode, QZnReq, QToHeatSetPt, PriAirMassFlowMin, PriAirMassFlowMax); } - SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - PriAirMassFlow); } } else { // unit is off ; no flow - PriAirMassFlow = 0.0; - SecAirMassFlow = 0.0; + thisPIU.PriAirMassFlow = 0.0; + thisPIU.SecAirMassFlow = 0.0; } - // Set inlet node flowrates - state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = PriAirMassFlow; - state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = SecAirMassFlow; + // set inlet node flowrates + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.PriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.SecAirMassFlow; if (PriAirMassFlowMax == 0) { thisPIU.PriDamperPosition = 0; } else { - thisPIU.PriDamperPosition = PriAirMassFlow / PriAirMassFlowMax; + thisPIU.PriDamperPosition = thisPIU.PriAirMassFlow / PriAirMassFlowMax; } - // now that inlet airflows have been set, the terminal bos components can be simulated. + // now that inlet airflows have been set, the terminal components can be simulated. // fire the mixer SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); + // fire the fan - state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + if (thisPIU.fanType == HVAC::FanType::SystemModel) { + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + // calculate fan speed ratio + Real64 fanFlowRatio(1.0); + if (thisPIU.MaxTotAirMassFlow > 0.0) { + fanFlowRatio = (thisPIU.PriAirMassFlow + thisPIU.SecAirMassFlow) / thisPIU.MaxTotAirMassFlow; + } + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, fanFlowRatio, _); + } else { + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + } + } else if (thisPIU.fanType == HVAC::FanType::Constant) { + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + } // the heating load seen by the reheat coil [W] - Real64 const QActualHeating = - QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); + Real64 QActualHeating = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * + (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); + // check if heating coil is off - if ((!UnitOn) || (QActualHeating < SmallLoad) || (state.dataHeatBalFanSys->TempControlType(ZoneNum) == HVAC::ThermostatType::SingleCooling) || - (PriAirMassFlow > PriAirMassFlowMin)) { - HCoilOn = false; + if (((!UnitOn) || (QActualHeating < SmallLoad) || (state.dataHeatBalFanSys->TempControlType(ZoneNum) == HVAC::ThermostatType::SingleCooling) || + (thisPIU.PriAirMassFlow > PriAirMassFlowMin)) && + (thisPIU.heatingOperatingMode != HeatOpModeType::StagedHeatFirstStage)) { // reheat is off during the first stage of heating + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + } + + // determine what is required of heater for current operating stage + if (thisPIU.heatingOperatingMode == HeatOpModeType::HeaterOff) { + QCoilReq = 0.0; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatFirstStage) { + QCoilReq = 0.0; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ConstantVolumeHeat) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatSecondStage) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatFirstStage) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatSecondStage) { + // find heater power to deliver design discharge air temperature + Real64 targetDATEnthalpy = Psychrometrics::PsyHFnTdbW(thisPIU.designHeatingDAT, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 mixAirEnthalpy = + Psychrometrics::PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat); + QCoilReq = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * (targetDATEnthalpy - mixAirEnthalpy); + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatThirdStage) { + // find heater power to deliver maximum discharge air temperature + Real64 HiLimitDATEnthalpy = Psychrometrics::PsyHFnTdbW(thisPIU.highLimitDAT, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 mixAirEnthalpy = + Psychrometrics::PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 QcoilLimit = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * (HiLimitDATEnthalpy - mixAirEnthalpy); + if (QcoilLimit < QActualHeating) { // if requried power is too high use limit of coil discharge + QCoilReq = QcoilLimit; + } else { + QCoilReq = QActualHeating; + } + } else { + ShowSevereError(state, "Incorrect series PIU heating operation."); + ShowFatalError(state, format("Series PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); + } + if ((QCoilReq < SmallLoad) && + (thisPIU.heatingOperatingMode != HeatOpModeType::StagedHeatFirstStage)) { // reheat is off during the first stage of heating + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + QCoilReq = 0.0; } - // fire the heating coil + // fire the heating coil switch (thisPIU.HCoilType) { - case HtgCoilType::SimpleHeating: { // COIL:WATER:SIMPLEHEATING - if (!HCoilOn) { + if ((thisPIU.heatingOperatingMode == HeatOpModeType::HeaterOff) || (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatFirstStage)) { // call the reheat coil with the NO FLOW condition Real64 mdot = 0.0; SetComponentFlowRate(state, mdot, thisPIU.HotControlNode, thisPIU.HotCoilOutNodeNum, thisPIU.HWplantLoc); @@ -1705,7 +1670,7 @@ void CalcSeriesPIU(EnergyPlusData &state, thisPIU.UnitType, thisPIU.HCoil_Index, FirstHVACIteration, - QActualHeating, + QCoilReq, thisPIU.HotControlNode, MaxWaterFlow, MinWaterFlow, @@ -1722,34 +1687,14 @@ void CalcSeriesPIU(EnergyPlusData &state, break; } case HtgCoilType::SteamAirHeating: { // COIL:STEAM:AIRHEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateSteamCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, thisPIU.HCoil_Index, QCoilReq); - break; } case HtgCoilType::Electric: { // COIL:ELECTRIC:HEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateHeatingCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, QCoilReq, thisPIU.HCoil_Index); - break; } case HtgCoilType::Gas: { // COIL:GAS:HEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateHeatingCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, QCoilReq, thisPIU.HCoil_Index); break; } @@ -1758,11 +1703,15 @@ void CalcSeriesPIU(EnergyPlusData &state, } // Power supplied - Real64 const PowerMet = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate * - (PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat) - - PsyHFnTdbW(state.dataLoopNodes->Node(ZoneNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat)); + Real64 PowerMet = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate * + (PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat) - + PsyHFnTdbW(state.dataLoopNodes->Node(ZoneNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat)); thisPIU.HeatingRate = max(0.0, PowerMet); thisPIU.SensCoolRate = std::abs(min(DataPrecisionGlobals::constant_zero, PowerMet)); + thisPIU.TotMassFlowRate = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate; + thisPIU.SecMassFlowRate = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + thisPIU.PriMassFlowRate = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; + thisPIU.DischargeAirTemp = state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp; if (state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate == 0.0) { state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = 0.0; @@ -1774,6 +1723,8 @@ void CalcSeriesPIU(EnergyPlusData &state, } state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).MassFlowRatePlenInd = state.dataHVACGlobal->PlenumInducedMassFlow; state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRateMax = thisPIU.MaxTotAirMassFlow; + + ReportCurOperatingControlStage(state, PIUNum, UnitOn, thisPIU.heatingOperatingMode, thisPIU.coolingOperatingMode); } void CalcParallelPIU(EnergyPlusData &state, @@ -1819,26 +1770,27 @@ void CalcParallelPIU(EnergyPlusData &state, using SteamCoils::SimulateSteamCoilComponents; using WaterCoils::SimulateWaterCoilComponents; - bool UnitOn(true); // TRUE if unit is on - bool PriOn(true); // TRUE if primary air available - bool HCoilOn(true); // TRUE if heating coil is on + bool UnitOn(true); // TRUE if unit is on + bool PriOn(true); // TRUE if primary air available - Real64 QCoilReq; // required heating coil outlet to meet zone load - Real64 MaxWaterFlow; // maximum water flow for heating or cooling [kg/s] - Real64 MinWaterFlow; // minimum water flow for heating or cooling [kg/s] + Real64 QCoilReq = 0.0; // required heating coil outlet to meet zone load + Real64 MaxWaterFlow = 0.0; // maximum water flow for heating or cooling [kg/s] + Real64 MinWaterFlow = 0.0; // minimum water flow for heating or cooling [kg/s] // initialize local variables auto &thisPIU = state.dataPowerInductionUnits->PIU(PIUNum); - Real64 PriAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; // primary air mass flow rate [kg/s] Real64 const PriAirMassFlowMax = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRateMaxAvail; // max primary air mass flow rate [kg/s] Real64 const PriAirMassFlowMin = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRateMinAvail; // min primary air mass flow rate [kg/s] - Real64 SecAirMassFlow = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; // secondary air mass flow rate [kg/s] + thisPIU.PriAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; // primary air mass flow rate [kg/s] + thisPIU.SecAirMassFlow = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; // secondary air mass flow rate [kg/s] Real64 const QZnReq = state.dataZoneEnergyDemand->ZoneSysEnergyDemand(ZoneNum).RemainingOutputRequired; // heating or cooling needed by zone [Watts] Real64 const QToHeatSetPt = state.dataZoneEnergyDemand->ZoneSysEnergyDemand(ZoneNum).RemainingOutputReqToHeatSP; // [W] remaining load to heating setpoint Real64 const CpAirZn = PsyCpAirFnW(state.dataLoopNodes->Node(ZoneNode).HumRat); // zone air specific heat [J/kg-C] + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + thisPIU.coolingOperatingMode = CoolOpModeType::CoolerOff; // On the first HVAC iteration the system values are given to the controller, but after that // the demand limits are in place and there needs to be feedback to the Zone Equipment @@ -1854,7 +1806,7 @@ void CalcParallelPIU(EnergyPlusData &state, if (GetCurrentScheduleValue(state, thisPIU.SchedPtr) <= 0.0) { UnitOn = false; } - if (PriAirMassFlow <= SmallMassFlow || PriAirMassFlowMax <= SmallMassFlow) { + if (thisPIU.PriAirMassFlow <= SmallMassFlow || PriAirMassFlowMax <= SmallMassFlow) { PriOn = false; } // Set the mass flow rates @@ -1871,29 +1823,60 @@ void CalcParallelPIU(EnergyPlusData &state, if (!PriOn) { // no primary air flow - PriAirMassFlow = 0.0; + thisPIU.PriAirMassFlow = 0.0; // PIU fan off if there is no heating load, also reset fan flag if fan should be off if (QZnReq <= SmallLoad) { - SecAirMassFlow = 0.0; + thisPIU.SecAirMassFlow = 0.0; state.dataHVACGlobal->TurnFansOn = false; } else { - SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + CalcVariableSpeedPIUStagedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + CalcVariableSpeedPIUModulatedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } } } else if (state.dataZoneEnergyDemand->CurDeadBandOrSetback(ZoneNum) || std::abs(QZnReq) < SmallLoad) { // in deadband or very small load: set primary air flow to the minimum - PriAirMassFlow = PriAirMassFlowMin; + thisPIU.PriAirMassFlow = PriAirMassFlowMin; // PIU fan off if reheat is not needed, also reset fan flag if fan should be off if (ReheatRequired) { - SecAirMassFlow = thisPIU.MaxSecAirMassFlow; state.dataHVACGlobal->TurnFansOn = true; + if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + if (thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + thisPIU.heatingOperatingMode = HeatOpModeType::StagedHeatFirstStage; + } else { + thisPIU.heatingOperatingMode = HeatOpModeType::ModulatedHeatFirstStage; + } + thisPIU.SecAirMassFlow = thisPIU.MinSecAirMassFlow; + } } else { - SecAirMassFlow = 0.0; + thisPIU.SecAirMassFlow = 0.0; state.dataHVACGlobal->TurnFansOn = false; + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; } } else if (QZnReq > SmallLoad) { - // heating: set primary air flow to the minimum - PriAirMassFlow = PriAirMassFlowMin; - SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + // heating + // set primary air flow to the minimum + thisPIU.PriAirMassFlow = PriAirMassFlowMin; + // determine secondary flow rate + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + CalcVariableSpeedPIUStagedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan && + thisPIU.heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + CalcVariableSpeedPIUModulatedHeatingBehavior(state, PIUNum, ZoneNode, QZnReq, PriOn, thisPIU.PriAirMassFlow); + } else if (thisPIU.fanControlType == FanCntrlType::ConstantSpeedFan) { + thisPIU.heatingOperatingMode = HeatOpModeType::ConstantVolumeHeat; + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } } else { // cooling: set the primary air flow rate to meet the load. // First calculate the fan temperature rise @@ -1907,63 +1890,124 @@ void CalcParallelPIU(EnergyPlusData &state, // fan temperature rise [C] Real64 const FanDeltaTemp = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp; // Assuming the fan is off, calculate the primary air flow needed to meet the zone cooling demand. - // CpAir*PriAirMassFlow*(Node(thisPIU.PriAirInNode)%Temp - Node(ZoneNodeNum)%Temp) = QZnReq - PriAirMassFlow = + thisPIU.PriAirMassFlow = QZnReq / (CpAirZn * min(-SmallTempDiff, (state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp))); - PriAirMassFlow = min(max(PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); + thisPIU.PriAirMassFlow = min(max(thisPIU.PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); // check for fan on or off - if ((PriAirMassFlow > thisPIU.FanOnAirMassFlow) && !ReheatRequired) { - SecAirMassFlow = 0.0; // Fan is off unless reheat is required; no secondary air; also reset fan flag + if ((thisPIU.PriAirMassFlow > thisPIU.FanOnAirMassFlow) && !ReheatRequired) { + thisPIU.SecAirMassFlow = 0.0; // Fan is off unless reheat is required; no secondary air; also reset fan flag state.dataHVACGlobal->TurnFansOn = false; } else { // fan is on; recalc primary air flow - // CpAir*PriAirMassFlow*(Node(thisPIU.PriAirInNode)%Temp - Node(ZoneNodeNum)%Temp) + - // CpAir*SecAirMassFlow*(Node(thisPIU.SecAirInNode)%Temp + FanDeltaTemp - Node(ZoneNodeNum)%Temp) = QZnReq - PriAirMassFlow = - (QZnReq - CpAirZn * SecAirMassFlow * + thisPIU.PriAirMassFlow = + (QZnReq - CpAirZn * thisPIU.SecAirMassFlow * (state.dataLoopNodes->Node(thisPIU.SecAirInNode).Temp + FanDeltaTemp - state.dataLoopNodes->Node(ZoneNode).Temp)) / (CpAirZn * min(-SmallTempDiff, (state.dataLoopNodes->Node(thisPIU.PriAirInNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp))); - PriAirMassFlow = min(max(PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); - SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + thisPIU.PriAirMassFlow = min(max(thisPIU.PriAirMassFlow, PriAirMassFlowMin), PriAirMassFlowMax); + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } + if (QZnReq < 0) { + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + if (thisPIU.PriAirMassFlow == PriAirMassFlowMax) { + thisPIU.coolingOperatingMode = CoolOpModeType::CoolSecondStage; + } else { + thisPIU.coolingOperatingMode = CoolOpModeType::CoolFirstStage; + } + } else { + thisPIU.coolingOperatingMode = CoolOpModeType::ConstantVolumeCool; + } } } } else { // unit is off; no flow - PriAirMassFlow = 0.0; - SecAirMassFlow = 0.0; + thisPIU.PriAirMassFlow = 0.0; + thisPIU.SecAirMassFlow = 0.0; } - // Set inlet node flowrates - state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = PriAirMassFlow; - state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = SecAirMassFlow; - state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRateMaxAvail = SecAirMassFlow; + // set inlet node flowrates + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.PriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.SecAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRateMaxAvail = thisPIU.SecAirMassFlow; if (PriAirMassFlowMax == 0) { thisPIU.PriDamperPosition = 0; } else { - thisPIU.PriDamperPosition = PriAirMassFlow / PriAirMassFlowMax; + thisPIU.PriDamperPosition = thisPIU.PriAirMassFlow / PriAirMassFlowMax; } + // now that inlet airflows have been set, the terminal box components can be simulated. // fire the fan - - state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + if (thisPIU.fanType == HVAC::FanType::SystemModel) { + if (thisPIU.fanControlType == FanCntrlType::VariableSpeedFan) { + // calculate fan speed ratio + Real64 fanFlowRatio(1.0); + if (thisPIU.MaxSecAirMassFlow > 0.0) { + fanFlowRatio = thisPIU.SecAirMassFlow / thisPIU.MaxSecAirMassFlow; + } + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, fanFlowRatio, _); + } else { + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + } + } else if (thisPIU.fanType == HVAC::FanType::Constant) { + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, FirstHVACIteration, _, _); + } // fire the mixer SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); + // the heating load seen by the reheat coil [W] - Real64 const QActualHeating = - QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); + Real64 QActualHeating = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * + (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); + // check if heating coil is off - if ((!UnitOn) || (QActualHeating < SmallLoad) || (state.dataHeatBalFanSys->TempControlType(ZoneNum) == HVAC::ThermostatType::SingleCooling) || - (PriAirMassFlow > PriAirMassFlowMin)) { - HCoilOn = false; + if (((!UnitOn) || (QActualHeating < SmallLoad) || (state.dataHeatBalFanSys->TempControlType(ZoneNum) == HVAC::ThermostatType::SingleCooling) || + (thisPIU.PriAirMassFlow > PriAirMassFlowMin)) && + (thisPIU.heatingOperatingMode != HeatOpModeType::StagedHeatFirstStage)) { // reheat is off during the first stage of heating + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + } + + // determine what is required of heater for current operating stage + if (thisPIU.heatingOperatingMode == HeatOpModeType::HeaterOff) { + QCoilReq = 0.0; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatFirstStage) { + QCoilReq = 0.0; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ConstantVolumeHeat) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatSecondStage) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatFirstStage) { + QCoilReq = QActualHeating; + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatSecondStage) { + // find heater power to deliver design discharge air temperature + Real64 targetDATEnthalpy = Psychrometrics::PsyHFnTdbW(thisPIU.designHeatingDAT, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 mixAirEnthalpy = + Psychrometrics::PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat); + QCoilReq = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * (targetDATEnthalpy - mixAirEnthalpy); + } else if (thisPIU.heatingOperatingMode == HeatOpModeType::ModulatedHeatThirdStage) { + // find heater power to deliver maximum discharge air temperature + Real64 HiLimitDATEnthalpy = Psychrometrics::PsyHFnTdbW(thisPIU.highLimitDAT, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 mixAirEnthalpy = + Psychrometrics::PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat); + Real64 QcoilLimit = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * (HiLimitDATEnthalpy - mixAirEnthalpy); + if (QcoilLimit < QActualHeating) { // if requried power is too high use limit of coil discharge + QCoilReq = QcoilLimit; + } else { + QCoilReq = QActualHeating; + } + } else { + ShowSevereError(state, "Incorrect parallel PIU heating operation."); + ShowFatalError(state, format("Parallel PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); } + if ((QCoilReq < SmallLoad) && + (thisPIU.heatingOperatingMode != HeatOpModeType::StagedHeatFirstStage)) { // reheat is off during the first stage of heating + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + QCoilReq = 0.0; + } + // fire the heating coil switch (thisPIU.HCoilType) { - case HtgCoilType::SimpleHeating: { // COIL:WATER:SIMPLEHEATING - if (!HCoilOn) { + if ((thisPIU.heatingOperatingMode == HeatOpModeType::HeaterOff) || (thisPIU.heatingOperatingMode == HeatOpModeType::StagedHeatFirstStage)) { // call the reheat coil with the NO FLOW condition Real64 mdot = 0.0; SetComponentFlowRate(state, mdot, thisPIU.HotControlNode, thisPIU.HotCoilOutNodeNum, thisPIU.HWplantLoc); @@ -1975,7 +2019,7 @@ void CalcParallelPIU(EnergyPlusData &state, thisPIU.UnitType, thisPIU.HCoil_Index, FirstHVACIteration, - QActualHeating, + QCoilReq, thisPIU.HotControlNode, MaxWaterFlow, MinWaterFlow, @@ -1992,33 +2036,14 @@ void CalcParallelPIU(EnergyPlusData &state, break; } case HtgCoilType::SteamAirHeating: { // COIL:STEAM:AIRHEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateSteamCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, thisPIU.HCoil_Index, QCoilReq); break; } case HtgCoilType::Electric: { // COIL:ELECTRIC:HEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateHeatingCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, QCoilReq, thisPIU.HCoil_Index); - break; } case HtgCoilType::Gas: { // COIL:GAS:HEATING - if (!HCoilOn) { - QCoilReq = 0.0; - } else { - QCoilReq = QToHeatSetPt - state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).MassFlowRate * CpAirZn * - (state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp - state.dataLoopNodes->Node(ZoneNode).Temp); - } SimulateHeatingCoilComponents(state, thisPIU.HCoil, FirstHVACIteration, QCoilReq, thisPIU.HCoil_Index); break; } @@ -2026,11 +2051,15 @@ void CalcParallelPIU(EnergyPlusData &state, break; } // Power supplied - Real64 const PowerMet = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate * - (PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat) - - PsyHFnTdbW(state.dataLoopNodes->Node(ZoneNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat)); + Real64 PowerMet = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate * + (PsyHFnTdbW(state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat) - + PsyHFnTdbW(state.dataLoopNodes->Node(ZoneNode).Temp, state.dataLoopNodes->Node(ZoneNode).HumRat)); thisPIU.HeatingRate = max(0.0, PowerMet); thisPIU.SensCoolRate = std::abs(min(DataPrecisionGlobals::constant_zero, PowerMet)); + thisPIU.TotMassFlowRate = state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate; + thisPIU.SecMassFlowRate = state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + thisPIU.PriMassFlowRate = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate; + thisPIU.DischargeAirTemp = state.dataLoopNodes->Node(thisPIU.OutAirNode).Temp; if (state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRate == 0.0) { state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = 0.0; @@ -2042,6 +2071,418 @@ void CalcParallelPIU(EnergyPlusData &state, } state.dataDefineEquipment->AirDistUnit(thisPIU.ADUNum).MassFlowRatePlenInd = state.dataHVACGlobal->PlenumInducedMassFlow; state.dataLoopNodes->Node(thisPIU.OutAirNode).MassFlowRateMax = thisPIU.MaxPriAirMassFlow; + + ReportCurOperatingControlStage(state, PIUNum, UnitOn, thisPIU.heatingOperatingMode, thisPIU.coolingOperatingMode); +} + +void ReportCurOperatingControlStage(EnergyPlusData &state, int const piuNum, bool const unitOn, HeatOpModeType heaterMode, CoolOpModeType coolingMode) +{ + int undetermined(-1); + int off(0); + int constantVolumeCooling(1); + int constantVolumeHeating(2); + int deadband(3); + int variableSpeedFirstStageCooling(4); + int variableSpeedSecondStageCooling(5); + int variableSpeedStagedHeatFirstStageHeating(6); + int variableSpeedStagedHeatSecondStageHeating(7); + int variableSpeedModulatedHeatFirstStageHeating(8); + int variableSpeedModulatedHeatSecondStageHeating(9); + int variableSpeedModulatedHeatThirdStageHeating(10); + + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = undetermined; + + if (!unitOn) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = off; + } else { + if (state.dataPowerInductionUnits->PIU(piuNum).fanControlType == FanCntrlType::ConstantSpeedFan) { + if (heaterMode != HeatOpModeType::HeaterOff && coolingMode == CoolOpModeType::CoolerOff) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = constantVolumeHeating; + } else if (coolingMode != CoolOpModeType::CoolerOff && heaterMode == HeatOpModeType::HeaterOff) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = constantVolumeCooling; + } else { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = deadband; + } + } + if (state.dataPowerInductionUnits->PIU(piuNum).fanControlType == FanCntrlType::VariableSpeedFan) { + if (heaterMode != HeatOpModeType::HeaterOff) { + if (state.dataPowerInductionUnits->PIU(piuNum).heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + if (heaterMode == HeatOpModeType::StagedHeatFirstStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedStagedHeatFirstStageHeating; + } else if (heaterMode == HeatOpModeType::StagedHeatSecondStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedStagedHeatSecondStageHeating; + } + } else if (state.dataPowerInductionUnits->PIU(piuNum).heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + if (heaterMode == HeatOpModeType::ModulatedHeatFirstStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedModulatedHeatFirstStageHeating; + } else if (heaterMode == HeatOpModeType::ModulatedHeatSecondStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedModulatedHeatSecondStageHeating; + } else if (heaterMode == HeatOpModeType::ModulatedHeatThirdStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedModulatedHeatThirdStageHeating; + } + } + } else if (coolingMode == CoolOpModeType::CoolFirstStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedFirstStageCooling; + } else if (coolingMode == CoolOpModeType::CoolSecondStage) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = variableSpeedSecondStageCooling; + } else if (heaterMode == HeatOpModeType::HeaterOff && coolingMode == CoolOpModeType::CoolerOff) { + state.dataPowerInductionUnits->PIU(piuNum).CurOperationControlStage = deadband; + } + } + } +} + +void CalcVariableSpeedPIUCoolingBehavior(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + Real64 const zoneLoad, + Real64 const loadToHeatSetPt, + Real64 const priAirMassFlowMin, + Real64 const priAirMassFlowMax) +{ + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + thisPIU.coolingOperatingMode = CoolOpModeType::CoolerOff; + + // set min primary flow and low secondary + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = priAirMassFlowMin; + Real64 TotAirMassFlow = thisPIU.MinTotAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, TotAirMassFlow - priAirMassFlowMin); + + // calculate cooling provided to zone at minimum fan speed and minimum primary air mass flow + Real64 qdotDelivMinPrim = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, false, TotAirMassFlow, thisPIU.MinFanTurnDownRatio); + + if (qdotDelivMinPrim <= zoneLoad) { // will provide more cooling than required at minimum primary flow + thisPIU.PriAirMassFlow = priAirMassFlowMin; + if (qdotDelivMinPrim >= + loadToHeatSetPt) { // will provide more cooling than required but not enough to drop below the heating thermostat setpoint + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.PriAirMassFlow); + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + } else { + if (thisPIU.heatingControlType == HeatCntrlBehaviorType::StagedHeaterBehavior) { + CalcVariableSpeedPIUStagedHeatingBehavior(state, piuNum, zoneNode, loadToHeatSetPt, true, thisPIU.PriAirMassFlow); + } else if (thisPIU.heatingControlType == HeatCntrlBehaviorType::ModulatedHeaterBehavior) { + CalcVariableSpeedPIUModulatedHeatingBehavior(state, piuNum, zoneNode, loadToHeatSetPt, true, thisPIU.PriAirMassFlow); + } + } + } else { + // check how much cooling provided at max fan and primary air + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MaxPriAirMassFlow; + Real64 TotAirMassFlow = thisPIU.MaxTotAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, TotAirMassFlow - thisPIU.MaxPriAirMassFlow); + Real64 qdotDelivMaxFan = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, false, TotAirMassFlow, 1.0); + + if (zoneLoad <= qdotDelivMaxFan) { // not going to make it just run at max + thisPIU.PriAirMassFlow = thisPIU.PriAirMassFlow; + Real64 TotAirMassFlow = thisPIU.MaxTotAirMassFlow; + thisPIU.SecAirMassFlow = max(0.0, TotAirMassFlow - thisPIU.PriAirMassFlow); + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + thisPIU.coolingOperatingMode = CoolOpModeType::CoolSecondStage; + } else { + // call regula falsi solver, vary a coooling control signal for fan speed and primary air flow together from min to max. + int constexpr MaxIte(500); // Maximum number of iterations + Real64 constexpr Acc(0.0001); // Accuracy of result + int SolFla(0); // Flag of solver + Real64 coolSignal = 0.5; // starting value + auto f = [&state, piuNum, zoneLoad, zoneNode](Real64 const coolSignal) { + return CalcVariableSpeedPIUCoolingResidual(state, coolSignal, piuNum, zoneLoad, zoneNode); + }; + + General::SolveRoot(state, Acc, MaxIte, SolFla, coolSignal, f, 0.0, 1.0); + + if (SolFla == -1) { + ShowSevereError(state, "Iteration limit exceeded in calculating variable speed fan powered box cooling signal"); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("Series PIU control failed for {}:{} ", thisPIU.UnitType, thisPIU.Name)); + } else if (SolFla == -2) { + ShowSevereError(state, "Bad starting values for in calculating variable speed fan powered box cooling signal"); + ShowContinueError(state, format("Zone Load to Cooling Setpoint = {:.2R} [W]", zoneLoad)); + ShowContinueError(state, format("Load Delivered to Zone at Minimum Fan Speed = {:.2R} [W]", qdotDelivMinPrim)); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("Series PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); + } else { + thisPIU.PriAirMassFlow = coolSignal * (thisPIU.MaxPriAirMassFlow - thisPIU.MinPriAirMassFlow) + thisPIU.MinPriAirMassFlow; + Real64 TotAirMassFlow = coolSignal * (thisPIU.MaxTotAirMassFlow - thisPIU.MinTotAirMassFlow) + thisPIU.MinTotAirMassFlow; + thisPIU.SecAirMassFlow = max(0.0, TotAirMassFlow - thisPIU.PriAirMassFlow); + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + thisPIU.coolingOperatingMode = CoolOpModeType::CoolFirstStage; + } + } + } +} + +void CalcVariableSpeedPIUStagedHeatingBehavior(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + Real64 const zoneLoad, + bool const pri, + Real64 const primaryAirMassFlow) +{ + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + + // Calculate heating provided to zone with no coil at the maximum secondary flow rate: "1st stage, max fan" + if (pri) { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, thisPIU.MaxTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxSecAirMassFlow; + } + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxTotAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxSecAirMassFlow; + } + } + Real64 TotAirMassFlow = + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + Real64 qdotDelivered1stStageMaxFan = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, false, TotAirMassFlow, 1.0); + + // Calculate heating provided to zone with no coil at the minimum secondary flow rate: "1st stage, min fan" + if (pri) { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinSecAirMassFlow; + } + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinTotAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinSecAirMassFlow; + } + } + TotAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + Real64 qdotDelivered1stStageMinFan = + CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, false, TotAirMassFlow, thisPIU.MinFanTurnDownRatio); + + if (qdotDelivered1stStageMinFan <= zoneLoad && qdotDelivered1stStageMaxFan >= zoneLoad) { // 1st of heating (no coil) can meet the load + // Find fan speed/flow that meets the load through iteration + thisPIU.heatingOperatingMode = HeatOpModeType::StagedHeatFirstStage; + int constexpr MaxIte(500); // Maximum number of iterations + Real64 constexpr Acc(0.001); // Accuracy of result + int SolFla(0); // Flag of solver + Real64 fanSignal = 0.0; + fanSignal = (1.0 - thisPIU.MinFanTurnDownRatio) * 0.5 + thisPIU.MinFanTurnDownRatio; // average speed as the initial value + auto f = [&state, piuNum, zoneLoad, zoneNode, primaryAirMassFlow](Real64 const fanSignal) { + return CalcVariableSpeedPIUHeatingResidual(state, fanSignal, piuNum, zoneLoad, zoneNode, primaryAirMassFlow, false, fanSignal); + }; + + General::SolveRoot(state, Acc, MaxIte, SolFla, fanSignal, f, thisPIU.MinFanTurnDownRatio, 1.0); + + if (SolFla == -1) { + ShowSevereError(state, "Iteration limit exceeded in calculating variable speed fan powered box 1st stage heating fan speed"); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("PIU control failed for {}:{} ", thisPIU.UnitType, thisPIU.Name)); + } else if (SolFla == -2) { + ShowSevereError(state, "Bad starting values in calculating variable speed fan powered box 1st stage heating fan speed"); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, fanSignal * thisPIU.MaxTotAirMassFlow - primaryAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, fanSignal * thisPIU.MaxSecAirMassFlow); + } + } + } else if (qdotDelivered1stStageMaxFan < zoneLoad) { + thisPIU.heatingOperatingMode = HeatOpModeType::StagedHeatSecondStage; + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MaxTotAirMassFlow - primaryAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } + } else if (qdotDelivered1stStageMinFan > zoneLoad) { + thisPIU.heatingOperatingMode = HeatOpModeType::HeaterOff; + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = 0.0; + } + } +} + +Real64 CalcVariableSpeedPIUQdotDelivered(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + bool const useDAT, + Real64 const totAirMassFlow, + Real64 const fanTurnDown) +{ + Real64 qdotDelivered = 0.0; + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + MixerComponent::SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, false, fanTurnDown, _); + } else { + state.dataFans->fans(thisPIU.Fan_Index)->simulate(state, false, fanTurnDown, _); + MixerComponent::SimAirMixer(state, thisPIU.MixerName, thisPIU.Mixer_Num); + } + Real64 zoneEnthalpy = Psychrometrics::PsyHFnTdbW(state.dataLoopNodes->Node(zoneNode).Temp, state.dataLoopNodes->Node(zoneNode).HumRat); + Real64 piuTemp = 0.0; + if (useDAT) { + piuTemp = thisPIU.designHeatingDAT; + } else { + piuTemp = state.dataLoopNodes->Node(thisPIU.HCoilInAirNode).Temp; + } + Real64 piuEnthalpy = Psychrometrics::PsyHFnTdbW(piuTemp, state.dataLoopNodes->Node(zoneNode).HumRat); + qdotDelivered = totAirMassFlow * (piuEnthalpy - zoneEnthalpy); + return qdotDelivered; +} + +void CalcVariableSpeedPIUModulatedHeatingBehavior(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + Real64 const zoneLoad, + bool const pri, + Real64 const primaryAirMassFlow) +{ + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + + // Calculate heating provided to zone with no coil at the minimum secondary flow rate: "1st stage, min fan" + if (pri) { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, thisPIU.MinTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinSecAirMassFlow; + } + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinTotAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MinSecAirMassFlow; + } + } + Real64 TotAirMassFlow = + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + Real64 qdotDeliveredEnd1stStage = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, true, TotAirMassFlow, thisPIU.MinFanTurnDownRatio); + if (qdotDeliveredEnd1stStage >= zoneLoad) { // 1st stage, find heating power at minimum fan speed + thisPIU.heatingOperatingMode = HeatOpModeType::ModulatedHeatFirstStage; + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = thisPIU.MinSecAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = thisPIU.MinSecAirMassFlow; + } + } else { + if (pri) { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, thisPIU.MaxTotAirMassFlow - thisPIU.MinPriAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = thisPIU.MinPriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxSecAirMassFlow; + } + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxTotAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = 0.0; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = thisPIU.MaxSecAirMassFlow; + } + } + TotAirMassFlow = state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate; + Real64 qdotDeliveredEnd2ndStage = + CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNode, true, TotAirMassFlow, thisPIU.MinFanTurnDownRatio); + if (qdotDeliveredEnd2ndStage > zoneLoad) { // 2nd stage + thisPIU.heatingOperatingMode = HeatOpModeType::ModulatedHeatSecondStage; + // Find fan speed that meets zone heating load + int constexpr MaxIte(500); // Maximum number of iterations + Real64 constexpr Acc(0.0001); // Accuracy of result + int SolFla(0); // Flag of solver + Real64 fanSignal = (1.0 - thisPIU.MinFanTurnDownRatio) * 0.5 + thisPIU.MinFanTurnDownRatio; // starting value in middle + auto f = [&state, piuNum, zoneLoad, zoneNode, primaryAirMassFlow](Real64 const fanSignal) { + return CalcVariableSpeedPIUHeatingResidual(state, fanSignal, piuNum, zoneLoad, zoneNode, primaryAirMassFlow, true, fanSignal); + }; + + General::SolveRoot(state, Acc, MaxIte, SolFla, fanSignal, f, thisPIU.MinFanTurnDownRatio, 1.0); + + if (SolFla == -1) { + ShowSevereError(state, "Iteration limit exceeded in calculating variable speed fan powered box 2nd stage heating fan speed"); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); + } else if (SolFla == -2) { + ShowSevereError(state, "Bad starting values for in calculating variable speed fan powered box 2nd stage heating fan speed"); + ShowContinueErrorTimeStamp(state, ""); + ShowFatalError(state, format("PIU control failed for {}:{}", thisPIU.UnitType, thisPIU.Name)); + } else { + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, fanSignal * thisPIU.MaxTotAirMassFlow - primaryAirMassFlow); + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = max(0.0, fanSignal * thisPIU.MaxSecAirMassFlow); + } + } + } else { // 3rd stage, full fan speed + thisPIU.heatingOperatingMode = HeatOpModeType::ModulatedHeatThirdStage; + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + thisPIU.SecAirMassFlow = thisPIU.MaxTotAirMassFlow - thisPIU.MinPriAirMassFlow; + } else if (thisPIU.UnitType == "AirTerminal:SingleDuct:ParallelPIU:Reheat") { + thisPIU.SecAirMassFlow = thisPIU.MaxSecAirMassFlow; + } + } + } +} + +Real64 CalcVariableSpeedPIUHeatingResidual(EnergyPlusData &state, + Real64 const fanSignal, + int const piuNum, + Real64 const targetQznReq, + int const zoneNodeNum, + Real64 const primaryMassFlow, + bool useDAT, + Real64 const fanTurnDown) + +{ + // used to find a fan speed to meet load to heating setpoint with no heater power + // 1st stage heating for staged heat, also used for undershoot case where cooling at min primary flow would push below heating + // setpoint. + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = primaryMassFlow; + Real64 TotAirMassFlow = 0.0; + if (thisPIU.UnitType == "AirTerminal:SingleDuct:SeriesPIU:Reheat") { + TotAirMassFlow = fanSignal * thisPIU.MaxTotAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = max(0.0, TotAirMassFlow - primaryMassFlow); + } else { + // parallel + TotAirMassFlow = fanSignal * thisPIU.MaxSecAirMassFlow + primaryMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = fanSignal * thisPIU.MaxSecAirMassFlow; + } + + // calculate heating provided to zone + Real64 qdotDelivered = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNodeNum, useDAT, TotAirMassFlow, fanTurnDown); + // formulate residual and return + Real64 Residuum = (targetQznReq - qdotDelivered); + return Residuum; +} + +Real64 CalcVariableSpeedPIUCoolingResidual(EnergyPlusData &state, Real64 const coolSignal, int piuNum, Real64 targetQznReq, int zoneNodeNum) +{ + // used for cooling control with VS fan. Simultaneous control of fan speed and primary air damper + // given trial cooling signal, calculate the cooling provided and a residual that compares what is delivered vs what the zone + // needs. set the flows, controller acts on fan and damper simultaneously + auto &thisPIU = state.dataPowerInductionUnits->PIU(piuNum); + Real64 PriAirMassFlow = coolSignal * (thisPIU.MaxPriAirMassFlow - thisPIU.MinPriAirMassFlow) + thisPIU.MinPriAirMassFlow; + Real64 TotAirMassFlow = coolSignal * (thisPIU.MaxTotAirMassFlow - thisPIU.MinTotAirMassFlow) + thisPIU.MinTotAirMassFlow; + Real64 SecAirMassFlow = max(0.0, TotAirMassFlow - PriAirMassFlow); + state.dataLoopNodes->Node(thisPIU.PriAirInNode).MassFlowRate = PriAirMassFlow; + state.dataLoopNodes->Node(thisPIU.SecAirInNode).MassFlowRate = SecAirMassFlow; + + Real64 fanTurnDown = coolSignal * (1.0 - thisPIU.MinFanTurnDownRatio) + thisPIU.MinFanTurnDownRatio; + Real64 qdotDelivered = CalcVariableSpeedPIUQdotDelivered(state, piuNum, zoneNodeNum, false, TotAirMassFlow, fanTurnDown); + // formulate residual and return + Real64 Residuum = (targetQznReq - qdotDelivered); + return Residuum; } void ReportPIU(EnergyPlusData &state, int const PIUNum) // number of the current fan coil unit being simulated @@ -2100,7 +2541,7 @@ bool PIUnitHasMixer(EnergyPlusData &state, std::string_view CompName) // compone return YesNo; } -void PIUInducesPlenumAir(EnergyPlusData &state, int const NodeNum) // induced air node number +void PIUInducesPlenumAir(EnergyPlusData &state, int const NodeNum, int const plenumNum) // induced air node number { // SUBROUTINE INFORMATION: @@ -2121,6 +2562,7 @@ void PIUInducesPlenumAir(EnergyPlusData &state, int const NodeNum) // induced ai for (int PIUIndex = 1; PIUIndex <= state.dataPowerInductionUnits->NumPIUs; ++PIUIndex) { if (NodeNum == state.dataPowerInductionUnits->PIU(PIUIndex).SecAirInNode) { state.dataPowerInductionUnits->PIU(PIUIndex).InducesPlenumAir = true; + state.dataPowerInductionUnits->PIU(PIUIndex).plenumIndex = plenumNum; break; } } diff --git a/src/EnergyPlus/PoweredInductionUnits.hh b/src/EnergyPlus/PoweredInductionUnits.hh index 9fa08b425c7..01223ed0458 100644 --- a/src/EnergyPlus/PoweredInductionUnits.hh +++ b/src/EnergyPlus/PoweredInductionUnits.hh @@ -87,6 +87,42 @@ namespace PoweredInductionUnits { static constexpr std::array(HtgCoilType::Num)> HCoilNames{ "Coil:Heating:Fuel", "Coil:Heating:Electric", "Coil:Heating:Water", "Coil:Heating:Steam"}; + enum class FanCntrlType + { + Invalid = -1, + ConstantSpeedFan, + VariableSpeedFan, + Num + }; + enum class HeatCntrlBehaviorType + { + Invalid = -1, + StagedHeaterBehavior, + ModulatedHeaterBehavior, + Num + }; + enum class HeatOpModeType + { + Invalid = -1, + HeaterOff, + ConstantVolumeHeat, + StagedHeatFirstStage, + StagedHeatSecondStage, + ModulatedHeatFirstStage, + ModulatedHeatSecondStage, + ModulatedHeatThirdStage, + Num + }; + enum class CoolOpModeType + { + Invalid = -1, + CoolerOff, + ConstantVolumeCool, + CoolFirstStage, + CoolSecondStage, + Num + }; + struct PowIndUnitData { // Members @@ -147,7 +183,28 @@ namespace PoweredInductionUnits { int ctrlZoneInNodeIndex; // index to the control zone inlet node int AirLoopNum; // index for the air loop that this terminal is connected to. Real64 OutdoorAirFlowRate; // zone outdoor air volume flow rate + Real64 PriAirMassFlow; + Real64 SecAirMassFlow; + + FanCntrlType fanControlType = FanCntrlType::Invalid; // fan speed control, Constant or VS + Real64 MinFanTurnDownRatio = 0.0; // VS fan minimum speed as fraction of maximum, to facilitate autosizing + Real64 MinTotAirVolFlow = 0.0; // m3/s VS fan on minimum speed + Real64 MinTotAirMassFlow = 0.0; // kg/s VS fan on minimum speed + Real64 MinSecAirVolFlow = 0.0; // m3/s VS fan on minimum speed + Real64 MinSecAirMassFlow = 0.0; // kg/s VS fan on minimum speed + HeatCntrlBehaviorType heatingControlType = + HeatCntrlBehaviorType::Invalid; // heating control scheme, staged or modulated (physical devices) have different control behavior + Real64 designHeatingDAT = 0.0; // C, target heating discharge air temperature during second stage modulated heating behavior + Real64 highLimitDAT = 0.0; // C, maximum limit on heating discharge air temperature, end of third stage modulated heating behavior + Real64 TotMassFlowRate = 0.0; // currrent operating total air mass flow, for reporting + Real64 SecMassFlowRate = 0.0; // current operating secondary air mass flow rate, for reporting + Real64 PriMassFlowRate = 0.0; // current operating primary air mass flow rate, for reporting + Real64 DischargeAirTemp = 0.0; // current operating discharge air temperature at outlet, for reporting + HeatOpModeType heatingOperatingMode = HeatOpModeType::HeaterOff; + CoolOpModeType coolingOperatingMode = CoolOpModeType::CoolerOff; + int CurOperationControlStage = -1; // integer reference for what stage of control the unit is in + int plenumIndex = 0; // Default Constructor PowIndUnitData() : UnitType_Num(DataDefineEquip::ZnAirLoopEquipType::Invalid), SchedPtr(0), MaxTotAirVolFlow(0.0), MaxTotAirMassFlow(0.0), @@ -198,11 +255,51 @@ namespace PoweredInductionUnits { void ReportPIU(EnergyPlusData &state, int PIUNum); // number of the current fan coil unit being simulated + void CalcVariableSpeedPIUModulatedHeatingBehavior(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + Real64 const zoneLoad, + bool const pri, + Real64 const primaryAirMassFlow); + + void CalcVariableSpeedPIUStagedHeatingBehavior(EnergyPlusData &state, + int const piuNum, // number of the current PIU being simulated + int const zoneNode, // zone node number + Real64 const zoneLoad, + bool const pri, + Real64 const primaryAirMassFlow); + + void + ReportCurOperatingControlStage(EnergyPlusData &state, int const PIUNum, bool const unitOn, HeatOpModeType heaterMode, CoolOpModeType coolingMode); + // ===================== Utilities ===================================== bool PIUnitHasMixer(EnergyPlusData &state, std::string_view CompName); // component (mixer) name - void PIUInducesPlenumAir(EnergyPlusData &state, int NodeNum); // induced air node number + void PIUInducesPlenumAir(EnergyPlusData &state, int NodeNum, int const plenumNum); // induced air node number + + Real64 CalcVariableSpeedPIUHeatingResidual(EnergyPlusData &state, + Real64 const fanSignal, + int const piuNum, + Real64 const targetQznReq, + int const zoneNodeNum, + Real64 const primaryMassFlow, + bool const useDAT, + Real64 const fanTurnDown); + + Real64 CalcVariableSpeedPIUCoolingResidual( + EnergyPlusData &state, Real64 const coolSignal, int const piuNum, Real64 const targetQznReq, int const zoneNodeNum); + + void CalcVariableSpeedPIUCoolingBehavior(EnergyPlusData &state, + int const PIUNum, + int const zoneNode, + Real64 const zoneLoad, + Real64 const loadToHeatSetPt, + Real64 const priAirMassFlowMin, + Real64 const priAirMassFlowMax); + + Real64 CalcVariableSpeedPIUQdotDelivered( + EnergyPlusData &state, int const piuNum, int const zoneNode, bool const useDAT, Real64 const totAirMassFlow, Real64 const fanTurnDown); } // namespace PoweredInductionUnits diff --git a/src/EnergyPlus/Psychrometrics.hh b/src/EnergyPlus/Psychrometrics.hh index 61360dac72a..b3ebe4d2cb1 100644 --- a/src/EnergyPlus/Psychrometrics.hh +++ b/src/EnergyPlus/Psychrometrics.hh @@ -1702,8 +1702,9 @@ struct PsychrometricsData : BaseGlobalStruct bool ReportErrors = true; bool useInterpolationPsychTsatFnPb = false; - void init_state([[maybe_unused]] EnergyPlusData &state) override + void init_state(EnergyPlusData &state) override { + Psychrometrics::InitializePsychRoutines(state); } void clear_state() override diff --git a/src/EnergyPlus/ReportCoilSelection.cc b/src/EnergyPlus/ReportCoilSelection.cc index 183aa090711..b4733432d1f 100644 --- a/src/EnergyPlus/ReportCoilSelection.cc +++ b/src/EnergyPlus/ReportCoilSelection.cc @@ -625,45 +625,7 @@ void ReportCoilSelection::doZoneEqSetup(EnergyPlusData &state, int const coilVec } if (c->zoneEqNum > 0) { - c->coilLocation = "Unknown"; - c->typeHVACname = "Unknown"; - c->userNameforHVACsystem = "Unknown"; - // now search equiment - if (state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).NumOfEquipTypes == 1) { // this must be it, fill strings for type and name - c->typeHVACname = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipTypeName(1); - c->userNameforHVACsystem = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipName(1); - c->coilLocation = "Zone Equipment"; - c->zoneHVACTypeNum = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipType(1); - c->zoneHVACIndex = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipIndex(1); - } else if (state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).NumOfEquipTypes > 1) { - bool foundOne(false); - for (int equipLoop = 1; equipLoop <= state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).NumOfEquipTypes; ++equipLoop) { - // go with the first ZoneHVAC device in the list - DataZoneEquipment::ZoneEquipType equipType = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipType(equipLoop); - if (equipType == DataZoneEquipment::ZoneEquipType::VariableRefrigerantFlowTerminal || - equipType == DataZoneEquipment::ZoneEquipType::EnergyRecoveryVentilator || - equipType == DataZoneEquipment::ZoneEquipType::FourPipeFanCoil || equipType == DataZoneEquipment::ZoneEquipType::OutdoorAirUnit || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalAirConditioner || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalHeatPump || - equipType == DataZoneEquipment::ZoneEquipType::UnitHeater || equipType == DataZoneEquipment::ZoneEquipType::UnitVentilator || - equipType == DataZoneEquipment::ZoneEquipType::VentilatedSlab || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalHeatPumpWaterToAir || - equipType == DataZoneEquipment::ZoneEquipType::WindowAirConditioner || - equipType == DataZoneEquipment::ZoneEquipType::DehumidifierDX) { - if (!foundOne) { - c->typeHVACname = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipTypeName(equipLoop); - c->userNameforHVACsystem = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipName(equipLoop); - foundOne = true; - c->coilLocation = "Zone Equipment"; - c->zoneHVACTypeNum = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipType(equipLoop); - c->zoneHVACIndex = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipIndex(equipLoop); - } else { // or may have found another - c->typeHVACname += " or " + state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipTypeName(equipLoop); - c->userNameforHVACsystem += " or " + state.dataZoneEquip->ZoneEquipList(c->zoneEqNum).EquipName(equipLoop); - } - } - } - } + associateZoneCoilWithParent(state, c); } } @@ -675,44 +637,8 @@ void ReportCoilSelection::doFinalProcessingOfCoilData(EnergyPlusData &state) // mine final/hard values from coil models if (c->zoneEqNum > 0) { - c->coilLocation = "Unknown"; - c->typeHVACname = "Unknown"; - c->userNameforHVACsystem = "Unknown"; - // now search equipment - auto const &zoneEquipList = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum); - if (zoneEquipList.NumOfEquipTypes == 1) { // this must be it, fill strings for type and name - c->typeHVACname = zoneEquipList.EquipTypeName(1); - c->userNameforHVACsystem = zoneEquipList.EquipName(1); - c->coilLocation = "Zone Equipment"; - } else if (zoneEquipList.NumOfEquipTypes > 1) { - bool foundOne(false); - for (int equipLoop = 1; equipLoop <= zoneEquipList.NumOfEquipTypes; ++equipLoop) { - // go with the first ZoneHVAC device in the list - DataZoneEquipment::ZoneEquipType equipType = zoneEquipList.EquipType(equipLoop); - if (equipType == DataZoneEquipment::ZoneEquipType::VariableRefrigerantFlowTerminal || - equipType == DataZoneEquipment::ZoneEquipType::EnergyRecoveryVentilator || - equipType == DataZoneEquipment::ZoneEquipType::FourPipeFanCoil || - equipType == DataZoneEquipment::ZoneEquipType::OutdoorAirUnit || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalAirConditioner || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalHeatPump || - equipType == DataZoneEquipment::ZoneEquipType::UnitHeater || equipType == DataZoneEquipment::ZoneEquipType::UnitVentilator || - equipType == DataZoneEquipment::ZoneEquipType::VentilatedSlab || - equipType == DataZoneEquipment::ZoneEquipType::PackagedTerminalHeatPumpWaterToAir || - equipType == DataZoneEquipment::ZoneEquipType::WindowAirConditioner || - equipType == DataZoneEquipment::ZoneEquipType::DehumidifierDX) { - if (!foundOne) { - c->typeHVACname = zoneEquipList.EquipTypeName(equipLoop); - c->userNameforHVACsystem = zoneEquipList.EquipName(equipLoop); - foundOne = true; - c->coilLocation = "Zone Equipment"; - } else { // or may have found another - c->typeHVACname += " or " + zoneEquipList.EquipTypeName(equipLoop); - c->userNameforHVACsystem += " or " + zoneEquipList.EquipName(equipLoop); - } - } - } // for (equipLoop) - } // if (zoneEquipList.numOfEquipTypes > 0) - } // if (c->ZoneEqNum > 0) + associateZoneCoilWithParent(state, c); + } if (c->airloopNum > state.dataHVACGlobal->NumPrimaryAirSys && c->oASysNum > 0) { c->coilLocation = "DOAS AirLoop"; @@ -979,6 +905,94 @@ int ReportCoilSelection::getIndexForOrCreateDataObjFromCoilName(EnergyPlusData & return index; } +void ReportCoilSelection::associateZoneCoilWithParent(EnergyPlusData &state, std::unique_ptr &c) +{ + c->coilLocation = "Unknown"; + c->typeHVACname = "Unknown"; + c->userNameforHVACsystem = "Unknown"; + // now search equipment + auto const &zoneEquipList = state.dataZoneEquip->ZoneEquipList(c->zoneEqNum); + bool coilFound = false; + std::string fanType; + std::string fanName; + auto thisSubCoilLambda = [&c](const DataZoneEquipment::SubEquipmentData &myCoil) { return myCoil.Name == c->coilName_; }; + auto thisSubFanLambda = [](const DataZoneEquipment::SubEquipmentData &myFan) { return myFan.TypeOf.rfind("FAN:", 0) == 0; }; + auto thisSubSubCoilLambda = [&c](const DataZoneEquipment::SubSubEquipmentData &myCoil) { return myCoil.Name == c->coilName_; }; + auto thisSubSubFanLambda = [](const DataZoneEquipment::SubSubEquipmentData &myFan) { return myFan.TypeOf.rfind("FAN:", 0) == 0; }; + + for (int equipLoop = 1; equipLoop <= zoneEquipList.NumOfEquipTypes; ++equipLoop) { + // coil should be found only once, fan could be found multiple times, reset here + // for each type of equipment (equipLoop) only one coil and fan could be found as a pair + bool fanFound = false; + auto &thisSubEq = zoneEquipList.EquipData(equipLoop).SubEquipData; + + // search for coil and fan SubEquipData and return parent type/name and fan type/name for coil reports. + auto const &coilIterator = std::find_if(thisSubEq.begin(), thisSubEq.end(), thisSubCoilLambda); + if (std::find_if(thisSubEq.begin(), thisSubEq.end(), thisSubCoilLambda) != thisSubEq.end()) { + c->typeHVACname = zoneEquipList.EquipTypeName(equipLoop); + c->userNameforHVACsystem = zoneEquipList.EquipName(equipLoop); + c->coilLocation = "Zone Equipment"; + int zoneEqListIndex = Util::FindItemInList(zoneEquipList.Name, state.dataZoneEquip->ZoneEquipList); + if (c->zoneNum.empty()) c->zoneNum.resize(1); + c->zoneNum[0] = zoneEqListIndex; + if (c->zoneName.empty()) c->zoneName.resize(1); + c->zoneName[0] = state.dataHeatBal->Zone(zoneEqListIndex).Name; + coilFound = true; + } + auto const &fanIterator = std::find_if(thisSubEq.begin(), thisSubEq.end(), thisSubFanLambda); + if (fanIterator != thisSubEq.end()) { + unsigned int fanIndex = fanIterator - thisSubEq.begin(); + // notice the brackets on the Array1D for [fanIndex] + fanType = thisSubEq[fanIndex].TypeOf; + fanName = thisSubEq[fanIndex].Name; + fanFound = true; + } + // if coil not found in SubEquipData then maybe it's HXAssisted and in SubSubEquipData. Fan is usually already found if exists. + if (!coilFound || !fanFound) { + for (int subEq = 1; subEq <= zoneEquipList.EquipData(equipLoop).NumSubEquip; ++subEq) { + auto &thisSubSubEq = zoneEquipList.EquipData(equipLoop).SubEquipData(subEq).SubSubEquipData; + if (!coilFound) { + auto const &coilIterator2 = std::find_if(thisSubSubEq.begin(), thisSubSubEq.end(), thisSubSubCoilLambda); + if (coilIterator2 != thisSubSubEq.end()) { + c->typeHVACname = zoneEquipList.EquipTypeName(equipLoop); + c->userNameforHVACsystem = zoneEquipList.EquipName(equipLoop); + c->coilLocation = "Zone Equipment"; + int zoneEqListIndex = Util::FindItemInList(zoneEquipList.Name, state.dataZoneEquip->ZoneEquipList); + if (c->zoneNum.empty()) c->zoneNum.resize(1); + c->zoneNum[0] = zoneEqListIndex; + if (c->zoneName.empty()) c->zoneName.resize(1); + c->zoneName[0] = state.dataHeatBal->Zone(zoneEqListIndex).Name; + coilFound = true; + } + } + if (!fanFound) { + auto const &fanIterator2 = std::find_if(thisSubSubEq.begin(), thisSubSubEq.end(), thisSubSubFanLambda); + if (fanIterator2 != thisSubSubEq.end()) { + unsigned int fanIndex = fanIterator2 - thisSubSubEq.begin(); + // notice the brackets on the Array1D for [fanIndex] + fanType = thisSubSubEq[fanIndex].TypeOf; + fanName = thisSubSubEq[fanIndex].Name; + fanFound = true; + } + } + if (coilFound && fanFound) break; + } + } + if (coilFound) { + if (fanFound) { + c->fanTypeName = fanType; + c->fanAssociatedWithCoilName = fanName; + } + break; + } + + } // for (equipLoop) + + if (c->typeHVACname == "Unknown") { + ShowWarningError(state, format("Parent object not found for zone coil = {}", c->coilName_)); + } +} + void ReportCoilSelection::setRatedCoilConditions(EnergyPlusData &state, std::string const &coilName, // ! user-defined name of the coil std::string const &coilObjName, // coil object name, e.g., Coil:Cooling:Water @@ -1687,7 +1701,7 @@ void ReportCoilSelection::setCoilHeatingCapacity( } } else if (state.dataSize->TermUnitPIU) { auto const &thisTermUnitSizing = state.dataSize->TermUnitSizing(state.dataSize->CurTermUnitSizingNum); - Real64 MinPriFlowFrac = thisTermUnitSizing.MinFlowFrac; + Real64 MinPriFlowFrac = thisTermUnitSizing.MinPriFlowFrac; if (thisTermUnitSizing.InducesPlenumAir) { if (c->coilDesEntTemp == -999.0) { // don't overwrite if already set directly by setCoilEntAirTemp auto const &termUnitFinalZoneSizing = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum); @@ -1975,6 +1989,20 @@ void ReportCoilSelection::setCoilSupplyFanInfo(EnergyPlusData &state, if (c->supFanNum == 0) c->supFanNum = Fans::GetFanIndex(state, fanName); } +void ReportCoilSelection::setCoilEqNum(EnergyPlusData &state, + std::string const &coilName, + std::string const &coilType, + int const curSysNum, + int const curOASysNum, + int const curZoneEqNum) +{ + int index = getIndexForOrCreateDataObjFromCoilName(state, coilName, coilType); + auto &c(coilSelectionDataObjs[index]); + c->airloopNum = curSysNum; + c->oASysNum = curOASysNum; + c->zoneEqNum = curZoneEqNum; +} + std::string ReportCoilSelection::getTimeText(EnergyPlusData &state, int const timeStepAtPeak) { std::string returnString = ""; diff --git a/src/EnergyPlus/ReportCoilSelection.hh b/src/EnergyPlus/ReportCoilSelection.hh index b06b8b218a0..37567137783 100644 --- a/src/EnergyPlus/ReportCoilSelection.hh +++ b/src/EnergyPlus/ReportCoilSelection.hh @@ -404,6 +404,13 @@ public: // methods HVAC::FanType fanType, int fanIndex); + void setCoilEqNum(EnergyPlusData &state, + std::string const &coilName, + std::string const &coilType, + int const curSysNum, + int const curOASysNum, + int const curZoneEqNum); + static std::string getTimeText(EnergyPlusData &state, int const timeStepAtPeak); bool isCompTypeFan(std::string const &compType // string component type, input object class name @@ -432,6 +439,8 @@ private: // methods std::string const &coilType // idf input object class name of coil ); + void associateZoneCoilWithParent(EnergyPlusData &state, std::unique_ptr &c); + public: // data int numCoilsReported_; std::vector> coilSelectionDataObjs; diff --git a/src/EnergyPlus/RuntimeLanguageProcessor.cc b/src/EnergyPlus/RuntimeLanguageProcessor.cc index 2f63668ff35..71214b90f17 100644 --- a/src/EnergyPlus/RuntimeLanguageProcessor.cc +++ b/src/EnergyPlus/RuntimeLanguageProcessor.cc @@ -410,9 +410,11 @@ void ParseStack(EnergyPlusData &state, int const StackNum) SavedWhileExpressionNum = 0; NumWhileGotos = 0; - while (LineNum <= state.dataRuntimeLang->ErlStack(StackNum).NumLines) { + auto &thisErlStack = state.dataRuntimeLang->ErlStack(StackNum); - Line = stripped(state.dataRuntimeLang->ErlStack(StackNum).Line(LineNum)); + while (LineNum <= thisErlStack.NumLines) { + + Line = stripped(thisErlStack.Line(LineNum)); if (len(Line) == 0) { ++LineNum; continue; // Blank lines can be skipped @@ -430,7 +432,9 @@ void ParseStack(EnergyPlusData &state, int const StackNum) // the functionality in each block of this parser structure is so different that a regular IF block seems reasonable if (Keyword == "RETURN") { - if (state.dataSysVars->DeveloperFlag) print(state.files.debug, "RETURN \"{}\"\n", Line); + if (state.dataSysVars->DeveloperFlag) { + print(state.files.debug, "RETURN \"{}\"\n", Line); + } if (Remainder.empty()) { InstructionNum = AddInstruction(state, StackNum, LineNum, RuntimeLanguageProcessor::ErlKeywordParam::Return); } else { @@ -439,7 +443,9 @@ void ParseStack(EnergyPlusData &state, int const StackNum) } } else if (Keyword == "SET") { - if (state.dataSysVars->DeveloperFlag) print(state.files.debug, "SET \"{}\"\n", Line); + if (state.dataSysVars->DeveloperFlag) { + print(state.files.debug, "SET \"{}\"\n", Line); + } Pos = scan(Remainder, '='); if (Pos == std::string::npos) { AddError(state, StackNum, LineNum, "Equal sign missing for the SET instruction."); @@ -464,7 +470,9 @@ void ParseStack(EnergyPlusData &state, int const StackNum) } } else if (Keyword == "RUN") { - if (state.dataSysVars->DeveloperFlag) print(state.files.debug, "RUN \"{}\"\n", Line); + if (state.dataSysVars->DeveloperFlag) { + print(state.files.debug, "RUN \"{}\"\n", Line); + } if (Remainder.empty()) { AddError(state, StackNum, LineNum, "Program or Subroutine name missing for the RUN instruction."); } else { @@ -540,7 +548,7 @@ void ParseStack(EnergyPlusData &state, int const StackNum) LineNum, DataRuntimeLanguage::ErlKeywordParam::If, ExpressionNum); // Arg2 added at next ELSEIF, ELSE, ENDIF - state.dataRuntimeLang->ErlStack(StackNum).Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; + thisErlStack.Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; SavedIfInstructionNum(NestedIfDepth) = InstructionNum; } else if (Keyword == "ELSE") { @@ -572,7 +580,7 @@ void ParseStack(EnergyPlusData &state, int const StackNum) } InstructionNum = AddInstruction(state, StackNum, LineNum, DataRuntimeLanguage::ErlKeywordParam::Else); // can make this into a KeywordIf? - state.dataRuntimeLang->ErlStack(StackNum).Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; + thisErlStack.Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; SavedIfInstructionNum(NestedIfDepth) = InstructionNum; } else if (Keyword == "ENDIF") { @@ -596,12 +604,12 @@ void ParseStack(EnergyPlusData &state, int const StackNum) } InstructionNum = AddInstruction(state, StackNum, LineNum, DataRuntimeLanguage::ErlKeywordParam::EndIf); - state.dataRuntimeLang->ErlStack(StackNum).Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; + thisErlStack.Instruction(SavedIfInstructionNum(NestedIfDepth)).Argument2 = InstructionNum; // Go back and complete all of the GOTOs that terminate each IF and ELSEIF block for (GotoNum = 1; GotoNum <= NumGotos(NestedIfDepth); ++GotoNum) { InstructionNum2 = SavedGotoInstructionNum(GotoNum, NestedIfDepth); - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum2).Argument1 = InstructionNum; + thisErlStack.Instruction(InstructionNum2).Argument1 = InstructionNum; SavedGotoInstructionNum(GotoNum, NestedIfDepth) = 0; } @@ -640,9 +648,9 @@ void ParseStack(EnergyPlusData &state, int const StackNum) } InstructionNum = AddInstruction(state, StackNum, LineNum, DataRuntimeLanguage::ErlKeywordParam::EndWhile); - state.dataRuntimeLang->ErlStack(StackNum).Instruction(SavedWhileInstructionNum).Argument2 = InstructionNum; - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1 = SavedWhileExpressionNum; - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2 = SavedWhileInstructionNum; + thisErlStack.Instruction(SavedWhileInstructionNum).Argument2 = InstructionNum; + thisErlStack.Instruction(InstructionNum).Argument1 = SavedWhileExpressionNum; + thisErlStack.Instruction(InstructionNum).Argument2 = SavedWhileInstructionNum; NestedWhileDepth = 0; SavedWhileInstructionNum = 0; @@ -696,24 +704,29 @@ int AddInstruction(EnergyPlusData &state, // Object Data ErlStackType TempStack; - if (state.dataRuntimeLang->ErlStack(StackNum).NumInstructions == 0) { - state.dataRuntimeLang->ErlStack(StackNum).Instruction.allocate(1); - state.dataRuntimeLang->ErlStack(StackNum).NumInstructions = 1; + auto &thisErlStack = state.dataRuntimeLang->ErlStack(StackNum); + + if (thisErlStack.NumInstructions == 0) { + thisErlStack.Instruction.allocate(1); + thisErlStack.NumInstructions = 1; } else { - TempStack = state.dataRuntimeLang->ErlStack(StackNum); - state.dataRuntimeLang->ErlStack(StackNum).Instruction.deallocate(); - state.dataRuntimeLang->ErlStack(StackNum).Instruction.allocate(state.dataRuntimeLang->ErlStack(StackNum).NumInstructions + 1); - state.dataRuntimeLang->ErlStack(StackNum).Instruction({1, state.dataRuntimeLang->ErlStack(StackNum).NumInstructions}) = - TempStack.Instruction({1, state.dataRuntimeLang->ErlStack(StackNum).NumInstructions}); - ++state.dataRuntimeLang->ErlStack(StackNum).NumInstructions; + TempStack = thisErlStack; + thisErlStack.Instruction.deallocate(); + thisErlStack.Instruction.allocate(thisErlStack.NumInstructions + 1); + thisErlStack.Instruction({1, thisErlStack.NumInstructions}) = TempStack.Instruction({1, thisErlStack.NumInstructions}); + ++thisErlStack.NumInstructions; } - InstructionNum = state.dataRuntimeLang->ErlStack(StackNum).NumInstructions; - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).LineNum = LineNum; - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Keyword = Keyword; + InstructionNum = thisErlStack.NumInstructions; + thisErlStack.Instruction(InstructionNum).LineNum = LineNum; + thisErlStack.Instruction(InstructionNum).Keyword = Keyword; - if (present(Argument1)) state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1 = Argument1; - if (present(Argument2)) state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2 = Argument2; + if (present(Argument1)) { + thisErlStack.Instruction(InstructionNum).Argument1 = Argument1; + } + if (present(Argument2)) { + thisErlStack.Instruction(InstructionNum).Argument2 = Argument2; + } return InstructionNum; } @@ -745,24 +758,23 @@ void AddError(EnergyPlusData &state, // Object Data ErlStackType TempStack; // temporary copy of single ErlStack - if (state.dataRuntimeLang->ErlStack(StackNum).NumErrors == 0) { - state.dataRuntimeLang->ErlStack(StackNum).Error.allocate(1); - state.dataRuntimeLang->ErlStack(StackNum).NumErrors = 1; + auto &thisErlStack = state.dataRuntimeLang->ErlStack(StackNum); + if (thisErlStack.NumErrors == 0) { + thisErlStack.Error.allocate(1); + thisErlStack.NumErrors = 1; } else { - TempStack = state.dataRuntimeLang->ErlStack(StackNum); - state.dataRuntimeLang->ErlStack(StackNum).Error.deallocate(); - state.dataRuntimeLang->ErlStack(StackNum).Error.allocate(state.dataRuntimeLang->ErlStack(StackNum).NumErrors + 1); - state.dataRuntimeLang->ErlStack(StackNum).Error({1, state.dataRuntimeLang->ErlStack(StackNum).NumErrors}) = - TempStack.Error({1, state.dataRuntimeLang->ErlStack(StackNum).NumErrors}); - ++state.dataRuntimeLang->ErlStack(StackNum).NumErrors; + TempStack = thisErlStack; + thisErlStack.Error.deallocate(); + thisErlStack.Error.allocate(thisErlStack.NumErrors + 1); + thisErlStack.Error({1, thisErlStack.NumErrors}) = TempStack.Error({1, thisErlStack.NumErrors}); + ++thisErlStack.NumErrors; } - ErrorNum = state.dataRuntimeLang->ErlStack(StackNum).NumErrors; + ErrorNum = thisErlStack.NumErrors; if (LineNum > 0) { - state.dataRuntimeLang->ErlStack(StackNum).Error(ErrorNum) = - format("Line {}: {} \"{}\"", LineNum, Error, state.dataRuntimeLang->ErlStack(StackNum).Line(LineNum)); + thisErlStack.Error(ErrorNum) = format("Line {}: {} \"{}\"", LineNum, Error, thisErlStack.Line(LineNum)); } else { - state.dataRuntimeLang->ErlStack(StackNum).Error(ErrorNum) = Error; + thisErlStack.Error(ErrorNum) = Error; } } @@ -797,34 +809,39 @@ ErlValueType EvaluateStack(EnergyPlusData &state, int const StackNum) ReturnValue.Type = Value::Number; ReturnValue.Number = 0.0; + auto const &thisErlStack = state.dataRuntimeLang->ErlStack(StackNum); + InstructionNum = 1; - while (InstructionNum <= state.dataRuntimeLang->ErlStack(StackNum).NumInstructions) { + while (InstructionNum <= thisErlStack.NumInstructions) { + + auto const &thisInstruction = thisErlStack.Instruction(InstructionNum); { - DataRuntimeLanguage::ErlKeywordParam const SELECT_CASE_var = - state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Keyword; + DataRuntimeLanguage::ErlKeywordParam const SELECT_CASE_var = thisInstruction.Keyword; if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::None) { // There probably shouldn't be any of these } else if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::Return) { - if (state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1 > 0) - ReturnValue = - EvaluateExpression(state, state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1, seriousErrorFound); + if (thisInstruction.Argument1 > 0) ReturnValue = EvaluateExpression(state, thisInstruction.Argument1, seriousErrorFound); WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); break; // RETURN always terminates an instruction stack } else if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::Set) { - ReturnValue = - EvaluateExpression(state, state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2, seriousErrorFound); - ESVariableNum = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1; - if ((!state.dataRuntimeLang->ErlVariable(ESVariableNum).ReadOnly) && - (!state.dataRuntimeLang->ErlVariable(ESVariableNum).Value.TrendVariable)) { - state.dataRuntimeLang->ErlVariable(ESVariableNum).Value = ReturnValue; - } else if (state.dataRuntimeLang->ErlVariable(ESVariableNum).Value.TrendVariable) { - state.dataRuntimeLang->ErlVariable(ESVariableNum).Value.Number = ReturnValue.Number; - state.dataRuntimeLang->ErlVariable(ESVariableNum).Value.Error = ReturnValue.Error; + ESVariableNum = thisInstruction.Argument1; + auto &thisErlVar = state.dataRuntimeLang->ErlVariable(ESVariableNum); + ReturnValue = EvaluateExpression(state, thisInstruction.Argument2, seriousErrorFound); + if ((!thisErlVar.ReadOnly) && (!thisErlVar.Value.TrendVariable)) { + // #10279 - We don't do `thisErlVar.Value = ReturnValue;` because we don't want to copy TrendVariable stuff + thisErlVar.Value.Type = ReturnValue.Type; + thisErlVar.Value.Number = ReturnValue.Number; + // thisErlVar.Value.String = ReturnValue.String; + thisErlVar.Value.Error = ReturnValue.Error; + thisErlVar.Value.initialized = ReturnValue.initialized; + } else if (thisErlVar.Value.TrendVariable) { + thisErlVar.Value.Number = ReturnValue.Number; + thisErlVar.Value.Error = ReturnValue.Error; } WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); @@ -833,11 +850,11 @@ ErlValueType EvaluateStack(EnergyPlusData &state, int const StackNum) ReturnValue.Type = Value::String; ReturnValue.String = ""; WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); - ReturnValue = EvaluateStack(state, state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1); + ReturnValue = EvaluateStack(state, thisInstruction.Argument1); } else if ((SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::If) || (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::Else)) { // same??? - ExpressionNum = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1; - InstructionNum2 = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2; + ExpressionNum = thisInstruction.Argument1; + InstructionNum2 = thisInstruction.Argument2; if (ExpressionNum > 0) { // could be 0 if this was an ELSE ReturnValue = EvaluateExpression(state, ExpressionNum, seriousErrorFound); WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); @@ -853,7 +870,7 @@ ErlValueType EvaluateStack(EnergyPlusData &state, int const StackNum) WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); } } else if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::Goto) { - InstructionNum = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1; + InstructionNum = thisInstruction.Argument1; // For debug purposes only... ReturnValue.Type = Value::String; @@ -869,8 +886,8 @@ ErlValueType EvaluateStack(EnergyPlusData &state, int const StackNum) } else if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::While) { // evaluate expression at while, skip to past endwhile if not true - ExpressionNum = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1; - InstructionNum2 = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2; + ExpressionNum = thisInstruction.Argument1; + InstructionNum2 = thisInstruction.Argument2; ReturnValue = EvaluateExpression(state, ExpressionNum, seriousErrorFound); WriteTrace(state, StackNum, InstructionNum, ReturnValue, seriousErrorFound); if (ReturnValue.Number == 0.0) { // This is the FALSE case @@ -881,8 +898,8 @@ ErlValueType EvaluateStack(EnergyPlusData &state, int const StackNum) } else if (SELECT_CASE_var == DataRuntimeLanguage::ErlKeywordParam::EndWhile) { // reevaluate expression at While and goto there if true, otherwise continue - ExpressionNum = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument1; - InstructionNum2 = state.dataRuntimeLang->ErlStack(StackNum).Instruction(InstructionNum).Argument2; + ExpressionNum = thisInstruction.Argument1; + InstructionNum2 = thisInstruction.Argument2; ReturnValue = EvaluateExpression(state, ExpressionNum, seriousErrorFound); if ((ReturnValue.Number != 0.0) && (WhileLoopExitCounter <= MaxWhileLoopIterations)) { // This is the True case // Eventually should handle strings and arrays too @@ -1736,30 +1753,32 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, ReturnValue.Number = 0.0; if (ExpressionNum > 0) { + auto const &thisErlExpression = state.dataRuntimeLang->ErlExpression(ExpressionNum); // is there a way to keep these and not allocate and deallocate all the time? - Operand.allocate(state.dataRuntimeLang->ErlExpression(ExpressionNum).NumOperands); + Operand.allocate(thisErlExpression.NumOperands); // Reduce operands down to literals - for (OperandNum = 1; OperandNum <= state.dataRuntimeLang->ErlExpression(ExpressionNum).NumOperands; ++OperandNum) { - Operand(OperandNum) = state.dataRuntimeLang->ErlExpression(ExpressionNum).Operand(OperandNum); - if (Operand(OperandNum).Type == Value::Expression) { - Operand(OperandNum) = EvaluateExpression(state, Operand(OperandNum).Expression, seriousErrorFound); // recursive call + for (OperandNum = 1; OperandNum <= thisErlExpression.NumOperands; ++OperandNum) { + auto &thisOperand = Operand(OperandNum); + thisOperand = thisErlExpression.Operand(OperandNum); + if (thisOperand.Type == Value::Expression) { + thisOperand = EvaluateExpression(state, thisOperand.Expression, seriousErrorFound); // recursive call // check if recursive call found an error in nested expression, want to preserve error message from that if (seriousErrorFound) { ReturnValue.Type = Value::Error; - ReturnValue.Error = Operand(OperandNum).Error; + ReturnValue.Error = thisOperand.Error; } - } else if (Operand(OperandNum).Type == Value::Variable) { - if (state.dataRuntimeLang->ErlVariable(Operand(OperandNum).Variable).Value.initialized) { // check that value has been initialized - Operand(OperandNum) = state.dataRuntimeLang->ErlVariable(Operand(OperandNum).Variable).Value; + } else if (thisOperand.Type == Value::Variable) { + auto const &thisErlVar = state.dataRuntimeLang->ErlVariable(thisOperand.Variable); + if (thisErlVar.Value.initialized) { // check that value has been initialized + thisOperand = thisErlVar.Value; } else { // value has never been set ReturnValue.Type = Value::Error; - ReturnValue.Error = "EvaluateExpression: Variable = '" + state.dataRuntimeLang->ErlVariable(Operand(OperandNum).Variable).Name + - "' used in expression has not been initialized!"; + ReturnValue.Error = "EvaluateExpression: Variable = '" + thisErlVar.Name + "' used in expression has not been initialized!"; if (!state.dataGlobal->DoingSizing && !state.dataGlobal->KickOffSimulation && !state.dataEMSMgr->FinishProcessingUserInput) { // check if this is an arg in CurveValue, - if (state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator != + if (thisErlExpression.Operator != ErlFunc::CurveValue) { // padding the argument list for CurveValue is too common to fatal on. only reported to EDD seriousErrorFound = true; } @@ -1772,7 +1791,7 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, // Perform the operation - switch (state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator) { + switch (thisErlExpression.Operator) { case ErlFunc::Literal: ReturnValue = Operand(1); @@ -2525,7 +2544,7 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, auto const &today = state.dataWeather->wvarsHrTsToday(iTimeStep, iHour); ReturnValue.initialized = true; ReturnValue.Type = Value::Number; - switch (state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator) { + switch (thisErlExpression.Operator) { case ErlFunc::TodayIsRain: { ReturnValue.Number = today.IsRain ? 1.0 : 0.0; } break; @@ -2575,7 +2594,7 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, } else { ReturnValue.Type = DataRuntimeLanguage::Value::Error; ReturnValue.Error = format("{} function called with invalid arguments: Hour={:.1R}, Timestep={:.1R}", - ErlFuncNamesUC[(int)state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator], + ErlFuncNamesUC[(int)thisErlExpression.Operator], Operand(1).Number, Operand(2).Number); } @@ -2601,7 +2620,7 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, auto const &tomorrow = state.dataWeather->wvarsHrTsTomorrow(iTimeStep, iHour); ReturnValue.initialized = true; ReturnValue.Type = Value::Number; - switch (state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator) { + switch (thisErlExpression.Operator) { case ErlFunc::TomorrowIsRain: { ReturnValue.Number = tomorrow.IsRain ? 1.0 : 0.0; } break; @@ -2651,7 +2670,7 @@ ErlValueType EvaluateExpression(EnergyPlusData &state, int const ExpressionNum, } else { ReturnValue.Type = DataRuntimeLanguage::Value::Error; ReturnValue.Error = format("{} function called with invalid arguments: Hour={:.1R}, Timestep={:.1R}", - ErlFuncNamesUC[(int)state.dataRuntimeLang->ErlExpression(ExpressionNum).Operator], + ErlFuncNamesUC[(int)thisErlExpression.Operator], Operand(1).Number, Operand(2).Number); } @@ -3897,12 +3916,15 @@ int NewEMSVariable(EnergyPlusData &state, std::string const &VariableName, int c // Add the new variable VariableNum = state.dataRuntimeLang->NumErlVariables; - state.dataRuntimeLang->ErlVariable(VariableNum).Name = Util::makeUPPER(VariableName); - state.dataRuntimeLang->ErlVariable(VariableNum).StackNum = StackNum; - state.dataRuntimeLang->ErlVariable(VariableNum).Value.Type = Value::Number; // ErlVariable values are numbers + auto &thisErlVar = state.dataRuntimeLang->ErlVariable(VariableNum); + thisErlVar.Name = Util::makeUPPER(VariableName); + thisErlVar.StackNum = StackNum; + thisErlVar.Value.Type = Value::Number; // ErlVariable values are numbers } - if (present(Value)) state.dataRuntimeLang->ErlVariable(VariableNum).Value = Value; + if (present(Value)) { + state.dataRuntimeLang->ErlVariable(VariableNum).Value = Value; + } return VariableNum; } diff --git a/src/EnergyPlus/SimulationManager.cc b/src/EnergyPlus/SimulationManager.cc index d3a03f22aab..70ba13d6ddd 100644 --- a/src/EnergyPlus/SimulationManager.cc +++ b/src/EnergyPlus/SimulationManager.cc @@ -209,12 +209,8 @@ namespace SimulationManager { state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "RunPeriod:CustomRange") > 0 || state.dataSysVars->FullAnnualRun); state.dataErrTracking->AskForConnectionsReport = false; // set to false until sizing is finished - OpenOutputFiles(state); - state.init_state(state); - GetProjectData(state); - Psychrometrics::InitializePsychRoutines(state); CheckForMisMatchedEnvironmentSpecifications(state); CheckForRequestedReporting(state); OutputReportPredefined::SetPredefinedTables(state); diff --git a/src/EnergyPlus/SimulationManager.hh b/src/EnergyPlus/SimulationManager.hh index a376d7ae25a..86f23c4a5d7 100644 --- a/src/EnergyPlus/SimulationManager.hh +++ b/src/EnergyPlus/SimulationManager.hh @@ -99,8 +99,10 @@ struct SimulationManagerData : BaseGlobalStruct bool RunControlInInput = false; bool PreP_Fatal = false; bool WarningOut = true; - void init_state([[maybe_unused]] EnergyPlusData &state) override + void init_state(EnergyPlusData &state) override { + SimulationManager::OpenOutputFiles(state); + SimulationManager::GetProjectData(state); } void clear_state() override diff --git a/src/EnergyPlus/SingleDuct.cc b/src/EnergyPlus/SingleDuct.cc index 6bc501e1287..d8086e08fa5 100644 --- a/src/EnergyPlus/SingleDuct.cc +++ b/src/EnergyPlus/SingleDuct.cc @@ -3698,7 +3698,7 @@ void SingleDuctAirTerminal::SizeSys(EnergyPlusData &state) } if (state.dataSize->CurTermUnitSizingNum > 0) { - TermUnitSizing(state.dataSize->CurTermUnitSizingNum).MinFlowFrac = this->ZoneMinAirFracDes * this->ZoneTurndownMinAirFrac; + TermUnitSizing(state.dataSize->CurTermUnitSizingNum).MinPriFlowFrac = this->ZoneMinAirFracDes * this->ZoneTurndownMinAirFrac; TermUnitSizing(state.dataSize->CurTermUnitSizingNum).MaxHWVolFlow = this->MaxReheatWaterVolFlow; TermUnitSizing(state.dataSize->CurTermUnitSizingNum).MaxSTVolFlow = this->MaxReheatSteamVolFlow; TermUnitSizing(state.dataSize->CurTermUnitSizingNum).DesHeatingLoad = state.dataSingleDuct->DesCoilLoadSS; // Coil Summary report diff --git a/src/EnergyPlus/SolarReflectionManager.cc b/src/EnergyPlus/SolarReflectionManager.cc index da9355b0fbd..8cbecf1b3c9 100644 --- a/src/EnergyPlus/SolarReflectionManager.cc +++ b/src/EnergyPlus/SolarReflectionManager.cc @@ -311,7 +311,7 @@ namespace SolarReflectionManager { ObsVec = state.dataSurface->Surface(ObsSurfNum).Vertex(loop); DotProd = dot(state.dataSolarReflectionManager->SolReflRecSurf(RecSurfNum).NormVec, ObsVec - RecVec); // CR8251 IF(DotProd > 0.01d0) THEN ! This obstructing-surface vertex is not behind receiving surface - if (DotProd > 1.0e-6) { // This obstructing-surface vertex is not behind receiving surface + if (DotProd > Constant::OneMillionth) { // This obstructing-surface vertex is not behind receiving surface ObsBehindRec = false; break; } diff --git a/src/EnergyPlus/SolarShading.cc b/src/EnergyPlus/SolarShading.cc index bd6243b45fb..adbeb77c6ce 100644 --- a/src/EnergyPlus/SolarShading.cc +++ b/src/EnergyPlus/SolarShading.cc @@ -5746,7 +5746,7 @@ void SHADOW(EnergyPlusData &state, state.dataSurface->Surface(NGRS).lcsz.y * state.dataSolarShading->SUNCOS(2) + state.dataSurface->Surface(NGRS).lcsz.z * state.dataSolarShading->SUNCOS(3); - if (std::abs(ZS) > 1.e-4) { + if (std::abs(ZS) > Constant::SmallDistance) { state.dataSolarShading->XShadowProjection = XS / ZS; state.dataSolarShading->YShadowProjection = YS / ZS; if (std::abs(state.dataSolarShading->XShadowProjection) < 1.e-8) state.dataSolarShading->XShadowProjection = 0.0; @@ -11385,7 +11385,7 @@ void CalcBeamSolarOnWinRevealSurface(EnergyPlusData &state) if (A2ill < 0.0) A2ill = 0.0; // Quantities related to outside reveal - if (A1ill > 1.0e-6) { + if (A1ill > Constant::OneMillionth) { state.dataSurface->SurfWinBmSolAbsdOutsReveal(SurfNum) += A1ill * state.dataSurface->SurfWinOutsideRevealSolAbs(SurfNum) * CosBeta * tmp_SunlitFracWithoutReveal; @@ -11413,7 +11413,7 @@ void CalcBeamSolarOnWinRevealSurface(EnergyPlusData &state) if (NOT_SHADED(ShadeFlag) || ShadeFlag == WinShadingType::SwitchableGlazing) { - if (A2ill > 1.0e-6) { + if (A2ill > Constant::OneMillionth) { DiffReflGlass = state.dataConstruction->Construct(ConstrNum).ReflectSolDiffBack; if (ShadeFlag == WinShadingType::SwitchableGlazing) { @@ -12906,7 +12906,7 @@ void CalcComplexWindowOverlap(EnergyPlusData &state, ZSp = -SdotZ; // Projection of shadows for current basis direciton - if (std::abs(ZSp) > 1.e-4) { + if (std::abs(ZSp) > Constant::SmallDistance) { XShadowProjection = XSp / ZSp; YShadowProjection = YSp / ZSp; if (std::abs(XShadowProjection) < 1.e-8) XShadowProjection = 0.0; diff --git a/src/EnergyPlus/StandardRatings.cc b/src/EnergyPlus/StandardRatings.cc index 65e5815f61a..47d157bfc03 100644 --- a/src/EnergyPlus/StandardRatings.cc +++ b/src/EnergyPlus/StandardRatings.cc @@ -64,6 +64,7 @@ #include #include #include +#include namespace EnergyPlus { @@ -920,8 +921,10 @@ namespace StandardRatings { ObjexxFCL::Optional_bool_const OATempCompressorOnOffBlank, // Flag used to determine low temperature cut out factor //Autodesk:OPTIONAL Used without PRESENT check ObjexxFCL::Optional - DefrostControl, // defrost control; 1=timed, 2=on-demand //Autodesk:OPTIONAL Used without PRESENT check - ObjexxFCL::Optional_bool_const ASHRAE127StdRprt // true if user wishes to report ASHRAE 127 standard ratings + DefrostControl, // defrost control; 1=timed, 2=on-demand //Autodesk:OPTIONAL Used without PRESENT check + ObjexxFCL::Optional_bool_const ASHRAE127StdRprt, // true if user wishes to report ASHRAE 127 standard ratings + ObjexxFCL::Optional GrossRatedTotalCoolingCapacityVS, // Gross Rated Total Cooling Capacity At Selected Nominal Speed Level {W} + ObjexxFCL::Optional RatedVolumetricAirFlowRateVS // Rated Air Flow Rate At Selected Nominal Speed Level {m3/s} ) { @@ -1074,15 +1077,17 @@ namespace StandardRatings { // Calculated and reported to the EIO file Real64 SEER_User(0.0); // Seasonal Energy Efficiency Ratio using user PLF curve in SI [W/W] Real64 SEER_Standard(0.0); // Seasonal Energy Efficiency Ratio using AHRI 210/240 PLF default curve & C_D in SI [W/W] - Real64 EER(0.0); // Energy Efficiency Ratio in SI [W/W] + Real64 EER(0.0); // Energy Efficiency Ratio using AHRI 210-240 2017 in SI [W/W] Real64 IEER(0.0); // Integerated Energy Efficiency Ratio in SI [W/W] // SEER2 ANSI/AHRI 210/240 Standard 2023 Ratings Real64 SEER2_User(0.0); // Seasonal Energy Efficiency Ratio using user PLF curve in SI [W/W] Real64 SEER2_Standard(0.0); // Seasonal Energy Efficiency Ratio using AHRI 210/240 PLF default curve & C_D in SI [W/W] + Real64 EER2(0.0); // Energy Efficiency Ratio using AHRI 210/140 - 2023 Real64 EER_2022(0.0); // Energy Efficiency Ratio in SI [W/W] Real64 IEER_2022(0.0); // Integerated Energy Efficiency Ratio in SI [W/W] Real64 NetCoolingCapRated2022(0.0); + Real64 NetCoolingCapRatedMaxSpeed2023(0.0); Real64 HSPF(0.0); // Heating Seasonal Performance Factor in SI [W/W] Real64 NetHeatingCapRatedHighTemp(0.0); // Net Rated heating capacity at high temp [W] @@ -1287,6 +1292,7 @@ namespace StandardRatings { } // Calculate the standard ratings for multispeed DX cooling coil std::map StandardRatingsResult = MultiSpeedDXCoolingCoilStandardRatings(state, + DXCoilName, DXCoilType, CapFTempCurveIndex, CapFFlowCurveIndex, @@ -1303,13 +1309,16 @@ namespace StandardRatings { NetCoolingCapRated(ns) = StandardRatingsResult["NetCoolingCapRatedMaxSpeed"]; SEER_User = StandardRatingsResult["SEER_User"]; SEER_Standard = StandardRatingsResult["SEER_Standard"]; + EER = StandardRatingsResult["EER"]; NetCoolingCapRated_2023(ns) = StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"]; SEER2_User = StandardRatingsResult["SEER2_User"]; SEER2_Standard = StandardRatingsResult["SEER2_Standard"]; + EER2 = StandardRatingsResult["EER2"]; IEER_2022 = StandardRatingsResult["IEER_2022"]; EER_2022 = StandardRatingsResult["EER_2022"]; + // Writes the SEER value to the EIO file and standard tabular output tables ReportDXCoilRating(state, DXCoilType, @@ -1318,8 +1327,8 @@ namespace StandardRatings { NetCoolingCapRated(ns), SEER_User * ConvFromSIToIP, SEER_Standard * ConvFromSIToIP, - 0.0, - 0.0, + EER, + EER * ConvFromSIToIP, 0.0, 0.0, 0.0, @@ -1427,8 +1436,7 @@ namespace StandardRatings { break; } - case Coil_CoolingAirToAirVariableSpeed: - + case Coil_CoolingAirToAirVariableSpeed: { for (spnum = 1; spnum <= ns; ++spnum) { CheckCurveLimitsForStandardRatings(state, DXCoilName, @@ -1441,22 +1449,36 @@ namespace StandardRatings { PLFFPLRCurveIndex(spnum)); } - std::tie(IEER_2022, NetCoolingCapRated2022, EER_2022) = IEERCalculationVariableSpeed(state, - DXCoilType, - ns, - CapFTempCurveIndex, - RatedTotalCapacity, - CapFFlowCurveIndex, - FanPowerPerEvapAirFlowRateFromInput_2023, - RatedAirVolFlowRate, - EIRFTempCurveIndex, - RatedCOP, - EIRFFlowCurveIndex, - CondenserType(1)); + // Calculate the standard ratings for multispeed DX cooling coil + std::map StandardRatingsResult = VariableSpeedDXCoolingCoilStandardRatings(state, + DXCoilType, + DXCoilName, + CapFTempCurveIndex, + CapFFlowCurveIndex, + EIRFTempCurveIndex, + EIRFFlowCurveIndex, + PLFFPLRCurveIndex(1), + RatedTotalCapacity, + RatedCOP, + RatedAirVolFlowRate, + FanPowerPerEvapAirFlowRateFromInput, + FanPowerPerEvapAirFlowRateFromInput_2023, + ns, + CondenserType(1), + GrossRatedTotalCoolingCapacityVS, + RatedVolumetricAirFlowRateVS); + + NetCoolingCapRated_2023(ns) = StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"]; + SEER2_User = StandardRatingsResult["SEER2_User"]; + SEER2_Standard = StandardRatingsResult["SEER2_Standard"]; + EER2 = StandardRatingsResult["EER2"]; - NetCoolingCapRated_2023(ns) = NetCoolingCapRated2022; + IEER_2022 = StandardRatingsResult["IEER_2022"]; + EER_2022 = StandardRatingsResult["EER_2022"]; - // Writes the SEER value to the EIO file and standard tabular output tables + NetCoolingCapRated(ns) = StandardRatingsResult["NetCoolingCapRatedMaxSpeed"]; + + // Writes the SEER2 & IEER 2022 value to the EIO file and standard tabular output tables | 2023 ReportDXCoilRating(state, DXCoilType, DXCoilName, @@ -1473,6 +1495,7 @@ namespace StandardRatings { 0, true); break; + } default: break; //... other DX Coil types will follow here } @@ -1499,12 +1522,115 @@ namespace StandardRatings { Array1D const &CondenserType, int const PLFFPLRCurveIndex) { + std::map StandardRatingsResult; + // Intermediate values calculated from the inputs in the idf file // SEER2 ANSI/AHRI 210/240 Standard 2023 Ratings - Real64 SEER2_User(0.0); // Seasonal Energy Efficiency Ratio using user PLF curve in SI [W/W] - Real64 SEER2_Standard(0.0); // Seasonal Energy Efficiency Ratio using AHRI 210/240 PLF default curve & C_D in SI [W/W] - Real64 EER_2022(0.0); // Energy Efficiency Ratio in SI [W/W] - Real64 IEER_2022(0.0); // Integerated Energy Efficiency Ratio in SI [W/W] + Real64 SEER2_User(0.0); // Seasonal Energy Efficiency Ratio using user PLF curve in SI [W/W] + Real64 SEER2_Standard(0.0); // Seasonal Energy Efficiency Ratio using AHRI 210/240 PLF default curve & C_D in SI [W/W] + Real64 EER2(0.0); // Energy Efficiency Ratio using AHRI 210/240 - 2023 + Real64 NetCoolingCapRatedMaxSpeed2023(0.0); // net cooling capacity at maximum speed + + Real64 EER_2022(0.0); // Energy Efficiency Ratio in SI [W/W] + Real64 IEER_2022(0.0); // Integerated Energy Efficiency Ratio in SI [W/W] + Real64 NetCoolingCapRated2022(0.0); + + Real64 EER(0.0); + Real64 NetCoolingCapRated(0.0); + + int ns = 2; + + StandardRatingsResult = TwoSpeedDXCoilStandardRatings(state, + DXCoilName, + DXCoilType, + DXCoilType_Num, + RatedTotalCapacity, + RatedTotCap2, + RatedCOP, + RatedCOP2, + CapFFlowCurveIndex, // only hs + CapFTempCurveIndex, + CCapFTemp2, + EIRFFlowCurveIndex, // only hs + EIRFTempCurveIndex, + EIRFTemp2, + RatedAirVolFlowRate, + RatedAirVolFlowRate2, + FanPowerPerEvapAirFlowRate_2023, + FanPowerPerEvapAirFlowRate_2023_LowSpeed, + CondenserType, + PLFFPLRCurveIndex); + + // From SEER2 implementation + NetCoolingCapRatedMaxSpeed2023 = StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"]; + SEER2_User = StandardRatingsResult["SEER2_User"]; + SEER2_Standard = StandardRatingsResult["SEER2_Standard"]; + EER2 = StandardRatingsResult["EER2"]; + + // From IEER 2022 implementation + NetCoolingCapRated2022 = StandardRatingsResult["NetCoolingCapRatedMaxSpeed"]; + IEER_2022 = StandardRatingsResult["IEER_2022"]; + EER_2022 = StandardRatingsResult["EER_2022"]; + + NetCoolingCapRated = NetCoolingCapRatedMaxSpeed2023; + // for the Report routine to correctly initialize with EER value. + if (StandardRatingsResult["SEER2_Standard"] > 0.0) { + EER = EER2; + } else if (StandardRatingsResult["IEER_2022"] > 0.0) { + EER = EER_2022; + NetCoolingCapRated = NetCoolingCapRated2022; + } + + // Writes the SEER & IEER value to the EIO file and standard tabular output tables + ReportDXCoilRating(state, + DXCoilType, + DXCoilName, + DXCoilType_Num, + NetCoolingCapRated, + SEER2_User * ConvFromSIToIP, + SEER2_Standard * ConvFromSIToIP, + EER, + EER * ConvFromSIToIP, + IEER_2022 * ConvFromSIToIP, + 0.0, + 0.0, + 0.0, + 0, + true); + } + + std::map TwoSpeedDXCoilStandardRatings(EnergyPlusData &state, + std::string const &DXCoilName, + std::string const &DXCoilType, + int const &DXCoilType_Num, + Array1A const &RatedTotalCapacity, + Real64 const &RatedTotCap2, + Array1A const &RatedCOP, + Real64 const &RatedCOP2, + Array1A_int const &CapFFlowCurveIndex, // only hs + Array1A_int const &CapFTempCurveIndex, + int const &CCapFTemp2, + Array1A_int const &EIRFFlowCurveIndex, // only hs + Array1A_int const &EIRFTempCurveIndex, + int const &EIRFTemp2, + Array1A const &RatedAirVolFlowRate, + Real64 const &RatedAirVolFlowRate2, + Array1A const &FanPowerPerEvapAirFlowRate_2023, + Array1A const &FanPowerPerEvapAirFlowRate_2023_LowSpeed, + Array1D const &CondenserType, + int const &PLFFPLRCurveIndex) + { + std::map StandardRatingsResult; + + // Intermediate values calculated from the inputs in the idf file + // SEER2 ANSI/AHRI 210/240 Standard 2023 Ratings + Real64 SEER2_User(0.0); // Seasonal Energy Efficiency Ratio using user PLF curve in SI [W/W] + Real64 SEER2_Standard(0.0); // Seasonal Energy Efficiency Ratio using AHRI 210/240 PLF default curve & C_D in SI [W/W] + Real64 EER2(0.0); // Energy Efficiency Ratio using AHRI 210/240 - 2023 + Real64 NetCoolingCapRatedMaxSpeed2023(0.0); // net cooling capacity at maximum speed + + Real64 EER_2022(0.0); // Energy Efficiency Ratio in SI [W/W] + Real64 IEER_2022(0.0); // Integerated Energy Efficiency Ratio in SI [W/W] Real64 NetCoolingCapRated2022(0.0); int ns = 2; @@ -1512,17 +1638,6 @@ namespace StandardRatings { Array1D NetTotCoolingCapRated_2023(16); // net total cooling capacity of DX Coils for the sixteen ASHRAE Std 127 Test conditions Array1D TotElectricPowerRated_2023(16); // total electric power of DX Coils for the sixteen ASHRAE Std 127 Test conditions - // For High Speed - CheckCurveLimitsForStandardRatings(state, - DXCoilName, - DXCoilType, - DXCoilType_Num, - CapFTempCurveIndex(1), - CapFFlowCurveIndex(1), - EIRFTempCurveIndex(1), - EIRFFlowCurveIndex(1), - PLFFPLRCurveIndex); - Array1D_int TSCCapFTemp; TSCCapFTemp.push_back(CapFTempCurveIndex(1)); TSCCapFTemp.push_back(CCapFTemp2); @@ -1547,36 +1662,82 @@ namespace StandardRatings { TSRatedCOP.push_back(RatedCOP(1)); TSRatedCOP.push_back(RatedCOP2); - // Calculate the IEER 2022 Standard ratings for Two Speed DX cooling coil - std::tie(IEER_2022, NetCoolingCapRated2022, EER_2022) = IEERCalculationTwoSpeed(state, - DXCoilType, - CondenserType, - TSCCapFTemp, - TSRatedTotCap, - CapFFlowCurveIndex, - TSFanPowerPerEvapAirFlowRate2023, - TSRatedAirVolFlowRate, - TSEIRFTemp, - TSRatedCOP, - EIRFFlowCurveIndex); - NetCoolingCapRated_2023(ns) = NetCoolingCapRated2022; - - // Writes the SEER value to the EIO file and standard tabular output tables - ReportDXCoilRating(state, - DXCoilType, - DXCoilName, - DXCoilType_Num, - NetCoolingCapRated_2023(ns), - SEER2_User * ConvFromSIToIP, - SEER2_Standard * ConvFromSIToIP, - EER_2022, - EER_2022 * ConvFromSIToIP, - IEER_2022 * ConvFromSIToIP, - 0.0, - 0.0, - 0.0, - 0, - true); + for (int spnum = 1; spnum <= ns; ++spnum) { + // TODO:BPS Implement Two Speed Case : + CheckCurveLimitsForStandardRatings(state, + DXCoilName, + DXCoilType, + DXCoilType_Num, + TSCCapFTemp(spnum), + CapFFlowCurveIndex(1), // only HS + TSEIRFTemp(spnum), + EIRFFlowCurveIndex(1), // Only HS + PLFFPLRCurveIndex); // Only Coil Level + } + + if (RatedTotalCapacity(1) > 0.0 && RatedAirVolFlowRate(1) > 0.0) { + + Real64 TotCapTempModFac = + Curve::CurveValue(state, CapFTempCurveIndex(1), CoolingCoilInletAirWetBulbTempRated, CoilInletAirCoolDryBulbIEER); + Real64 TotCapFlowModFac = Curve::CurveValue(state, CapFFlowCurveIndex(1), AirMassFlowRatioRated); + NetCoolingCapRatedMaxSpeed2023 = + RatedTotalCapacity(1) * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(1); + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 + // Watts) as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + + if (CondenserType(1) == DataHeatBalance::RefrigCondenserType::Air) { + // ANSI/AHRI 210/240 Standard 2023 only applies for solely to Air Cooled Cooling Coils + // Also, this standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 + // Removal of water-cooled and evaporatively-cooled products from the scope | Foreword (ANSI/AHRI 210-240 2023) + + // SEER2 Calculations ANSI/AHRI 210/240 Standard 2023 + std::tie(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2) = + TwoSpeedDXCoolingCoilSEER2(state, + // 2, // nsp will always be 2 in case of Two Speed Coil + CapFFlowCurveIndex, // only HS + TSRatedTotCap, + TSCCapFTemp, + TSFanPowerPerEvapAirFlowRate2023, + TSRatedAirVolFlowRate, + EIRFFlowCurveIndex, // only HS + TSRatedCOP, + TSEIRFTemp, + PLFFPLRCurveIndex); // only coil level + } + + // Calculate the IEER 2022 Standard ratings for Two Speed DX cooling coil | AHRI 340/360 + std::tie(IEER_2022, NetCoolingCapRated2022, EER_2022) = IEERCalculationTwoSpeed(state, + DXCoilType, + CondenserType, + TSCCapFTemp, + TSRatedTotCap, + CapFFlowCurveIndex, + TSFanPowerPerEvapAirFlowRate2023, + TSRatedAirVolFlowRate, + TSEIRFTemp, + TSRatedCOP, + EIRFFlowCurveIndex); + NetCoolingCapRated_2023(ns) = NetCoolingCapRated2022; + + } else { + ShowSevereError(state, + "Standard Ratings: Coil:Cooling:DX:TwoSpeed either has a zero rated total cooling capacity or zero air flow rate. " + "Standard ratings cannot be calculated."); + } + + // From SEER2 implementation + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; + StandardRatingsResult["SEER2_User"] = SEER2_User; + StandardRatingsResult["SEER2_Standard"] = SEER2_Standard; + StandardRatingsResult["EER2"] = EER2; + + // From IEER2 implementation + StandardRatingsResult["NetCoolingCapRatedMaxSpeed"] = NetCoolingCapRated2022; + StandardRatingsResult["IEER_2022"] = IEER_2022; + StandardRatingsResult["EER_2022"] = EER_2022; + + return StandardRatingsResult; } Real64 SingleSpeedHeatingHSPF(const Real64 NetHeatingCapRated, @@ -2286,6 +2447,61 @@ namespace StandardRatings { return EER; } + std::tuple + SEER2CalulcationCurveFit(EnergyPlusData &state, std::string const &CoilType, EnergyPlus::CoilCoolingDXCurveFitOperatingMode operatingMode) + { + Real64 EEER2(0.0); + Real64 SEER2_User(0.0); + Real64 SEER2_Standard(0.0); + Real64 NetCoolingCapRated2023(0.0); // QAFull + + Array1D MSCCapFTemp; + Array1D MSRatedTotCap; + Array1D MSCCapAirFFlow; + Array1D MSRatedEvaporatorFanPowerPerVolumeFlowRate2023; + Array1D MSRatedAirVolFlowRate; + Array1D MSEIRFTemp; + Array1D MSRatedCOP; + Array1D MSEIRAirFFlow; + Array1D MSPLRFPLF; + + int nsp = operatingMode.speeds.size(); + + for (int i = 0; i < nsp; ++i) { + CoilCoolingDXCurveFitSpeed speed = operatingMode.speeds[i]; + MSCCapFTemp.push_back(speed.indexCapFT); + + // Calculate the rated cooling capacity for the speed using Gross Total Cooling Capacity + // and Gross Total Cooling Capacity Fraction of the speed. + MSRatedTotCap.push_back(speed.rated_total_capacity); // get the capcity at each speed bymultiplying this fraCTION WITH the gross. + MSCCapAirFFlow.push_back(speed.indexCapFFF); + MSRatedEvaporatorFanPowerPerVolumeFlowRate2023.push_back(speed.rated_evap_fan_power_per_volume_flow_rate_2023); + // Calculate the rated evap air flow rate for the speed using Rated Evaporator Air flow Rate + // and Rated Evaporator Air flow fraction of the speed + MSRatedAirVolFlowRate.push_back(speed.evap_air_flow_rate); + + MSEIRFTemp.push_back(speed.indexEIRFT); + MSRatedCOP.push_back(speed.ratedCOP); + MSEIRAirFFlow.push_back(speed.indexEIRFFF); + MSPLRFPLF.push_back(speed.indexPLRFPLF); + } + + std::tie(NetCoolingCapRated2023, SEER2_User, SEER2_Standard, EEER2) = + VariableSpeedDXCoolingCoilSEER2(state, + nsp, + MSCCapAirFFlow, + MSRatedTotCap, + MSCCapFTemp, + MSRatedEvaporatorFanPowerPerVolumeFlowRate2023, + MSRatedAirVolFlowRate, + MSEIRAirFFlow, + MSRatedCOP, + MSEIRFTemp, + MSPLRFPLF); + + return std::make_tuple(NetCoolingCapRated2023, SEER2_User, SEER2_Standard, EEER2); + } + std::tuple IEERCalulcationCurveFit(EnergyPlusData &state, std::string const &CoilType, EnergyPlus::CoilCoolingDXCurveFitOperatingMode operatingMode) { @@ -2307,9 +2523,13 @@ namespace StandardRatings { for (int i = 0; i < nsp; ++i) { CoilCoolingDXCurveFitSpeed speed = operatingMode.speeds[i]; MSCCapFTemp.push_back(speed.indexCapFT); - MSRatedTotCap.push_back(speed.rated_total_capacity); + // Calculate the rated cooling capacity for the speed using Gross Total Cooling Capacity + // and Gross Total Cooling Capacity Fraction of the speed. + MSRatedTotCap.push_back(speed.rated_total_capacity); // get the capcity at each speed bymultiplying this fraCTION WITH the gross. MSCCapAirFFlow.push_back(speed.indexCapFFF); MSRatedEvaporatorFanPowerPerVolumeFlowRate2023.push_back(speed.rated_evap_fan_power_per_volume_flow_rate_2023); + // Calculate the rated evap air flow rate for the speed using Rated Evaporator Air flow Rate + // and Rated Evaporator Air flow fraction of the speed MSRatedAirVolFlowRate.push_back(speed.evap_air_flow_rate); MSEIRFTemp.push_back(speed.indexEIRFT); MSRatedCOP.push_back(speed.ratedCOP); @@ -2340,6 +2560,7 @@ namespace StandardRatings { MSRatedCOP, MSEIRAirFFlow, _CondenserType); + return std::make_tuple(IEER_2022, NetCoolingCapRated2022, EER_2022); } @@ -2954,19 +3175,32 @@ namespace StandardRatings { } else if (nsp == 2) { // Having 2 Speeds Real64 QAFull_(0.0); - std::tie(IEER_2022, QAFull_, EER_2022) = - IEERCalculationTwoSpeed(state, - DXCoilType, // thisCoil.DXCoilType, // NoChange - CondenserType, // thisCoil.CondenserType, - CapFTempCurveIndex, // TSCCapFTemp, // thisCoil.MSCCapFTemp, - RatedTotalCapacity, // TSRatedTotCap, // thisCoil.MSRatedTotCap, - CapFFlowCurveIndex, // thisCoil.MSCCapFFlow, | Only for HIGH SPEED - FanPowerPerEvapAirFlowRate_2023, // thisCoil.MSFanPowerPerEvapAirFlowRate_2023, - RatedAirVolFlowRate, // thisCoil.MSRatedAirVolFlowRate, - EIRFTempCurveIndex, // thisCoil.MSEIRFTemp, - RatedCOP, // thisCoil.MSRatedCOP, - EIRFFlowCurveIndex // thisCoil.MSEIRFFlow, | Only for HIGH SPEED - ); + // Reversing the input arrays because IEERCalculationTwoSpeed is expecting High Speed Data before the Low Speed. + Array1D FanPowerPerEvapAirFlowRateHighAndLow(FanPowerPerEvapAirFlowRate_2023.size()); // Ensure ReversedArray has the same size + std::reverse_copy( + FanPowerPerEvapAirFlowRate_2023.begin(), FanPowerPerEvapAirFlowRate_2023.end(), FanPowerPerEvapAirFlowRateHighAndLow.begin()); + + Array1D RatedAirVolFlowRateHighAndLow(RatedAirVolFlowRate.size()); + std::reverse_copy(RatedAirVolFlowRate.begin(), RatedAirVolFlowRate.end(), RatedAirVolFlowRateHighAndLow.begin()); + + Array1D RatedCOPHighAndLow(RatedCOP.size()); + std::reverse_copy(RatedCOP.begin(), RatedCOP.end(), RatedCOPHighAndLow.begin()); + + Array1D RatedTotalCapacityHighAndLow(RatedTotalCapacity.size()); + std::reverse_copy(RatedTotalCapacity.begin(), RatedTotalCapacity.end(), RatedTotalCapacityHighAndLow.begin()); + + std::tie(IEER_2022, QAFull_, EER_2022) = IEERCalculationTwoSpeed(state, + DXCoilType, + CondenserType, + CapFTempCurveIndex, + RatedTotalCapacityHighAndLow, + CapFFlowCurveIndex, // Only for HIGH SPEED + FanPowerPerEvapAirFlowRateHighAndLow, + RatedAirVolFlowRateHighAndLow, + EIRFTempCurveIndex, + RatedCOPHighAndLow, + EIRFFlowCurveIndex // Only for HIGH SPEED + ); } else if (nsp == 1) { // NA : The minimum number of speeds for cooling is 2 and the maximum number is 4 for Coil:Cooling:DX:MultiSpeed } @@ -3434,46 +3668,20 @@ namespace StandardRatings { FanPowerPerEvapAirFlowRate_2023 = FanPowerPerEvapAirFlowRateFromInput_2023; } - if (RatedTotalCapacity > 0.0) { - + // SEER2 standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 (ANSI/AHRI 210-240 2023) + if (RatedTotalCapacity > 0.0 && RatedAirVolFlowRate > 0.0) { // Standard Rating Cooling (net) Capacity calculations: TotCapFlowModFac = CurveValue(state, CapFFlowCurveIndex, AirMassFlowRatioRated); TotCapTempModFac = CurveValue(state, CapFTempCurveIndex, CoolingCoilInletAirWetBulbTempRated, OutdoorUnitInletAirDryBulbTempRated); // Net Cooling = Gross Capacity - Fan Power Consumption NetCoolingCapRated = RatedTotalCapacity * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate * RatedAirVolFlowRate; + StandarRatingResults["NetCoolingCapRated"] = NetCoolingCapRated; NetCoolingCapRated2023 = RatedTotalCapacity * TotCapTempModFac * TotCapFlowModFac - FanPowerPerEvapAirFlowRate_2023 * RatedAirVolFlowRate; + StandarRatingResults["NetCoolingCapRated2023"] = NetCoolingCapRated2023; EIRFlowModFac = Curve::CurveValue(state, EIRFFlowCurveIndex, AirMassFlowRatioRated); - std::tie(SEER_User, SEER_Standard) = SEERSingleStageCalculation(state, - CapFTempCurveIndex, - RatedTotalCapacity, - TotCapFlowModFac, - EIRFTempCurveIndex, - EIRFlowModFac, - EIRFFlowCurveIndex, - RatedCOP, - FanPowerPerEvapAirFlowRate, - RatedAirVolFlowRate, - PLFFPLRCurveIndex, - CyclicDegradationCoeff); - StandarRatingResults["SEER_User"] = SEER_User; - StandarRatingResults["SEER_Standard"] = SEER_Standard; - - std::tie(SEER2_User, SEER2_Standard) = SEERSingleStageCalculation(state, - CapFTempCurveIndex, - RatedTotalCapacity, - TotCapFlowModFac, - EIRFTempCurveIndex, - EIRFlowModFac, - EIRFFlowCurveIndex, - RatedCOP, - FanPowerPerEvapAirFlowRate_2023, - RatedAirVolFlowRate, - PLFFPLRCurveIndex, - CyclicDegradationCoeffSEER2); - StandarRatingResults["SEER2_User"] = SEER2_User; - StandarRatingResults["SEER2_Standard"] = SEER2_Standard; - + // IEER calculations // EER calculations: EER = EERSingleSpeedCooling(state, CapFTempCurveIndex, @@ -3498,18 +3706,55 @@ namespace StandardRatings { EIRFlowModFac); StandarRatingResults["EER_2022"] = EER_2022; - // IEER calculations - if (CondenserType == DataHeatBalance::RefrigCondenserType::Air) { - std::tie(IEER, NetCoolingCapRated) = IEERSingleSpeedCooling(state, + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 + // Watts) as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + + // SEER2 standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 (ANSI/AHRI 210-240 2023) + // Removal of water-cooled and evaporatively-cooled products from the scope | Foreword (ANSI/AHRI 210-240 2023) + + std::tie(SEER_User, SEER_Standard) = SEERSingleStageCalculation(state, CapFTempCurveIndex, RatedTotalCapacity, TotCapFlowModFac, - FanPowerPerEvapAirFlowRate, - RatedAirVolFlowRate, EIRFTempCurveIndex, + EIRFlowModFac, + EIRFFlowCurveIndex, RatedCOP, - EIRFlowModFac); + FanPowerPerEvapAirFlowRate, + RatedAirVolFlowRate, + PLFFPLRCurveIndex, + CyclicDegradationCoeff); + StandarRatingResults["SEER_User"] = SEER_User; + StandarRatingResults["SEER_Standard"] = SEER_Standard; + if (CondenserType == DataHeatBalance::RefrigCondenserType::Air) { + std::tie(SEER2_User, SEER2_Standard) = SEERSingleStageCalculation(state, + CapFTempCurveIndex, + RatedTotalCapacity, + TotCapFlowModFac, + EIRFTempCurveIndex, + EIRFlowModFac, + EIRFFlowCurveIndex, + RatedCOP, + FanPowerPerEvapAirFlowRate_2023, + RatedAirVolFlowRate, + PLFFPLRCurveIndex, + CyclicDegradationCoeffSEER2); + StandarRatingResults["SEER2_User"] = SEER2_User; + StandarRatingResults["SEER2_Standard"] = SEER2_Standard; } + + std::tie(IEER, NetCoolingCapRated) = IEERSingleSpeedCooling(state, + CapFTempCurveIndex, + RatedTotalCapacity, + TotCapFlowModFac, + FanPowerPerEvapAirFlowRate, + RatedAirVolFlowRate, + EIRFTempCurveIndex, + RatedCOP, + EIRFlowModFac); + + StandarRatingResults["IEER"] = IEER; StandarRatingResults["IEER"] = IEER; StandarRatingResults["NetCoolingCapRated"] = NetCoolingCapRated; @@ -3528,12 +3773,14 @@ namespace StandardRatings { EIRFlowModFac, CondenserType); StandarRatingResults["IEER_2022"] = IEER_2022; - StandarRatingResults["NetCoolingCapRated2023"] = NetCoolingCapRated2023; StandarRatingResults["EER_2022"] = EER_2022; + StandarRatingResults["NetCoolingCapRated2023"] = NetCoolingCapRated2023; } + } else { ShowSevereError(state, - format("Standard Ratings: {} {} has zero rated total cooling capacity. Standard ratings cannot be calculated.", + format("Standard Ratings: {} {} has esither zero rated total cooling capacity or zero rated air volume flow rate. " + "Standard ratings cannot be calculated.", DXCoilType, DXCoilName)); } @@ -3647,17 +3894,17 @@ namespace StandardRatings { } } - std::tuple MultiSpeedDXCoolingCoilSEER(EnergyPlusData &state, - int const nsp, - Array1A_int const CapFFlowCurveIndex, - Array1A const RatedTotalCapacity, - Array1A_int const CapFTempCurveIndex, - Array1A const FanPowerPerEvapAirFlowRateFromInput, - Array1A const RatedAirVolFlowRate, - Array1A_int const EIRFFlowCurveIndex, - Array1A const RatedCOP, - Array1A_int EIRFTempCurveIndex, - Array1A_int const PLFFPLRCurveIndex) + std::tuple MultiSpeedDXCoolingCoilSEER(EnergyPlusData &state, + int const nsp, + Array1A_int const CapFFlowCurveIndex, + Array1A const RatedTotalCapacity, + Array1A_int const CapFTempCurveIndex, + Array1A const FanPowerPerEvapAirFlowRateFromInput, + Array1A const RatedAirVolFlowRate, + Array1A_int const EIRFFlowCurveIndex, + Array1A const RatedCOP, + Array1A_int EIRFTempCurveIndex, + Array1A_int const PLFFPLRCurveIndex) { // Intermediate values calculated from the inputs in the idf file Array1D FanPowerPerEvapAirFlowRate(nsp); // 2017 Fan power per air volume flow rate through the evaporator coil [W/(m3/s)] @@ -3704,6 +3951,7 @@ namespace StandardRatings { Real64 NetCoolingCapRatedMaxSpeed = 0.0; Real64 SEER_User = 0.0; Real64 SEER_Standard = 0.0; + Real64 EER = 0.0; NetCoolingCapWeighted = 0.0; TotCoolingElecPowerWeighted = 0.0; @@ -3780,6 +4028,11 @@ namespace StandardRatings { NetCoolingCapRated(nsp) = TotCoolCapTestA2(nsp); NetCoolingCapRatedMaxSpeed = NetCoolingCapRated(nsp); + // EER2 calculation | Section 3.1.16(AHRI 210/240 2017) + // A ratio of the cooling capacity in Btu/h to the Total Power in watts at AFull test conditions and expressed in Btu/(W-h) + // In case of Coil:Cooling:DX:MultiSpeed coil we're picking the max speed. + EER = TotCoolCapTestA2(nsp) / OutdoorUnitPowerTestA2(nsp); + // Calculate the SEER value based on contribution of each outdoor air bin temperature for (BinNum = 0; BinNum < NumOfOATempBins; ++BinNum) { // Equation 11.60 (AHRI-2017) @@ -3858,21 +4111,191 @@ namespace StandardRatings { SEER_Standard = NetCoolingCapWeighted / TotCoolingElecPowerWeightedDefault; } - return std::make_tuple(NetCoolingCapRatedMaxSpeed, SEER_User, SEER_Standard); + return std::make_tuple(NetCoolingCapRatedMaxSpeed, SEER_User, SEER_Standard, EER); + } + + std::pair GetMatchingSpeedFromBuildingLoad(Real64 buildingLoad, const Array1A &speedList) + { + std::pair result = {-1, -1}; // Initialize result to indicate no suitable number found + for (int i = 0; i < speedList.size(); ++i) { + Real64 scaledSpeed = speedList[i]; + if (scaledSpeed >= buildingLoad) { + result = {speedList[i], i}; + break; + } + } + return result; + } + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + // q - total bin capacity for SEER2 Standard. + // e - total bin energy for SEER2 Standard. + // NetTotCoolCapBinned_2023 - total bin capacity for SEER2 User. + // TotCoolElecPowerBinned_2023 - total bin energy for SEER2 Standard. + std::tuple + IntermediateCapacityAndPowerSEER2Case1(EnergyPlusData &state, Real64 bl, Real64 q_low, Real64 n, Real64 p_low, int PLFFPLRCurveIndex) + { + // Case I. Building load is less than Low Stage capacity, BL(tj) < qLow(tj). Calculate total bin capacity by using Equation 11.73 + // and total bin energy by using Equation 11.74. + Real64 e(0.0); + Real64 q(0.0); + Real64 NetTotCoolCapBinned_2023(0.0); + Real64 TotCoolElecPowerBinned_2023(0.0); + Real64 clf_low = bl / q_low; // Equation 11.75 (AHRI-2023) + + // SEER2 STANDARD + Real64 plf_low = 1.0 - CyclicDegradationCoeff * (1.0 - clf_low); // Equation 11.76 (AHRI-2023) + q = clf_low * q_low * n; // Total Bin Capacity, Equation 11.73 (AHRI-2023) + e = clf_low * p_low * n / plf_low; // Total Bin Energy, Equation 11.74 (AHRI-2023) + + // SEER2 USER + NetTotCoolCapBinned_2023 = clf_low * q_low * n; + Real64 PartLoadFactorUser_2023 = Curve::CurveValue(state, PLFFPLRCurveIndex, clf_low); + TotCoolElecPowerBinned_2023 = (clf_low / PartLoadFactorUser_2023) * p_low * n; + return std::make_tuple(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023); + } + + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + // q - total bin capacity for SEER2 Standard. + // e - total bin energy for SEER2 Standard. + // NetTotCoolCapBinned_2023 - total bin capacity for SEER2 User. + // TotCoolElecPowerBinned_2023 - total bin energy for SEER2 Standard. + std::tuple IntermediateCapacityAndPowerSEER2Case2A( + Real64 p_int, Real64 q_int, Real64 q_low, Real64 bl, Real64 n, Real64 Q_E_Int, Real64 q_full, Real64 P_E_Int, Real64 p_full, Real64 p_low) + { + Real64 e(0.0); + Real64 q(0.0); + + Real64 cop_low = q_low / p_low; + Real64 cop_int = q_int / p_int; + Real64 cop_full = q_full / p_full; + // Low Speed + Real64 cop_int_bin = cop_low + (cop_int - cop_low) / (q_int - q_low) * (bl - q_low); // Equation 11.101 (AHRI-2023) + q = bl * n; // 11.92 --> n is missing in the print ? + e = q / cop_int_bin; // 11.93 --> adjusted to 11.101 + Real64 NetTotCoolCapBinned_2023(0.0); + Real64 TotCoolElecPowerBinned_2023(0.0); + // full Speed + Real64 LoadFactorQEnt_2023 = min(1.0, (Q_E_Int - q_low) / (q_full - q_low)); + LoadFactorQEnt_2023 = max(0.0, LoadFactorQEnt_2023); + Real64 LoadFactorPEnt_2023 = min(1.0, (P_E_Int - p_low) / (p_full - p_low)); + LoadFactorPEnt_2023 = max(0.0, LoadFactorPEnt_2023); + NetTotCoolCapBinned_2023 = LoadFactorQEnt_2023 * q_full + (1.0 - LoadFactorQEnt_2023) * q_low; + TotCoolElecPowerBinned_2023 = LoadFactorPEnt_2023 * p_full + (1.0 - LoadFactorPEnt_2023) * p_low; + return std::make_tuple(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023); + } + + // Building load can be matched by modulating the compressor speed between low speed & + // full Speed |Section 11.2.1.3.2 CASE 2 (AHRI 210-240 2023) + // q - total bin capacity for SEER2 Standard. + // e - total bin energy for SEER2 Standard. + // NetTotCoolCapBinned_2023 - total bin capacity for SEER2 User. + // TotCoolElecPowerBinned_2023 - total bin energy for SEER2 Standard. + std::tuple IntermediateCapacityAndPowerSEER2Case2B( + Real64 p_int, Real64 bl, Real64 q_int, Real64 n, Real64 Q_E_Int, Real64 P_E_Int, Real64 q_low, Real64 p_low, Real64 q_full, Real64 p_full) + { + Real64 e(0.0); + Real64 q(0.0); + Real64 NetTotCoolCapBinned_2023(0.0); + Real64 TotCoolElecPowerBinned_2023(0.0); + Real64 cop_low = q_low / p_low; + Real64 cop_int = q_int / p_int; + Real64 cop_full = q_full / p_full; + Real64 LoadFactorQEnt_2023 = min(1.0, (Q_E_Int - q_low) / (q_full - q_low)); + LoadFactorQEnt_2023 = max(0.0, LoadFactorQEnt_2023); + Real64 LoadFactorPEnt_2023 = min(1.0, (P_E_Int - p_low) / (p_full - p_low)); + LoadFactorPEnt_2023 = max(0.0, LoadFactorPEnt_2023); + NetTotCoolCapBinned_2023 = LoadFactorQEnt_2023 * q_full + (1.0 - LoadFactorQEnt_2023) * q_low; + TotCoolElecPowerBinned_2023 = LoadFactorPEnt_2023 * p_full + (1.0 - LoadFactorPEnt_2023) * p_low; + // Full Speed + Real64 cop_int_bin = cop_int + (cop_full - cop_int) / (q_full - q_int) * (bl - q_int); // Equation 11.102 (AHRI-2023) + q = bl * n; // 11.92 --> n is missing in the print ? + e = q / cop_int_bin; // 11.93 --> adjusted to 11.102 + return std::make_tuple(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023); + } + + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + // q - total bin capacity for SEER2 Standard. + // e - total bin energy for SEER2 Standard. + // NetTotCoolCapBinned_2023 - total bin capacity for SEER2 User. + // TotCoolElecPowerBinned_2023 - total bin energy for SEER2 Standard. + std::tuple + IntermediateCapacityAndPowerSEER2Case3(Real64 q_full, Real64 p_full, Real64 CoolingCapacityMax_2023, Real64 CoolingElecPowerMax_2023, Real64 n) + { + Real64 e(0.0); + Real64 q(0.0); + q = q_full * n; // Equation 11.88 (AHRI-2023) + e = p_full * n; // Equation 11.89 (AHRI-2023) + Real64 NetTotCoolCapBinned_2023(0.0); + Real64 TotCoolElecPowerBinned_2023(0.0); + NetTotCoolCapBinned_2023 = CoolingCapacityMax_2023 * n; + TotCoolElecPowerBinned_2023 = CoolingElecPowerMax_2023 * n; + return std::make_tuple(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023); + } + + // N_Cq - Capacity adjustment factor in cooling mode SEER2 #1 + // M_Cq - Capacity adjustment factor in cooling mode SEER2 #2 + std::tuple + CapacityAdjustmentFactorsInCoolingModeSEER2(Real64 q_F_low, Real64 q_B_low, Real64 BN, Real64 q_B_full, Real64 q_A_full, Real64 q_E_int) + { + // Equation 11.90 (AHRI-2023) + Real64 q_87_low = q_F_low + (q_B_low - q_F_low) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); + Real64 q_87_full = q_B_full + (q_A_full - q_B_full) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); + // Equation 11.96 (AHRI-2023) + Real64 N_Cq = (q_E_int - q_87_low) / (q_87_full - q_87_low); + // Equation 11.95 (AHRI-2023) + Real64 M_Cq = (q_B_low - q_F_low) / (27.77 - 19.44) * (1. - N_Cq) + (q_A_full - q_B_full) / (35.0 - 27.77) * N_Cq; + return std::make_tuple(N_Cq, M_Cq); + } + + // N_CE - Energy adjustment factor in cooling mode SEER2 #1 + // M_CE - Energy adjustment factor in cooling mode SEER2 #2 + std::tuple + EnergyAdjustmentFactorsInCoolingModeSEER2(Real64 p_F_low, Real64 p_B_low, Real64 BN, Real64 p_B_full, Real64 p_A_full, Real64 p_E_int) + { + // Equation 11.91 (AHRI-2023) + Real64 p_87_low = p_F_low + (p_B_low - p_F_low) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); + Real64 p_87_full = p_B_full + (p_A_full - p_B_full) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); + + // Equation 11.99 (AHRI-2023) + Real64 N_CE = (p_E_int - p_87_low) / (p_87_full - p_87_low); + + // Equaition 11.98 (AHRI-2023) + Real64 M_CE = (p_B_low - p_F_low) / (27.77 - 19.44) * (1. - N_CE) + (p_A_full - p_B_full) / (35.0 - 27.77) * N_CE; + return std::make_tuple(N_CE, M_CE); + } + + // q_int - Intermediate Steady State Capacity SEER2 + // p_int - Intermediate Steady State Power SEER2 + std::tuple IntermediateSteadyStateCpacityAndPowerSEER2(Real64 q_E_int, Real64 M_Cq, Real64 p_E_int, Real64 M_CE, Real64 t) + { + // Equation 11.94 (AHRI-2023) + Real64 q_int = q_E_int + M_Cq * (t - 30.55); + + // Equation 11.97 (AHRI-2023) + Real64 p_int = p_E_int + M_CE * (t - 30.55); + return std::make_tuple(q_int, p_int); } - std::tuple MultiSpeedDXCoolingCoilSEER2(EnergyPlusData &state, - int const nsp, - Array1A_int const CapFFlowCurveIndex, - Array1A const RatedTotalCapacity, - Array1A_int const CapFTempCurveIndex, - Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, - Array1A const RatedAirVolFlowRate, - Array1A_int const EIRFFlowCurveIndex, - Array1A const RatedCOP, - Array1A_int EIRFTempCurveIndex, - Array1A_int const PLFFPLRCurveIndex) + std::tuple VariableSpeedDXCoolingCoilSEER2(EnergyPlusData &state, + int const nsp, + Array1A_int const CapFFlowCurveIndex, + Array1A const GrossRatedCapacityAtSpeedLevel, + Array1A_int const CapFTempCurveIndex, + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, + Array1A const LoopVolumetricAirFlowRateAtSpeedLevel, + Array1A_int const EIRFFlowCurveIndex, + Array1A const RatedCOP, + Array1A_int EIRFTempCurveIndex, + Array1A_int const PLFFPLRCurveIndex) { + + Real64 NetCoolingCapRatedMaxSpeed2023 = 0.0; + Real64 SEER2_User = 0.0; + Real64 SEER2_Standard = 0.0; + Real64 EER2 = 0.0; + // Intermediate values calculated from the inputs in the idf file // ANSI/AHRI 210/240 Std. 2023 Array1D FanPowerPerEvapAirFlowRate_2023(nsp); // 2023 Fan power per air volume flow rate through the evaporator coil [W/(m3/s)] @@ -3887,19 +4310,6 @@ namespace StandardRatings { Array1D P_F_Low(nsp); // Outdoor Unit electric power at F1 test condition | p_F_Low Array1D P_E_Int(nsp); // Outdoor Unit electric power at Eint (Ev) test conditon | p_E_Int - Real64 PartLoadFactorUser_2023( - 0.0); // part-load factor based on user-input PLF curve and C_D value that accounts for the cyclic degradation, [-] - - Real64 NetCoolingCapWeighted_2023(0.0); // net tot cooling cap weighted by the fraction of the binned cooling hours [W] - Real64 TotCoolingElecPowerWeighted_2023(0.0); // net total cooling electric power input weighted by the fraction of the temperature bins - Real64 TotCoolingElecPowerWeightedDefault(0.0); // net total cooling electric power input weighted by the fraction of the temperature bins - // from AHRI 201/240 default PLF curve and C_D value, - - // binned cooling hours - Real64 BuildingCoolingLoad_2023(0.0); // Building space cooling load corresponding to an outdoor bin temperature [W] - Real64 NetTotCoolCapBinned_2023(0.0); // Net tot cooling cap corresponding to an outdoor bin temperature [W] - Real64 TotCoolElecPowerBinned_2023(0.0); // Total cooling electric power corresponding to an outdoor bin temperature [W] - int spnum; // compressor speed number Array1D TotCapFlowModFac(nsp); // Total capacity modifier f(actual flow vs rated flow) for each speed [-] Array1D EIRFlowModFac(nsp); // EIR modifier f(actual supply air flow vs rated flow) for each speed [-] @@ -3911,16 +4321,16 @@ namespace StandardRatings { Real64 CoolingCapacityMax_2023(0.0); // cooling capacity of Mult-speed DX coil at max speed, [W] Real64 CoolingElecPowerMax_2023(0.0); // outdoor unit electric power input at Max speed, [W] - Real64 constexpr SF(1.10); // Sizing Factor as per AHRI Std 210/240-2023 | equation 11.68 - Real64 constexpr V(1); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 - - Real64 NetCoolingCapRatedMaxSpeed2023 = 0.0; - Real64 SEER2_User = 0.0; - Real64 SEER2_Standard = 0.0; + // binned cooling hours + Real64 BuildingCoolingLoad_2023(0.0); // Building space cooling load corresponding to an outdoor bin temperature [W] + Real64 NetTotCoolCapBinned_2023(0.0); // Net tot cooling cap corresponding to an outdoor bin temperature [W] + Real64 TotCoolElecPowerBinned_2023(0.0); // Total cooling electric power corresponding to an outdoor bin temperature [W] - NetCoolingCapWeighted_2023 = 0.0; - TotCoolingElecPowerWeighted_2023 = 0.0; - TotCoolingElecPowerWeightedDefault = 0.0; + Real64 constexpr SF(1.10); // Sizing Factor as per AHRI Std 210/240-2023 | equation 11.68 + // Real64 constexpr V(1); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 + Real64 constexpr V(0.93); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 + // part-load factor based on user-input PLF curve and C_D value that accounts for the cyclic degradation, [-] + Real64 PartLoadFactorUser_2023(0.0); for (int spnum = 1; spnum <= nsp; ++spnum) { FanPowerPerEvapAirFlowRate_2023(spnum) = 0.0; @@ -3936,34 +4346,34 @@ namespace StandardRatings { TotCapFlowModFac(spnum) = Curve::CurveValue(state, CapFFlowCurveIndex(spnum), AirMassFlowRatioRated); Q_A_Full(spnum) = - RatedTotalCapacity(spnum) * + GrossRatedCapacityAtSpeedLevel(spnum) * Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * TotCapFlowModFac(spnum) - - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); Q_B_Full(spnum) = - RatedTotalCapacity(spnum) * + GrossRatedCapacityAtSpeedLevel(spnum) * Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) * TotCapFlowModFac(spnum) - - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); Q_B_Low(spnum) = - RatedTotalCapacity(spnum) * + GrossRatedCapacityAtSpeedLevel(spnum) * Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) * TotCapFlowModFac(spnum) - - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); Q_F_Low(spnum) = - RatedTotalCapacity(spnum) * + GrossRatedCapacityAtSpeedLevel(spnum) * Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) * TotCapFlowModFac(spnum) - - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); Q_E_Int(spnum) = - RatedTotalCapacity(spnum) * + GrossRatedCapacityAtSpeedLevel(spnum) * Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestEint) * TotCapFlowModFac(spnum) - - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); EIRFlowModFac(spnum) = Curve::CurveValue(state, EIRFFlowCurveIndex(spnum), AirMassFlowRatioRated); if (RatedCOP(spnum) > 0.0) { @@ -3972,44 +4382,52 @@ namespace StandardRatings { Curve::CurveValue( state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) / RatedCOP(spnum) + - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); P_B_Full(spnum) = Q_B_Full(spnum) * EIRFlowModFac(spnum) * Curve::CurveValue( state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) / RatedCOP(spnum) + - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); P_B_Low(spnum) = Q_B_Low(spnum) * EIRFlowModFac(spnum) * Curve::CurveValue( state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) / RatedCOP(spnum) + - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); P_F_Low(spnum) = Q_F_Low(spnum) * EIRFlowModFac(spnum) * Curve::CurveValue( state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) / RatedCOP(spnum) + - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); P_E_Int(spnum) = Q_E_Int(spnum) * EIRFlowModFac(spnum) * Curve::CurveValue( state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestEint) / RatedCOP(spnum) + - FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + FanPowerPerEvapAirFlowRate_2023(spnum) * LoopVolumetricAirFlowRateAtSpeedLevel(spnum); } } // Standard Rating cooling (net) capacity calculations: NetCoolingCapRated_2023(nsp) = Q_A_Full(nsp); NetCoolingCapRatedMaxSpeed2023 = NetCoolingCapRated_2023(nsp); - // Calculate the SEER value based on contribution of each outdoor air bin temperature + // EER2 calculation | Section 3.1.16(AHRI 210/240 2023) + // A ratio of the cooling capacity in Btu/h to the Total Power in watts at AFull test conditions and expressed in Btu/(W-h) + // In case of Coil:Cooling:DX:MultiSpeed coil we're picking the max speed. + EER2 = Q_A_Full(nsp) / P_A_Full(nsp); + // Calculate the SEER2 value based on contribution of each outdoor air bin temperature Real64 q_sum = 0.0; Real64 e_sum = 0.0; Real64 NetCoolingCapWeighted2_2023 = 0.0; Real64 TotCoolingElecPowerWeighted2_2023 = 0.0; + SEER2_User = 0.0; + SEER2_Standard = 0.0; + std::vector speedsUsed; + // speedsUsed.push_back(1); for (int BN = 0; BN < NumOfOATempBins; ++BN) { // Equation 11.67 (AHRI-2023) BuildingCoolingLoad_2023 = ((OutdoorBinTemperatureSEER[BN] - 18.3) / (35.0 - 18.3) * (Q_A_Full(nsp) / SF)) * V; @@ -4020,121 +4438,896 @@ namespace StandardRatings { CoolingElecPowerMax_2023 = P_B_Full(nsp) + ((P_A_Full(nsp) - P_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); - + // Equation 11.69 (AHRI-2023) + q_low = Q_F_Low(1) + ((Q_B_Low(1) - Q_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + // Equation 11.70 (AHRI-2023)4 + p_low = P_F_Low(1) + ((P_B_Low(1) - P_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + // Equation 11.71 (AHRI-2023) + q_full = + Q_B_Full(nsp) + ((Q_A_Full(nsp) - Q_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + // Equation 11.72 (AHRI-2023) + p_full = + P_B_Full(nsp) + ((P_A_Full(nsp) - P_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); Real64 q(0.0); Real64 e(0.0); - for (spnum = 1; spnum <= nsp - 1; ++spnum) { - // Equation 11.69 (AHRI-2023) - q_low = Q_F_Low(spnum) + - ((Q_B_Low(spnum) - Q_F_Low(spnum)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * - (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); - // Equation 11.70 (AHRI-2023) - p_low = P_F_Low(spnum) + - ((P_B_Low(spnum) - P_F_Low(spnum)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * - (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); - // Equation 11.71 (AHRI-2023) - q_full = Q_B_Full(spnum + 1) + ((Q_A_Full(spnum + 1) - Q_B_Full(spnum + 1)) / - (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * - (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); - // Equation 11.72 (AHRI-2023) - p_full = P_B_Full(spnum + 1) + ((P_A_Full(spnum + 1) - P_B_Full(spnum + 1)) / - (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * - (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + bool skipSpeed = false; + + // # Intermediate Capacity + Real64 q_A_full = Q_A_Full(nsp); + Real64 q_B_full = Q_B_Full(nsp); + Real64 q_B_low = Q_B_Low(1); + Real64 q_F_low = Q_F_Low(1); + // # Intermediate Power + Real64 p_A_full = P_A_Full(nsp); + Real64 p_B_full = P_B_Full(nsp); + Real64 p_B_low = P_B_Low(1); + Real64 p_F_low = P_F_Low(1); + + Real64 N_Cq(0.0); + Real64 M_Cq(0.0); + + Real64 N_CE(0.0); + Real64 M_CE(0.0); + + Real64 q_int(0.0); + Real64 p_int(0.0); + Real64 t = OutdoorBinTemperatureSEER[BN]; + Real64 n = CoolFracBinHoursAtOutdoorBinTemp[BN]; + Real64 bl = BuildingCoolingLoad_2023; + if ((nsp >= 5 && nsp <= 10)) { + // New speed selection strategy : + auto result = GetMatchingSpeedFromBuildingLoad(BuildingCoolingLoad_2023, GrossRatedCapacityAtSpeedLevel); + if (result.second != -1) { + int spnum = result.second + 1; + // found a speed that meets the building load + // # Intermediate Capacity + Real64 q_E_int = Q_E_Int(spnum); + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); + + // # Intermediate Power + Real64 p_E_int = P_E_Int(spnum); + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + if (BuildingCoolingLoad_2023 <= q_low) { + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(spnum)); + speedsUsed.push_back(spnum); + goto SpeedLoop3_exit; + } else if (BuildingCoolingLoad_2023 > q_low && BuildingCoolingLoad_2023 < q_full) { + // Case 2A: + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2A( + p_int, q_int, q_low, bl, n, Q_E_Int(spnum), q_full, P_E_Int(spnum), p_full, p_low); + speedsUsed.push_back(spnum); + goto SpeedLoop3_exit; + } else if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2B( + p_int, bl, q_int, n, Q_E_Int(spnum), P_E_Int(spnum), q_low, p_low, q_full, p_full); + speedsUsed.push_back(spnum); + goto SpeedLoop3_exit; + } + } else if (BuildingCoolingLoad_2023 >= q_full) { + // Case 3: + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3(q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + speedsUsed.push_back(spnum); + goto SpeedLoop3_exit; + } + } else { + // << ",, BIN NUMBER (C3), " << BN + 1 << ", NO SPEEDS MATCHED ??, " << spnum << std::endl; + } + } else if (nsp == 4) { + for (spnum = 1; spnum <= nsp; ++spnum) { + // # Intermediate Capacity + Real64 q_E_int; + if (spnum == 2 || spnum == 3) { + q_E_int = (Q_E_Int(2) + Q_E_Int(3)) * 0.5; + } else { + q_E_int = Q_E_Int(spnum); + } + // # Intermediate Power + Real64 p_E_int; + if (spnum == 2 || spnum == 3) { + p_E_int = (P_E_Int(2) + P_E_Int(3)) * 0.5; + } else { + p_E_int = P_E_Int(spnum); + } + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); + + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + if (bl <= q_low) { + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(spnum)); + // This is the case and speed we're looking for now we exit and try calculating against the next bin + goto SpeedLoop3_exit; + } else if (bl > q_low && bl < q_full && (spnum == 2 || spnum == 3)) { + + // Case 2A: + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2A( + p_int, q_int, q_low, bl, n, Q_E_Int(spnum), q_full, P_E_Int(spnum), p_full, p_low); + goto SpeedLoop3_exit; + } else if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2B( + p_int, bl, q_int, n, Q_E_Int(spnum), P_E_Int(spnum), q_low, p_low, q_full, p_full); + goto SpeedLoop3_exit; + } + } else if (bl >= q_full && spnum > 3) { + // Case 3: + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3(q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + goto SpeedLoop3_exit; + } + } + } else if (nsp == 3) { + for (spnum = 1; spnum <= nsp; ++spnum) { + // # Intermediate Capacity + Real64 q_E_int = Q_E_Int(spnum); + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); + + // # Intermediate Power + Real64 p_E_int = P_E_Int(spnum); + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + if (bl <= q_low) { + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(spnum)); + // This is the case and speed we're looking for now we exit and try calculating against the next bin + goto SpeedLoop3_exit; + } else if (bl > q_low && bl < q_full) { + // Case 2A: + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2A( + p_int, q_int, q_low, bl, n, Q_E_Int(spnum), q_full, P_E_Int(spnum), p_full, p_low); + goto SpeedLoop3_exit; + } else if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2B( + p_int, bl, q_int, n, Q_E_Int(spnum), P_E_Int(spnum), q_low, p_low, q_full, p_full); + goto SpeedLoop3_exit; + } + } else if (bl >= q_full) { + // Case 3: + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3(q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + goto SpeedLoop3_exit; + } + } + } else if (nsp == 2) { + for (spnum = 1; spnum <= nsp; ++spnum) { + // # Intermediate Capacity + Real64 q_E_int = Q_E_Int(1); + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); + + // # Intermediate Power + Real64 p_E_int = P_E_Int(1); + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + if (bl <= q_low) { + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(spnum)); + // This is the case and speed we're looking for now we exit and try calculating against the next bin + goto SpeedLoop3_exit; + } else if (bl > q_low && bl < q_full) { + // Case 2A: + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2A( + p_int, q_int, q_low, bl, n, Q_E_Int(spnum), q_full, P_E_Int(spnum), p_full, p_low); + goto SpeedLoop3_exit; + } else if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2B( + p_int, bl, q_int, n, Q_E_Int(spnum), P_E_Int(spnum), q_low, p_low, q_full, p_full); + goto SpeedLoop3_exit; + } + } else if (bl >= q_full && spnum == nsp) { + // Case 3: + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3(q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + goto SpeedLoop3_exit; + } + } + } else if (nsp == 1) { + // Every calculation for each of the bins will be using only one speed i.e, Speed 1 + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. // # Intermediate Capacity - Real64 q_A_full = Q_A_Full[spnum]; - Real64 q_B_full = Q_B_Full[spnum]; - Real64 q_B_low = Q_B_Low[spnum]; - Real64 q_F_low = Q_F_Low[spnum]; - Real64 q_E_int = Q_E_Int[spnum]; - // Equation 11.90 (AHRI-2023) - Real64 q_87_low = q_F_low + (q_B_low - q_F_low) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); - Real64 q_87_full = q_B_full + (q_A_full - q_B_full) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); - - // Equation 11.96 (AHRI-2023) - Real64 N_Cq = (q_E_int - q_87_low) / (q_87_full - q_87_low); - // Equation 11.95 (AHRI-2023) - Real64 M_Cq = (q_B_low - q_F_low) / (27.77 - 19.44) * (1. - N_Cq) + (q_A_full - q_B_full) / (35.0 - 27.77) * N_Cq; + Real64 q_E_int = Q_E_Int(1); + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); // # Intermediate Power - Real64 p_A_full = P_A_Full[spnum]; - Real64 p_B_full = P_B_Full[spnum]; - Real64 p_B_low = P_B_Low[spnum]; - Real64 p_F_low = P_F_Low[spnum]; - Real64 p_E_int = P_E_Int[spnum]; - // Equation 11.91 (AHRI-2023) - Real64 p_87_low = p_F_low + (p_B_low - p_F_low) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); - Real64 p_87_full = p_B_full + (p_A_full - p_B_full) * ((OutdoorBinTemperatureSEER[BN] - 19.44 / 27.77 - 19.44)); - - // Equation 11.99 (AHRI-2023) - Real64 N_CE = (p_E_int - p_87_low) / (p_87_full - p_87_low); - // Equaition 11.98 (AHRI-2023) - Real64 M_CE = (p_B_low - p_F_low) / (27.77 - 19.44) * (1. - N_CE) + (p_A_full - p_B_full) / (35.0 - 27.77) * N_CE; - - Real64 t = OutdoorBinTemperatureSEER[BN]; - Real64 n = CoolFracBinHoursAtOutdoorBinTemp[BN]; - Real64 bl = BuildingCoolingLoad_2023; - - // Equation 11.94 (AHRI-2023) - Real64 q_int = q_E_int + M_Cq * (t - 30.55); - // Equation 11.97 (AHRI-2023) - Real64 p_int = p_E_int + M_CE * (t - 30.55); - Real64 cop_low = q_low / p_low; - Real64 cop_int = q_int / p_int; - Real64 cop_full = q_full / p_full; + Real64 p_E_int = P_E_Int(1); + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. - if (bl <= q_low) { - Real64 clf_low = bl / q_low; // Equation 11.75 (AHRI-2023) - Real64 plf_low = 1.0 - CyclicDegradationCoeff * (1.0 - clf_low); // Equation 11.76 (AHRI-2023) - q = clf_low * q_low * n; // Equation 11.73 (AHRI-2023) - e = clf_low * p_low * n / plf_low; // Equation 11.74 (AHRI-2023) - - NetTotCoolCapBinned_2023 = clf_low * q_low * CoolFracBinHoursAtOutdoorBinTemp[BN]; - PartLoadFactorUser_2023 = Curve::CurveValue(state, PLFFPLRCurveIndex(spnum), clf_low); - TotCoolElecPowerBinned_2023 = (clf_low / PartLoadFactorUser_2023) * p_low * CoolFracBinHoursAtOutdoorBinTemp[BN]; + if (BuildingCoolingLoad_2023 <= q_low) { + // Case 1: + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(1)); goto SpeedLoop3_exit; - } else if (bl < q_int) { - // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full Speed - Real64 LoadFactorQEnt_2023 = min(1.0, (Q_E_Int(spnum) - q_low) / (q_full - q_low)); - LoadFactorQEnt_2023 = max(0.0, LoadFactorQEnt_2023); - Real64 LoadFactorPEnt_2023 = min(1.0, (P_E_Int(spnum) - p_low) / (p_full - p_low)); - LoadFactorPEnt_2023 = max(0.0, LoadFactorPEnt_2023); - NetTotCoolCapBinned_2023 = LoadFactorQEnt_2023 * q_full + (1.0 - LoadFactorQEnt_2023) * q_low; - TotCoolElecPowerBinned_2023 = LoadFactorPEnt_2023 * p_full + (1.0 - LoadFactorPEnt_2023) * p_low; - - // Low Speed - Real64 cop_int_bin = cop_low + (cop_int - cop_low) / (q_int - q_low) * (bl - q_low); // Equation 11.101 (AHRI-2023) - q = bl * n; // 11.92 --> n is missing in the print ? - e = q / cop_int_bin; // 11.93 --> adjusted to 11.101 - goto SpeedLoop3_exit; - } else if (bl <= q_full) { - // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full Speed - Real64 LoadFactorQEnt_2023 = min(1.0, (Q_E_Int(spnum) - q_low) / (q_full - q_low)); - LoadFactorQEnt_2023 = max(0.0, LoadFactorQEnt_2023); - Real64 LoadFactorPEnt_2023 = min(1.0, (P_E_Int(spnum) - p_low) / (p_full - p_low)); - LoadFactorPEnt_2023 = max(0.0, LoadFactorPEnt_2023); - NetTotCoolCapBinned_2023 = LoadFactorQEnt_2023 * q_full + (1.0 - LoadFactorQEnt_2023) * q_low; - TotCoolElecPowerBinned_2023 = LoadFactorPEnt_2023 * p_full + (1.0 - LoadFactorPEnt_2023) * p_low; - - // Full Speed - Real64 cop_int_bin = cop_int + (cop_full - cop_int) / (q_full - q_int) * (bl - q_int); // Equation 11.102 (AHRI-2023) - q = bl * n; // 11.92 --> n is missing in the print ? - e = q / cop_int_bin; // 11.93 --> adjusted to 11.102 - goto SpeedLoop3_exit; - } else { // bl >= q_full + + } else if (BuildingCoolingLoad_2023 > q_low && BuildingCoolingLoad_2023 < q_full) { + // Case 2: + // Case 2A: + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case2A(p_int, q_int, q_low, bl, n, Q_E_Int(1), q_full, P_E_Int(1), p_full, p_low); + goto SpeedLoop3_exit; + } else if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case2B(p_int, bl, q_int, n, Q_E_Int(1), P_E_Int(1), q_low, p_low, q_full, p_full); + goto SpeedLoop3_exit; + } + // Case 2B: + } else if (BuildingCoolingLoad_2023 >= q_full) { + // Case 3: // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage - NetTotCoolCapBinned_2023 = CoolingCapacityMax_2023 * CoolFracBinHoursAtOutdoorBinTemp[BN]; - TotCoolElecPowerBinned_2023 = CoolingElecPowerMax_2023 * CoolFracBinHoursAtOutdoorBinTemp[BN]; + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3(q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + goto SpeedLoop3_exit; + } + } + SpeedLoop3_exit:; + NetCoolingCapWeighted2_2023 += NetTotCoolCapBinned_2023; + TotCoolingElecPowerWeighted2_2023 += TotCoolElecPowerBinned_2023; + + q_sum += q; + e_sum += e; + } + if (e_sum > 0.0) { + SEER2_User = NetCoolingCapWeighted2_2023 / TotCoolingElecPowerWeighted2_2023; + SEER2_Standard = q_sum / e_sum; // Equation 11.66 (AHRI-2023) + } + return std::make_tuple(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2); + } + + std::tuple TwoSpeedDXCoolingCoilSEER2(EnergyPlusData &state, + // int const nsp, + Array1A_int const CapFFlowCurveIndex, + Array1A const RatedTotalCapacity, + Array1A_int const CapFTempCurveIndex, + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, + Array1A const RatedAirVolFlowRate, + Array1A_int const EIRFFlowCurveIndex, + Array1A const RatedCOP, + Array1A_int EIRFTempCurveIndex, + Array1A_int const PLFFPLRCurveIndex) + { + int nsp = 2; + Real64 NetCoolingCapRatedMaxSpeed2023 = 0.0; + Real64 SEER2_User = 0.0; + Real64 SEER2_Standard = 0.0; + Real64 EER2 = 0.0; + + Real64 constexpr SF(1.10); // Sizing Factor as per AHRI Std 210/240-2023 | equation 11.68 + Real64 constexpr V(1); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 + + Array1D FanPowerPerEvapAirFlowRate_2023(nsp); // 2023 Fan power per air volume flow rate through the evaporator coil [W/(m3/s)] + Array1D Q_A_Full(nsp); // Total cooling capacity at A2 test condition (High speed) | q_A_Full + Array1D Q_B_Full(nsp); // Total cooling capacity at B2 test condition (High speed) | q_B_Full + Array1D Q_B_Low(nsp); // Total cooling capacity at B1 test condition (Low speed) | q_B_Low + Array1D Q_F_Low(nsp); // Total cooling capacity at F1 test condition (Low speed) | q_F_Low + Array1D P_A_Full(nsp); // Outdoor Unit electric power at A2 test condition (High speed) | p_A_Full + Array1D P_B_Full(nsp); // Outdoor Unit electric power at B2 test condition (High speed) | p_B_Full + Array1D P_B_Low(nsp); // Outdoor Unit electric power at B1 test condition (Low speed) | p_B_Low + Array1D P_F_Low(nsp); // Outdoor Unit electric power at F1 test condition | p_F_Low + + Real64 PartLoadFactorUser_2023(0.0); // part-load factor based on user-input PLF curve and C_D value that accounts + // for the cyclic degradation, [-] + + // binned cooling hours + Real64 BuildingCoolingLoad_2023(0.0); // Building space cooling load corresponding to an outdoor bin temperature [W] + Real64 NetTotCoolCapBinned_2023(0.0); // Net tot cooling cap corresponding to an outdoor bin temperature [W] + Real64 TotCoolElecPowerBinned_2023(0.0); // Total cooling electric power corresponding to an outdoor bin temperature [W] + + int spnum; + Array1D TotCapFlowModFac(nsp); // Total capacity modifier f(actual flow vs rated flow) for each speed [-] + Array1D EIRFlowModFac(nsp); // EIR modifier f(actual supply air flow vs rated flow) for each speed [-] + Array1D NetCoolingCapRated_2023(nsp); // net cooling capacity at each speed + + Real64 FanPowerPerEvapAirFlowRate_2023_LS(0.0); + Real64 FanPowerPerEvapAirFlowRate_2023_HS(0.0); + // Low Stage + if (FanPowerPerEvapAirFlowRateFromInput_2023(2) <= 0.0) { + FanPowerPerEvapAirFlowRate_2023_LS = DefaultFanPowerPerEvapAirFlowRateSEER2; + FanPowerPerEvapAirFlowRate_2023(1) = DefaultFanPowerPerEvapAirFlowRateSEER2; + } else { + FanPowerPerEvapAirFlowRate_2023_LS = FanPowerPerEvapAirFlowRateFromInput_2023(2); + FanPowerPerEvapAirFlowRate_2023(1) = FanPowerPerEvapAirFlowRateFromInput_2023(2); + } + // High Stage + if (FanPowerPerEvapAirFlowRateFromInput_2023(1) <= 0.0) { + FanPowerPerEvapAirFlowRate_2023_HS = DefaultFanPowerPerEvapAirFlowRateSEER2; + FanPowerPerEvapAirFlowRate_2023(2) = DefaultFanPowerPerEvapAirFlowRateSEER2; + } else { + FanPowerPerEvapAirFlowRate_2023_HS = FanPowerPerEvapAirFlowRateFromInput_2023(1); + FanPowerPerEvapAirFlowRate_2023(2) = FanPowerPerEvapAirFlowRateFromInput_2023(1); + } + + // Calculate the capacity and power for each speed + // Low Stage + TotCapFlowModFac(1) = 1; // As per IO Reference there are no CCapFFlowCurve for Low Speed | Section ?? + EIRFlowModFac(1) = 1; // As per IO Reference there are no EIRFFlowCurve for Low Speed | Section ?? + + Q_A_Full(1) = RatedTotalCapacity(2) * + Curve::CurveValue(state, CapFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac(1) - + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + Q_B_Full(1) = RatedTotalCapacity(2) * + Curve::CurveValue(state, CapFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) * + TotCapFlowModFac(1) - + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + Q_B_Low(1) = RatedTotalCapacity(2) * + Curve::CurveValue(state, CapFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) * + TotCapFlowModFac(1) - + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + Q_F_Low(1) = RatedTotalCapacity(2) * + Curve::CurveValue(state, CapFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) * + TotCapFlowModFac(1) - + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + if (RatedCOP(2) > 0.0) { + P_A_Full(1) = + Q_A_Full(1) * EIRFlowModFac(1) * + Curve::CurveValue(state, EIRFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) / + RatedCOP(2) + + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + P_B_Full(1) = + Q_B_Full(1) * EIRFlowModFac(1) * + Curve::CurveValue(state, EIRFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) / + RatedCOP(2) + + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + P_B_Low(1) = + Q_B_Low(1) * EIRFlowModFac(1) * + Curve::CurveValue(state, EIRFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) / + RatedCOP(2) + + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + + P_F_Low(1) = + Q_F_Low(1) * EIRFlowModFac(1) * + Curve::CurveValue(state, EIRFTempCurveIndex(2), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) / + RatedCOP(2) + + FanPowerPerEvapAirFlowRate_2023(1) * RatedAirVolFlowRate(2); + } + // High Stage + TotCapFlowModFac(2) = Curve::CurveValue(state, CapFFlowCurveIndex(1), AirMassFlowRatioRated); + EIRFlowModFac(2) = Curve::CurveValue(state, EIRFFlowCurveIndex(1), AirMassFlowRatioRated); + + Q_A_Full(2) = RatedTotalCapacity(1) * + Curve::CurveValue(state, CapFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac(2) - + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + Q_B_Full(2) = RatedTotalCapacity(1) * + Curve::CurveValue(state, CapFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) * + TotCapFlowModFac(2) - + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + Q_B_Low(2) = RatedTotalCapacity(1) * + Curve::CurveValue(state, CapFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) * + TotCapFlowModFac(2) - + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + Q_F_Low(2) = RatedTotalCapacity(1) * + Curve::CurveValue(state, CapFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) * + TotCapFlowModFac(2) - + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + if (RatedCOP(1) > 0.0) { + P_A_Full(2) = + Q_A_Full(2) * EIRFlowModFac(2) * + Curve::CurveValue(state, EIRFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) / + RatedCOP(1) + + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + P_B_Full(2) = + Q_B_Full(2) * EIRFlowModFac(2) * + Curve::CurveValue(state, EIRFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) / + RatedCOP(1) + + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + P_B_Low(2) = + Q_B_Low(2) * EIRFlowModFac(2) * + Curve::CurveValue(state, EIRFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) / + RatedCOP(1) + + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + + P_F_Low(2) = + Q_F_Low(2) * EIRFlowModFac(2) * + Curve::CurveValue(state, EIRFTempCurveIndex(1), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) / + RatedCOP(1) + + FanPowerPerEvapAirFlowRate_2023(2) * RatedAirVolFlowRate(1); + } + + // Standard Rating cooling (net) capacity calculations: + NetCoolingCapRated_2023(2) = Q_A_Full(2); + NetCoolingCapRatedMaxSpeed2023 = NetCoolingCapRated_2023(2); + + // EER2 calculation | Section 3.1.16(AHRI 210/240 2023) + // A ratio of the cooling capacity in Btu/h to the Total Power in watts at AFull test conditions and expressed in Btu/(W-h) + // In case of Coil:Cooling:DX:TwoSpeed coil we're picking the High Speed for the same. + EER2 = Q_A_Full(2) / P_A_Full(2); + + // Calculate the SEER value based on contribution of each outdoor air bin temperature + Real64 q_sum = 0.0; + Real64 e_sum = 0.0; + Real64 NetCoolingCapWeighted2_2023 = 0.0; + Real64 TotCoolingElecPowerWeighted2_2023 = 0.0; + + Real64 CoolingCapacityMax_2023(0.0); + Real64 CoolingElecPowerMax_2023(0.0); + + Real64 q_low(0.0); + Real64 p_low(0.0); + Real64 q_full(0.0); + Real64 p_full(0.0); + + Real64 SEER2_USER_C2(0.0); + Real64 SEER2_STANDARD_C2(0.0); + + q_sum = 0.0; + e_sum = 0.0; + NetCoolingCapWeighted2_2023 = 0.0; + TotCoolingElecPowerWeighted2_2023 = 0.0; + + for (int BN = 0; BN < NumOfOATempBins; ++BN) { + // Equation 11.67 (AHRI-2023) + BuildingCoolingLoad_2023 = ((OutdoorBinTemperatureSEER[BN] - 18.3) / (35.0 - 18.3) * (Q_A_Full(nsp) / SF)) * V; + + // determine the speed number + CoolingCapacityMax_2023 = + Q_B_Full(nsp) + ((Q_A_Full(nsp) - Q_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + CoolingElecPowerMax_2023 = + P_B_Full(nsp) + ((P_A_Full(nsp) - P_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + + // LOW STAGE : + // The calculated Low Stage system capacity rate at each bin temperature shall be calculated by Equation 11.69 + // Equation 11.69 (AHRI-2023) + q_low = Q_F_Low(1) + ((Q_B_Low(1) - Q_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + + // The calculated Low Stage energy consumption at each bin temperature shall be calculated by Equation 11.70 + // Equation 11.70 (AHRI-2023) + p_low = P_F_Low(1) + ((P_B_Low(1) - P_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + + // HIGH STAGE : + // The calculated Full Stage system capacity at each bin temperature shall be calculated by Equation 11.71. + // Equation 11.71 (AHRI-2023) + q_full = Q_B_Full(2) + ((Q_A_Full(2) - Q_B_Full(2)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + + // The calculated Full Stage energy consumption at each bin temperature shall be calculated by Equation 11.72. + // Equation 11.72 (AHRI-2023) + p_full = P_B_Full(2) + ((P_A_Full(2) - P_B_Full(2)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + + Real64 bl = BuildingCoolingLoad_2023; + Real64 t = OutdoorBinTemperatureSEER[BN]; + Real64 n = CoolFracBinHoursAtOutdoorBinTemp[BN]; + Real64 q(0.0); + Real64 e(0.0); + // Section 6.1.3.1.2 | For Two-capacity Systems, if the optional CLow and DLow tests are not performed, a default value of 0.20 shall + // be used for the Low Stage cooling Degradation Coefficient, cd_low. In this case, if using default value for cd_low, use default + // value for cd_full. For Two-capacity Systems that lock out low capacity operation at high outdoor temperatures, if the optional + // CFull and DFull tests are not performed, the default value for Full Stage shall be the value used for Low Stage. + Real64 CyclicDegradationCoefficient(0.20); + if (bl < q_low) { + // Case I. Building load is less than Low Stage capacity, BL(tj) < qLow(tj). Calculate total bin capacity by using Equation 11.73 + // and total bin energy by using Equation 11.74. + Real64 clf_low = bl / q_low; // Equation 11.75 (AHRI-2023) + + // SEER2 USER + PartLoadFactorUser_2023 = Curve::CurveValue(state, PLFFPLRCurveIndex(1), clf_low); + NetTotCoolCapBinned_2023 = clf_low * q_low * CoolFracBinHoursAtOutdoorBinTemp[BN]; + TotCoolElecPowerBinned_2023 = (clf_low / PartLoadFactorUser_2023) * p_low * CoolFracBinHoursAtOutdoorBinTemp[BN]; + + // SEER2 STANDARD + Real64 plf_low = 1.0 - CyclicDegradationCoefficient * (1.0 - clf_low); // Equation 11.76 (AHRI-2023) + q = clf_low * q_low * n; // Total Bin Capacity, Equation 11.73 (AHRI-2023) + e = clf_low * p_low * n / plf_low; // Total Bin Energy, Equation 11.74 (AHRI-2023) + + } else if (q_low < bl && bl < q_full) { + // Case II. Building load is greater than the Low Stage capacity, but less than the Full Stage capacity, qLow(tj) < BL(tj) < + // qFull(tj) and the unit cycles between "Low Stage" operation and "Full Stage" operation. Calculate total bin capacity by using + // Equation 11.79 and total bin energy by using Equation 11.80 + + // Prerequisites for Equations 11.79 & 11.80 + Real64 clf_low_c2 = (q_full - bl) / (q_full - q_low); // Equation 11.81 (AHRI-2023) + Real64 clf_full_c2 = 1 - clf_low_c2; // Equation 11.82 (AHRI-2023) + + // SEER2 USER + // Real64 LoadFactor_Low_2023 = min(1.0, (Q_E_Int(spnum) - q_low) / (q_full - q_low)); + // LoadFactorQEnt_2023 = max(0.0, LoadFactorQEnt_2023); + // TODO:BPS : Visit again to figure out if there is a way to leverage Coil Data/Curve to get this. + Real64 NetTotCoolCapBinned_2023_c2 = ((clf_low_c2 * q_low) + (clf_full_c2 * q_full)) * CoolFracBinHoursAtOutdoorBinTemp[BN]; + Real64 TotCoolElecPowerBinned_2023_c2 = ((clf_low_c2 * p_low) + (clf_full_c2 * p_full)) * CoolFracBinHoursAtOutdoorBinTemp[BN]; + + // SEER2 STANDARD + Real64 q_c2 = ((clf_low_c2 * q_low) + (clf_full_c2 * q_full)) * n; // Total Bin Capacity, Equation 11.79 (AHRI-2023) + Real64 e_c2 = ((clf_low_c2 * p_low) + (clf_full_c2 * p_full)) * n; // Total Bin Energy, Equation 11.80 (AHRI-2023) + + // Case III. Building load is greater than the Low Stage capacity, but less than the Full Stage capacity, qLow(tj) < BL(tj) < + // qFull(tj) and the unit cycles between "off" and "Full Stage" operation.Calculate total bin capacity by using Equation 11.83 and + // total bin energy by using Equation 11.84 + + // Prerequisites for Equations 11.83 & 11.84 + // If the optional c_full and d_full Tests (see Table 7 AHRI-2023) are not conducted, set ccd_full equal to the lower of a) the + // ccd_low value calculated as per Equation 11.77 or b) the default value identified in Section 6.1.3.1 + Real64 ccd_full_c3 = CyclicDegradationCoefficient; + Real64 clf_full_c3 = bl / q_full; // Equation 11.85 (AHRI-2023) + + // SEER2 USER + Real64 PartLoadFactorUser_2023_c3 = Curve::CurveValue(state, PLFFPLRCurveIndex(1), clf_full_c3); + Real64 NetTotCoolCapBinned_2023_c3 = clf_full_c3 * q_full * CoolFracBinHoursAtOutdoorBinTemp[BN]; + Real64 TotCoolElecPowerBinned_2023_c3 = (clf_full_c3 / PartLoadFactorUser_2023_c3) * p_full * CoolFracBinHoursAtOutdoorBinTemp[BN]; + + // The code below calculates coil Capacity and Energy for the case when a coil support for 'locked out' + // of the low stage on the compressor when outdoor air is very hot. In this case, the compressor will cycle + // directly from off to the High Stage, bypassing the low stage. + // EnergyPlus DX Cooling Coil data does not include a property for indicating if the coil supports this behavior, + // so these values are not currently used. + + // SEER2 STANDARD + Real64 plf_full_c3 = 1 - (ccd_full_c3 * (1 - clf_full_c3)); // Equation 11.86 (AHRI-2023) + Real64 q_c3 = clf_full_c3 * q_full * n; // Total Bin Capacity, Equation 11.83 (AHRI-2023) + Real64 e_c3 = (clf_full_c3 * p_full * n) / plf_full_c3; // Total Bin Energy, Equation 11.84 (AHRI-2023) + + // SEER2 USER + NetTotCoolCapBinned_2023 = NetTotCoolCapBinned_2023_c2; + TotCoolElecPowerBinned_2023 = TotCoolElecPowerBinned_2023_c2; + // SEER2 STANDARD + q = q_c2; + e = e_c2; + + } else if (bl >= q_full) { + // Case IV. Building load is greater than or equal to the unit capacity, BL(tj) >= qFull(tj).Calculate total bin capacity by using + // Equation 11.88 and total bin energy by using Equation 11.89. + // Section 11.2.1.3.3 CASE 4 - Building load is equal to or greater than unit capacity at full stage + + // SEER2 USER + NetTotCoolCapBinned_2023 = CoolingCapacityMax_2023 * CoolFracBinHoursAtOutdoorBinTemp[BN]; + TotCoolElecPowerBinned_2023 = CoolingElecPowerMax_2023 * CoolFracBinHoursAtOutdoorBinTemp[BN]; + + // SEER2 STANDARD + q = q_full * n; // Equation 11.88 (AHRI-2023) + e = p_full * n; // Equation 11.89 (AHRI-2023) + } + + // SEER2 USER | Sum up Bin Capacity and Bin Energy + NetCoolingCapWeighted2_2023 += NetTotCoolCapBinned_2023; + TotCoolingElecPowerWeighted2_2023 += TotCoolElecPowerBinned_2023; + + // SEER2 STANDARD | Sum up Bin Capacity and Bin Energy + q_sum += q; + e_sum += e; + } + + SEER2_User = 0.0; + SEER2_Standard = 0.0; + if (e_sum > 0.0) { + SEER2_User = NetCoolingCapWeighted2_2023 / TotCoolingElecPowerWeighted2_2023; + SEER2_Standard = q_sum / e_sum; // Equation 11.66 (AHRI-2023) + } + + return std::make_tuple(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2); + } + + std::tuple MultiSpeedDXCoolingCoilSEER2(EnergyPlusData &state, + int const nsp, + Array1A_int const CapFFlowCurveIndex, + Array1A const RatedTotalCapacity, + Array1A_int const CapFTempCurveIndex, + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, + Array1A const RatedAirVolFlowRate, + Array1A_int const EIRFFlowCurveIndex, + Array1A const RatedCOP, + Array1A_int EIRFTempCurveIndex, + Array1A_int const PLFFPLRCurveIndex) + { + // Intermediate values calculated from the inputs in the idf file + // ANSI/AHRI 210/240 Std. 2023 + Array1D FanPowerPerEvapAirFlowRate_2023(nsp); // 2023 Fan power per air volume flow rate through the evaporator coil [W/(m3/s)] + Array1D Q_A_Full(nsp); // Total cooling capacity at A2 test condition (High speed) | q_A_Full + Array1D Q_B_Full(nsp); // Total cooling capacity at B2 test condition (High speed) | q_B_Full + Array1D Q_B_Low(nsp); // Total cooling capacity at B1 test condition (Low speed) | q_B_Low + Array1D Q_F_Low(nsp); // Total cooling capacity at F1 test condition (Low speed) | q_F_Low + Array1D Q_E_Int(nsp); // Total cooling capacity at Eint (Ev) test condition | q_E_Int + Array1D P_A_Full(nsp); // Outdoor Unit electric power at A2 test condition (High speed) | p_A_Full + Array1D P_B_Full(nsp); // Outdoor Unit electric power at B2 test condition (High speed) | p_B_Full + Array1D P_B_Low(nsp); // Outdoor Unit electric power at B1 test condition (Low speed) | p_B_Low + Array1D P_F_Low(nsp); // Outdoor Unit electric power at F1 test condition | p_F_Low + Array1D P_E_Int(nsp); // Outdoor Unit electric power at Eint (Ev) test conditon | p_E_Int + + Real64 PartLoadFactorUser_2023( + 0.0); // part-load factor based on user-input PLF curve and C_D value that accounts for the cyclic degradation, [-] + + Real64 NetCoolingCapWeighted_2023(0.0); // net tot cooling cap weighted by the fraction of the binned cooling hours [W] + Real64 TotCoolingElecPowerWeighted_2023(0.0); // net total cooling electric power input weighted by the fraction of the temperature bins + Real64 TotCoolingElecPowerWeightedDefault(0.0); // net total cooling electric power input weighted by the fraction of the temperature bins + // from AHRI 201/240 default PLF curve and C_D value, + + // binned cooling hours + Real64 BuildingCoolingLoad_2023(0.0); // Building space cooling load corresponding to an outdoor bin temperature [W] + Real64 NetTotCoolCapBinned_2023(0.0); // Net tot cooling cap corresponding to an outdoor bin temperature [W] + Real64 TotCoolElecPowerBinned_2023(0.0); // Total cooling electric power corresponding to an outdoor bin temperature [W] + + int spnum; // compressor speed number + Array1D TotCapFlowModFac(nsp); // Total capacity modifier f(actual flow vs rated flow) for each speed [-] + Array1D EIRFlowModFac(nsp); // EIR modifier f(actual supply air flow vs rated flow) for each speed [-] + Array1D NetCoolingCapRated_2023(nsp); // net cooling capacity at each speed + Real64 q_low(0.0); // cooling capacity of Mult-speed DX coil at lower speed, [W] + Real64 q_full(0.0); // cooling capacity of Mult-speed DX coil at higher speed, [W] + Real64 p_low(0.0); // outdoor unit electric power input at low speed, [W] + Real64 p_full(0.0); // outdoor unit electric power input at high speed, [W] + Real64 CoolingCapacityMax_2023(0.0); // cooling capacity of Mult-speed DX coil at max speed, [W] + Real64 CoolingElecPowerMax_2023(0.0); // outdoor unit electric power input at Max speed, [W] + + Real64 constexpr SF(1.10); // Sizing Factor as per AHRI Std 210/240-2023 | equation 11.68 + // Real64 constexpr V(1); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 + Real64 constexpr V(0.93); // V = 0.93 for Variable Speed Heat Pumps, otherwise V = 1.0 + + Real64 NetCoolingCapRatedMaxSpeed2023 = 0.0; + Real64 SEER2_User = 0.0; + Real64 SEER2_Standard = 0.0; + Real64 EER2 = 0.0; + + NetCoolingCapWeighted_2023 = 0.0; + TotCoolingElecPowerWeighted_2023 = 0.0; + TotCoolingElecPowerWeightedDefault = 0.0; + + for (int spnum = 1; spnum <= nsp; ++spnum) { + FanPowerPerEvapAirFlowRate_2023(spnum) = 0.0; + if (FanPowerPerEvapAirFlowRateFromInput_2023(spnum) <= 0.0) { + FanPowerPerEvapAirFlowRate_2023(spnum) = DefaultFanPowerPerEvapAirFlowRateSEER2; + } else { + FanPowerPerEvapAirFlowRate_2023(spnum) = FanPowerPerEvapAirFlowRateFromInput_2023(spnum); + } + } + + // Calculate the capacity and power for each speed + for (spnum = 1; spnum <= nsp; ++spnum) { + TotCapFlowModFac(spnum) = Curve::CurveValue(state, CapFFlowCurveIndex(spnum), AirMassFlowRatioRated); + + Q_A_Full(spnum) = + RatedTotalCapacity(spnum) * + Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac(spnum) - + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + Q_B_Full(spnum) = + RatedTotalCapacity(spnum) * + Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) * + TotCapFlowModFac(spnum) - + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + Q_B_Low(spnum) = + RatedTotalCapacity(spnum) * + Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) * + TotCapFlowModFac(spnum) - + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + Q_F_Low(spnum) = + RatedTotalCapacity(spnum) * + Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) * + TotCapFlowModFac(spnum) - + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + Q_E_Int(spnum) = + RatedTotalCapacity(spnum) * + Curve::CurveValue(state, CapFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestEint) * + TotCapFlowModFac(spnum) - + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + EIRFlowModFac(spnum) = Curve::CurveValue(state, EIRFFlowCurveIndex(spnum), AirMassFlowRatioRated); + if (RatedCOP(spnum) > 0.0) { + P_A_Full(spnum) = + Q_A_Full(spnum) * EIRFlowModFac(spnum) * + Curve::CurveValue( + state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) / + RatedCOP(spnum) + + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + P_B_Full(spnum) = + Q_B_Full(spnum) * EIRFlowModFac(spnum) * + Curve::CurveValue( + state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB2) / + RatedCOP(spnum) + + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + P_B_Low(spnum) = Q_B_Low(spnum) * EIRFlowModFac(spnum) * + Curve::CurveValue( + state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestB1) / + RatedCOP(spnum) + + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + P_F_Low(spnum) = Q_F_Low(spnum) * EIRFlowModFac(spnum) * + Curve::CurveValue( + state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestF1) / + RatedCOP(spnum) + + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + + P_E_Int(spnum) = + Q_E_Int(spnum) * EIRFlowModFac(spnum) * + Curve::CurveValue( + state, EIRFTempCurveIndex(spnum), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestEint) / + RatedCOP(spnum) + + FanPowerPerEvapAirFlowRate_2023(spnum) * RatedAirVolFlowRate(spnum); + } + } + // Standard Rating cooling (net) capacity calculations: + NetCoolingCapRated_2023(nsp) = Q_A_Full(nsp); + NetCoolingCapRatedMaxSpeed2023 = NetCoolingCapRated_2023(nsp); + + // EER2 calculation | Section 3.1.16(AHRI 210/240 2023) + // A ratio of the cooling capacity in Btu/h to the Total Power in watts at AFull test conditions and expressed in Btu/(W-h) + // In case of Coil:Cooling:DX:MultiSpeed coil we're picking the max speed. + EER2 = Q_A_Full(nsp) / P_A_Full(nsp); - q = q_full * n; // Equation 11.88 (AHRI-2023) - e = p_full * n; // Equation 11.89 (AHRI-2023) + // Calculate the SEER value based on contribution of each outdoor air bin temperature + Real64 q_sum = 0.0; + Real64 e_sum = 0.0; + Real64 NetCoolingCapWeighted2_2023 = 0.0; + Real64 TotCoolingElecPowerWeighted2_2023 = 0.0; + for (int BN = 0; BN < NumOfOATempBins; ++BN) { + // Equation 11.67 (AHRI-2023) + BuildingCoolingLoad_2023 = ((OutdoorBinTemperatureSEER[BN] - 18.3) / (35.0 - 18.3) * (Q_A_Full(nsp) / SF)) * V; + // determine the speed number + CoolingCapacityMax_2023 = + Q_B_Full(nsp) + ((Q_A_Full(nsp) - Q_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + CoolingElecPowerMax_2023 = + P_B_Full(nsp) + ((P_A_Full(nsp) - P_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + + // Equation 11.69 (AHRI-2023) + q_low = Q_F_Low(1) + ((Q_B_Low(1) - Q_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + // Equation 11.70 (AHRI-2023) + p_low = P_F_Low(1) + ((P_B_Low(1) - P_F_Low(1)) / (OutdoorCoilInletAirDryBulbTempTestB1 - OutdoorCoilInletAirDryBulbTempTestF1)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestF1); + // Equation 11.71 (AHRI-2023) + q_full = + Q_B_Full(nsp) + ((Q_A_Full(nsp) - Q_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + // Equation 11.72 (AHRI-2023) + p_full = + P_B_Full(nsp) + ((P_A_Full(nsp) - P_B_Full(nsp)) / (OutdoorCoilInletAirDryBulbTempTestA2 - OutdoorCoilInletAirDryBulbTempTestB2)) * + (OutdoorBinTemperatureSEER[BN] - OutdoorCoilInletAirDryBulbTempTestB2); + + Real64 q(0.0); + Real64 e(0.0); + Real64 N_Cq(0.0); + Real64 M_Cq(0.0); + Real64 N_CE(0.0); + Real64 M_CE(0.0); + Real64 q_int(0.0); + Real64 p_int(0.0); + Real64 t = OutdoorBinTemperatureSEER[BN]; + Real64 n = CoolFracBinHoursAtOutdoorBinTemp[BN]; + Real64 bl = BuildingCoolingLoad_2023; + for (spnum = 1; spnum <= nsp; ++spnum) { + // # Intermediate Capacity + Real64 q_A_full = Q_A_Full(spnum); + Real64 q_B_full = Q_B_Full(spnum); + Real64 q_B_low = Q_B_Low(spnum); + Real64 q_F_low = Q_F_Low(spnum); + Real64 q_E_int = Q_E_Int(spnum); + + std::tie(N_Cq, M_Cq) = CapacityAdjustmentFactorsInCoolingModeSEER2(q_F_low, q_B_low, BN, q_B_full, q_A_full, q_E_int); + + // # Intermediate Power + Real64 p_A_full = P_A_Full(spnum); + Real64 p_B_full = P_B_Full(spnum); + Real64 p_B_low = P_B_Low(spnum); + Real64 p_F_low = P_F_Low(spnum); + Real64 p_E_int = P_E_Int(spnum); + + std::tie(N_CE, M_CE) = EnergyAdjustmentFactorsInCoolingModeSEER2(p_F_low, p_B_low, BN, p_B_full, p_A_full, p_E_int); + + std::tie(q_int, p_int) = IntermediateSteadyStateCpacityAndPowerSEER2(q_E_int, M_Cq, p_E_int, M_CE, t); + + // Section 11.2.1.3.1 CASE 1 - Building load is no greater than unit capacity at low speed. + if (bl <= q_low) { + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case1(state, bl, q_low, n, p_low, PLFFPLRCurveIndex(spnum)); + // This is the case and speed we're looking for now we exit and try calculating against the next bin goto SpeedLoop3_exit; + } else { + // + if (spnum < nsp - 1) { + // As part of our new experiment if the first case is not satisfied then we'll go and try the next speed + // instead of going to the next case. + } else { + // if we're here then all the speeds (apart from max speed) failed to satisfy the first case. + // Now we've to try second case. + if (bl < q_int) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & full + // Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2A( + p_int, q_int, q_low, bl, n, Q_E_Int(spnum), q_full, P_E_Int(spnum), p_full, p_low); + goto SpeedLoop3_exit; + } else { + // if we're here then all the speeds (apart from max speed) failed to staisfy the case 2A + if (bl < q_full) { + // Section 11.2.1.3.2 CASE 2 - Building load can be matched by modulating the compressor speed between low speed & + // full Speed + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = IntermediateCapacityAndPowerSEER2Case2B( + p_int, bl, q_int, n, Q_E_Int(spnum), P_E_Int(spnum), q_low, p_low, q_full, p_full); + goto SpeedLoop3_exit; + } else { + // if we're here then all the speeds (apart form max speed ?? ) failed to staisfy the case 2B + // max speed shoudl include in cases 1,2A,2B or not ?? TBD: + if (bl >= q_full) { // bl >= q_full + + if (spnum == nsp - 1) { + // Case 4 if applicable for nsp-1 then we're skipping it to nsp( max speed ) + } else { + // Section 11.2.1.3.3 CASE 3 - Building load is equal to or greater than unit capacity at full stage + std::tie(q, e, NetTotCoolCapBinned_2023, TotCoolElecPowerBinned_2023) = + IntermediateCapacityAndPowerSEER2Case3( + q_full, p_full, CoolingCapacityMax_2023, CoolingElecPowerMax_2023, n); + goto SpeedLoop3_exit; + } + } else { + // << ",, BIN NUMBER, " << BN + 1 << ", NO CASES MATCHED, " << spnum << std::endl; + } + } + } + } } } SpeedLoop3_exit:; NetCoolingCapWeighted2_2023 += NetTotCoolCapBinned_2023; TotCoolingElecPowerWeighted2_2023 += TotCoolElecPowerBinned_2023; + q_sum += q; e_sum += e; } @@ -4145,12 +5338,13 @@ namespace StandardRatings { SEER2_Standard = q_sum / e_sum; // Equation 11.66 (AHRI-2023) } - return std::make_tuple(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard); + return std::make_tuple(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2); } std::map MultiSpeedDXCoolingCoilStandardRatings( EnergyPlusData &state, std::string const &DXCoilType, // Type of DX coil for which HSPF is calculated + std::string const &DXCoilName, // Type of DX coil for which standard Ratings are calculated Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve Array1A_int const EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve @@ -4215,6 +5409,7 @@ namespace StandardRatings { Real64 SEER_Standard(0.0); // seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2008 default PLF // curve and // C_D value + Real64 EER(0.0); // Ratings Based on ANSI/AHRI 210/140 Real64 NetCoolingCapRatedMaxSpeed2023(0.0); // net cooling capacity at maximum speed @@ -4222,7 +5417,12 @@ namespace StandardRatings { Real64 SEER2_Standard(0.0); // seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2008 default PLF // curve and // C_D value + Real64 EER2(0.0); + // IEER Calculation 2022 + Real64 IEER_2022(0.0); + Real64 NetCoolingCapRated2023(0.0); // ?? for which speed (NetCoolingCapRatedMaxSpeed2023) + Real64 EER_2022(0.0); std::map StandardRatingsResult; // StandardRatingsResult["NetCoolingCapRatedMaxSpeed"] = NetCoolingCapRatedMaxSpeed; // StandardRatingsResult["SEER_User"] = SEER_User; @@ -4230,66 +5430,269 @@ namespace StandardRatings { // StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; // StandardRatingsResult["SEER2_User"] = SEER2_User; // StandardRatingsResult["SEER2_Standard"] = SEER2_Standard; + Real64 TotCapFlowModFac = Curve::CurveValue(state, CapFFlowCurveIndex(nsp), AirMassFlowRatioRated); + NetCoolingCapRatedMaxSpeed = + RatedTotalCapacity(nsp) * + Curve::CurveValue(state, CapFTempCurveIndex(nsp), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac - + FanPowerPerEvapAirFlowRateFromInput(nsp) * RatedAirVolFlowRate(nsp); + if (RatedTotalCapacity(nsp) > 0.0 && RatedAirVolFlowRate(nsp) > 0.0) { + + NetCoolingCapRated2023 = + RatedTotalCapacity(nsp) * + Curve::CurveValue(state, CapFTempCurveIndex(nsp), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac - + FanPowerPerEvapAirFlowRateFromInput_2023(nsp) * RatedAirVolFlowRate(nsp); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRated2023; + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 + // Watts) as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + + std::tie(NetCoolingCapRatedMaxSpeed, SEER_User, SEER_Standard, EER) = MultiSpeedDXCoolingCoilSEER(state, + nsp, + CapFFlowCurveIndex, + RatedTotalCapacity, + CapFTempCurveIndex, + FanPowerPerEvapAirFlowRateFromInput, + RatedAirVolFlowRate, + EIRFFlowCurveIndex, + RatedCOP, + EIRFTempCurveIndex, + PLFFPLRCurveIndex); + + if (CondenserType(1) == DataHeatBalance::RefrigCondenserType::Air) { + // SEER2 standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 (ANSI/AHRI 210-240 2023) + // Removal of water-cooled and evaporatively-cooled products from the scope | Foreword (ANSI/AHRI 210-240 2023) + // + // SEER2 Calculations ANSI/AHRI 210/240 Standard 2023 + std::tie(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2) = + MultiSpeedDXCoolingCoilSEER2(state, + nsp, + CapFFlowCurveIndex, + RatedTotalCapacity, + CapFTempCurveIndex, + FanPowerPerEvapAirFlowRateFromInput_2023, + RatedAirVolFlowRate, + EIRFFlowCurveIndex, + RatedCOP, + EIRFTempCurveIndex, + PLFFPLRCurveIndex); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; + } + // Gross total cooling capacity is greater than 65,000 Btu/h (19049.61955 Watts) + // Section 2.1 (ANSI/AHRI 210-240 2023) + std::tie(IEER_2022, NetCoolingCapRated2023, EER_2022) = IEERCalculationMultiSpeed(state, + DXCoilType, + nsp, + CapFTempCurveIndex, + RatedTotalCapacity, + CapFFlowCurveIndex, + // TotCapFlowModFac, // calculate for each speed + FanPowerPerEvapAirFlowRateFromInput_2023, + RatedAirVolFlowRate, + EIRFTempCurveIndex, + RatedCOP, + EIRFFlowCurveIndex, + // EIRFlowModFac, // calculate for each speed + CondenserType); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRated2023; - std::tie(NetCoolingCapRatedMaxSpeed, SEER_User, SEER_Standard) = MultiSpeedDXCoolingCoilSEER(state, - nsp, - CapFFlowCurveIndex, - RatedTotalCapacity, - CapFTempCurveIndex, - FanPowerPerEvapAirFlowRateFromInput, - RatedAirVolFlowRate, - EIRFFlowCurveIndex, - RatedCOP, - EIRFTempCurveIndex, - PLFFPLRCurveIndex); - - // SEER2 Calculations ANSI/AHRI 210/240 Standard 2023 - std::tie(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard) = MultiSpeedDXCoolingCoilSEER2(state, - nsp, - CapFFlowCurveIndex, - RatedTotalCapacity, - CapFTempCurveIndex, - FanPowerPerEvapAirFlowRateFromInput_2023, - RatedAirVolFlowRate, - EIRFFlowCurveIndex, - RatedCOP, - EIRFTempCurveIndex, - PLFFPLRCurveIndex); - - // IEER Calculation 2022 - Real64 IEER_2022(0.0); - Real64 NetCoolingCapRated2023(0.0); // ?? for which speed (NetCoolingCapRatedMaxSpeed2023) - Real64 EER_2022(0.0); - std::tie(IEER_2022, NetCoolingCapRated2023, EER_2022) = IEERCalculationMultiSpeed(state, - DXCoilType, - nsp, - CapFTempCurveIndex, - RatedTotalCapacity, - CapFFlowCurveIndex, - // TotCapFlowModFac, // calculate for each speed - FanPowerPerEvapAirFlowRateFromInput_2023, - RatedAirVolFlowRate, - EIRFTempCurveIndex, - RatedCOP, - EIRFFlowCurveIndex, - // EIRFlowModFac, // calculate for each speed - CondenserType); + } else { + ShowSevereError(state, + "Standard Ratings: Coil:Cooling:DX:MultiSpeed has eiher zero rated total cooling capacity or zero rated air vol flow " + "rate. Standard ratings cannot be calculated."); + } StandardRatingsResult["NetCoolingCapRatedMaxSpeed"] = NetCoolingCapRatedMaxSpeed; StandardRatingsResult["SEER_User"] = SEER_User; StandardRatingsResult["SEER_Standard"] = SEER_Standard; + StandardRatingsResult["EER"] = EER; - StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; StandardRatingsResult["SEER2_User"] = SEER2_User; StandardRatingsResult["SEER2_Standard"] = SEER2_Standard; + StandardRatingsResult["EER2"] = EER2; + + StandardRatingsResult["IEER_2022"] = IEER_2022; + StandardRatingsResult["EER_2022"] = EER_2022; + + return StandardRatingsResult; + } + + std::map VariableSpeedDXCoolingCoilStandardRatings( + EnergyPlusData &state, + std::string const &DXCoilType, // Type of DX coil for which HSPF is calculated + std::string const &DXCoilName, // Name of the DX Coil for which Standard Ratings are calculated. + Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve + Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve + Array1A_int const EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve + Array1A_int const EIRFFlowCurveIndex, // Index for the EIR as a function of flow fraction modifier curve + int const PLFFPLRCurveIndex, // Index for the PLF vs part-load ratio curve + Array1A const RatedTotalCapacity, // Reference capacity of DX coil [W] + Array1A const RatedCOP, // Reference coefficient of performance [W/W] + Array1A const RatedAirVolFlowRate, // Reference air flow rate of DX coil [m3/s] + Array1A const FanPowerPerEvapAirFlowRateFromInput, // 2017 rated fan power per evap air flow rate [W/(m3/s)] + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] + int const nsp, // Number of compressor speeds + DataHeatBalance::RefrigCondenserType const &CondenserType, + Real64 VSGrossRatedTotalCoolingCapacity, + Real64 VSRatedVolumetricAirFlowRate) + { + // Using/Aliasing + using Curve::CurveValue; + + // Argument array dimensioning + CapFTempCurveIndex.dim(nsp); + CapFFlowCurveIndex.dim(nsp); + EIRFTempCurveIndex.dim(nsp); + EIRFFlowCurveIndex.dim(nsp); + // PLFFPLRCurveIndex.dim(nsp); + RatedTotalCapacity.dim(nsp); + RatedCOP.dim(nsp); + RatedAirVolFlowRate.dim(nsp); + FanPowerPerEvapAirFlowRateFromInput.dim(nsp); + + // Ratings Based on ANSI/AHRI 210/140 + Real64 NetCoolingCapRatedMaxSpeed2023(0.0); // net cooling capacity at maximum speed + Real64 SEER2_User(0.0); // seasonal energy efficiency ratio of multi speed DX cooling coil, from user-input PLF curve and C_D value + Real64 SEER2_Standard(0.0); // seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2008 default PLF + // curve and + // C_D value + Real64 EER2(0.0); + + Real64 IEER_2022(0.0); + Real64 NetCoolingCapRated2022(0.0); // ?? for which speed (NetCoolingCapRatedMaxSpeed2023) + Real64 EER_2022(0.0); + + std::map StandardRatingsResult; + + Real64 GrossRatedTotalCoolingCapacityVS(0.0); + if (VSGrossRatedTotalCoolingCapacity < 0) { + GrossRatedTotalCoolingCapacityVS = RatedTotalCapacity(nsp); + } else { + GrossRatedTotalCoolingCapacityVS = VSGrossRatedTotalCoolingCapacity; + } + Real64 RatedVolumetricAirFlowRateVS(0.0); + if (VSRatedVolumetricAirFlowRate < 0) { + RatedVolumetricAirFlowRateVS = RatedAirVolFlowRate(nsp); + } else { + RatedVolumetricAirFlowRateVS = VSRatedVolumetricAirFlowRate; + } + + Real64 CapacityScaleFactor(0.0); + Real64 GrossRatedTotalCoolingCapacity(0.0); + Real64 ReferenceUnitCapacityAtNominalSpeedLevel(0.0); + + Array1D GrossRatedCapacityAtSpeedLevel(nsp); + Array1D ReferenceUnitCapacityAtSpeedLevel(nsp); + + Real64 AirFlowScaleFactor(0.0); + Real64 RatedVolumetricAirFlowRate(0.0); + Real64 ReferenceUnitVolAirFlowRateAtNominalSpeedLevel(0.0); + + Array1D LoopVolumetricAirFlowRateAtSpeedLevel(nsp); + Array1D ReferenceUnitVolAirFlowRateAtSpeedLevel(nsp); + + int NominalSpeedLevel = nsp; + for (int spnum = 1; spnum <= nsp; ++spnum) { + ReferenceUnitCapacityAtSpeedLevel(spnum) = RatedTotalCapacity(spnum); + ReferenceUnitVolAirFlowRateAtSpeedLevel(spnum) = RatedAirVolFlowRate(spnum); + } + GrossRatedTotalCoolingCapacity = GrossRatedTotalCoolingCapacityVS; + ReferenceUnitCapacityAtNominalSpeedLevel = ReferenceUnitCapacityAtSpeedLevel(NominalSpeedLevel); + CapacityScaleFactor = + GrossRatedTotalCoolingCapacity / ReferenceUnitCapacityAtNominalSpeedLevel; // Section 1.41.21.1.6 | Equation (1.160) | IO-Ref + + RatedVolumetricAirFlowRate = RatedVolumetricAirFlowRateVS; + ReferenceUnitVolAirFlowRateAtNominalSpeedLevel = ReferenceUnitVolAirFlowRateAtSpeedLevel(NominalSpeedLevel); + AirFlowScaleFactor = RatedVolumetricAirFlowRate / (ReferenceUnitVolAirFlowRateAtNominalSpeedLevel * + CapacityScaleFactor); // Section 1.41.21.1.7 | Equation (1.162) | IO-Ref + + for (int sp = 1; sp <= nsp; ++sp) { + GrossRatedCapacityAtSpeedLevel(sp) = + CapacityScaleFactor * ReferenceUnitCapacityAtSpeedLevel(sp); // Section 1.41.21.1.6 | Equation (1.161) | IO-Ref + + LoopVolumetricAirFlowRateAtSpeedLevel(sp) = AirFlowScaleFactor * ReferenceUnitVolAirFlowRateAtSpeedLevel(sp) * + CapacityScaleFactor; // Section 1.41.21.1.7 | Equation (1.163) | IO-Ref + } + + if (GrossRatedTotalCoolingCapacityVS > 0.0 && RatedVolumetricAirFlowRateVS > 0.0) { + + Real64 TotCapFlowModFac = Curve::CurveValue(state, CapFFlowCurveIndex(nsp), AirMassFlowRatioRated); + Real64 NetCoolingCapRated = + GrossRatedCapacityAtSpeedLevel(nsp) * + Curve::CurveValue(state, CapFTempCurveIndex(nsp), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac - + FanPowerPerEvapAirFlowRateFromInput(nsp) * LoopVolumetricAirFlowRateAtSpeedLevel(nsp); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed"] = NetCoolingCapRated; + + NetCoolingCapRatedMaxSpeed2023 = + GrossRatedCapacityAtSpeedLevel(nsp) * + Curve::CurveValue(state, CapFTempCurveIndex(nsp), IndoorCoilInletAirWetBulbTempRated, OutdoorCoilInletAirDryBulbTempTestA2) * + TotCapFlowModFac - + FanPowerPerEvapAirFlowRateFromInput_2023(nsp) * LoopVolumetricAirFlowRateAtSpeedLevel(nsp); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; + // TODO: Commercial and industrial unitary air-conditioning condensing units with a capacity greater than 135,000 Btu/h (39564.59445 + // Watts) as defined in ANSI/AHRI Standard 365(I-P). | Scope 2.2.6 (ANSI/AHRI 340-360 2022) + + if (CondenserType == DataHeatBalance::RefrigCondenserType::Air) { + // SEER2 standard applies to factory-made Unitary Air-conditioners and Unitary Air-source Heat Pumps with + // capacities less than 65,000 Btu/h (19049.61955 Watts) | Section 2.1 (ANSI/AHRI 210-240 2023) + // Removal of water-cooled and evaporatively-cooled products from the scope | Foreword (ANSI/AHRI 210-240 2023) + Array1D VSPLRFPLF; + for (int spnum = 1; spnum <= nsp; ++spnum) { + VSPLRFPLF.push_back(PLFFPLRCurveIndex); + } + + // SEER2 Calculations ANSI/AHRI 210/240 Standard 2023 + std::tie(NetCoolingCapRatedMaxSpeed2023, SEER2_User, SEER2_Standard, EER2) = + VariableSpeedDXCoolingCoilSEER2(state, + nsp, + CapFFlowCurveIndex, + GrossRatedCapacityAtSpeedLevel, // RatedTotalCapacity, + CapFTempCurveIndex, + FanPowerPerEvapAirFlowRateFromInput_2023, + LoopVolumetricAirFlowRateAtSpeedLevel, // RatedAirVolFlowRate, + EIRFFlowCurveIndex, + RatedCOP, + EIRFTempCurveIndex, + VSPLRFPLF); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; + } + // IEER Calculation 2022 + std::tie(IEER_2022, NetCoolingCapRatedMaxSpeed2023, EER_2022) = + IEERCalculationVariableSpeed(state, + DXCoilType, + nsp, + CapFTempCurveIndex, + GrossRatedCapacityAtSpeedLevel, // RatedTotalCapacity, + CapFFlowCurveIndex, + FanPowerPerEvapAirFlowRateFromInput_2023, + LoopVolumetricAirFlowRateAtSpeedLevel, // RatedAirVolFlowRate, + EIRFTempCurveIndex, + RatedCOP, + EIRFFlowCurveIndex, + CondenserType); + StandardRatingsResult["NetCoolingCapRatedMaxSpeed2023"] = NetCoolingCapRatedMaxSpeed2023; + + } else { + ShowSevereError(state, + "Standard Ratings: Coil:Cooling:DX " + DXCoilType + // TODO: Use dynamic COIL TYPE and COIL INSTANCE name later + " has zero rated total cooling capacity. Standard ratings cannot be calculated."); + } + + // From SEER2 implementation + StandardRatingsResult["SEER2_User"] = SEER2_User; + StandardRatingsResult["SEER2_Standard"] = SEER2_Standard; + StandardRatingsResult["EER2"] = EER2; + // From IEER2 implementation StandardRatingsResult["IEER_2022"] = IEER_2022; StandardRatingsResult["EER_2022"] = EER_2022; return StandardRatingsResult; } - std::tuple MultiSpedDXHeatingCoilHSPF( + std::tuple MultiSpeedDXHeatingCoilHSPF( EnergyPlusData &state, int const nsp, // Number of compressor speed Array1A const MSFanPowerPerEvapAirFlowRateInput, // 2017 rated fan power per evap air flow rate [W/(m3/s)] @@ -4623,7 +6026,7 @@ namespace StandardRatings { return std::make_tuple(NetHeatingCapRatedHighTemp, NetHeatingCapRatedLowTemp, HSPF); } - std::tuple MultiSpedDXHeatingCoilHSPF2( + std::tuple MultiSpeedDXHeatingCoilHSPF2( EnergyPlusData &state, int const nsp, // Number of compressor speed Array1A const MSFanPowerPerEvapAirFlowRateInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] @@ -5231,21 +6634,21 @@ namespace StandardRatings { // StandardRatingsResult["HSPF2_2023"] = HSPF2_2023; // HSPF Calculation | AHRI 2017 Std. - std::tie(NetHeatingCapRatedHighTemp, NetHeatingCapRatedLowTemp, HSPF) = MultiSpedDXHeatingCoilHSPF(state, - nsp, - MSFanPowerPerEvapAirFlowRateInput, - CapFTempCurveIndex, - CapFFlowCurveIndex, - RatedTotalCapacity, - RatedAirVolFlowRate, - EIRFFlowCurveIndex, - EIRFTempCurveIndex, - RatedCOP, - RegionNum, - MinOATCompressor, - OATempCompressorOnOffBlank, - OATempCompressorOn, - DefrostControl); + std::tie(NetHeatingCapRatedHighTemp, NetHeatingCapRatedLowTemp, HSPF) = MultiSpeedDXHeatingCoilHSPF(state, + nsp, + MSFanPowerPerEvapAirFlowRateInput, + CapFTempCurveIndex, + CapFFlowCurveIndex, + RatedTotalCapacity, + RatedAirVolFlowRate, + EIRFFlowCurveIndex, + EIRFTempCurveIndex, + RatedCOP, + RegionNum, + MinOATCompressor, + OATempCompressorOnOffBlank, + OATempCompressorOn, + DefrostControl); StandardRatingsResult["NetHeatingCapRatedHighTemp"] = NetHeatingCapRatedHighTemp; StandardRatingsResult["NetHeatingCapRatedLowTemp"] = NetHeatingCapRatedLowTemp; @@ -5253,21 +6656,21 @@ namespace StandardRatings { // HSPF2 Calculation | AHRI 2023 Std. std::tie(NetHeatingCapRatedHighTemp_2023, NetHeatingCapRatedLowTemp_2023, HSPF2_2023) = - MultiSpedDXHeatingCoilHSPF2(state, - nsp, - MSFanPowerPerEvapAirFlowRateInput_2023, - CapFTempCurveIndex, - CapFFlowCurveIndex, - RatedTotalCapacity, - RatedAirVolFlowRate, - EIRFFlowCurveIndex, - EIRFTempCurveIndex, - RatedCOP, - RegionNum, - MinOATCompressor, - OATempCompressorOnOffBlank, - OATempCompressorOn, - DefrostControl); + MultiSpeedDXHeatingCoilHSPF2(state, + nsp, + MSFanPowerPerEvapAirFlowRateInput_2023, + CapFTempCurveIndex, + CapFFlowCurveIndex, + RatedTotalCapacity, + RatedAirVolFlowRate, + EIRFFlowCurveIndex, + EIRFTempCurveIndex, + RatedCOP, + RegionNum, + MinOATCompressor, + OATempCompressorOnOffBlank, + OATempCompressorOn, + DefrostControl); StandardRatingsResult["NetHeatingCapRatedHighTemp_2023"] = NetHeatingCapRatedHighTemp_2023; StandardRatingsResult["NetHeatingCapRatedLowTemp_2023"] = NetHeatingCapRatedLowTemp_2023; @@ -5342,72 +6745,117 @@ namespace StandardRatings { case CoilDX_CoolingSingleSpeed: { if (!AHRI2023StandardRatings) { if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { - print(state.files.eio, - "{}", - "! , Component Type, Component Name, Standard Rating (Net) " - "Cooling Capacity {W}, Standard Rated Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " - "IEER " - "{Btu/W-h}\n"); + static constexpr std::string_view Format_994( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " + "IEER " + "{Btu/W-h}"); + print(state.files.eio, "{}\n", Format_994); state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag = false; } static constexpr std::string_view Format_991( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}\n"); + " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {:.1R}\n"); print(state.files.eio, Format_991, CompType, CompName, CoolCapVal, EERValueSI, EERValueIP, SEERUserIP, SEERStandardIP, IEERValueIP); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType, CompName, CompType); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI, CompName, CoolCapVal, 1); // W/W is the same as Btuh/Btuh so that's fine too - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, CompName, EERValueSI, 2); + if (EERValueSI > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, CompName, EERValueSI, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, CompName, "N/A"); + } // Btu/W-h will convert to itself - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, CompName, EERValueIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, SEERUserIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, SEERStandardIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, CompName, IEERValueIP, 2); + if (EERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, CompName, EERValueIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, CompName, "N/A"); + } + if (SEERUserIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, SEERUserIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, "N/A"); + } + if (SEERStandardIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, SEERStandardIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, "N/A"); + } + if (IEERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, CompName, IEERValueIP, 1); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, CompName, "N/A"); + } addFootNoteSubTable(state, state.dataOutRptPredefined->pdstDXCoolCoil, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2017.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2007.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2017.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/hv (39565 W) - calculated as per AHRI " + "Standard 340/360-2007.
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - " + "Ratings not yet supported in EnergyPlus.
" "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard."); } else { // ANSI/AHRI 210/240 Standard 2023 Ratings | SEER2 - if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { - print(state.files.eio, - "{}", - "! , Component Type, Component Name, Standard Rating (Net) " - "Cooling Capacity {W}, Standard Rated Net COP2 {W/W}, EER2 {Btu/W-h}, SEER2 User {Btu/W-h}, SEER2 Standard {Btu/W-h}, " - "IEER 2022 " - "{Btu/W-h}\n"); - state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag = false; + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2) { + static constexpr std::string_view Format_991_( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP2 {W/W}, EER2 {Btu/W-h}, SEER2 User {Btu/W-h}, SEER2 Standard " + "{Btu/W-h}, " + "IEER 2022 " + "{Btu/W-h}"); + print(state.files.eio, "{}\n", Format_991_); + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2 = false; } static constexpr std::string_view Format_991_( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {}\n"); - print(state.files.eio, Format_991_, CompType, CompName, CoolCapVal, EERValueSI, EERValueIP, SEERUserIP, SEERStandardIP, ' '); + " DX Cooling Coil AHRI 2023 Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {:.1R}\n"); + print(state.files.eio, Format_991_, CompType, CompName, CoolCapVal, EERValueSI, EERValueIP, SEERUserIP, SEERStandardIP, IEERValueIP); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType_2023, CompName, CompType); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI_2023, CompName, CoolCapVal, 1); // W/W is the same as Btuh/Btuh so that's fine too - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, EERValueSI, 2); + if (EERValueSI > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, EERValueSI, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, "N/A"); + } // Btu/W-h will convert to itself - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, EERValueIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, SEERUserIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, SEERStandardIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, IEERValueIP, 1); + if (EERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, EERValueIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, "N/A"); + } + if (SEERUserIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, SEERUserIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, "N/A"); + } + if (SEERStandardIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, SEERStandardIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, "N/A"); + } + if (IEERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, IEERValueIP, 1); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, "N/A"); + } addFootNoteSubTable(state, state.dataOutRptPredefined->pdstDXCoolCoil_2023, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2023.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2022.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" - "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" - "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2023.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard " + "340/360-2022.
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - " + "Ratings not yet supported in EnergyPlus.
" + "3 - SEER2 (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" + "  SEER2 (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard.
" "4 - Value for the Full Speed of the coil."); } @@ -5469,7 +6917,7 @@ namespace StandardRatings { if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { static constexpr std::string_view Format_994( "! , Component Type, Component Name, Standard Rating (Net) " - "Cooling Capacity {W}, Standard Rated Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " + "Cooling Capacity {W}, Standard Rating Net COP {W/W}, EER {Btu/W-h}, SEER User {Btu/W-h}, SEER Standard {Btu/W-h}, " "IEER " "{Btu/W-h}"); print(state.files.eio, "{}\n", Format_994); @@ -5477,63 +6925,104 @@ namespace StandardRatings { } static constexpr std::string_view Format_995( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {}, {}, {:.2R}, {:.2R}, {}\n"); - print(state.files.eio, Format_995, CompType, CompName, CoolCapVal, ' ', ' ', SEERUserIP, SEERStandardIP, ' '); + " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {}\n"); + print(state.files.eio, Format_995, CompType, CompName, CoolCapVal, EERValueSI, EERValueIP, SEERUserIP, SEERStandardIP, IEERValueIP); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType, CompName, CompType); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI, CompName, CoolCapVal, 1); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, SEERUserIP, 2); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, SEERStandardIP, 2); + if (EERValueSI > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, CompName, EERValueSI, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP, CompName, "N/A"); + } + if (EERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, CompName, EERValueIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP, CompName, "N/A"); + } + if (SEERUserIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, SEERUserIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERUserIP, CompName, "N/A"); + } + if (SEERStandardIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, SEERStandardIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEERStandardIP, CompName, "N/A"); + } + if (IEERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, CompName, IEERValueIP, 1); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP, CompName, "N/A"); + } addFootNoteSubTable(state, state.dataOutRptPredefined->pdstDXCoolCoil, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2017.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2007.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2017.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard " + "340/360-2007.
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - " + "Ratings not yet supported in EnergyPlus.
" "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard."); } else { // ANSI/AHRI 210/240 Standard 2023 Ratings | SEER2 - if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag) { - static constexpr std::string_view Format_994_( - "! , Component Type, Component Name, Standard Rating (Net) " - "Cooling Capacity {W}, Standard Rated Net COP {W/W}, EER2 {Btu/W-h}, SEER2 User {Btu/W-h}, SEER2 Standard " + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2) { + static constexpr std::string_view Format_991_( + "! , Component Type, Component Name, Standard Rating (Net) " + "Cooling Capacity {W}, Standard Rating Net COP2 {W/W}, EER2 {Btu/W-h}, SEER2 User {Btu/W-h}, SEER2 Standard " "{Btu/W-h}, " "IEER 2022 " "{Btu/W-h}"); - print(state.files.eio, "{}\n", Format_994_); - state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag = false; + print(state.files.eio, "{}\n", Format_991_); + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2 = false; } static constexpr std::string_view Format_995_( - " DX Cooling Coil Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {}\n"); + " DX Cooling Coil AHRI 2023 Standard Rating Information, {}, {}, {:.1R}, {:.2R}, {:.2R}, {:.2R}, {:.2R}, {:.1R}\n"); print(state.files.eio, Format_995_, CompType, CompName, CoolCapVal, EERValueSI, EERValueIP, SEERUserIP, SEERStandardIP, IEERValueIP); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType_2023, CompName, CompType); PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilNetCapSI_2023, CompName, CoolCapVal, 1); // W/W is the same as Btuh/Btuh so that's fine too - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, EERValueSI, 2); + if (EERValueSI > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, EERValueSI, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilCOP_2023, CompName, "N/A"); + } // Btu/W-h will convert to itself - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, EERValueIP, 2); - if (CompTypeNum == Coil_CoolingAirToAirVariableSpeed || CompTypeNum == CoilDX_CoolingTwoSpeed) { - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, "N/A"); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, "N/A"); + if (EERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, EERValueIP, 2); } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilEERIP_2023, CompName, "N/A"); + } + if (SEERUserIP > 0.0) { PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, SEERUserIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2UserIP_2023, CompName, "N/A"); + } + if (SEERStandardIP > 0.0) { PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, SEERStandardIP, 2); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilSEER2StandardIP_2023, CompName, "N/A"); + } + if (IEERValueIP > 0.0) { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, IEERValueIP, 1); + } else { + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, "N/A"); } - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilIEERIP_2023, CompName, IEERValueIP, 1); addFootNoteSubTable(state, state.dataOutRptPredefined->pdstDXCoolCoil_2023, "ANSI/AHRI ratings account for supply air fan heat and electric power.
" "1 - EnergyPlus object type.
" - "2 - Capacity less than 65K Btu/h - calculated as per AHRI Standard 210/240-2023.
" - "  Capacity of 65K Btu/h to less than 135K Btu/h - calculated as per AHRI Standard 340/360-2022.
" - "  Capacity 135K Btu/h or more - n/a - should be calculated as per AHRI standard 365-2009.
" - "3 - SEER (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" - "  SEER (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" + "2 - Capacity less than 65K Btu/h (19050 W) - calculated as per AHRI Standard 210/240-2023.
" + "  Capacity of 65K Btu/h (19050 W) to less than 135K Btu/h (39565 W) - calculated as per AHRI Standard " + "340/360-2022.
" + "  Capacity from 135K (39565 W) to 250K Btu/hr (73268 W) - calculated as per AHRI Standard 365-2009 - " + "Ratings not yet supported in EnergyPlus.
" + "3 - SEER2 (User) is calculated using user-input PLF curve and cooling coefficient of degradation.
" + "  SEER2 (Standard) is calculated using the default PLF curve and cooling coefficient of degradation" "from the appropriate AHRI standard.
" "4 - Value for the Full Speed of the coil."); } @@ -5597,7 +7086,7 @@ namespace StandardRatings { // Formats if (CompTypeNum == CoilDX_CoolingSingleSpeed) { - if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2) { + if (state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag3) { static constexpr std::string_view Format_101( "! , Component Type, Component Name, Standard 127 " "Classification, Rated Net Cooling Capacity Test A {W}, Rated Total Electric Power Test A {W}, Rated Net " @@ -5605,7 +7094,7 @@ namespace StandardRatings { "Rated Total Electric Power Test C {W}, Rated Net Cooling Capacity Test D {W}, Rated Total Electric " "Power Test D {W} \n"); print(state.files.eio, "{}", Format_101); - state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag2 = false; + state.dataHVACGlobal->StandardRatingsMyCoolOneTimeFlag3 = false; } for (ClassNum = 1; ClassNum <= 4; ++ClassNum) { Num = (ClassNum - 1) * 4; @@ -5627,7 +7116,7 @@ namespace StandardRatings { TotElectricPowerRated(Num + 3), NetCoolingCapRated(Num + 4), TotElectricPowerRated(Num + 4)); - PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType, CompNameNew, CompType); + PreDefTableEntry(state, state.dataOutRptPredefined->pdchDXCoolCoilType2, CompNameNew, CompType); // Note: If you call format("{:.1R}", NetCoolingCapRated(Num + 1)), // Then it's not the OutputReportPredefined::PreDefTableEntry prototype with Real64 that is called. // As a result, the entry isn't marked as being Real (origEntryIsReal) and unit conversion does not occur @@ -6285,6 +7774,14 @@ namespace StandardRatings { } break; } + // case CoilDX_CoolingTwoSpeed: { + // GetCurveMinMaxValues(state, CapFTempCurveIndex, CapacityWBTempMin, CapacityWBTempMax, CapacityDBTempMin, CapacityDBTempMax); + // GetCurveMinMaxValues(state, EIRFTempCurveIndex, EIRWBTempMin, EIRWBTempMax, EIRDBTempMin, EIRDBTempMax); + // GetCurveMinMaxValues(state, CapFFlowCurveIndex, CapacityFlowRatioMin, CapacityFlowRatioMax); + // GetCurveMinMaxValues(state, EIRFFlowCurveIndex, EIRFlowRatioMin, EIRFlowRatioMax); + // GetCurveMinMaxValues(state, PLFFPLRCurveIndex, PLFFPLRMin, PLFFPLRMax); + // break; + // } default: break; } diff --git a/src/EnergyPlus/StandardRatings.hh b/src/EnergyPlus/StandardRatings.hh index 00da41c6989..301a69f0b2b 100644 --- a/src/EnergyPlus/StandardRatings.hh +++ b/src/EnergyPlus/StandardRatings.hh @@ -167,8 +167,11 @@ namespace StandardRatings { ObjexxFCL::Optional_bool_const OATempCompressorOnOffBlank = _, // Flag used to determine low temperature cut out factor //Autodesk:OPTIONAL Used without PRESENT check ObjexxFCL::Optional DefrostControl = - _, // defrost control; 1=timed, 2=on-demand //Autodesk:OPTIONAL Used without PRESENT check - ObjexxFCL::Optional_bool_const ASHRAE127StdRprt = _ // true if user wishes to report ASHRAE 127 standard ratings + _, // defrost control; 1=timed, 2=on-demand //Autodesk:OPTIONAL Used without PRESENT check + ObjexxFCL::Optional_bool_const ASHRAE127StdRprt = _, // true if user wishes to report ASHRAE 127 standard ratings + ObjexxFCL::Optional GrossRatedTotalCoolingCapacityVS = + _, // Gross Rated Total Cooling Capacity At Selected Nominal Speed Level {W} + ObjexxFCL::Optional RatedVolumetricAirFlowRateVS = _ // Rated Air Flow Rate At Selected Nominal Speed Level {m3/s} ); void CalcTwoSpeedDXCoilRating(EnergyPlusData &state, @@ -192,6 +195,27 @@ namespace StandardRatings { Array1D const &CondenserType, int const PLFFPLRCurveIndex); + std::map TwoSpeedDXCoilStandardRatings(EnergyPlusData &state, + std::string const &DXCoilName, + std::string const &DXCoilType, + int const &DXCoilType_Num, + Array1A const &RatedTotalCapacity, + Real64 const &RatedTotCap2, + Array1A const &RatedCOP, + Real64 const &RatedCOP2, + Array1A_int const &CapFFlowCurveIndex, // only hs + Array1A_int const &CapFTempCurveIndex, + int const &CCapFTemp2, + Array1A_int const &EIRFFlowCurveIndex, // only hs + Array1A_int const &EIRFTempCurveIndex, + int const &EIRFTemp2, + Array1A const &RatedAirVolFlowRate, + Real64 const &RatedAirVolFlowRate2, + Array1A const &FanPowerPerEvapAirFlowRate_2023, + Array1A const &FanPowerPerEvapAirFlowRate_2023_LowSpeed, + Array1D const &CondenserType, + int const &PLFFPLRCurveIndex); + // Real64 NetHeatingCapRated <- Net Heating Coil capacity at Rated conditions, // Real64 NetHeatingCapH3Test <- Net Heating Coil capacity at H3 test conditions // Real64 HSPF <- seasonale energy efficiency ratio of multi speed DX cooling coil @@ -292,6 +316,14 @@ namespace StandardRatings { std::tuple IEERCalulcationCurveFit(EnergyPlusData &state, std::string const &CoilType, EnergyPlus::CoilCoolingDXCurveFitOperatingMode operatingMode); + // NetCoolingCapRatedMaxSpeed2023 --> net cooling capacity at maximum speed + // SEER2_User --> seasonal energy efficiency ratio of multi speed DX cooling coil, from user-input PLF curve and C_D value + // SEER2_Standard --> seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2023 default PLF + // curve and C_D value + // EER2 --> Energy Efficiency Ratio from std 210/240-2023 at AFull + std::tuple + SEER2CalulcationCurveFit(EnergyPlusData &state, std::string const &CoilType, EnergyPlus::CoilCoolingDXCurveFitOperatingMode operatingMode); + // Calculations as per AHRI 340/360 Standard 2022 // Real64 NetCoolingCapRated -> Net cooling capacity at high speed for Variable Speed DX Cooling Coil // Real64 IEER -> Integareted energy efficiency ratio of Variable Speed DX cooling coil @@ -409,7 +441,8 @@ namespace StandardRatings { // SEER_User --> seasonal energy efficiency ratio of multi speed DX cooling coil, from user-input PLF curve and C_D value // SEER_Standard --> seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2008 default PLF // curve and C_D value - std::tuple + // EER --> Energy Efficiency Ratio + std::tuple MultiSpeedDXCoolingCoilSEER(EnergyPlusData &state, int const nsp, // Number of compressor speeds Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve @@ -422,11 +455,30 @@ namespace StandardRatings { Array1A_int EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve Array1A_int const PLFFPLRCurveIndex); // Index for the PLF vs part-load ratio curve + // NetCoolingCapRatedMaxSpeed2023 --> net cooling capacity at maximum(High) speed + // SEER2_User --> seasonal energy efficiency ratio of Two speed DX cooling coil, from user-input PLF curve and C_D value + // SEER2_Standard --> seasonal energy efficiency ratio of Two speed DX cooling coil, from AHRI Std 210/240-2023 default PLF + // curve and C_D value + // EER2 --> Energy Efficiency Ratio of Two speed DX Cooling coil, from AHRI std 210/240-2023 + std::tuple TwoSpeedDXCoolingCoilSEER2( + EnergyPlusData &state, + // int const nsp, // Number of compressor speeds | 2 + Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve + Array1A const RatedTotalCapacity, // Reference capacity of DX coil [W] + Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] + Array1A const RatedAirVolFlowRate, // Reference air flow rate of DX coil [m3/s] + Array1A_int const EIRFFlowCurveIndex, // Index for the EIR as a function of flow fraction modifier curve + Array1A const RatedCOP, // Reference coefficient of performance [W/W] + Array1A_int EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve + Array1A_int const PLFFPLRCurveIndex); // Index for the PLF vs part-load ratio curve + // NetCoolingCapRatedMaxSpeed2023 --> net cooling capacity at maximum speed // SEER2_User --> seasonal energy efficiency ratio of multi speed DX cooling coil, from user-input PLF curve and C_D value // SEER2_Standard --> seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2023 default PLF // curve and C_D value - std::tuple MultiSpeedDXCoolingCoilSEER2( + // EER2 --> Energy Efficiency Ratio from std 210/240-2023 at AFull + std::tuple MultiSpeedDXCoolingCoilSEER2( EnergyPlusData &state, int const nsp, // Number of compressor speeds Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve @@ -439,6 +491,52 @@ namespace StandardRatings { Array1A_int EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve Array1A_int const PLFFPLRCurveIndex); // Index for the PLF vs part-load ratio curve + // NetCoolingCapRatedMaxSpeed2023 --> net cooling capacity at maximum speed + // SEER2_User --> seasonal energy efficiency ratio of multi speed DX cooling coil, from user-input PLF curve and C_D value + // SEER2_Standard --> seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2023 default PLF + // curve and C_D value + // EER2 --> Energy Efficiency Ratio from std 210/240-2023 at AFull + std::tuple VariableSpeedDXCoolingCoilSEER2( + EnergyPlusData &state, + int const nsp, // Number of compressor speeds + Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve + Array1A const RatedTotalCapacity, // Reference capacity of DX coil [W] + Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] + Array1A const RatedAirVolFlowRate, // Reference air flow rate of DX coil [m3/s] + Array1A_int const EIRFFlowCurveIndex, // Index for the EIR as a function of flow fraction modifier curve + Array1A const RatedCOP, // Reference coefficient of performance [W/W] + Array1A_int const EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve + Array1A_int const PLFFPLRCurveIndex); // Index for the PLF vs part-load ratio curve + + // Real64 NetCoolingCapRatedMaxSpeed -> net cooling capacity at maximum speed + // Real64 SEER_User -> seasonal energy efficiency ratio of variable speed DX cooling coil, from user PLF curve + // Real64 SEER_Standard -> seasonal energy efficiency ratio of variable speed DX cooling coil, from AHRI Std 210/240-2008 default PLF curve and + // default C_D value + // Ratings based on ANSI/AHRI 210.240 2023 Standard + // Real64 NetCoolingCapRatedMaxSpeed -> net cooling capacity at maximum speed + // Real64 SEER_User -> seasonal energy efficiency ratio of variable speed DX cooling coil, from user PLF curve + // Real64 SEER_Standard -> seasonal energy efficiency ratio of variable speed DX cooling coil, from AHRI Std 210/240-2008 default PLF curve and + // default C_D value + std::map VariableSpeedDXCoolingCoilStandardRatings( + EnergyPlusData &state, + std::string const &DXCoilType, // Type of DX coil for which HSPF is calculated + std::string const &DXCoilName, // Name of DX coil for which standard ratings are calculated + Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve + Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve + Array1A_int const EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve + Array1A_int const EIRFFlowCurveIndex, // Index for the EIR as a function of flow fraction modifier curve + int const PLFFPLRCurveIndex, // Index for the PLF vs part-load ratio curve + Array1A const RatedTotalCapacity, // Reference capacity of DX coil [W] + Array1A const RatedCOP, // Reference coefficient of performance [W/W] + Array1A const RatedAirVolFlowRate, // Reference air flow rate of DX coil [m3/s] + Array1A const FanPowerPerEvapAirFlowRateFromInput, // 2017 rated fan power per evap air flow rate [W/(m3/s)] + Array1A const FanPowerPerEvapAirFlowRateFromInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] + int const nsp, // Number of compressor speeds + DataHeatBalance::RefrigCondenserType const &CondenserType, + Real64 VSGrossRatedTotalCoolingCapacity, + Real64 VSRatedVolumetricAirFlowRate); + // Real64 NetCoolingCapRatedMaxSpeed -> net cooling capacity at maximum speed // Real64 SEER_User -> seasonal energy efficiency ratio of multi speed DX cooling coil, from user PLF curve // Real64 SEER_Standard -> seasonal energy efficiency ratio of multi speed DX cooling coil, from AHRI Std 210/240-2008 default PLF curve and @@ -451,6 +549,7 @@ namespace StandardRatings { std::map MultiSpeedDXCoolingCoilStandardRatings( EnergyPlusData &state, std::string const &DXCoilType, // Type of DX coil for which HSPF is calculated + std::string const &DXCoilName, // Name of DX coil for which standard Ratings are calculated Array1A_int const CapFTempCurveIndex, // Index for the capacity as a function of temperature modifier curve Array1A_int const CapFFlowCurveIndex, // Index for the capacity as a function of flow fraction modifier curve Array1A_int const EIRFTempCurveIndex, // Index for the EIR as a function of temperature modifier curve @@ -467,7 +566,7 @@ namespace StandardRatings { // Real64 NetHeatingCapRatedHighTemp --> net heating capacity at maximum speed and High Temp // Real64 NetHeatingCapRatedLowTemp --> net heating capacity at maximum speed and low Temp // Real64 HSPF --> seasonale energy efficiency ratio of multi speed DX cooling coil | 2017 - std::tuple MultiSpedDXHeatingCoilHSPF( + std::tuple MultiSpeedDXHeatingCoilHSPF( EnergyPlusData &state, int const nsp, // Number of compressor speed Array1A const MSFanPowerPerEvapAirFlowRateInput, // 2017 rated fan power per evap air flow rate [W/(m3/s)] @@ -487,7 +586,7 @@ namespace StandardRatings { // Real64 NetHeatingCapRatedHighTemp_2023 --> net heating capacity at maximum speed and High Temp // Real64 NetHeatingCapRatedLowTemp_2023 --> net heating capacity at maximum speed and low Temp // Real64 HSPF2_2023 --> seasonale energy efficiency ratio of multi speed DX cooling coil | 2023 - std::tuple MultiSpedDXHeatingCoilHSPF2( + std::tuple MultiSpeedDXHeatingCoilHSPF2( EnergyPlusData &state, int const nsp, // Number of compressor speed Array1A const MSFanPowerPerEvapAirFlowRateInput_2023, // 2023 rated fan power per evap air flow rate [W/(m3/s)] diff --git a/src/EnergyPlus/SurfaceGeometry.cc b/src/EnergyPlus/SurfaceGeometry.cc index 97cabdee742..c8191fa36c2 100644 --- a/src/EnergyPlus/SurfaceGeometry.cc +++ b/src/EnergyPlus/SurfaceGeometry.cc @@ -3425,7 +3425,7 @@ namespace SurfaceGeometry { state.dataIPShortCut->cAlphaArgs(2))); ShowContinueError(state, "...Schedule values > 1 have no meaning for shading elements."); } - if (std::abs(SchedMinValue - SchedMaxValue) > 1.0e-6) { + if (std::abs(SchedMinValue - SchedMaxValue) > Constant::OneMillionth) { state.dataSurface->ShadingTransmittanceVaries = true; } } @@ -6591,7 +6591,7 @@ namespace SurfaceGeometry { state.dataIPShortCut->cAlphaArgs(2))); ShowContinueError(state, "...Schedule values > 1 have no meaning for shading elements."); } - if (std::abs(SchedMinValue - SchedMaxValue) > 1.0e-6) { + if (std::abs(SchedMinValue - SchedMaxValue) > Constant::OneMillionth) { state.dataSurface->ShadingTransmittanceVaries = true; } } @@ -9248,7 +9248,6 @@ namespace SurfaceGeometry { PopCoincidentVertexReturn checkPopCoincidentVertex(const Array1D &vertices) { - constexpr double tolerance = 0.01; size_t const nSides = vertices.size(); @@ -9268,7 +9267,7 @@ namespace SurfaceGeometry { perimeter += dist; } // Return early if nothing to be popped - if (min_distance >= tolerance) { + if (min_distance >= Constant::OneCentimeter) { return {perimeter}; } @@ -9282,7 +9281,7 @@ namespace SurfaceGeometry { size_t const prevIndex = (index == 0) ? nSides - 1 : index - 1; Real64 &distanceThisToNext = distances[index]; Real64 &distanceThisToPrev = distances[prevIndex]; - if ((distanceThisToNext >= tolerance) && (distanceThisToPrev >= tolerance)) { + if ((distanceThisToNext >= Constant::OneCentimeter) && (distanceThisToPrev >= Constant::OneCentimeter)) { continue; } Real64 const weight = distanceThisToNext + distanceThisToPrev; @@ -9739,8 +9738,6 @@ namespace SurfaceGeometry { // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN June 2002 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This subroutine creates a "mirror" surface using the indicated surface. @@ -9748,119 +9745,52 @@ namespace SurfaceGeometry { // the user has already taken care of this (e.g. fins in middle of wall), there will // be extra shading devices shown. - // METHODOLOGY EMPLOYED: - // Reverse the vertices in the original surface. Add "bi" to name. - - using namespace Vectors; - - int Vert; - int NVert; - Real64 SurfWorldAz; - Real64 SurfTilt; - int n; - // TYPE(Vector) :: temp1 - - NVert = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Vertex.allocate(NVert); - // doesn't work when Vertex are pointers SurfaceTmp(SurfNum+1)=SurfaceTmp(SurfNum) - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Name = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Name; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Construction = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Construction; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ConstructionStoredInputValue = - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ConstructionStoredInputValue; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Class = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Class; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).GrossArea = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).GrossArea; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Area = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Area; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Azimuth = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Azimuth; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Height = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Height; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Reveal = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Reveal; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Shape = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Shape; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Sides = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Tilt = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Tilt; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).convOrientation = - Convect::GetSurfConvOrientation(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Tilt); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Width = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Width; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).HeatTransSurf = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).HeatTransSurf; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).BaseSurfName = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).BaseSurfName; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).BaseSurf = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).BaseSurf; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ZoneName = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ZoneName; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Zone = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Zone; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ExtBoundCondName = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ExtBoundCondName; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ExtBoundCond = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ExtBoundCond; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ExtSolar = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ExtSolar; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ExtWind = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ExtWind; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ViewFactorGround = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorGround; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ViewFactorSky = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorSky; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ViewFactorGroundIR = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorGroundIR; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).ViewFactorSkyIR = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorSkyIR; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).SchedShadowSurfIndex = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).SchedShadowSurfIndex; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).SchedMinValue = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).SchedMinValue; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).IsTransparent = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).IsTransparent; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).activeWindowShadingControl = - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).activeWindowShadingControl; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).windowShadingControlList = - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).windowShadingControlList; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).HasShadeControl = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).HasShadeControl; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).activeShadedConstruction = - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).activeShadedConstruction; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).FrameDivider = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).FrameDivider; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Multiplier = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Multiplier; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).NetAreaShadowCalc = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NetAreaShadowCalc; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Perimeter = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Perimeter; - - for (Vert = 1; Vert <= state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides; ++Vert) { - state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1).Vertex(Vert) = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Vertex(NVert); - --NVert; - } - ++SurfNum; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Name = "Mir-" + state.dataSurfaceGeometry->SurfaceTmp(SurfNum - 1).Name; - - // TH 3/26/2010 - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).MirroredSurf = true; - - if (state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides > 2) { - CreateNewellAreaVector(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Vertex, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NewellAreaVector); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).GrossArea = VecLength(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NewellAreaVector); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Area = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).GrossArea; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NetAreaShadowCalc = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Area; - CreateNewellSurfaceNormalVector(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Vertex, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NewellSurfaceNormalVector); - DetermineAzimuthAndTilt(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Vertex, - SurfWorldAz, - SurfTilt, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).lcsx, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).lcsy, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).lcsz, - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NewellSurfaceNormalVector); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Azimuth = SurfWorldAz; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Tilt = SurfTilt; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).convOrientation = - Convect::GetSurfConvOrientation(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Tilt); + auto &origSurface = state.dataSurfaceGeometry->SurfaceTmp(SurfNum); + auto &newSurface = state.dataSurfaceGeometry->SurfaceTmp(SurfNum + 1); + newSurface = origSurface; + + int nVert = origSurface.Sides; + // Reverse the vertices in the original surface. Add "MIR-" to name. + for (int Vert = 1; Vert <= state.dataSurfaceGeometry->SurfaceTmp(SurfNum).Sides; ++Vert) { + newSurface.Vertex(Vert) = origSurface.Vertex(nVert); + --nVert; + } + newSurface.Name = "Mir-" + origSurface.Name; + newSurface.MirroredSurf = true; + + if (newSurface.Sides > 2) { + Vectors::CreateNewellAreaVector(newSurface.Vertex, newSurface.Sides, newSurface.NewellAreaVector); + newSurface.GrossArea = Vectors::VecLength(newSurface.NewellAreaVector); + newSurface.Area = newSurface.GrossArea; + newSurface.NetAreaShadowCalc = newSurface.Area; + Vectors::CreateNewellSurfaceNormalVector(newSurface.Vertex, newSurface.Sides, newSurface.NewellSurfaceNormalVector); + Real64 SurfWorldAz = 0.0; + Real64 SurfTilt = 0.0; + Vectors::DetermineAzimuthAndTilt( + newSurface.Vertex, SurfWorldAz, SurfTilt, newSurface.lcsx, newSurface.lcsy, newSurface.lcsz, newSurface.NewellSurfaceNormalVector); + newSurface.Azimuth = SurfWorldAz; + newSurface.Tilt = SurfTilt; + newSurface.convOrientation = Convect::GetSurfConvOrientation(newSurface.Tilt); // Sine and cosine of azimuth and tilt - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).SinAzim = std::sin(SurfWorldAz * Constant::DegToRadians); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).CosAzim = std::cos(SurfWorldAz * Constant::DegToRadians); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).SinTilt = std::sin(SurfTilt * Constant::DegToRadians); - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).CosTilt = std::cos(SurfTilt * Constant::DegToRadians); + newSurface.SinAzim = std::sin(SurfWorldAz * Constant::DegToRadians); + newSurface.CosAzim = std::cos(SurfWorldAz * Constant::DegToRadians); + newSurface.SinTilt = std::sin(SurfTilt * Constant::DegToRadians); + newSurface.CosTilt = std::cos(SurfTilt * Constant::DegToRadians); // Outward normal unit vector (pointing away from room) - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).NewellSurfaceNormalVector; - for (n = 1; n <= 3; ++n) { - if (std::abs(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n) - 1.0) < 1.e-06) - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n) = +1.0; - if (std::abs(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n) + 1.0) < 1.e-06) - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n) = -1.0; - if (std::abs(state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n)) < 1.e-06) - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).OutNormVec(n) = 0.0; + newSurface.OutNormVec = newSurface.NewellSurfaceNormalVector; + for (int n = 1; n <= 3; ++n) { + if (std::abs(newSurface.OutNormVec(n) - 1.0) < 1.e-06) newSurface.OutNormVec(n) = +1.0; + if (std::abs(newSurface.OutNormVec(n) + 1.0) < 1.e-06) newSurface.OutNormVec(n) = -1.0; + if (std::abs(newSurface.OutNormVec(n)) < 1.e-06) newSurface.OutNormVec(n) = 0.0; } // Can perform tests on this surface here - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorSky = 0.5 * (1.0 + state.dataSurfaceGeometry->SurfaceTmp(SurfNum).CosTilt); - // The following IR view factors are modified in subr. SkyDifSolarShading if there are shadowing - // surfaces - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorSkyIR = state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorSky; - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).ViewFactorGroundIR = 0.5 * (1.0 - state.dataSurfaceGeometry->SurfaceTmp(SurfNum).CosTilt); + newSurface.ViewFactorSky = 0.5 * (1.0 + newSurface.CosTilt); + // The following IR view factors are modified in subr. SkyDifSolarShading if there are shadowing surfaces + newSurface.ViewFactorSkyIR = newSurface.ViewFactorSky; + newSurface.ViewFactorGroundIR = 0.5 * (1.0 - newSurface.CosTilt); + ++SurfNum; // Calling function expects incremented argument on return } } @@ -12942,12 +12872,12 @@ namespace SurfaceGeometry { // test if all the wall heights are the same (all walls have the same maximum z-coordinate bool areWlHgtSame = true; - Real64 wallHeightZ = -1.0E50; + Real64 wallHeightZ = -Constant::BigNumber; bool foundWallHeight = false; for (int iFace = 1; iFace <= zonePoly.NumSurfaceFaces; ++iFace) { int curSurfNum = zonePoly.SurfaceFace(iFace).SurfNum; if (state.dataSurface->Surface(curSurfNum).Class == SurfaceClass::Wall) { - Real64 maxZ = -1.0E50; + Real64 maxZ = -Constant::BigNumber; for (int jVertex = 1; jVertex <= zonePoly.SurfaceFace(iFace).NSides; ++jVertex) { Vector curVertex = zonePoly.SurfaceFace(iFace).FacePoints(jVertex); if (maxZ < curVertex.z) { @@ -12955,7 +12885,7 @@ namespace SurfaceGeometry { } } if (foundWallHeight) { - if (std::abs(maxZ - wallHeightZ) > 0.0254) { // 2.54 cm = 1 inch + if (std::abs(maxZ - wallHeightZ) > Constant::TwoCentimeters) { areWlHgtSame = false; break; } @@ -13084,7 +13014,6 @@ namespace SurfaceGeometry { { // J. Glazer - March 2017 - Real64 tol = 0.0127; // 1.27 cm = 1/2 inch bool allAreEquidistant = true; Real64 firstDistance = -99.; if (zonePoly.SurfaceFace(faceIndex).NSides == zonePoly.SurfaceFace(opFaceIndex).NSides) { // double check that the number of sides match @@ -13095,7 +13024,7 @@ namespace SurfaceGeometry { if (iVertex == 1) { firstDistance = curDistBetwCorners; } else { - if (std::abs(curDistBetwCorners - firstDistance) > tol) { + if (std::abs(curDistBetwCorners - firstDistance) > Constant::OneCentimeter) { allAreEquidistant = false; break; } @@ -13113,8 +13042,8 @@ namespace SurfaceGeometry { { // J. Glazer - March 2017 - Real64 tol = 0.0127; // 1.27 cm = 1/2 inch - return ((std::abs(v1.x - v2.x) < tol) && (std::abs(v1.y - v2.y) < tol) && (std::abs(v1.z - v2.z) < tol)); + return ((std::abs(v1.x - v2.x) < Constant::OneCentimeter) && (std::abs(v1.y - v2.y) < Constant::OneCentimeter) && + (std::abs(v1.z - v2.z) < Constant::OneCentimeter)); } // test if two points on a plane are in the same position based on a small tolerance @@ -13122,8 +13051,7 @@ namespace SurfaceGeometry { { // J. Glazer - March 2017 - Real64 tol = 0.0127; // 1.27 cm = 1/2 inch - return ((std::abs(v1.x - v2.x) < tol) && (std::abs(v1.y - v2.y) < tol)); + return ((std::abs(v1.x - v2.x) < Constant::OneCentimeter) && (std::abs(v1.y - v2.y) < Constant::OneCentimeter)); } // test if two points on a plane are in the same position based on a small tolerance (based on Vector2dCount comparison) @@ -13131,8 +13059,7 @@ namespace SurfaceGeometry { { // J. Glazer - March 2017 - Real64 tol = 0.0127; // 1.27 cm = 1/2 inch - return ((std::abs(v1.x - v2.x) < tol) && (std::abs(v1.y - v2.y) < tol)); + return ((std::abs(v1.x - v2.x) < Constant::OneCentimeter) && (std::abs(v1.y - v2.y) < Constant::OneCentimeter)); } // returns the index of vertex in a list that is in the same position in space as the given vertex @@ -13174,9 +13101,9 @@ namespace SurfaceGeometry { // J. Glazer - March 2017 // The tolerance has to be low enough. Take for eg a plenum that has an edge that's 30meters long, you risk adding point from the // floor to the roof, cf #7383 compute the shortest distance from the point to the line first to avoid false positive - Real64 tol = 0.0127; - if (distanceFromPointToLine(start, end, test) < tol) { // distanceFromPointToLine always positive, it's calculated as norml_L2 - return (std::abs((distance(start, end) - (distance(start, test) + distance(test, end)))) < tol); + if (distanceFromPointToLine(start, end, test) < + Constant::OneCentimeter) { // distanceFromPointToLine always positive, it's calculated as norml_L2 + return (std::abs((distance(start, end) - (distance(start, test) + distance(test, end)))) < Constant::OneCentimeter); } return false; } @@ -13788,7 +13715,7 @@ namespace SurfaceGeometry { DotSelfX23 = magnitude_squared(x23); - if (DotSelfX23 <= .1e-6) { + if (DotSelfX23 <= Constant::OneMillionth) { ShowSevereError(state, format("CalcCoordinateTransformation: Invalid dot product, surface=\"{}\":", surf.Name)); for (I = 1; I <= surf.Sides; ++I) { auto const &point = surf.Vertex(I); @@ -15669,7 +15596,7 @@ namespace SurfaceGeometry { for (int n = 1; n <= NSides; ++n) { Det += X(n) * Y(n + 1) - X(n + 1) * Y(n); } - if (std::abs(Det) > 1.e-4) { + if (std::abs(Det) > Constant::SmallDistance) { A = X; B = Y; } else { @@ -15677,7 +15604,7 @@ namespace SurfaceGeometry { for (int n = 1; n <= NSides; ++n) { Det += X(n) * Z(n + 1) - X(n + 1) * Z(n); } - if (std::abs(Det) > 1.e-4) { + if (std::abs(Det) > Constant::SmallDistance) { A = X; B = Z; } else { @@ -15685,7 +15612,7 @@ namespace SurfaceGeometry { for (int n = 1; n <= NSides; ++n) { Det += Y(n) * Z(n + 1) - Y(n + 1) * Z(n); } - if (std::abs(Det) > 1.e-4) { + if (std::abs(Det) > Constant::SmallDistance) { A = Y; B = Z; } else { diff --git a/src/EnergyPlus/SystemReports.cc b/src/EnergyPlus/SystemReports.cc index 23f1096dc3f..2599970f7a6 100644 --- a/src/EnergyPlus/SystemReports.cc +++ b/src/EnergyPlus/SystemReports.cc @@ -4284,7 +4284,7 @@ void ReportVentilationLoads(EnergyPlusData &state) for (int sysNum = 1; sysNum <= state.dataHVACGlobal->NumPrimaryAirSys; ++sysNum) { auto &thisSysVentRepVars = state.dataSysRpts->SysVentRepVars(sysNum); auto &thisSysPreDefRep = state.dataSysRpts->SysPreDefRep(sysNum); - Real64 mechVentFlow = state.dataAirLoop->AirLoopFlow(sysNum).OAFlow * state.dataEnvrn->StdRhoAir; + Real64 mechVentFlow = state.dataAirLoop->AirLoopFlow(sysNum).OAFlow / state.dataEnvrn->StdRhoAir; thisSysVentRepVars.MechVentFlow = mechVentFlow; thisSysPreDefRep.MechVentTotal += mechVentFlow * TimeStepSysSec; thisSysPreDefRep.NatVentTotal += thisSysVentRepVars.NatVentFlow * TimeStepSysSec; diff --git a/src/EnergyPlus/VariableSpeedCoils.cc b/src/EnergyPlus/VariableSpeedCoils.cc index a03aa857ded..662e4cf2b69 100644 --- a/src/EnergyPlus/VariableSpeedCoils.cc +++ b/src/EnergyPlus/VariableSpeedCoils.cc @@ -1033,13 +1033,15 @@ namespace VariableSpeedCoils { state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EvapCondPumpElecNomPower = NumArray(10); - if (state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EvapCondPumpElecNomPower < 0.0) { - ShowSevereError( - state, - format("{}{}=\"{}\", invalid", RoutineName, CurrentModuleObject, state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name)); - ShowContinueError(state, format("...{} cannot be < 0.0.", cNumericFields(10))); - ShowContinueError(state, format("...entered value=[{:.2T}].", NumArray(10))); - ErrorsFound = true; + if (state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EvapCondPumpElecNomPower != DataSizing::AutoSize) { + if (state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EvapCondPumpElecNomPower < 0.0) { + ShowSevereError( + state, + format("{}{}=\"{}\", invalid", RoutineName, CurrentModuleObject, state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name)); + ShowContinueError(state, format("...{} cannot be < 0.0.", cNumericFields(10))); + ShowContinueError(state, format("...entered value=[{:.2T}].", NumArray(10))); + ErrorsFound = true; + } } // Set crankcase heater capacity @@ -5829,7 +5831,9 @@ namespace VariableSpeedCoils { varSpeedCoil.OATempCompressorOn, false, // varSpeedCoil.OATempCompressorOnOffBlank, // ?? DefrostControl, - ObjexxFCL::Optional_bool_const()); + ObjexxFCL::Optional_bool_const(), + varSpeedCoil.RatedCapCoolTotal, + varSpeedCoil.RatedAirVolFlowRate); } break; default: diff --git a/src/EnergyPlus/Vectors.cc b/src/EnergyPlus/Vectors.cc index 357fdc9c49f..7317f6ffd62 100644 --- a/src/EnergyPlus/Vectors.cc +++ b/src/EnergyPlus/Vectors.cc @@ -62,8 +62,6 @@ namespace EnergyPlus::Vectors { // MODULE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN April 2000 -// MODIFIED na -// RE-ENGINEERED na // PURPOSE OF THIS MODULE: // This module uses a global "vector" data structure and defines @@ -98,8 +96,6 @@ namespace EnergyPlus::Vectors { // vector_times_int, int_times_vector, vector_div_real, // vector_div_int, dot_product, and cross_product. -// OTHER NOTES: none - // Using/Aliasing using namespace DataVectorTypes; @@ -110,16 +106,6 @@ Vector const XUnit(1.0, 0.0, 0.0); Vector const YUnit(0.0, 1.0, 0.0); Vector const ZUnit(0.0, 0.0, 1.0); -// DERIVED TYPE DEFINITIONS -// na - -// MODULE VARIABLE DECLARATIONS: -// na - -// SUBROUTINE SPECIFICATIONS FOR MODULE - -// Functions - Real64 AreaPolygon(int const n, Array1D &p) { @@ -130,40 +116,25 @@ Real64 AreaPolygon(int const n, Array1D &p) // REFERENCE: // Graphic Gems. - // Return value - Real64 areap; - // Argument array dimensioning EP_SIZE_CHECK(p, n); - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - int i; - - // Object Data - Vector edge0; - Vector edge1; - Vector nor; - Vector edgex; - Vector csum; - - edge0 = p[1] - p[0]; - edge1 = p[2] - p[0]; + Vector edge0 = p[1] - p[0]; + Vector edge1 = p[2] - p[0]; - edgex = cross(edge0, edge1); - nor = VecNormalize(edgex); + Vector edgex = cross(edge0, edge1); + Vector nor = VecNormalize(edgex); // Initialize csum + Vector csum; csum = 0.0; - for (i = 0; i <= n - 2; ++i) { + for (int i = 0; i <= n - 2; ++i) { csum += cross(p[i], p[i + 1]); } csum += cross(p[n - 1], p[0]); - areap = 0.5 * std::abs(dot(nor, csum)); + Real64 areap = 0.5 * std::abs(dot(nor, csum)); return areap; } @@ -177,16 +148,7 @@ Real64 VecSquaredLength(Vector const &vec) // REFERENCE: // Graphic Gems. - // Return value - Real64 vecsqlen; - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - - vecsqlen = (vec.x * vec.x + vec.y * vec.y + vec.z * vec.z); + Real64 vecsqlen = (vec.x * vec.x + vec.y * vec.y + vec.z * vec.z); return vecsqlen; } @@ -200,16 +162,7 @@ Real64 VecLength(Vector const &vec) // REFERENCE: // Graphic Gems. - // Return value - Real64 veclen; - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - - veclen = std::sqrt(VecSquaredLength(vec)); + Real64 veclen = std::sqrt(VecSquaredLength(vec)); return veclen; } @@ -223,15 +176,8 @@ Vector VecNegate(Vector const &vec) // REFERENCE: // Graphic Gems. - // Return value Vector VecNegate; - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - VecNegate.x = -vec.x; VecNegate.y = -vec.y; VecNegate.z = -vec.z; @@ -252,13 +198,7 @@ Vector VecNormalize(Vector const &vec) // Return value Vector VecNormalize; - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - Real64 veclen; - - veclen = VecLength(vec); + Real64 veclen = VecLength(vec); if (veclen != 0.0) { VecNormalize.x = vec.x / veclen; VecNormalize.y = vec.y / veclen; @@ -281,12 +221,6 @@ void VecRound(Vector &vec, Real64 const roundto) // REFERENCE: // Graphic Gems. - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - vec.x = nint64(vec.x * roundto) / roundto; vec.y = nint64(vec.y * roundto) / roundto; vec.z = nint64(vec.z * roundto) / roundto; @@ -308,22 +242,17 @@ void DetermineAzimuthAndTilt(Array1D const &Surf, // Surface Definition // REFERENCE: // Discussions and examples from Bill Carroll, LBNL. - // LOCAL VARIABLE DECLARATIONS: - Real64 costheta; - Real64 rotang_0; - - Real64 az; - Real64 tlt; - lcsx = VecNormalize(Surf(3) - Surf(2)); lcsz = NewellSurfaceNormalVector; lcsy = cross(lcsz, lcsx); - costheta = dot(lcsz, ZUnit); + Real64 costheta = dot(lcsz, ZUnit); // if ( fabs(costheta) < 1.0d0) { // normal cases - if (std::abs(costheta) < 1.0 - 1.12e-16) { // Autodesk Added - 1.12e-16 to treat 1 bit from 1.0 as 1.0 to correct different behavior seen in - // release vs debug build due to slight precision differences: May want larger epsilon here + Real64 constexpr epsilon = 1.12e-16; + Real64 rotang_0 = 0.0; + if (std::abs(costheta) < 1.0 - epsilon) { // Autodesk Added - 1.12e-16 to treat 1 bit from 1.0 as 1.0 to correct different behavior seen in + // release vs debug build due to slight precision differences: May want larger epsilon here // azimuth Vector x2 = cross(ZUnit, lcsz); rotang_0 = std::atan2(dot(x2, YUnit), dot(x2, XUnit)); @@ -332,10 +261,10 @@ void DetermineAzimuthAndTilt(Array1D const &Surf, // Surface Definition rotang_0 = std::atan2(dot(lcsx, YUnit), dot(lcsx, XUnit)); } - tlt = std::acos(NewellSurfaceNormalVector.z); + Real64 tlt = std::acos(NewellSurfaceNormalVector.z); tlt /= Constant::DegToRadians; - az = rotang_0; + Real64 az = rotang_0; az /= Constant::DegToRadians; az = mod(450.0 - az, 360.0); @@ -344,12 +273,13 @@ void DetermineAzimuthAndTilt(Array1D const &Surf, // Surface Definition az = mod(az, 360.0); // Clean up angle precision - if (std::abs(az - 360.0) < 1.0e-3) { // Bring small angles to zero + if (std::abs(az - 360.0) < Constant::OneThousandth) { // Bring small angles to zero az = 0.0; - } else if (std::abs(az - 180.0) < 1.0e-6) { // Bring angles near 180 to 180 //Autodesk Added to clean up debug--release discrepancies + } else if (std::abs(az - 180.0) < + Constant::OneMillionth) { // Bring angles near 180 to 180 //Autodesk Added to clean up debug--release discrepancies az = 180.0; } - if (std::abs(tlt - 180.0) < 1.0e-6) { // Bring angles near 180 to 180 //Autodesk Added to clean up debug--release discrepancies + if (std::abs(tlt - 180.0) < Constant::OneMillionth) { // Bring angles near 180 to 180 //Autodesk Added to clean up debug--release discrepancies tlt = 180.0; } @@ -374,21 +304,9 @@ void PlaneEquation(Array1D &verts, // Structure of the surface // Argument array dimensioning EP_SIZE_CHECK(verts, nverts); - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - int i; - Real64 lenvec; - - // Object Data - Vector normal; - Vector refpt; - - // - - - begin - - - - normal = Vector(0.0, 0.0, 0.0); - refpt = Vector(0.0, 0.0, 0.0); - for (i = 0; i <= nverts - 1; ++i) { + Vector normal = Vector(0.0, 0.0, 0.0); + Vector refpt = Vector(0.0, 0.0, 0.0); + for (int i = 0; i <= nverts - 1; ++i) { Vector const &u(verts[i]); Vector const &v(i < nverts - 1 ? verts[i + 1] : verts[0]); normal.x += (u.y - v.y) * (u.z + v.z); @@ -398,7 +316,7 @@ void PlaneEquation(Array1D &verts, // Structure of the surface } // normalize the polygon normal to obtain the first // three coefficients of the plane equation - lenvec = VecLength(normal); + Real64 lenvec = VecLength(normal); error = false; if (lenvec != 0.0) { // should this be >0 plane.x = normal.x / lenvec; @@ -425,15 +343,8 @@ Real64 Pt2Plane(Vector const &pt, // Point for determining the distance // REFERENCE: // Graphic Gems - // Return value Real64 PtDist; // Distance of the point to the plane - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - PtDist = (pleq.x * pt.x) + (pleq.y * pt.y) + (pleq.z * pt.z) + pleq.w; return PtDist; @@ -445,53 +356,22 @@ void CreateNewellAreaVector(Array1D const &VList, int const NSides, Vect // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN May 2004 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This subroutine creates a "Newell" vector from the vector list for a surface // face. Also the Newell Area vector. - // METHODOLOGY EMPLOYED: - // na - // REFERENCES: // Collaboration with Bill Carroll, LBNL. - // USE STATEMENTS: - // na - - // Argument array dimensioning - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: - // na - - // INTERFACE BLOCK SPECIFICATIONS - // na - - // DERIVED TYPE DEFINITIONS - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - - // Object Data - Vector V1; - Vector V2; - OutNewellAreaVector = 0.0; - V1 = VList(2) - VList(1); + Vector V1 = VList(2) - VList(1); for (int Vert = 3; Vert <= NSides; ++Vert) { - V2 = VList(Vert) - VList(1); + Vector V2 = VList(Vert) - VList(1); OutNewellAreaVector += cross(V1, V2); V1 = V2; } - // do vert=1,nsides - // write(outputfiledebug,*) vlist(vert) - // enddo OutNewellAreaVector /= 2.0; } @@ -502,16 +382,11 @@ void CreateNewellSurfaceNormalVector(Array1D const &VList, int const NSi // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN Jan 2011 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This subroutine creates a "Newell" surface normal vector from the vector list // for a surface face. - // METHODOLOGY EMPLOYED: - // na - // REFERENCES: // September 2010: from OpenGL.org // Begin Function CalculateSurfaceNormal (Input Polygon) Returns Vector @@ -526,29 +401,6 @@ void CreateNewellSurfaceNormalVector(Array1D const &VList, int const NSi // Returning Normalize(Normal) // End Function - // USE STATEMENTS: - // na - - // Argument array dimensioning - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: - // na - - // INTERFACE BLOCK SPECIFICATIONS - // na - - // DERIVED TYPE DEFINITIONS - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // TYPE(Vector) :: U - // TYPE(Vector) :: V - int Side; - int curVert; - int nextVert; Real64 xvalue; Real64 yvalue; Real64 zvalue; @@ -559,21 +411,14 @@ void CreateNewellSurfaceNormalVector(Array1D const &VList, int const NSi zvalue = 0.0; // IF (NSides > 3) THEN - for (Side = 1; Side <= NSides; ++Side) { - curVert = Side; - nextVert = Side + 1; + for (int Side = 1; Side <= NSides; ++Side) { + int curVert = Side; + int nextVert = Side + 1; if (nextVert > NSides) nextVert = 1; xvalue += (VList(curVert).y - VList(nextVert).y) * (VList(curVert).z + VList(nextVert).z); yvalue += (VList(curVert).z - VList(nextVert).z) * (VList(curVert).x + VList(nextVert).x); zvalue += (VList(curVert).x - VList(nextVert).x) * (VList(curVert).y + VList(nextVert).y); } - // ELSE ! Triangle - // U=VList(2)-VList(1) - // V=VList(3)-VList(1) - // xvalue=(U%y*V%z)-(U%z*V%y) - // yvalue=(U%z*V%x)-(U%x*V%z) - // zvalue=(U%x*V%y)-(U%y*V%x) - // ENDIF OutNewellSurfaceNormalVector.x = xvalue; OutNewellSurfaceNormalVector.y = yvalue; @@ -591,8 +436,6 @@ void CompareTwoVectors(Vector const &vector1, // standard vector // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN February 2012 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This routine will provide the ability to compare two vectors (e.g. surface normals) @@ -601,26 +444,6 @@ void CompareTwoVectors(Vector const &vector1, // standard vector // METHODOLOGY EMPLOYED: // compare each element (x,y,z) - // REFERENCES: - // na - - // USE STATEMENTS: - // na - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: - // na - - // INTERFACE BLOCK SPECIFICATIONS: - // na - - // DERIVED TYPE DEFINITIONS: - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na areSame = true; if (std::abs(vector1.x - vector2.x) > tolerance) areSame = false; if (std::abs(vector1.y - vector2.y) > tolerance) areSame = false; @@ -633,43 +456,19 @@ void CalcCoPlanarNess(Array1D &Surf, int const NSides, bool &IsCoPlanar, // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN June 2004 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This subroutine provides the calculation to determine if the // surface is planar or not. - // METHODOLOGY EMPLOYED: - // na - // REFERENCES: // Eric W. Weisstein. "Coplanar." From MathWorld--A Wolfram Web Resource. // http://mathworld.wolfram.com/Coplanar.html - // USE STATEMENTS: - // na - // Argument array dimensioning EP_SIZE_CHECK(Surf, NSides); - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: - Real64 constexpr DistTooSmall(1.e-4); - - // INTERFACE BLOCK SPECIFICATIONS - // na - - // DERIVED TYPE DEFINITIONS - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: bool plerror; - Real64 dist; - - // Object Data PlaneEq NewellPlane; IsCoPlanar = true; @@ -680,14 +479,14 @@ void CalcCoPlanarNess(Array1D &Surf, int const NSides, bool &IsCoPlanar, PlaneEquation(Surf, NSides, NewellPlane, plerror); for (int vert = 1; vert <= NSides; ++vert) { - dist = Pt2Plane(Surf(vert), NewellPlane); + Real64 dist = Pt2Plane(Surf(vert), NewellPlane); if (std::abs(dist) > MaxDist) { MaxDist = std::abs(dist); ErrorVertex = vert; } } - if (std::abs(MaxDist) > DistTooSmall) IsCoPlanar = false; + if (std::abs(MaxDist) > Constant::SmallDistance) IsCoPlanar = false; } std::vector PointsInPlane(Array1D &BaseSurf, int const BaseSides, Array1D &QuerySurf, int const QuerySides, bool &ErrorFound) @@ -699,7 +498,7 @@ std::vector PointsInPlane(Array1D &BaseSurf, int const BaseSides, A for (int vert = 1; vert <= QuerySides; ++vert) { Real64 dist = Pt2Plane(QuerySurf(vert), NewellPlane); - if (std::abs(dist) < 1.e-4) { // point on query surface is co-planar with base surface + if (std::abs(dist) < Constant::SmallDistance) { // point on query surface is co-planar with base surface pointIndices.push_back(vert); } } @@ -712,16 +511,11 @@ Real64 CalcPolyhedronVolume(EnergyPlusData &state, Polyhedron const &Poly) // SUBROUTINE INFORMATION: // AUTHOR Linda Lawrie // DATE WRITTEN June 2004 - // MODIFIED na - // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: // This subroutine provides the volume calculation for a polyhedron // (i.e. Zone). - // METHODOLOGY EMPLOYED: - // na - // REFERENCES: // Conversations with Bill Carroll, LBNL. diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index 6fccd5a9419..b190ddafc75 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -763,9 +763,18 @@ namespace VentilatedSlab { DataLoopNode::ConnectionObjectType::ZoneHVACVentilatedSlab, ventSlab.Name + "-OA MIXER", DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Internal, + DataLoopNode::ConnectionType::Outlet, NodeInputManager::CompFluidStream::Primary, ObjectIsNotParent); + ventSlab.ReturnAirNode = GetOnlySingleNode(state, + state.dataIPShortCut->cAlphaArgs(18), + ErrorsFound, + DataLoopNode::ConnectionObjectType::ZoneHVACVentilatedSlab, + ventSlab.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Inlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent); ventSlab.RadInNode = GetOnlySingleNode(state, state.dataIPShortCut->cAlphaArgs(19), ErrorsFound, @@ -803,9 +812,18 @@ namespace VentilatedSlab { DataLoopNode::ConnectionObjectType::ZoneHVACVentilatedSlab, ventSlab.Name + "-OA MIXER", DataLoopNode::NodeFluidType::Air, - DataLoopNode::ConnectionType::Internal, + DataLoopNode::ConnectionType::Outlet, NodeInputManager::CompFluidStream::Primary, ObjectIsNotParent); + ventSlab.ReturnAirNode = GetOnlySingleNode(state, + state.dataIPShortCut->cAlphaArgs(18), + ErrorsFound, + DataLoopNode::ConnectionObjectType::ZoneHVACVentilatedSlab, + ventSlab.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Inlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent); ventSlab.RadInNode = GetOnlySingleNode(state, state.dataIPShortCut->cAlphaArgs(19), ErrorsFound, @@ -846,6 +864,15 @@ namespace VentilatedSlab { DataLoopNode::ConnectionType::Inlet, NodeInputManager::CompFluidStream::Primary, ObjectIsParent); + ventSlab.ReturnAirNode = GetOnlySingleNode(state, + state.dataIPShortCut->cAlphaArgs(18), + ErrorsFound, + DataLoopNode::ConnectionObjectType::ZoneHVACVentilatedSlab, + ventSlab.Name, + DataLoopNode::NodeFluidType::Air, + DataLoopNode::ConnectionType::Inlet, + NodeInputManager::CompFluidStream::Primary, + ObjectIsParent); ventSlab.ReturnAirNode = GetOnlySingleNode(state, state.dataIPShortCut->cAlphaArgs(18), ErrorsFound, @@ -978,7 +1005,7 @@ namespace VentilatedSlab { // Add fan to component sets array SetUpCompSets(state, CurrentModuleObject, - ventSlab.Name + "-SYSTEM", + ventSlab.Name, "UNDEFINED", state.dataIPShortCut->cAlphaArgs(25), state.dataIPShortCut->cAlphaArgs(23), @@ -1246,7 +1273,7 @@ namespace VentilatedSlab { // Add cooling coil to component sets array when present SetUpCompSets(state, CurrentModuleObject, - ventSlab.Name + "-SYSTEM", + ventSlab.Name, state.dataIPShortCut->cAlphaArgs(30), state.dataIPShortCut->cAlphaArgs(31), state.dataIPShortCut->cAlphaArgs(24), @@ -1255,7 +1282,7 @@ namespace VentilatedSlab { // Add heating coil to component sets array when cooling coil present SetUpCompSets(state, CurrentModuleObject, - ventSlab.Name + "-SYSTEM", + ventSlab.Name, state.dataIPShortCut->cAlphaArgs(27), state.dataIPShortCut->cAlphaArgs(28), "UNDEFINED", @@ -1266,7 +1293,7 @@ namespace VentilatedSlab { // Add heating coil to component sets array when no cooling coil present SetUpCompSets(state, CurrentModuleObject, - ventSlab.Name + "-SYSTEM", + ventSlab.Name, state.dataIPShortCut->cAlphaArgs(27), state.dataIPShortCut->cAlphaArgs(28), state.dataIPShortCut->cAlphaArgs(24), @@ -1277,7 +1304,7 @@ namespace VentilatedSlab { // Add cooling coil to component sets array when no heating coil present SetUpCompSets(state, CurrentModuleObject, - ventSlab.Name + "-SYSTEM", + ventSlab.Name, state.dataIPShortCut->cAlphaArgs(30), state.dataIPShortCut->cAlphaArgs(31), state.dataIPShortCut->cAlphaArgs(24), diff --git a/src/EnergyPlus/WaterCoils.cc b/src/EnergyPlus/WaterCoils.cc index b488f4fb3ca..959fb06816f 100644 --- a/src/EnergyPlus/WaterCoils.cc +++ b/src/EnergyPlus/WaterCoils.cc @@ -1763,6 +1763,8 @@ void InitWaterCoil(EnergyPlusData &state, int const CoilNum, bool const FirstHVA CalcSimpleHeatingCoil(state, CoilNum, HVAC::FanOp::Continuous, 1.0, state.dataWaterCoils->SimCalc); coilTypeName = "Coil:Heating:Water"; } + state.dataRptCoilSelection->coilSelectionReportObj->setCoilEqNum( + state, waterCoil.Name, coilTypeName, state.dataSize->CurSysNum, state.dataSize->CurOASysNum, state.dataSize->CurZoneEqNum); // coil outlets Real64 RatedOutletWetBulb(0.0); diff --git a/src/EnergyPlus/WaterThermalTanks.cc b/src/EnergyPlus/WaterThermalTanks.cc index 730b4f5ddad..8c437ca73ac 100644 --- a/src/EnergyPlus/WaterThermalTanks.cc +++ b/src/EnergyPlus/WaterThermalTanks.cc @@ -114,7 +114,7 @@ namespace EnergyPlus::WaterThermalTanks { // WaterHeater:Mixed simulates a well-mixed, single-node tank for hot water applications. Source (e.g. heat recovery) and // use plant connections are allowed. A scheduled domestic hot water demand can also be specified // to directly utilize the hot water without use side connections. -// WaterHeater:Stratified simulates a stratified, multi-node tank for hot water applicatons. +// WaterHeater:Stratified simulates a stratified, multi-node tank for hot water applications. // The model shares most of the same capabilities as WaterHeater:Mixed // but also has up to two heating elements which can be operated in // a master-slave mode or simultaneous mode. @@ -425,7 +425,7 @@ void HeatPumpWaterHeaterData::simulate( state.dataIntegratedHP->IntegratedHeatPumps(this->DXCoilNum).DWHCoilName, bDWHCoilReading); this->DXCoilAirInletNode = this->HeatPumpAirInletNode; - } else // default is to input outdoor fan to the the this + } else // default is to input outdoor fan to the HPWH { this->FanNum = state.dataIntegratedHP->IntegratedHeatPumps(this->DXCoilNum).IDFanID; this->FanName = state.dataIntegratedHP->IntegratedHeatPumps(this->DXCoilNum).IDFanName; diff --git a/src/EnergyPlus/WeatherManager.cc b/src/EnergyPlus/WeatherManager.cc index c40298a2683..6b267eaf01a 100644 --- a/src/EnergyPlus/WeatherManager.cc +++ b/src/EnergyPlus/WeatherManager.cc @@ -4232,32 +4232,36 @@ namespace Weather { state.dataWeather->WeatherFileExists) { if (state.dataWeather->LocationGathered) { // See if "matching" location - if (std::abs(state.dataEnvrn->Latitude - state.dataWeather->WeatherFileLatitude) > 1.0 || - std::abs(state.dataEnvrn->Longitude - state.dataWeather->WeatherFileLongitude) > 1.0 || - std::abs(state.dataEnvrn->TimeZoneNumber - state.dataWeather->WeatherFileTimeZone) > 0.0 || - std::abs(state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation) / max(state.dataEnvrn->Elevation, 1.0) > 0.10) { - ShowWarningError(state, "Weather file location will be used rather than entered (IDF) Location object."); - ShowContinueError(state, format("..Location object={}", state.dataWeather->LocationTitle)); - ShowContinueError(state, format("..Weather File Location={}", state.dataEnvrn->WeatherFileLocationTitle)); - ShowContinueError( - state, - format("..due to location differences, Latitude difference=[{:.2R}] degrees, Longitude difference=[{:.2R}] degrees.", - std::abs(state.dataEnvrn->Latitude - state.dataWeather->WeatherFileLatitude), - std::abs(state.dataEnvrn->Longitude - state.dataWeather->WeatherFileLongitude))); - ShowContinueError(state, - format("..Time Zone difference=[{:.1R}] hour(s), Elevation difference=[{:.2R}] percent, [{:.2R}] meters.", - std::abs(state.dataEnvrn->TimeZoneNumber - state.dataWeather->WeatherFileTimeZone), - std::abs((state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation) / - max(state.dataEnvrn->Elevation, 1.0) * 100.0), - std::abs(state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation))); + if (!state.dataWeather->keepUserSiteLocationDefinition) { + if (std::abs(state.dataEnvrn->Latitude - state.dataWeather->WeatherFileLatitude) > 1.0 || + std::abs(state.dataEnvrn->Longitude - state.dataWeather->WeatherFileLongitude) > 1.0 || + std::abs(state.dataEnvrn->TimeZoneNumber - state.dataWeather->WeatherFileTimeZone) > 0.0 || + std::abs(state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation) / max(state.dataEnvrn->Elevation, 1.0) > + 0.10) { + ShowWarningError(state, "Weather file location will be used rather than entered (IDF) Location object."); + ShowContinueError(state, format("..Location object={}", state.dataWeather->LocationTitle)); + ShowContinueError(state, format("..Weather File Location={}", state.dataEnvrn->WeatherFileLocationTitle)); + ShowContinueError( + state, + format("..due to location differences, Latitude difference=[{:.2R}] degrees, Longitude difference=[{:.2R}] degrees.", + std::abs(state.dataEnvrn->Latitude - state.dataWeather->WeatherFileLatitude), + std::abs(state.dataEnvrn->Longitude - state.dataWeather->WeatherFileLongitude))); + ShowContinueError(state, + format("..Time Zone difference=[{:.1R}] hour(s), Elevation difference=[{:.2R}] percent, [{:.2R}] meters.", + std::abs(state.dataEnvrn->TimeZoneNumber - state.dataWeather->WeatherFileTimeZone), + std::abs((state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation) / + max(state.dataEnvrn->Elevation, 1.0) * 100.0), + std::abs(state.dataEnvrn->Elevation - state.dataWeather->WeatherFileElevation))); + } } } - - state.dataWeather->LocationTitle = state.dataEnvrn->WeatherFileLocationTitle; - state.dataEnvrn->Latitude = state.dataWeather->WeatherFileLatitude; - state.dataEnvrn->Longitude = state.dataWeather->WeatherFileLongitude; - state.dataEnvrn->TimeZoneNumber = state.dataWeather->WeatherFileTimeZone; - state.dataEnvrn->Elevation = state.dataWeather->WeatherFileElevation; + if (!state.dataWeather->keepUserSiteLocationDefinition) { + state.dataWeather->LocationTitle = state.dataEnvrn->WeatherFileLocationTitle; + state.dataEnvrn->Latitude = state.dataWeather->WeatherFileLatitude; + state.dataEnvrn->Longitude = state.dataWeather->WeatherFileLongitude; + state.dataEnvrn->TimeZoneNumber = state.dataWeather->WeatherFileTimeZone; + state.dataEnvrn->Elevation = state.dataWeather->WeatherFileElevation; + } } else if (!state.dataWeather->LocationGathered) { state.dataWeather->LocationTitle = "Not Entered"; ShowSevereError(state, "No Location given. Must have location information for simulation."); @@ -6462,18 +6466,19 @@ namespace Weather { int LocNumAlpha; // Number of alpha names being passed int LocNumProp; // Number of properties being passed int IOStat; // IO Status when calling get input subroutine - Array1D_string LocNames(1); // Temp Array to transfer location info - Array1D LocProps(4); // Temporary array to transfer location info + Array1D_string LocAlphas(2); // Temporary array to transfer location info (non-numerics) + Array1D LocProps(4); // Temporary array to transfer location info (numerics) // Call Input Get routine to retrieve Location information state.dataInputProcessing->inputProcessor->getObjectItem( - state, ipsc->cCurrentModuleObject, 1, LocNames, LocNumAlpha, LocProps, LocNumProp, IOStat); + state, ipsc->cCurrentModuleObject, 1, LocAlphas, LocNumAlpha, LocProps, LocNumProp, IOStat); // set latitude, longitude, and time zone number variables - state.dataWeather->LocationTitle = LocNames(1); + state.dataWeather->LocationTitle = LocAlphas(1); state.dataEnvrn->Latitude = LocProps(1); state.dataEnvrn->Longitude = LocProps(2); state.dataEnvrn->TimeZoneNumber = LocProps(3); state.dataEnvrn->Elevation = LocProps(4); + if (Util::SameString(LocAlphas(2), "Yes")) state.dataWeather->keepUserSiteLocationDefinition = true; state.dataWeather->LocationGathered = true; } } diff --git a/src/EnergyPlus/WeatherManager.hh b/src/EnergyPlus/WeatherManager.hh index ce37e69a2a4..78dc5e60ae8 100644 --- a/src/EnergyPlus/WeatherManager.hh +++ b/src/EnergyPlus/WeatherManager.hh @@ -782,13 +782,15 @@ struct WeatherManagerData : BaseGlobalStruct bool PrintEnvrnStamp = false; // Set to true when the environment header should be printed bool PrintDDHeader = true; - int YearOfSim = 1; // The Present year of Simulation. - int NumDaysInYear = 365; // TODO: removed const from this until leap year behavior is reviewed - int EnvironmentReportNbr = 0; // Report number for the environment stamp - std::string EnvironmentReportChr = ""; // Report number for the environment stamp (character -- for printing) - bool WeatherFileExists = false; // Set to true if a weather file exists - std::string LocationTitle = ""; // Location Title from input File - bool LocationGathered = false; // flag to show if Location exists on Input File (we assume one is there and correct on weather file) + int YearOfSim = 1; // The Present year of Simulation. + int NumDaysInYear = 365; // TODO: removed const from this until leap year behavior is reviewed + int EnvironmentReportNbr = 0; // Report number for the environment stamp + std::string EnvironmentReportChr = ""; // Report number for the environment stamp (character -- for printing) + bool WeatherFileExists = false; // Set to true if a weather file exists + std::string LocationTitle = ""; // Location Title from input File + bool LocationGathered = false; // flag to show if Location exists on Input File (we assume one is there and correct on weather file) + bool keepUserSiteLocationDefinition = false; // flag based on user input to set whether to keep the user site location definition (true) + // or override with the site information given on weather file (false/default) Real64 WeatherFileLatitude = 0.0; Real64 WeatherFileLongitude = 0.0; diff --git a/src/EnergyPlus/ZonePlenum.cc b/src/EnergyPlus/ZonePlenum.cc index bef2827e4df..6c70d8f579b 100644 --- a/src/EnergyPlus/ZonePlenum.cc +++ b/src/EnergyPlus/ZonePlenum.cc @@ -405,7 +405,7 @@ void GetZonePlenumInput(EnergyPlusData &state) ShowContinueError(state, format("Occurs for ReturnPlenum = {}", AlphArray(1))); ErrorsFound = true; } - PIUInducesPlenumAir(state, thisRetPlenum.InducedNode(NodeNum)); + PIUInducesPlenumAir(state, thisRetPlenum.InducedNode(NodeNum), ZonePlenumNum); } } } else { diff --git a/src/EnergyPlus/ZoneTempPredictorCorrector.cc b/src/EnergyPlus/ZoneTempPredictorCorrector.cc index 8e623c63e9f..f8c2f6a60ff 100644 --- a/src/EnergyPlus/ZoneTempPredictorCorrector.cc +++ b/src/EnergyPlus/ZoneTempPredictorCorrector.cc @@ -5146,10 +5146,10 @@ void InverseModelTemperature(EnergyPlusData &state, int ZoneMult = zone.Multiplier * zone.ListMultiplier; zone.ZoneMeasuredTemperature = ScheduleManager::GetCurrentScheduleValue(state, hybridModelZone.ZoneMeasuredTemperatureSchedulePtr); + zone.ZoneVolCapMultpSensHM = 1.0; // Initialize to 1.0 in case hybrid not active // HM calculation only HM calculation period start if (state.dataEnvrn->DayOfYear >= hybridModelZone.HybridStartDayOfYear && state.dataEnvrn->DayOfYear <= hybridModelZone.HybridEndDayOfYear) { - Real64 HMMultiplierAverage(1.0); Real64 MultpHM(1.0); thisZoneHB.ZT = zone.ZoneMeasuredTemperature; // Array1D ZT -- Zone @@ -5248,31 +5248,14 @@ void InverseModelTemperature(EnergyPlusData &state, thisZoneHB.airHumRat) * Psychrometrics::PsyCpAirFnW(thisZoneHB.airHumRat)) * (state.dataGlobal->TimeStepZone * Constant::SecInHour); // Inverse equation - if ((MultpHM < 1.0) || (MultpHM > 30.0)) { // Temperature capacity multiplier greater than - // 1 and less than 30 - MultpHM = 1.0; // Default value 1.0 - } } else { MultpHM = 1.0; // Default value 1.0 } - zone.ZoneVolCapMultpSensHM = MultpHM; // For timestep output - - // Calculate the average multiplier of the zone for the whole running period - { - // count for hybrid model calculations - if (MultpHM > 1.0) { - zone.ZoneVolCapMultpSensHMSum += MultpHM; - zone.ZoneVolCapMultpSensHMCountSum++; - } + processInverseModelMultpHM( + state, MultpHM, zone.ZoneVolCapMultpSensHMSum, zone.ZoneVolCapMultpSensHMCountSum, zone.ZoneVolCapMultpSensHMAverage, ZoneNum); + zone.ZoneVolCapMultpSensHM = MultpHM; - // Calculate and store the multiplier average at the end of HM - // simulations - if (state.dataEnvrn->DayOfYear == hybridModelZone.HybridEndDayOfYear && state.dataGlobal->EndDayFlag) { - HMMultiplierAverage = zone.ZoneVolCapMultpSensHMSum / zone.ZoneVolCapMultpSensHMCountSum; - zone.ZoneVolCapMultpSensHMAverage = HMMultiplierAverage; - } - } } // Hybrid model internal thermal mass calcualtion end // Hybrid model people count calculation @@ -5346,6 +5329,43 @@ void InverseModelTemperature(EnergyPlusData &state, state.dataHeatBalFanSys->PreviousMeasuredZT1(ZoneNum) = thisZoneHB.ZT; } +void processInverseModelMultpHM(EnergyPlusData &state, + Real64 &multiplierHM, // Hybrid model thermal mass multiplier + Real64 &multSumHM, // Sum of Hybrid model thermal mass multipliers + Real64 &countSumHM, // Count of number of points in sum + Real64 &multAvgHM, // Average of hybrid model mass multipier + int zoneNum // Zone number for the hybrid model +) +{ + Real64 constexpr minHMMultValue = 1.0; + Real64 constexpr maxHMMultValue = 30.0; + + auto &zone = state.dataHeatBal->Zone(zoneNum); + auto &thisZoneHB = state.dataZoneTempPredictorCorrector->zoneHeatBalance(zoneNum); + + // Apply limits and generate warnings as needed + if (multiplierHM < minHMMultValue) { // don't allow this to be less than minimum (potential for instability) + multiplierHM = minHMMultValue; + } else if (multiplierHM > maxHMMultValue) { // as per suggestions in Defect #10508, only warn if greater than the max + if (thisZoneHB.hmThermalMassMultErrIndex == 0) { + ShowWarningMessage(state, format("Hybrid model thermal mass multiplier higher than the limit for {}", zone.Name)); + ShowContinueError(state, "This means that the ratio of the zone air heat capacity for the current time step to the"); + ShowContinueError(state, format("zone air heat storage is higher than the maximum limit of {:.1R}.", maxHMMultValue)); + } + ShowRecurringWarningErrorAtEnd( + state, "Hybrid model thermal mass multiplier limit exceeded in zone " + zone.Name, thisZoneHB.hmThermalMassMultErrIndex); + } + + // Update running totals (but only when there is a valid multiplier, i.e. multiplier is greater than min but not higher than the max) + if (multiplierHM > minHMMultValue) { + multSumHM += multiplierHM; + countSumHM++; + } + + // Calculate average (always so that it does get calculated) + if (countSumHM >= 1) multAvgHM = multSumHM / countSumHM; +} + void InverseModelHumidity(EnergyPlusData &state, int const ZoneNum, // Zone number Real64 const LatentGain, // Zone sum of latent gain diff --git a/src/EnergyPlus/ZoneTempPredictorCorrector.hh b/src/EnergyPlus/ZoneTempPredictorCorrector.hh index b226dcddba8..040f1ec5d7a 100644 --- a/src/EnergyPlus/ZoneTempPredictorCorrector.hh +++ b/src/EnergyPlus/ZoneTempPredictorCorrector.hh @@ -221,6 +221,7 @@ namespace ZoneTempPredictorCorrector { Real64 tempDepLoad = 0.0; Real64 airRelHum = 0.0; // Zone relative humidity in percent Real64 AirPowerCap = 0.0; // "air power capacity" Vol*VolMult*rho*Cp/timestep [W/degK] + int hmThermalMassMultErrIndex = 0; virtual ~ZoneSpaceHeatBalanceData() = default; @@ -338,6 +339,14 @@ namespace ZoneTempPredictorCorrector { Real64 AirCap // Formerly CoefAirrat, coef in zone temp eqn with dim of "air power capacity"rd ); + void processInverseModelMultpHM(EnergyPlusData &state, + Real64 &multiplierHM, // Hybrid model thermal mass multiplier + Real64 &multSumHM, // Sum of Hybrid model thermal mass multipliers + Real64 &countSumHM, // Count of number of points in sum + Real64 &multAvgHM, // Average of hybrid model mass multipier + int zoneNum // Zone number for the hybrid model + ); + void InverseModelHumidity(EnergyPlusData &state, int ZoneNum, // Zone number Real64 LatentGain, // Zone sum of latent gain diff --git a/src/EnergyPlus/api/func.cc b/src/EnergyPlus/api/func.cc index c17d244fb16..e8e4b5263b4 100644 --- a/src/EnergyPlus/api/func.cc +++ b/src/EnergyPlus/api/func.cc @@ -61,8 +61,7 @@ void initializeFunctionalAPI(EnergyPlusState state) if (!thisState->dataInputProcessing->inputProcessor) { thisState->dataInputProcessing->inputProcessor = EnergyPlus::InputProcessor::factory(); } - EnergyPlus::Psychrometrics::InitializePsychRoutines(*thisState); - EnergyPlus::FluidProperties::InitializeGlycRoutines(); + thisState->init_state(*thisState); } const char *apiVersionFromEPlus(EnergyPlusState) diff --git a/src/EnergyPlus/main.cc b/src/EnergyPlus/main.cc index 7fe25b07e36..b7ee17b6659 100644 --- a/src/EnergyPlus/main.cc +++ b/src/EnergyPlus/main.cc @@ -54,15 +54,16 @@ #include #endif -int main() +int main(int argc, char **argv) { #ifdef DEBUG_ARITHM_GCC_OR_CLANG feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); #endif - int const argc = CLI::argc(); - const char *const *argv = CLI::argv(); // This is going to use CommandLineToArgvW on Windows and **narrow** from wchar_t to char - +#ifdef _WIN32 + const std::vector args = CLI::detail::compute_win32_argv(); +#else const std::vector args(argv, std::next(argv, static_cast(argc))); +#endif return EnergyPlusPgm(args); } diff --git a/src/Transition/InputRulesFiles/Rules24-1-0-to-24-2-0.md b/src/Transition/InputRulesFiles/Rules24-1-0-to-24-2-0.md index da8d6c52572..dd4cf24cda0 100644 --- a/src/Transition/InputRulesFiles/Rules24-1-0-to-24-2-0.md +++ b/src/Transition/InputRulesFiles/Rules24-1-0-to-24-2-0.md @@ -26,16 +26,16 @@ The alpha/numeric A/N numbers are not as important here. # Object Change: HeatPump:PlantLoop:EIR:Cooling -Insert new field A7 which is also F7, "Heat Recovery Inlet Node Name", defaulted to blank? -Insert new field A8 which is also F8, "Heat Recovery Outlet Node Name", defaulted to blank? -Insert new field N3 which is F12, "Heat Recovery Reference Flow Rate", defaulted to blank for autosize? +Insert new field A7 which is also F7, "Heat Recovery Inlet Node Name", defaulted to blank +Insert new field A8 which is also F8, "Heat Recovery Outlet Node Name", defaulted to blank +Insert new field N3 which is F12, "Heat Recovery Reference Flow Rate", defaulted to blank for autosize There are three new optional heat recovery fields at the end which transition will not add. # Object Change: HeatPump:PlantLoop:EIR:Heating -Insert new field A7 which is also F7, "Heat Recovery Inlet Node Name", defaulted to blank? -Insert new field A8 which is also F8, "Heat Recovery Outlet Node Name", defaulted to blank? -Insert new field N3 which is F12, "Heat Recovery Reference Flow Rate", defaulted to blank for autosize? +Insert new field A7 which is also F7, "Heat Recovery Inlet Node Name", defaulted to blank +Insert new field A8 which is also F8, "Heat Recovery Outlet Node Name", defaulted to blank +Insert new field N3 which is F12, "Heat Recovery Reference Flow Rate", defaulted to blank for autosize There are three new optional heat recovery fields at the end which transition will not add. # Object Change: ObjectStartsWithI diff --git a/src/Transition/OutputRulesFiles/OutputChanges24-1-0-to-24-2-0.md b/src/Transition/OutputRulesFiles/OutputChanges24-1-0-to-24-2-0.md index 4c0be986bee..d4c641ef4f8 100644 --- a/src/Transition/OutputRulesFiles/OutputChanges24-1-0-to-24-2-0.md +++ b/src/Transition/OutputRulesFiles/OutputChanges24-1-0-to-24-2-0.md @@ -42,4 +42,23 @@ These changes will also make corresponding changes in the HTML Intialization Sum ### Adding an Output:Variable, Zone/Space Wetbulb Globe Temperature An output variable will be added at both zone and space level: Zone Wetbulb Globe Temperature, and Space Wetbulb Globe -Temperature \ No newline at end of file +Temperature + +### Update Headers in EIO and existing tabular reports for Equipment Ratings + +EIO updated for the following: + +- The existing 'DX Cooling Coil Standard Rating Information' table was previously reporting ratings for both the 2017 and 2023 ratings defined by AHRI. This is corrected by splitting the report into two tables. +- Existing table: 'DX Cooling Coil Standard Rating Information' -- This table reports Standard Ratings defined in the AHRI standard 210/240-2017 and AHRI standard 340/360-2017. +- New table: 'DX Cooling Coil AHRI 2023 Standard Rating Information' to report updated standard ratings defined in AHRI standard 210/240-2023 and AHRI standard 340/360-2022 + +Headers updated for the following existing tables in the HTML summary report: + +- 'DX Cooling Coil Standard Ratings 2017' +- 'DX Cooling Coil Standard Ratings 2023' + +See Pull Request [#10311](https://github.com/NREL/EnergyPlus/pull/10311) for more detail + +EXTRA NOTE: As a follow-up to this work, the EIO/tabular ratings tables were cleaned up to avoid duplicated table names and mismatches between the word Rating and Rated. +More information can be found in PR [#10597](https://github.com/NREL/EnergyPlus/pull/10597) + \ No newline at end of file diff --git a/testfiles/1ZoneDataCenterCRAC_wApproachTemp.idf b/testfiles/1ZoneDataCenterCRAC_wApproachTemp.idf index 3a6943b2651..ca320551b7d 100644 --- a/testfiles/1ZoneDataCenterCRAC_wApproachTemp.idf +++ b/testfiles/1ZoneDataCenterCRAC_wApproachTemp.idf @@ -1050,6 +1050,8 @@ Output:Variable,*,ITE Standard Density Air Volume Flow Rate,Hourly; Output:Variable,*,ITE Air Mass Flow Rate,Hourly; + Output:Variable,*,Zone ITE Standard Density Air Volume Flow Rate,Hourly; + Output:Variable,*,Zone ITE Air Mass Flow Rate,Hourly; Output:Variable,*,ITE Air Inlet Dry-Bulb Temperature,Hourly; diff --git a/testfiles/5ZoneAirCooledConvCoef_VSFan.idf b/testfiles/5ZoneAirCooledConvCoef_VSFan.idf new file mode 100644 index 00000000000..924fc5209e0 --- /dev/null +++ b/testfiles/5ZoneAirCooledConvCoef_VSFan.idf @@ -0,0 +1,3591 @@ +!-Generator IDFEditor 1.34 +!-Option OriginalOrderTop UseSpecialFormat +!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically. +!- Use '!' comments if they need to be retained when using the IDFEditor. +! 5ZoneAirCooledConvCoef_VSFan.idf +! Basic file description: 1 story building divided into 4 exterior and one interior conditioned zones and return plenum. +! +! Highlights: Illustrates the use of the convection coefficients applied to multiple surfaces object. +! All Exterior Windows use the "MoWitt" correlation. +! Shows how to simulate a relief fan. +! Illustrates the use of PIU terminal units: series & parallel; inducing secondary air from the +! zone and return plenum. +! +! Simulation Location/Run: CHICAGO_IL_USA TMY2-94846, 2 design days, 2 run periods, +! Run Control executes the run periods using the weather file +! +! Location: Chicago, IL +! +! Design Days: CHICAGO_IL_USA Annual Heating 99% Design Conditions DB, MaxDB= -17.3°C +! CHICAGO_IL_USA Annual Cooling 1% Design Conditions, MaxDB= 31.5°C MCWB= 23.0°C +! +! Run Period (Weather File): Winter 1/14, Summer 7/7, CHICAGO_IL_USA TMY2-94846, Standard DST period is used. +! +! Run Control: Zone and System sizing with weather file run control (no design days run) +! +! Building: Single floor rectangular building 100 ft x 50 ft. 5 zones - 4 exterior, 1 interior, zone height 8 feet. +! Exterior zone depth is 12 feet. There is a 2 foot high return plenum: the overall building height is +! 10 feet. There are windows on all 4 facades; the south and north facades have glass doors. +! The south facing glass is shaded by overhangs. The walls are woodshingle over plywood, R11 insulation, +! and gypboard. The roof is a gravel built up roof with R-3 mineral board insulation and plywood sheathing. +! The windows are of various single and double pane construction with 3mm and 6mm glass and either 6mm or +! 13mm argon or air gap. The window to wall ratio is approximately 0.29. +! The south wall and door have overhangs. +! +! The building is oriented 30 degrees east of north. +! +! Floor Area: 463.6 m2 (5000 ft2) +! Number of Stories: 1 +! +! Zone Description Details: +! +! (0,15.2,0) (30.5,15.2,0) +! _____ ________ ____ +! |\ *** **************** /| +! | \ / | +! | \ (26.8,11.6,0) / | +! * \_____________________________/ * +! * |(3.7,11.6,0) | * +! * | | * +! * | | * +! * | (26.8,3.7,0)| * +! * |___________________________| * +! * / (3.7,3.7,0) \ * +! | / \ | +! | / \ | +! |/___******************___***________\| +! | Overhang | | +! |_______________________| | window/door = * +! |___| +! +! (0,0,0) (30.5,0,0) +! +! Internal gains description: lighting is 1.5 watts/ft2, office equip is 1.0 watts/ft2. There is 1 occupant +! per 100 ft2 of floor area. The infiltration is 0.25 air changes per hour. +! +! Interzone Surfaces: 6 interzone surfaces (see diagram) +! Internal Mass: None +! People: 50 +! Lights: 7500 W +! Windows: 4 ea.: 1) Double pane clear, 3mm glass, 13mm air gap +! 2) Double pane clear, 3mm glass, 13mm argon gap +! 3) Double pane clear, 6mm glass, 6mm air gap +! 4) Double pane lowE, 6mm lowE glass outside, 6mm air gap, 6mm clear glass +! +! Doors: 2 ea.: Single pane grey, 3mm glass +! +! Detached Shading: None +! Daylight: None +! Natural Ventilation: None +! Compact Schedules: Yes +! Solar Distribution: FullExterior +! +! HVAC: Standard VAV system with outside air economizer, hot water reheat coils, +! central chilled water cooling coil. Central Plant is single hot water +! boiler, electric compression chiller with air cooled condenser. +! All equipment is autosized. +! +! Zonal Equipment: AirTerminal:SingleDuct:VAV:Reheat +! Central Air Handling Equipment: Yes +! System Equipment Autosize: Yes +! Purchased Cooling: None +! Purchased Heating: None +! Coils: Coil:Cooling:Water, Coil:Heating:Water +! Pumps: Pump:VariableSpeed +! Boilers: Boiler:HotWater +! Chillers: Chiller:Electric +! +! Results: +! Standard Reports: None +! Timestep or Hourly Variables: Hourly +! Time bins Report: None +! HTML Report: None +! Environmental Emissions: None +! Utility Tariffs: None + + Version,24.1; + + Building, + Building, !- Name + 30., !- North Axis {deg} + City, !- Terrain + 0.04, !- Loads Convergence Tolerance Value {W} + 0.4, !- Temperature Convergence Tolerance Value {deltaC} + FullExterior, !- Solar Distribution + 25, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + + Timestep,4; + + SurfaceConvectionAlgorithm:Inside,TARP; + + SurfaceConvectionAlgorithm:Outside,DOE-2; + + SurfaceProperty:ConvectionCoefficients:MultipleSurface, + AllExteriorWindows, !- Surface Type + Outside, !- Convection Coefficient 1 Location + MoWitt; !- Convection Coefficient 1 Type + + HeatBalanceAlgorithm,ConductionTransferFunction; + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + CounterClockWise, !- Vertex Entry Direction + Relative; !- Coordinate System + + ScheduleTypeLimits, + Any Number; !- Name + + ScheduleTypeLimits, + Fraction, !- Name + 0.0, !- Lower Limit Value + 1.0, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + ScheduleTypeLimits, + Temperature, !- Name + -60, !- Lower Limit Value + 200, !- Upper Limit Value + CONTINUOUS, !- Numeric Type + Temperature; !- Unit Type + + ScheduleTypeLimits, + Control Type, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + On/Off, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + FlowRate, !- Name + 0.0, !- Lower Limit Value + 10, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + SimulationControl, + Yes, !- Do Zone Sizing Calculation + Yes, !- Do System Sizing Calculation + Yes, !- Do Plant Sizing Calculation + No, !- Run Simulation for Sizing Periods + Yes, !- Run Simulation for Weather File Run Periods + No, !- Do HVAC Sizing Simulation for Sizing Periods + 1; !- Maximum Number of HVAC Sizing Simulation Passes + + RunPeriod, + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + , !- Begin Year + 12, !- End Month + 31, !- End Day of Month + , !- End Year + Tuesday, !- Day of Week for Start Day + Yes, !- Use Weather File Holidays and Special Days + Yes, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes; !- Use Weather File Snow Indicators + +! RunPeriod, +! Run Period 2, !- Name +! 7, !- Begin Month +! 7, !- Begin Day of Month +! , !- Begin Year +! 7, !- End Month +! 7, !- End Day of Month +! , !- End Year +! Tuesday, !- Day of Week for Start Day +! Yes, !- Use Weather File Holidays and Special Days +! Yes, !- Use Weather File Daylight Saving Period +! No, !- Apply Weekend Holiday Rule +! Yes, !- Use Weather File Rain Indicators +! Yes; !- Use Weather File Snow Indicators + + Site:Location, + CHICAGO_IL_USA_WMO_725300, !- Name + 42.00, !- Latitude {deg} + -87.88, !- Longitude {deg} + -6.00, !- Time Zone {hr} + 190.00; !- Elevation {m} + +! WMO=725300 Time Zone=NAC (GMT-06:00) Central Time (US & Canada) +! Data Source=ASHRAE 2005 Annual Design Conditions + + RunPeriodControl:DaylightSavingTime, + 1st Sunday in April, !- Start Date + Last Sunday in October; !- End Date + +! Using Design Conditions from "Climate Design Data 2005 ASHRAE Handbook" +! CHICAGO_IL_USA Extreme Annual Wind Speeds, 1%=11.2m/s, 2.5%=9.9m/s, 5%=8.7m/s +! CHICAGO_IL_USA Extreme Annual Temperatures, Max Drybulb=35.7°C Min Drybulb=-24.2°C +! CHICAGO_IL_USA Annual Heating Design Conditions Wind Speed=4.9m/s Wind Dir=270 +! Coldest Month=January +! CHICAGO_IL_USA Annual Heating 99%, MaxDB=-17.3°C + + SizingPeriod:DesignDay, + CHICAGO Ann Htg 99% Condns DB, !- Name + 1, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -17.3, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -17.3, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063., !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.00; !- Sky Clearness + +! CHICAGO Annual Cooling Design Conditions Wind Speed=5.3m/s Wind Dir=230 +! Hottest Month=July +! CHICAGO_IL_USA Annual Cooling (DB=>MWB) 1%, MaxDB=31.5°C MWB=23°C + + SizingPeriod:DesignDay, + CHICAGO Ann Clg 1% Condns DB=>MWB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 31.5, !- Maximum Dry-Bulb Temperature {C} + 10.7, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 23, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063., !- Barometric Pressure {Pa} + 5.3, !- Wind Speed {m/s} + 230, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.00; !- Sky Clearness + + Site:GroundTemperature:BuildingSurface,20.03,20.03,20.13,20.30,20.43,20.52,20.62,20.77,20.78,20.55,20.44,20.20; + + Material, + WD10, !- Name + MediumSmooth, !- Roughness + 0.667, !- Thickness {m} + 0.115, !- Conductivity {W/m-K} + 513, !- Density {kg/m3} + 1381, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.78, !- Solar Absorptance + 0.78; !- Visible Absorptance + + Material, + RG01, !- Name + Rough, !- Roughness + 1.2700000E-02, !- Thickness {m} + 1.442000, !- Conductivity {W/m-K} + 881.0000, !- Density {kg/m3} + 1674.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Material, + BR01, !- Name + VeryRough, !- Roughness + 9.4999997E-03, !- Thickness {m} + 0.1620000, !- Conductivity {W/m-K} + 1121.000, !- Density {kg/m3} + 1464.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7000000, !- Solar Absorptance + 0.7000000; !- Visible Absorptance + + Material, + IN46, !- Name + VeryRough, !- Roughness + 7.6200001E-02, !- Thickness {m} + 2.3000000E-02, !- Conductivity {W/m-K} + 24.00000, !- Density {kg/m3} + 1590.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.5000000, !- Solar Absorptance + 0.5000000; !- Visible Absorptance + + Material, + WD01, !- Name + MediumSmooth, !- Roughness + 1.9099999E-02, !- Thickness {m} + 0.1150000, !- Conductivity {W/m-K} + 513.0000, !- Density {kg/m3} + 1381.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7800000, !- Solar Absorptance + 0.7800000; !- Visible Absorptance + + Material, + PW03, !- Name + MediumSmooth, !- Roughness + 1.2700000E-02, !- Thickness {m} + 0.1150000, !- Conductivity {W/m-K} + 545.0000, !- Density {kg/m3} + 1213.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7800000, !- Solar Absorptance + 0.7800000; !- Visible Absorptance + + Material, + IN02, !- Name + Rough, !- Roughness + 9.0099998E-02, !- Thickness {m} + 4.3000001E-02, !- Conductivity {W/m-K} + 10.00000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + GP01, !- Name + MediumSmooth, !- Roughness + 1.2700000E-02, !- Thickness {m} + 0.1600000, !- Conductivity {W/m-K} + 801.0000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + GP02, !- Name + MediumSmooth, !- Roughness + 1.5900001E-02, !- Thickness {m} + 0.1600000, !- Conductivity {W/m-K} + 801.0000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + CC03, !- Name + MediumRough, !- Roughness + 0.1016000, !- Thickness {m} + 1.310000, !- Conductivity {W/m-K} + 2243.000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Material:NoMass, + CP01, !- Name + Rough, !- Roughness + 0.3670000, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material:NoMass, + MAT-SB-U, !- Name + Rough, !- Roughness + 0.117406666, !- Thermal Resistance {m2-K/W} + 0.65, !- Thermal Absorptance + 0.65, !- Solar Absorptance + 0.65; !- Visible Absorptance + + Material:NoMass, + MAT-CLNG-1, !- Name + Rough, !- Roughness + 0.652259290, !- Thermal Resistance {m2-K/W} + 0.65, !- Thermal Absorptance + 0.65, !- Solar Absorptance + 0.65; !- Visible Absorptance + + Material:NoMass, + MAT-FLOOR-1, !- Name + Rough, !- Roughness + 3.522199631, !- Thermal Resistance {m2-K/W} + 0.65, !- Thermal Absorptance + 0.65, !- Solar Absorptance + 0.65; !- Visible Absorptance + + Material:AirGap, + AL21, !- Name + 0.1570000; !- Thermal Resistance {m2-K/W} + + Material:AirGap, + AL23, !- Name + 0.1530000; !- Thermal Resistance {m2-K/W} + + Construction, + ROOF-1, !- Name + RG01, !- Outside Layer + BR01, !- Layer 2 + IN46, !- Layer 3 + WD01; !- Layer 4 + + Construction, + WALL-1, !- Name + WD01, !- Outside Layer + PW03, !- Layer 2 + IN02, !- Layer 3 + GP01; !- Layer 4 + + Construction, + CLNG-1, !- Name + MAT-CLNG-1; !- Outside Layer + + Construction, + FLOOR-SLAB-1, !- Name + CC03; !- Outside Layer + + Construction, + INT-WALL-1, !- Name + GP02, !- Outside Layer + AL21, !- Layer 2 + GP02; !- Layer 3 + + WindowMaterial:Gas, + AIR 6MM, !- Name + Air, !- Gas Type + 0.0063; !- Thickness {m} + + WindowMaterial:Gas, + AIR 13MM, !- Name + Air, !- Gas Type + 0.0127; !- Thickness {m} + + WindowMaterial:Gas, + ARGON 13MM, !- Name + Argon, !- Gas Type + 0.0127; !- Thickness {m} + + WindowMaterial:Glazing, + CLEAR 3MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.003, !- Thickness {m} + 0.837, !- Solar Transmittance at Normal Incidence + 0.075, !- Front Side Solar Reflectance at Normal Incidence + 0.075, !- Back Side Solar Reflectance at Normal Incidence + 0.898, !- Visible Transmittance at Normal Incidence + 0.081, !- Front Side Visible Reflectance at Normal Incidence + 0.081, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.84, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + WindowMaterial:Glazing, + GREY 3MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.003, !- Thickness {m} + 0.626, !- Solar Transmittance at Normal Incidence + 0.061, !- Front Side Solar Reflectance at Normal Incidence + 0.061, !- Back Side Solar Reflectance at Normal Incidence + 0.611, !- Visible Transmittance at Normal Incidence + 0.061, !- Front Side Visible Reflectance at Normal Incidence + 0.061, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.84, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + WindowMaterial:Glazing, + CLEAR 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.006, !- Thickness {m} + 0.775, !- Solar Transmittance at Normal Incidence + 0.071, !- Front Side Solar Reflectance at Normal Incidence + 0.071, !- Back Side Solar Reflectance at Normal Incidence + 0.881, !- Visible Transmittance at Normal Incidence + 0.080, !- Front Side Visible Reflectance at Normal Incidence + 0.080, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.84, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + WindowMaterial:Glazing, + LoE CLEAR 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.006, !- Thickness {m} + 0.600, !- Solar Transmittance at Normal Incidence + 0.170, !- Front Side Solar Reflectance at Normal Incidence + 0.220, !- Back Side Solar Reflectance at Normal Incidence + 0.840, !- Visible Transmittance at Normal Incidence + 0.055, !- Front Side Visible Reflectance at Normal Incidence + 0.078, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.10, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + Construction, + Dbl Clr 3mm/13mm Air, !- Name + CLEAR 3MM, !- Outside Layer + AIR 13MM, !- Layer 2 + CLEAR 3MM; !- Layer 3 + + Construction, + Sgl Grey 3mm, !- Name + GREY 3MM; !- Outside Layer + + Schedule:Compact, + OCCUPY-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.0, !- Field 3 + Until: 11:00,1.00, !- Field 5 + Until: 12:00,0.80, !- Field 7 + Until: 13:00,0.40, !- Field 9 + Until: 14:00,0.80, !- Field 11 + Until: 18:00,1.00, !- Field 13 + Until: 19:00,0.50, !- Field 15 + Until: 21:00,0.10, !- Field 17 + Until: 24:00,0.0, !- Field 19 + For: Weekends WinterDesignDay Holiday, !- Field 21 + Until: 24:00,0.0; !- Field 22 + + Schedule:Compact, + LIGHTS-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.05, !- Field 3 + Until: 9:00,0.9, !- Field 5 + Until: 10:00,0.95, !- Field 7 + Until: 11:00,1.00, !- Field 9 + Until: 12:00,0.95, !- Field 11 + Until: 13:00,0.8, !- Field 13 + Until: 14:00,0.9, !- Field 15 + Until: 18:00,1.00, !- Field 17 + Until: 19:00,0.60, !- Field 19 + Until: 21:00,0.20, !- Field 21 + Until: 24:00,0.05, !- Field 23 + For: Weekends WinterDesignDay Holiday, !- Field 25 + Until: 24:00,0.05; !- Field 26 + + Schedule:Compact, + EQUIP-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.02, !- Field 3 + Until: 9:00,0.4, !- Field 5 + Until: 14:00,0.9, !- Field 7 + Until: 15:00,0.8, !- Field 9 + Until: 16:00,0.7, !- Field 11 + Until: 18:00,0.5, !- Field 13 + Until: 20:00,0.3, !- Field 15 + Until: 24:00,0.02, !- Field 17 + For: Weekends WinterDesignDay Holiday, !- Field 19 + Until: 24:00,0.2; !- Field 20 + + Schedule:Compact, + INFIL-SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 10/31, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,0.0, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,1.0; !- Field 11 + + Schedule:Compact, + ActSchd, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,117.239997864; !- Field 3 + + !- Field 4 + + Schedule:Compact, + ShadeTransSch, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.0; !- Field 3 + + Zone, + PLENUM-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 0.609600067, !- Ceiling Height {m} + 283.2; !- Volume {m3} + + BuildingSurface:Detailed, + WALL-1PF, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PR, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,3.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PB, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PL, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TOP-1, !- Name + ROOF, !- Surface Type + ROOF-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.00000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,3.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,3.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C1-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C1-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C2-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C2-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C3-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C3-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C4-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C4-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C5-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C5-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE1-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 239.247360229; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE1-1 Infil 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.0167, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE1-1 People 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 11, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE1-1 Lights 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 1584, !- Lighting Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE1-1 ElecEq 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 1056, !- Design Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + FRONT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WF-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + FRONT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 3.0,0.0,2.1, !- X,Y,Z ==> Vertex 1 {m} + 3.0,0.0,0.9, !- X,Y,Z ==> Vertex 2 {m} + 16.8,0.0,0.9, !- X,Y,Z ==> Vertex 3 {m} + 16.8,0.0,2.1; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + DF-1, !- Name + GLASSDOOR, !- Surface Type + Sgl Grey 3mm, !- Construction Name + FRONT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 21.3,0.0,2.1, !- X,Y,Z ==> Vertex 1 {m} + 21.3,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 23.8,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 23.8,0.0,2.1; !- X,Y,Z ==> Vertex 4 {m} + + Shading:Zone:Detailed, + Main South Overhang, !- Name + FRONT-1, !- Base Surface Name + ShadeTransSch, !- Transmittance Schedule Name + 4, !- Number of Vertices + 0.0,-1.3,2.2, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.2, !- X,Y,Z ==> Vertex 2 {m} + 19.8,0.0,2.2, !- X,Y,Z ==> Vertex 3 {m} + 19.8,-1.3,2.2; !- X,Y,Z ==> Vertex 4 {m} + + Shading:Zone:Detailed, + South Door Overhang, !- Name + FRONT-1, !- Base Surface Name + ShadeTransSch, !- Transmittance Schedule Name + 4, !- Number of Vertices + 21.0,-2.0,2.6, !- X,Y,Z ==> Vertex 1 {m} + 21.0,0.0,2.6, !- X,Y,Z ==> Vertex 2 {m} + 24.1,0.0,2.6, !- X,Y,Z ==> Vertex 3 {m} + 24.1,-2.0,2.6; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C1-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C1-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F1-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB12, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB21, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB14, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB41, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB15, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB51, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE2-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 103.311355591; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE2-1 Infil 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.00717, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE2-1 People 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 5, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE2-1 Lights 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 684, !- Lighting Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE2-1 ElecEq 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 456, !- Design Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + RIGHT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WR-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + RIGHT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 30.5,3.8,2.1, !- X,Y,Z ==> Vertex 1 {m} + 30.5,3.8,0.9, !- X,Y,Z ==> Vertex 2 {m} + 30.5,11.4,0.9, !- X,Y,Z ==> Vertex 3 {m} + 30.5,11.4,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C2-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C2-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F2-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB21, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB12, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB23, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB32, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB25, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB52, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE3-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 239.247360229; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE3-1 Infil 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.0167, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE3-1 People 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 11, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE3-1 Lights 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 1584, !- Lighting Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE3-1 ElecEq 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 1056, !- Design Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + BACK-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WB-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + BACK-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 27.4,15.2,2.1, !- X,Y,Z ==> Vertex 1 {m} + 27.4,15.2,0.9, !- X,Y,Z ==> Vertex 2 {m} + 13.7,15.2,0.9, !- X,Y,Z ==> Vertex 3 {m} + 13.7,15.2,2.1; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + DB-1, !- Name + GLASSDOOR, !- Surface Type + Sgl Grey 3mm, !- Construction Name + BACK-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 9.1,15.2,2.1, !- X,Y,Z ==> Vertex 1 {m} + 9.1,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 7.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 7.0,15.2,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C3-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C3-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F3-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB32, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB23, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB34, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB43, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB35, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB53, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE4-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 103.311355591; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE4-1 Infil 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.00717, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE4-1 People 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 5, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE4-1 Lights 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 684, !- Lighting Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE4-1 ElecEq 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 0, !- Design Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + LEFT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WL-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + LEFT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 0.0,11.4,2.1, !- X,Y,Z ==> Vertex 1 {m} + 0.0,11.4,0.9, !- X,Y,Z ==> Vertex 2 {m} + 0.0,3.8,0.9, !- X,Y,Z ==> Vertex 3 {m} + 0.0,3.8,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C4-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C4-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F4-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB41, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB14, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB43, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB34, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB45, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Adiabatic, !- Outside Boundary Condition + SB54, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE5-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 447.682556152; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE5-1 Infil 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.031089, !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + , !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE5-1 People 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 20, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE5-1 Lights 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 2964, !- Lighting Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE5-1 ElecEq 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 5976, !- Design Level {W} + , !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + C5-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C5-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F5-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB51, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB15, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB52, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB25, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB53, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB35, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB54, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Adiabatic, !- Outside Boundary Condition + SB45, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Sizing:Parameters, + 1.3, !- Heating Sizing Factor + 1.3, !- Cooling Sizing Factor + ; !- Timesteps in Averaging Window + + Sizing:Zone, + SPACE1-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE1-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + , !- Zone Load Sizing Method + , !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + , !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + , !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + ; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE1-1, !- Name + flow/person, !- Outdoor Air Method + 0.00944, !- Outdoor Air Flow per Person {m3/s-person} + 0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE2-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE2-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + , !- Zone Load Sizing Method + , !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + , !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + , !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + ; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE2-1, !- Name + flow/person, !- Outdoor Air Method + 0.00944, !- Outdoor Air Flow per Person {m3/s-person} + 0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE3-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE3-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + , !- Zone Load Sizing Method + , !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + , !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + , !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + ; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE3-1, !- Name + flow/person, !- Outdoor Air Method + 0.00944, !- Outdoor Air Flow per Person {m3/s-person} + 0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE4-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE4-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + , !- Zone Load Sizing Method + , !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + , !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + , !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + ; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE4-1, !- Name + flow/person, !- Outdoor Air Method + 0.00944, !- Outdoor Air Flow per Person {m3/s-person} + 0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE5-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE5-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + , !- Zone Load Sizing Method + , !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + , !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + , !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + ; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE5-1, !- Name + flow/person, !- Outdoor Air Method + 0.00944, !- Outdoor Air Flow per Person {m3/s-person} + 0.0, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:System, + VAV Sys 1, !- AirLoop Name + sensible, !- Type of Load to Size On + autosize, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Central Heating Maximum System Air Flow Ratio + 7.0, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 11.0, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8, !- Central Cooling Design Supply Air Temperature {C} + 16.7, !- Central Heating Design Supply Air Temperature {C} + noncoincident, !- Type of Zone Sum to Use + no, !- 100% Outdoor Air in Cooling + no, !- 100% Outdoor Air in Heating + 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Supply Air Flow Rate Method + 0, !- Cooling Supply Air Flow Rate {m3/s} + , !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2} + , !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate + , !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + DesignDay, !- Heating Supply Air Flow Rate Method + 0, !- Heating Supply Air Flow Rate {m3/s} + , !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2} + , !- Heating Fraction of Autosized Heating Supply Air Flow Rate + , !- Heating Fraction of Autosized Cooling Supply Air Flow Rate + , !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + , !- System Outdoor Air Method + 1.0, !- Zone Maximum Outdoor Air Fraction {dimensionless} + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Heating Design Capacity + VAV; !- Central Cooling Capacity Control Method + + Sizing:Plant, + Hot Water Loop, !- Plant or Condenser Loop Name + heating, !- Loop Type + 82., !- Design Loop Exit Temperature {C} + 11; !- Loop Design Temperature Difference {deltaC} + + Sizing:Plant, + Chilled Water Loop, !- Plant or Condenser Loop Name + cooling, !- Loop Type + 7.22, !- Design Loop Exit Temperature {C} + 6.67; !- Loop Design Temperature Difference {deltaC} + + Schedule:Compact, + Htg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,12.8, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,21.1, !- Field 6 + For: WeekDays, !- Field 8 + Until: 7:00,12.8, !- Field 9 + Until: 18:00,21.1, !- Field 11 + Until: 24:00,12.8, !- Field 13 + For: WeekEnds Holiday, !- Field 15 + Until: 7:00,12.8, !- Field 16 + Until: 13:00,21.1, !- Field 18 + Until: 24:00,12.8, !- Field 20 + For: AllOtherDays, !- Field 22 + Until: 7:00,12.8, !- Field 23 + Until: 18:00,21.1, !- Field 25 + Until: 24:00,12.8; !- Field 27 + + Schedule:Compact, + PlenumHtg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,12.8; !- Field 3 + + Schedule:Compact, + Clg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,23.9, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,40.0, !- Field 6 + For: WeekDays, !- Field 8 + Until: 7:00,40.0, !- Field 9 + Until: 18:00,23.9, !- Field 11 + Until: 24:00,40.0, !- Field 13 + For: WeekEnds Holiday, !- Field 15 + Until: 7:00,40.0, !- Field 16 + Until: 13:00,23.9, !- Field 18 + Until: 24:00,32.2, !- Field 20 + For: AllOtherDays, !- Field 22 + Until: 7:00,40.0, !- Field 23 + Until: 18:00,23.9, !- Field 25 + Until: 24:00,40.0; !- Field 27 + + Schedule:Compact, + PlenumClg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,40.0; !- Field 3 + + Schedule:Compact, + Zone Control Type Sched, !- Name + Control Type, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,2, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,1, !- Field 6 + For: AllOtherDays, !- Field 8 + Until: 24:00,4; !- Field 9 + + Schedule:Compact, + Min OA Sched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays, !- Field 2 + Until: 6:00,0.02, !- Field 3 + Until: 18:00,1.0, !- Field 5 + Until: 24:00,0.02, !- Field 7 + For: AllOtherDays, !- Field 9 + Until: 24:00,0.02; !- Field 10 + + Schedule:Compact, + FanAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 9/30, !- Field 5 + For: WeekDays, !- Field 6 + Until: 7:00,0.0, !- Field 7 + Until: 17:00,1.0, !- Field 9 + Until: 24:00,0.0, !- Field 11 + For: SummerDesignDay WinterDesignDay, !- Field 13 + Until: 24:00,1.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0, !- Field 17 + Through: 12/31, !- Field 19 + For: AllDays, !- Field 20 + Until: 24:00,1.0; !- Field 21 + + Schedule:Compact, + CoolingCoilAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.0, !- Field 3 + Through: 9/30, !- Field 5 + For: WeekDays, !- Field 6 + Until: 7:00,0.0, !- Field 7 + Until: 17:00,1.0, !- Field 9 + Until: 24:00,0.0, !- Field 11 + For: SummerDesignDay WinterDesignDay, !- Field 13 + Until: 24:00,1.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0, !- Field 17 + Through: 12/31, !- Field 19 + For: AllDays, !- Field 20 + Until: 24:00,0.0; !- Field 21 + + Schedule:Compact, + CoolingPumpAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.0, !- Field 3 + Through: 9/30, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,1.0, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,0.0; !- Field 11 + + Schedule:Compact, + ReheatCoilAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 9/30, !- Field 5 + For: WeekDays, !- Field 6 + Until: 7:00,0.0, !- Field 7 + Until: 17:00,1.0, !- Field 9 + Until: 24:00,0.0, !- Field 11 + For: SummerDesignDay WinterDesignDay, !- Field 13 + Until: 24:00,1.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0, !- Field 17 + Through: 12/31, !- Field 19 + For: AllDays, !- Field 20 + Until: 24:00,1.0; !- Field 21 + + Schedule:Compact, + CW Loop Temp Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,7.22; !- Field 3 + + Schedule:Compact, + HW Loop Temp Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,82; !- Field 3 + + Schedule:Compact, + PlantOnSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0; !- Field 3 + + Schedule:Compact, + Seasonal Reset Supply Air Temp Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,16.0, !- Field 3 + Through: 9/30, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,13.0, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,16.0; !- Field 11 + + OutdoorAir:NodeList, + OutsideAirInletNodes; !- Node or NodeList Name 1 + + NodeList, + OutsideAirInletNodes, !- Name + Outside Air Inlet Node 1;!- Node 1 Name + + ZoneHVAC:EquipmentConnections, + SPACE1-1, !- Zone Name + SPACE1-1 Eq, !- Zone Conditioning Equipment List Name + SPACE1-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE1-1 Node, !- Zone Air Node Name + SPACE1-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE2-1, !- Zone Name + SPACE2-1 Eq, !- Zone Conditioning Equipment List Name + SPACE2-1 In Node, !- Zone Air Inlet Node or NodeList Name + SPACE2-1 Exhausts, !- Zone Air Exhaust Node or NodeList Name + SPACE2-1 Node, !- Zone Air Node Name + SPACE2-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE3-1, !- Zone Name + SPACE3-1 Eq, !- Zone Conditioning Equipment List Name + SPACE3-1 In Node, !- Zone Air Inlet Node or NodeList Name + SPACE3-1 Exhausts, !- Zone Air Exhaust Node or NodeList Name + SPACE3-1 Node, !- Zone Air Node Name + SPACE3-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE4-1, !- Zone Name + SPACE4-1 Eq, !- Zone Conditioning Equipment List Name + SPACE4-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE4-1 Node, !- Zone Air Node Name + SPACE4-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE5-1, !- Zone Name + SPACE5-1 Eq, !- Zone Conditioning Equipment List Name + SPACE5-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE5-1 Node, !- Zone Air Node Name + SPACE5-1 Out Node; !- Zone Return Air Node or NodeList Name + + NodeList, + SPACE2-1 Exhausts, !- Name + SPACE2-1 ATU Sec Node; !- Node 1 Name + + NodeList, + SPACE3-1 Exhausts, !- Name + SPACE3-1 ATU Sec Node; !- Node 1 Name + + ZoneControl:Thermostat, + SPACE1-1 Control, !- Name + SPACE1-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE2-1 Control, !- Name + SPACE2-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE3-1 Control, !- Name + SPACE3-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE4-1 Control, !- Name + SPACE4-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE5-1 Control, !- Name + SPACE5-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ThermostatSetpoint:SingleHeating, + HeatingSetpoint, !- Name + Htg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleCooling, + CoolingSetpoint, !- Name + Clg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleHeating, + PlenumHeatingSetpoint, !- Name + PlenumHtg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleCooling, + PlenumCoolingSetpoint, !- Name + PlenumClg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + DualSetPoint, !- Name + Htg-SetP-Sch, !- Heating Setpoint Temperature Schedule Name + Clg-SetP-Sch; !- Cooling Setpoint Temperature Schedule Name + + ZoneHVAC:EquipmentList, + SPACE1-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE1-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE2-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE2-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE3-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE3-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE4-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE4-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE5-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE5-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:AirDistributionUnit, + SPACE1-1 ATU, !- Name + SPACE1-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:SeriesPIU:Reheat, !- Air Terminal Object Type + SPACE1-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE2-1 ATU, !- Name + SPACE2-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:ParallelPIU:Reheat, !- Air Terminal Object Type + SPACE2-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE3-1 ATU, !- Name + SPACE3-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:SeriesPIU:Reheat, !- Air Terminal Object Type + SPACE3-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE4-1 ATU, !- Name + SPACE4-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:ParallelPIU:Reheat, !- Air Terminal Object Type + SPACE4-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE5-1 ATU, !- Name + SPACE5-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:ConstantVolume:Reheat, !- Air Terminal Object Type + SPACE5-1 CV Reheat; !- Air Terminal Name + + AirTerminal:SingleDuct:SeriesPIU:Reheat, + SPACE1-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- Maximum Air Flow Rate {m3/s} + autosize, !- Maximum Primary Air Flow Rate {m3/s} + autosize, !- Minimum Primary Air Flow Fraction + SPACE1-1 ATU In Node, !- Supply Air Inlet Node Name + SPACE1-1 ATU Sec Node, !- Secondary Air Inlet Node Name + SPACE1-1 In Node, !- Outlet Node Name + SPACE1-1 Zone Coil Air In Node, !- Reheat Coil Air Inlet Node Name + SPACE1-1 PIU Mixer, !- Zone Mixer Name + SPACE1-1 PIU Fan, !- Fan Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE1-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + 0.0001, !- Convergence Tolerance + VariableSpeed, + 0.5, + Modulated, + , + ; + + Fan:SystemModel, + SPACE1-1 PIU Fan, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE1-1 ATU Fan Inlet Node, !- Air Inlet Node Name + SPACE1-1 Zone Coil Air In Node, !- Air Outlet Node Name + AUTOSIZE, !- Design Maximum Air Flow Rate {m3/s} + Continuous, !- Speed Control Method + 0.0, !- Electric Power Minimum Flow Rate Fraction + 50.0, !- Design Pressure Rise {Pa} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Air Stream Fraction + AUTOSIZE, !- Design Electric Power Consumption {W} + TotalEfficiencyAndPressure, !- Design Power Sizing Method + , !- Electric Power Per Unit Flow Rate {W/(m3/s)} + , !- Electric Power Per Unit Flow Rate Per Unit Pressure {W/((m3/s)-Pa)} + 0.50, !- Fan Total Efficiency + CombinedPowerAndFanEff; !- Electric Power Function of Flow Fraction Curve Name + + Curve:Cubic, + CombinedPowerAndFanEff, !- Name + 0.0, !- Coefficient1 Constant + 0.027411, !- Coefficient2 x + 0.008740, !- Coefficient3 x**2 + 0.969563, !- Coefficient4 x**3 + 0.5, !- Minimum Value of x + 1.5, !- Maximum Value of x + 0.01, !- Minimum Curve Output + 1.5; !- Maximum Curve Output + + AirLoopHVAC:ZoneMixer, + SPACE1-1 PIU Mixer, !- Name + SPACE1-1 ATU Fan Inlet Node, !- Outlet Node Name + SPACE1-1 ATU In Node, !- Inlet 1 Node Name + SPACE1-1 ATU Sec Node; !- Inlet 2 Node Name + + Coil:Heating:Water, + SPACE1-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE1-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE1-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE1-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE1-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + AirTerminal:SingleDuct:ParallelPIU:Reheat, + SPACE2-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- Maximum Primary Air Flow Rate {m3/s} + autosize, !- Maximum Secondary Air Flow Rate {m3/s} + autosize, !- Minimum Primary Air Flow Fraction + 0, !- Fan On Flow Fraction + SPACE2-1 ATU In Node, !- Supply Air Inlet Node Name + SPACE2-1 ATU Sec Node, !- Secondary Air Inlet Node Name + SPACE2-1 In Node, !- Outlet Node Name + SPACE2-1 Zone Coil Air In Node, !- Reheat Coil Air Inlet Node Name + SPACE2-1 PIU Mixer, !- Zone Mixer Name + SPACE2-1 PIU Fan, !- Fan Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE2-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + 0.0001, !- Convergence Tolerance + VariableSpeed, + 0.3, + Modulated, + , + ; + + Fan:SystemModel, + SPACE2-1 PIU Fan, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE2-1 ATU Sec Node, !- Air Inlet Node Name + SPACE2-1 ATU Fan Outlet Node, !- Air Outlet Node Name + AUTOSIZE, !- Design Maximum Air Flow Rate {m3/s} + Continuous, !- Speed Control Method + 0.0, !- Electric Power Minimum Flow Rate Fraction + 50.0, !- Design Pressure Rise {Pa} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Air Stream Fraction + AUTOSIZE, !- Design Electric Power Consumption {W} + TotalEfficiencyAndPressure, !- Design Power Sizing Method + , !- Electric Power Per Unit Flow Rate {W/(m3/s)} + , !- Electric Power Per Unit Flow Rate Per Unit Pressure {W/((m3/s)-Pa)} + 0.50, !- Fan Total Efficiency + CombinedPowerAndFanEff; !- Electric Power Function of Flow Fraction Curve Name + + AirLoopHVAC:ZoneMixer, + SPACE2-1 PIU Mixer, !- Name + SPACE2-1 Zone Coil Air In Node, !- Outlet Node Name + SPACE2-1 ATU In Node, !- Inlet 1 Node Name + SPACE2-1 ATU Fan Outlet Node; !- Inlet 2 Node Name + + Coil:Heating:Water, + SPACE2-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE2-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE2-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE2-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE2-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + AirTerminal:SingleDuct:SeriesPIU:Reheat, + SPACE3-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- Maximum Air Flow Rate {m3/s} + autosize, !- Maximum Primary Air Flow Rate {m3/s} + autosize, !- Minimum Primary Air Flow Fraction + SPACE3-1 ATU In Node, !- Supply Air Inlet Node Name + SPACE3-1 ATU Sec Node, !- Secondary Air Inlet Node Name + SPACE3-1 In Node, !- Outlet Node Name + SPACE3-1 Zone Coil Air In Node, !- Reheat Coil Air Inlet Node Name + SPACE3-1 PIU Mixer, !- Zone Mixer Name + SPACE3-1 PIU Fan, !- Fan Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE3-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + 0.0001, !- Convergence Tolerance + VariableSpeed, + 0.5, + Staged, + , + ; + + Fan:SystemModel, + SPACE3-1 PIU Fan, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE3-1 ATU Fan Inlet Node, !- Air Inlet Node Name + SPACE3-1 Zone Coil Air In Node, !- Air Outlet Node Name + AUTOSIZE, !- Design Maximum Air Flow Rate {m3/s} + Continuous, !- Speed Control Method + 0.0, !- Electric Power Minimum Flow Rate Fraction + 50.0, !- Design Pressure Rise {Pa} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Air Stream Fraction + AUTOSIZE, !- Design Electric Power Consumption {W} + TotalEfficiencyAndPressure, !- Design Power Sizing Method + , !- Electric Power Per Unit Flow Rate {W/(m3/s)} + , !- Electric Power Per Unit Flow Rate Per Unit Pressure {W/((m3/s)-Pa)} + 0.50, !- Fan Total Efficiency + CombinedPowerAndFanEff; !- Electric Power Function of Flow Fraction Curve Name + + AirLoopHVAC:ZoneMixer, + SPACE3-1 PIU Mixer, !- Name + SPACE3-1 ATU Fan Inlet Node, !- Outlet Node Name + SPACE3-1 ATU In Node, !- Inlet 1 Node Name + SPACE3-1 ATU Sec Node; !- Inlet 2 Node Name + + Coil:Heating:Water, + SPACE3-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE3-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE3-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE3-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE3-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + AirTerminal:SingleDuct:ParallelPIU:Reheat, + SPACE4-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- Maximum Primary Air Flow Rate {m3/s} + autosize, !- Maximum Secondary Air Flow Rate {m3/s} + autosize, !- Minimum Primary Air Flow Fraction + 0, !- Fan On Flow Fraction + SPACE4-1 ATU In Node, !- Supply Air Inlet Node Name + SPACE4-1 ATU Sec Node, !- Secondary Air Inlet Node Name + SPACE4-1 In Node, !- Outlet Node Name + SPACE4-1 Zone Coil Air In Node, !- Reheat Coil Air Inlet Node Name + SPACE4-1 PIU Mixer, !- Zone Mixer Name + SPACE4-1 PIU Fan, !- Fan Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE4-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + 0.0001, !- Convergence Tolerance + VariableSpeed, + 0.3, + Staged, + , + ; + + Fan:SystemModel, + SPACE4-1 PIU Fan, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE4-1 ATU Sec Node, !- Air Inlet Node Name + SPACE4-1 ATU Fan Outlet Node, !- Air Outlet Node Name + AUTOSIZE, !- Design Maximum Air Flow Rate {m3/s} + Continuous, !- Speed Control Method + 0.0, !- Electric Power Minimum Flow Rate Fraction + 50.0, !- Design Pressure Rise {Pa} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Air Stream Fraction + AUTOSIZE, !- Design Electric Power Consumption {W} + TotalEfficiencyAndPressure, !- Design Power Sizing Method + , !- Electric Power Per Unit Flow Rate {W/(m3/s)} + , !- Electric Power Per Unit Flow Rate Per Unit Pressure {W/((m3/s)-Pa)} + 0.50, !- Fan Total Efficiency + CombinedPowerAndFanEff; !- Electric Power Function of Flow Fraction Curve Name + + AirLoopHVAC:ZoneMixer, + SPACE4-1 PIU Mixer, !- Name + SPACE4-1 Zone Coil Air In Node, !- Outlet Node Name + SPACE4-1 ATU In Node, !- Inlet 1 Node Name + SPACE4-1 ATU Fan Outlet Node; !- Inlet 2 Node Name + + Coil:Heating:Water, + SPACE4-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE4-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE4-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE4-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE4-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + AirTerminal:SingleDuct:ConstantVolume:Reheat, + SPACE5-1 CV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE5-1 In Node, !- Air Outlet Node Name + SPACE5-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE5-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + 0.0001, !- Convergence Tolerance + 35.; !- Maximum Reheat Air Temperature {C} + + Coil:Heating:Water, + SPACE5-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE5-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE5-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE5-1 ATU In Node, !- Air Inlet Node Name + SPACE5-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + AirLoopHVAC:ReturnPath, + ReturnAirPath1, !- Name + PLENUM-1 Out Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ReturnPlenum,!- Component 1 Object Type + Return-Plenum-1; !- Component 1 Name + + AirLoopHVAC:ReturnPlenum, + Return-Plenum-1, !- Name + PLENUM-1, !- Zone Name + PLENUM-1 Node, !- Zone Node Name + PLENUM-1 Out Node, !- Outlet Node Name + PLENUM-1 Induced Air Nodes, !- Induced Air Outlet Node or NodeList Name + SPACE1-1 Out Node, !- Inlet 1 Node Name + SPACE2-1 Out Node, !- Inlet 2 Node Name + SPACE3-1 Out Node, !- Inlet 3 Node Name + SPACE4-1 Out Node, !- Inlet 4 Node Name + SPACE5-1 Out Node; !- Inlet 5 Node Name + + NodeList, + PLENUM-1 Induced Air Nodes, !- Name + SPACE1-1 ATU Sec Node, !- Node 1 Name + SPACE4-1 ATU SEC NODE; !- Node 2 Name + + AirLoopHVAC:SupplyPath, + Zone Supply Air Path 1, !- Name + Zone Eq In Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + Zone Supply Air Splitter 1; !- Component 1 Name + + AirLoopHVAC:ZoneSplitter, + Zone Supply Air Splitter 1, !- Name + Zone Eq In Node, !- Inlet Node Name + SPACE1-1 ATU In Node, !- Outlet 1 Node Name + SPACE2-1 ATU In Node, !- Outlet 2 Node Name + SPACE3-1 ATU In Node, !- Outlet 3 Node Name + SPACE4-1 ATU In Node, !- Outlet 4 Node Name + SPACE5-1 ATU In Node; !- Outlet 5 Node Name + + AirLoopHVAC, + VAV Sys 1, !- Name + VAV Sys 1 Controllers, !- Controller List Name + VAV Sys 1 Avail List, !- Availability Manager List Name + autosize, !- Design Supply Air Flow Rate {m3/s} + VAV Sys 1 Branches, !- Branch List Name + , !- Connector List Name + VAV Sys 1 Inlet Node, !- Supply Side Inlet Node Name + PLENUM-1 Out Node, !- Demand Side Outlet Node Name + Zone Eq In Node, !- Demand Side Inlet Node Names + VAV Sys 1 Outlet Node; !- Supply Side Outlet Node Names + + AirLoopHVAC:ControllerList, + VAV Sys 1 Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + Central Cooling Coil Contoller 1, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + Central Heating Coil Contoller 1; !- Controller 2 Name + + AvailabilityManagerAssignmentList, + VAV Sys 1 Avail List, !- Name + AvailabilityManager:Scheduled, !- Availability Manager 1 Object Type + VAV Sys 1 Avail; !- Availability Manager 1 Name + + AvailabilityManager:Scheduled, + VAV Sys 1 Avail, !- Name + FanAvailSched; !- Schedule Name + + BranchList, + VAV Sys 1 Branches, !- Name + VAV Sys 1 Main Branch; !- Branch 1 Name + + Branch, + VAV Sys 1 Main Branch, !- Name + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + OA Sys 1, !- Component 1 Name + VAV Sys 1 Inlet Node, !- Component 1 Inlet Node Name + Mixed Air Node 1, !- Component 1 Outlet Node Name + Coil:Cooling:Water, !- Component 2 Object Type + Main Cooling Coil 1, !- Component 2 Name + Mixed Air Node 1, !- Component 2 Inlet Node Name + Main Cooling Coil 1 Outlet Node, !- Component 2 Outlet Node Name + Coil:Heating:Water, !- Component 3 Object Type + Main Heating Coil 1, !- Component 3 Name + Main Cooling Coil 1 Outlet Node, !- Component 3 Inlet Node Name + Main Heating Coil 1 Outlet Node, !- Component 3 Outlet Node Name + Fan:VariableVolume, !- Component 4 Object Type + Supply Fan 1, !- Component 4 Name + Main Heating Coil 1 Outlet Node, !- Component 4 Inlet Node Name + VAV Sys 1 Outlet Node; !- Component 4 Outlet Node Name + + AirLoopHVAC:OutdoorAirSystem, + OA Sys 1, !- Name + OA Sys 1 Controllers, !- Controller List Name + OA Sys 1 Equipment; !- Outdoor Air Equipment List Name + + AirLoopHVAC:ControllerList, + OA Sys 1 Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + OA Controller 1; !- Controller 1 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + OA Sys 1 Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + OA Mixing Box 1, !- Component 1 Name + Fan:VariableVolume, !- Component 2 Object Type + Relief Fan 1; !- Component 2 Name + + OutdoorAir:Mixer, + OA Mixing Box 1, !- Name + Mixed Air Node 1, !- Mixed Air Node Name + Outside Air Inlet Node 1,!- Outdoor Air Stream Node Name + Relief Air Outlet Node 1,!- Relief Air Stream Node Name + VAV Sys 1 Inlet Node; !- Return Air Stream Node Name + + Coil:Cooling:Water, + Main Cooling Coil 1, !- Name + CoolingCoilAvailSched, !- Availability Schedule Name + autosize, !- Design Water Flow Rate {m3/s} + autosize, !- Design Air Flow Rate {m3/s} + autosize, !- Design Inlet Water Temperature {C} + autosize, !- Design Inlet Air Temperature {C} + autosize, !- Design Outlet Air Temperature {C} + autosize, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + autosize, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + Main Cooling Coil 1 Water Inlet Node, !- Water Inlet Node Name + Main Cooling Coil 1 Water Outlet Node, !- Water Outlet Node Name + Mixed Air Node 1, !- Air Inlet Node Name + Main Cooling Coil 1 Outlet Node, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + + Coil:Heating:Water, + Main Heating Coil 1, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + Main Heating Coil 1 Water Inlet Node, !- Water Inlet Node Name + Main Heating Coil 1 Water Outlet Node, !- Water Outlet Node Name + Main Cooling Coil 1 Outlet Node, !- Air Inlet Node Name + Main Heating Coil 1 Outlet Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Fan:VariableVolume, + Supply Fan 1, !- Name + FanAvailSched, !- Availability Schedule Name + 0.7, !- Fan Total Efficiency + 600.0, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + Fraction, !- Fan Power Minimum Flow Rate Input Method + 0.25, !- Fan Power Minimum Flow Fraction + , !- Fan Power Minimum Air Flow Rate {m3/s} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.35071223, !- Fan Power Coefficient 1 + 0.30850535, !- Fan Power Coefficient 2 + -0.54137364, !- Fan Power Coefficient 3 + 0.87198823, !- Fan Power Coefficient 4 + 0.000, !- Fan Power Coefficient 5 + Main Heating Coil 1 Outlet Node, !- Air Inlet Node Name + VAV Sys 1 Outlet Node; !- Air Outlet Node Name + + Fan:VariableVolume, + Relief Fan 1, !- Name + FanAvailSched, !- Availability Schedule Name + 0.7, !- Fan Total Efficiency + 125, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + Fraction, !- Fan Power Minimum Flow Rate Input Method + 0.25, !- Fan Power Minimum Flow Fraction + , !- Fan Power Minimum Air Flow Rate {m3/s} + 0.9, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + 0.35071223, !- Fan Power Coefficient 1 + 0.30850535, !- Fan Power Coefficient 2 + -.54137364, !- Fan Power Coefficient 3 + 0.87198823, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + Relief Air Outlet Node 1,!- Air Inlet Node Name + Relief Fan Air Outlet Node 1; !- Air Outlet Node Name + + Controller:WaterCoil, + Central Cooling Coil Contoller 1, !- Name + Temperature, !- Control Variable + Reverse, !- Action + FLOW, !- Actuator Variable + Main Cooling Coil 1 Outlet Node, !- Sensor Node Name + Main Cooling Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:OutdoorAir, + OA Controller 1, !- Name + Relief Air Outlet Node 1,!- Relief Air Outlet Node Name + VAV Sys 1 Inlet Node, !- Return Air Node Name + Mixed Air Node 1, !- Mixed Air Node Name + Outside Air Inlet Node 1,!- Actuator Node Name + autosize, !- Minimum Outdoor Air Flow Rate {m3/s} + autosize, !- Maximum Outdoor Air Flow Rate {m3/s} + FixedDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 19., !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + 4., !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + Min OA Sched; !- Minimum Outdoor Air Schedule Name + + Controller:WaterCoil, + Central Heating Coil Contoller 1, !- Name + Temperature, !- Control Variable + Normal, !- Action + FLOW, !- Actuator Variable + Main Heating Coil 1 Outlet Node, !- Sensor Node Name + Main Heating Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + SetpointManager:Scheduled, + Supply Air Temp Manager 1, !- Name + Temperature, !- Control Variable + Seasonal Reset Supply Air Temp Sch, !- Schedule Name + VAV Sys 1 Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + Mixed Air Temp Manager 1,!- Name + Temperature, !- Control Variable + VAV Sys 1 Outlet Node, !- Reference Setpoint Node Name + Main Heating Coil 1 Outlet Node, !- Fan Inlet Node Name + VAV Sys 1 Outlet Node, !- Fan Outlet Node Name + Main Branch SetPoint Node List; !- Setpoint Node or NodeList Name + + NodeList, + Main Branch SetPoint Node List, !- Name + Mixed Air Node 1, !- Node 1 Name + Main Cooling Coil 1 Outlet Node, !- Node 2 Name + Main Heating Coil 1 Outlet Node; !- Node 3 Name + + PlantLoop, + Hot Water Loop, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + Hot Loop Operation, !- Plant Equipment Operation Scheme Name + HW Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 100, !- Maximum Loop Temperature {C} + 10, !- Minimum Loop Temperature {C} + autosize, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + autocalculate, !- Plant Loop Volume {m3} + HW Supply Inlet Node, !- Plant Side Inlet Node Name + HW Supply Outlet Node, !- Plant Side Outlet Node Name + Heating Supply Side Branches, !- Plant Side Branch List Name + Heating Supply Side Connectors, !- Plant Side Connector List Name + HW Demand Inlet Node, !- Demand Side Inlet Node Name + HW Demand Outlet Node, !- Demand Side Outlet Node Name + Heating Demand Side Branches, !- Demand Side Branch List Name + Heating Demand Side Connectors, !- Demand Side Connector List Name + SequentialLoad; !- Load Distribution Scheme + + SetpointManager:Scheduled, + Hot Water Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + HW Loop Temp Schedule, !- Schedule Name + HW Supply Outlet Node; !- Setpoint Node or NodeList Name + + BranchList, + Heating Supply Side Branches, !- Name + Heating Supply Inlet Branch, !- Branch 1 Name + Central Boiler Branch, !- Branch 2 Name + Heating Supply Bypass Branch, !- Branch 3 Name + Heating Supply Outlet Branch; !- Branch 4 Name + + ConnectorList, + Heating Supply Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + Heating Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Heating Supply Mixer; !- Connector 2 Name + + Branch, + Heating Supply Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + HW Circ Pump, !- Component 1 Name + HW Supply Inlet Node, !- Component 1 Inlet Node Name + HW Pump Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Central Boiler Branch, !- Name + , !- Pressure Drop Curve Name + Boiler:HotWater, !- Component 1 Object Type + Central Boiler, !- Component 1 Name + Central Boiler Inlet Node, !- Component 1 Inlet Node Name + Central Boiler Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Heating Supply Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Supply Side Bypass, !- Component 1 Name + Heating Supply Bypass Inlet Node, !- Component 1 Inlet Node Name + Heating Supply Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Supply Side Bypass, !- Name + Heating Supply Bypass Inlet Node, !- Inlet Node Name + Heating Supply Bypass Outlet Node; !- Outlet Node Name + + Branch, + Heating Supply Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Supply Outlet, !- Component 1 Name + Heating Supply Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + HW Supply Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Supply Outlet, !- Name + Heating Supply Exit Pipe Inlet Node, !- Inlet Node Name + HW Supply Outlet Node; !- Outlet Node Name + + BranchList, + Heating Demand Side Branches, !- Name + Heating Demand Inlet Branch, !- Branch 1 Name + SPACE1-1 Reheat Branch, !- Branch 2 Name + SPACE2-1 Reheat Branch, !- Branch 3 Name + SPACE3-1 Reheat Branch, !- Branch 4 Name + SPACE4-1 Reheat Branch, !- Branch 5 Name + SPACE5-1 Reheat Branch, !- Branch 6 Name + Main Heating Coil 1 Branch, !- Branch 7 Name + Heating Demand Bypass Branch, !- Branch 8 Name + Heating Demand Outlet Branch; !- Branch 9 Name + + ConnectorList, + Heating Demand Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + Heating Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Heating Demand Mixer; !- Connector 2 Name + + Branch, + Heating Demand Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Inlet Pipe, !- Component 1 Name + HW Demand Inlet Node, !- Component 1 Inlet Node Name + HW Demand Entrance Pipe Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Inlet Pipe, !- Name + HW Demand Inlet Node, !- Inlet Node Name + HW Demand Entrance Pipe Outlet Node; !- Outlet Node Name + + Branch, + Heating Demand Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Outlet Pipe, !- Component 1 Name + HW Demand Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + HW Demand Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Outlet Pipe, !- Name + HW Demand Exit Pipe Inlet Node, !- Inlet Node Name + HW Demand Outlet Node; !- Outlet Node Name + + Branch, + SPACE1-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE1-1 Zone Coil, !- Component 1 Name + SPACE1-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE1-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE2-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE2-1 Zone Coil, !- Component 1 Name + SPACE2-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE2-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE3-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE3-1 Zone Coil, !- Component 1 Name + SPACE3-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE3-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE4-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE4-1 Zone Coil, !- Component 1 Name + SPACE4-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE4-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE5-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE5-1 Zone Coil, !- Component 1 Name + SPACE5-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE5-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + Main Heating Coil 1 Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Main Heating Coil 1, !- Component 1 Name + Main Heating Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + Main Heating Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Heating Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Bypass, !- Component 1 Name + Heating Demand Bypass Inlet Node, !- Component 1 Inlet Node Name + Heating Demand Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Bypass, !- Name + Heating Demand Bypass Inlet Node, !- Inlet Node Name + Heating Demand Bypass Outlet Node; !- Outlet Node Name + + Connector:Splitter, + Heating Demand Splitter, !- Name + Heating Demand Inlet Branch, !- Inlet Branch Name + SPACE1-1 Reheat Branch, !- Outlet Branch 1 Name + SPACE2-1 Reheat Branch, !- Outlet Branch 2 Name + SPACE3-1 Reheat Branch, !- Outlet Branch 3 Name + SPACE4-1 Reheat Branch, !- Outlet Branch 4 Name + SPACE5-1 Reheat Branch, !- Outlet Branch 5 Name + Main Heating Coil 1 Branch, !- Outlet Branch 6 Name + Heating Demand Bypass Branch; !- Outlet Branch 7 Name + + Connector:Mixer, + Heating Demand Mixer, !- Name + Heating Demand Outlet Branch, !- Outlet Branch Name + SPACE1-1 Reheat Branch, !- Inlet Branch 1 Name + SPACE2-1 Reheat Branch, !- Inlet Branch 2 Name + SPACE3-1 Reheat Branch, !- Inlet Branch 3 Name + SPACE4-1 Reheat Branch, !- Inlet Branch 4 Name + SPACE5-1 Reheat Branch, !- Inlet Branch 5 Name + Main Heating Coil 1 Branch, !- Inlet Branch 6 Name + Heating Demand Bypass Branch; !- Inlet Branch 7 Name + + Connector:Splitter, + Heating Supply Splitter, !- Name + Heating Supply Inlet Branch, !- Inlet Branch Name + Central Boiler Branch, !- Outlet Branch 1 Name + Heating Supply Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + Heating Supply Mixer, !- Name + Heating Supply Outlet Branch, !- Outlet Branch Name + Central Boiler Branch, !- Inlet Branch 1 Name + Heating Supply Bypass Branch; !- Inlet Branch 2 Name + + PlantEquipmentOperationSchemes, + Hot Loop Operation, !- Name + PlantEquipmentOperation:HeatingLoad, !- Control Scheme 1 Object Type + Central Boiler Only, !- Control Scheme 1 Name + PlantOnSched; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:HeatingLoad, + Central Boiler Only, !- Name + 0, !- Load Range 1 Lower Limit {W} + 1000000, !- Load Range 1 Upper Limit {W} + heating plant; !- Range 1 Equipment List Name + + PlantEquipmentList, + heating plant, !- Name + Boiler:HotWater, !- Equipment 1 Object Type + Central Boiler; !- Equipment 1 Name + + Boiler:HotWater, + Central Boiler, !- Name + NaturalGas, !- Fuel Type + autosize, !- Nominal Capacity {W} + 0.8, !- Nominal Thermal Efficiency + LeavingBoiler, !- Efficiency Curve Temperature Evaluation Variable + BoilerEfficiency, !- Normalized Boiler Efficiency Curve Name + autosize, !- Design Water Flow Rate {m3/s} + 0.0, !- Minimum Part Load Ratio + 1.2, !- Maximum Part Load Ratio + 1.0, !- Optimum Part Load Ratio + Central Boiler Inlet Node, !- Boiler Water Inlet Node Name + Central Boiler Outlet Node, !- Boiler Water Outlet Node Name + 100., !- Water Outlet Upper Temperature Limit {C} + LeavingSetpointModulated;!- Boiler Flow Mode + + SetpointManager:Scheduled, + Central Boiler Setpoint Manager, !- Name + Temperature, !- Control Variable + HW Loop Temp Schedule, !- Schedule Name + Central Boiler Outlet Node; !- Setpoint Node or NodeList Name + + Curve:Quadratic, + BoilerEfficiency, !- Name + 1.0, !- Coefficient1 Constant + 0.0, !- Coefficient2 x + 0.0, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + + Pump:VariableSpeed, + HW Circ Pump, !- Name + HW Supply Inlet Node, !- Inlet Node Name + HW Pump Outlet Node, !- Outlet Node Name + autosize, !- Design Maximum Flow Rate {m3/s} + 179352, !- Design Pump Head {Pa} + autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + INTERMITTENT; !- Pump Control Type + + PlantLoop, + Chilled Water Loop, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + CW Loop Operation, !- Plant Equipment Operation Scheme Name + CW Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 98, !- Maximum Loop Temperature {C} + 1, !- Minimum Loop Temperature {C} + autosize, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + autocalculate, !- Plant Loop Volume {m3} + CW Supply Inlet Node, !- Plant Side Inlet Node Name + CW Supply Outlet Node, !- Plant Side Outlet Node Name + Cooling Supply Side Branches, !- Plant Side Branch List Name + Cooling Supply Side Connectors, !- Plant Side Connector List Name + CW Demand Inlet Node, !- Demand Side Inlet Node Name + CW Demand Outlet Node, !- Demand Side Outlet Node Name + Cooling Demand Side Branches, !- Demand Side Branch List Name + Cooling Demand Side Connectors, !- Demand Side Connector List Name + SequentialLoad; !- Load Distribution Scheme + + SetpointManager:Scheduled, + Chilled Water Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + CW Loop Temp Schedule, !- Schedule Name + CW Supply Outlet Node; !- Setpoint Node or NodeList Name + + BranchList, + Cooling Supply Side Branches, !- Name + CW Pump Branch, !- Branch 1 Name + Central Chiller Branch, !- Branch 2 Name + Cooling Supply Bypass Branch, !- Branch 3 Name + Cooling Supply Outlet; !- Branch 4 Name + + BranchList, + Cooling Demand Side Branches, !- Name + Cooling Demand Inlet, !- Branch 1 Name + Cooling Coil Branch, !- Branch 2 Name + Cooling Demand Bypass Branch, !- Branch 3 Name + Cooling Demand Outlet; !- Branch 4 Name + + ConnectorList, + Cooling Supply Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CW Loop Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CW Loop Mixer; !- Connector 2 Name + + ConnectorList, + Cooling Demand Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CW Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CW Demand Mixer; !- Connector 2 Name + + Branch, + Cooling Demand Inlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Cooling Demand Side Inlet Pipe, !- Component 1 Name + CW Demand Inlet Node, !- Component 1 Inlet Node Name + CW Demand Entrance Pipe Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Cooling Demand Side Inlet Pipe, !- Name + CW Demand Inlet Node, !- Inlet Node Name + CW Demand Entrance Pipe Outlet Node; !- Outlet Node Name + + Branch, + Cooling Coil Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + Main Cooling Coil 1, !- Component 1 Name + Main Cooling Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + Main Cooling Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Cooling Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Cooling Demand Side Bypass, !- Component 1 Name + CW Demand Bypass Inlet Node, !- Component 1 Inlet Node Name + CW Demand Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Cooling Demand Side Bypass, !- Name + CW Demand Bypass Inlet Node, !- Inlet Node Name + CW Demand Bypass Outlet Node; !- Outlet Node Name + + Branch, + Cooling Demand Outlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CW Demand Side Outlet Pipe, !- Component 1 Name + CW Demand Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + CW Demand Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + CW Demand Side Outlet Pipe, !- Name + CW Demand Exit Pipe Inlet Node, !- Inlet Node Name + CW Demand Outlet Node; !- Outlet Node Name + + Branch, + Cooling Supply Outlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Supply Side Outlet Pipe, !- Component 1 Name + Supply Side Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + CW Supply Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Supply Side Outlet Pipe, !- Name + Supply Side Exit Pipe Inlet Node, !- Inlet Node Name + CW Supply Outlet Node; !- Outlet Node Name + + Branch, + CW Pump Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + CW Circ Pump, !- Component 1 Name + CW Supply Inlet Node, !- Component 1 Inlet Node Name + CW Pump Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Central Chiller Branch, !- Name + , !- Pressure Drop Curve Name + Chiller:Electric, !- Component 1 Object Type + Central Chiller, !- Component 1 Name + Central Chiller Inlet Node, !- Component 1 Inlet Node Name + Central Chiller Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Cooling Supply Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Supply Side Bypass, !- Component 1 Name + CW Supply Bypass Inlet Node, !- Component 1 Inlet Node Name + CW Supply Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Supply Side Bypass, !- Name + CW Supply Bypass Inlet Node, !- Inlet Node Name + CW Supply Bypass Outlet Node; !- Outlet Node Name + + Connector:Splitter, + CW Loop Splitter, !- Name + CW Pump Branch, !- Inlet Branch Name + Central Chiller Branch, !- Outlet Branch 1 Name + Cooling Supply Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + CW Loop Mixer, !- Name + Cooling Supply Outlet, !- Outlet Branch Name + Central Chiller Branch, !- Inlet Branch 1 Name + Cooling Supply Bypass Branch; !- Inlet Branch 2 Name + + Connector:Splitter, + CW Demand Splitter, !- Name + Cooling Demand Inlet, !- Inlet Branch Name + Cooling Coil Branch, !- Outlet Branch 1 Name + Cooling Demand Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + CW Demand Mixer, !- Name + Cooling Demand Outlet, !- Outlet Branch Name + Cooling Coil Branch, !- Inlet Branch 1 Name + Cooling Demand Bypass Branch; !- Inlet Branch 2 Name + + PlantEquipmentOperationSchemes, + CW Loop Operation, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + Central Chiller Only, !- Control Scheme 1 Name + PlantOnSched; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:CoolingLoad, + Central Chiller Only, !- Name + 0, !- Load Range 1 Lower Limit {W} + 900000, !- Load Range 1 Upper Limit {W} + Cooling Plant; !- Range 1 Equipment List Name + + PlantEquipmentList, + Cooling Plant, !- Name + Chiller:Electric, !- Equipment 1 Object Type + Central Chiller; !- Equipment 1 Name + + Chiller:Electric, + Central Chiller, !- Name + AirCooled, !- Condenser Type + autosize, !- Nominal Capacity {W} + 3.2, !- Nominal COP {W/W} + Central Chiller Inlet Node, !- Chilled Water Inlet Node Name + Central Chiller Outlet Node, !- Chilled Water Outlet Node Name + Central Chiller Condenser Inlet Node, !- Condenser Inlet Node Name + Central Chiller Condenser Outlet Node, !- Condenser Outlet Node Name + 0.0, !- Minimum Part Load Ratio + 1.0, !- Maximum Part Load Ratio + 0.65, !- Optimum Part Load Ratio + 35.0, !- Design Condenser Inlet Temperature {C} + 2.778, !- Temperature Rise Coefficient + 6.67, !- Design Chilled Water Outlet Temperature {C} + autosize, !- Design Chilled Water Flow Rate {m3/s} + autosize, !- Design Condenser Fluid Flow Rate {m3/s} + 0.9949, !- Coefficient 1 of Capacity Ratio Curve + -0.045954, !- Coefficient 2 of Capacity Ratio Curve + -0.0013543, !- Coefficient 3 of Capacity Ratio Curve + 2.333, !- Coefficient 1 of Power Ratio Curve + -1.975, !- Coefficient 2 of Power Ratio Curve + 0.6121, !- Coefficient 3 of Power Ratio Curve + 0.03303, !- Coefficient 1 of Full Load Ratio Curve + 0.6852, !- Coefficient 2 of Full Load Ratio Curve + 0.2818, !- Coefficient 3 of Full Load Ratio Curve + 5, !- Chilled Water Outlet Temperature Lower Limit {C} + LeavingSetpointModulated;!- Chiller Flow Mode + + SetpointManager:Scheduled, + Central Chiller Setpoint Manager, !- Name + Temperature, !- Control Variable + CW Loop Temp Schedule, !- Schedule Name + Central Chiller Outlet Node; !- Setpoint Node or NodeList Name + + OutdoorAir:Node, + Central Chiller Condenser Inlet Node, !- Name + -1.0; !- Height Above Ground {m} + + Pump:VariableSpeed, + CW Circ Pump, !- Name + CW Supply Inlet Node, !- Inlet Node Name + CW Pump Outlet Node, !- Outlet Node Name + autosize, !- Design Maximum Flow Rate {m3/s} + 179352, !- Design Pump Head {Pa} + autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + INTERMITTENT, !- Pump Control Type + CoolingPumpAvailSched; !- Pump Flow Rate Schedule Name + + !- This object is used to virtually increase the + !- temeprature of the plenum zone to showcase the + !- first stage of the `staged` variable speed control + !- of the terminal PIUs + OtherEquipment, + PlenumHG, + None, + PLENUM-1, + AlwaysOn, + EquipmentLevel, + 5500,,,0,0.5,0; + + Schedule:Constant,AlwaysOn,Fraction,1; + + + Output:Variable,*,Zone Air Temperature,detailed; + Output:Variable,*,Zone Air System Sensible Cooling Rate,detailed; + Output:Variable,*,Zone Air System Sensible Heating Rate,detailed; + Output:Variable,*,Heating Coil Heating Rate,detailed; + Output:Variable,*,Cooling Coil Total Cooling Rate,detailed; + Output:Variable,*,Cooling Coil Sensible Cooling Rate,detailed; + Output:Variable,*,Zone Air Terminal Primary Damper Position,detailed; + Output:Variable,VAV Sys 1 Outlet Node,System Node Mass Flow Rate,detailed; + Output:Variable,VAV Sys 1 Outlet Node,System Node Temperature,detailed; + Output:Variable,*,Plant Supply Side Cooling Demand Rate,detailed; + Output:Variable,*,Plant Supply Side Heating Demand Rate,detailed; + Output:Variable,*,Boiler NaturalGas Rate,detailed; + Output:Variable,*,Boiler Heating Rate,detailed; + Output:Variable,*,Chiller Electricity Rate,detailed; + Output:Variable,*,Chiller Evaporator Cooling Rate,detailed; + Output:Variable,*,Chiller Evaporator Inlet Temperature,detailed; + Output:Variable,*,Chiller Evaporator Outlet Temperature,detailed; + Output:Variable,*,Chiller Evaporator Mass Flow Rate,detailed; + Output:Variable,*,Chiller Condenser Heat Transfer Rate,detailed; + Output:Variable,*,Pump Mass Flow Rate,detailed; + Output:Variable,*,Pump Outlet Temperature,detailed; + Output:Variable,Outside Air Inlet Node 1,System Node Mass Flow Rate,detailed; + Output:Variable,Outside Air Inlet Node 1,System Node Temperature,detailed; + Output:Variable,Mixed Air Node 1,System Node Mass Flow Rate,detailed; + Output:Variable,Mixed Air Node 1,System Node Temperature,detailed; + Output:Variable,Space4-1 ATU In Node,System Node Mass Flow Rate,detailed; + Output:Variable,Space4-1 ATU In Node,System Node Temperature,detailed; + Output:Variable,SPACE4-1 Zone Coil Air In Node,System Node Temperature,detailed; + Output:Variable,Space4-1 In Node,System Node Mass Flow Rate,detailed; + Output:Variable,Space4-1 In Node,System Node Temperature,detailed; + Output:Variable,Plenum-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,PLENUM-1 Node,System Node Mass Flow Rate,detailed; + Output:Variable,Plenum-1 Out Node,System Node Temperature,detailed; + Output:Variable,SPACE1-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE2-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE3-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE4-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE5-1 Out Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE1-1 ATU Sec Node,System Node Mass Flow Rate,detailed; + Output:Variable,SPACE4-1 ATU Sec Node,System Node Mass Flow Rate,detailed; + Output:Variable,Relief Fan Air Outlet Node 1,System Node Mass Flow Rate,detailed; + Output:Variable,Relief Fan Air Outlet Node 1,System Node Temperature,detailed; + Output:Variable,Relief Air Outlet Node 1,System Node Mass Flow Rate,detailed; + Output:Variable,Relief Air Outlet Node 1,System Node Temperature,detailed; + Output:Variable,*,Zone Air System Sensible Heating Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Zone Air System Sensible Cooling Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Zone Heating Setpoint Not Met Time,detailed; !- Zone Sum [hr] + Output:Variable,*,Zone Heating Setpoint Not Met While Occupied Time,detailed; !- Zone Sum [hr] + Output:Variable,*,Zone Cooling Setpoint Not Met Time,detailed; !- Zone Sum [hr] + Output:Variable,*,Zone Cooling Setpoint Not Met While Occupied Time,detailed; !- Zone Sum [hr] + Output:Variable,*,Fan Electricity Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Fan Rise in Air Temperature,detailed; !- HVAC Average [deltaC] + Output:Variable,*,Fan Heat Gain to Air,detailed; !- HVAC Average [W] + Output:Variable,*,Fan Air Mass Flow Rate,detailed; !- HVAC Average [kg/s] + Output:Variable,*,Zone Air Terminal Primary Damper Position,detailed; !- HVAC Average [] + Output:Variable,*,Zone Air Terminal Heating Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Zone Air Terminal Heating Energy,detailed; !- HVAC Sum [J] + Output:Variable,*,Zone Air Terminal Outdoor Air Volume Flow Rate,detailed; !- HVAC Average [m3/s] + Output:Variable,*,Zone Air Terminal Total Air Mass Flow Rate,detailed; !- HVAC Average [kg/s] + Output:Variable,*,Zone Air Terminal Primary Air Mass Flow Rate,detailed; !- HVAC Average [kg/s] + Output:Variable,*,Zone Air Terminal Secondary Air Mass Flow Rate,detailed; !- HVAC Average [kg/s] + Output:Variable,*,Zone Air Terminal Outlet Discharge Air Temperature,detailed; !- HVAC Average [C] + Output:Variable,*,Zone Air Terminal Current Operation Control Stage,detailed; !- HVAC Average [unknown] + Output:Variable,*,Zone Predicted Sensible Load to Setpoint Heat Transfer Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Zone Predicted Sensible Load to Heating Setpoint Heat Transfer Rate,detailed; !- HVAC Average [W] + Output:Variable,*,Zone Predicted Sensible Load to Cooling Setpoint Heat Transfer Rate,detailed; !- HVAC Average [W] + Output:Variable,ReheatCoilAvailSched,Schedule Value,detailed; + + Output:VariableDictionary,IDF; + + Output:Surfaces:List,Details; + + OutputControl:Table:Style, + HTML; !- Column Separator + + Output:Table:SummaryReports, + AllSummary; !- Report 1 Name + + Output:SQLite, + simple; !- Option Type + + OutputControl:ReportingTolerances, + 0.73, !- Tolerance for Time Heating Setpoint Not Met {deltaC} + 0.73; !- Tolerance for Time Cooling Setpoint Not Met {deltaC} diff --git a/testfiles/5ZoneAirCooledKeepSiteLocation.idf b/testfiles/5ZoneAirCooledKeepSiteLocation.idf new file mode 100644 index 00000000000..d1ea88c3c87 --- /dev/null +++ b/testfiles/5ZoneAirCooledKeepSiteLocation.idf @@ -0,0 +1,3504 @@ +!-Generator IDFEditor 1.34 +!-Option OriginalOrderTop UseSpecialFormat +!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically. +!- Use '!' comments if they need to be retained when using the IDFEditor. +! 5ZoneAirCooledKeepSiteLocation.idf +! Basic file description: 1 story building divided into 4 exterior and one interior conditioned zones and return plenum. +! +! Highlights: Electric chiller with air cooled condenser; autosized preheating and precooling water coils in the +! outside air stream controlled to preheat and precool setpoints. Keeps Site:Location definition +! rather than allowing the weather file information to overwrite it. +! +! Simulation Location/Run: CHICAGO_IL_USA TMY2-94846, 2 design days, 2 run periods, +! Run Control executes the run periods using the weather file +! +! Location: Chicago, IL (at a fictitious, high altitude) +! +! Design Days: CHICAGO_IL_USA Annual Heating 99% Design Conditions DB, MaxDB= -17.3°C +! CHICAGO_IL_USA Annual Cooling 1% Design Conditions, MaxDB= 31.5°C MCWB= 23.0°C +! +! Run Period (Weather File): 1/1 through 12/31, CHICAGO_IL_USA TMY2-94846 +! +! Run Control: Zone and System sizing with weather file run control (no design days run) +! +! Building: Single floor rectangular building 100 ft x 50 ft. 5 zones - 4 exterior, 1 interior, zone height 8 feet. +! Exterior zone depth is 12 feet. There is a 2 foot high return plenum: the overall building height is +! 10 feet. There are windows on all 4 facades; the south and north facades have glass doors. +! The south facing glass is shaded by overhangs. The walls are woodshingle over plywood, R11 insulation, +! and gypboard. The roof is a gravel built up roof with R-3 mineral board insulation and plywood sheathing. +! The windows are of various single and double pane construction with 3mm and 6mm glass and either 6mm or +! 13mm argon or air gap. The window to wall ratio is approximately 0.29. +! The south wall and door have overhangs. +! +! The building is oriented 30 degrees east of north. +! +! Floor Area: 463.6 m2 (5000 ft2) +! Number of Stories: 1 +! +! Zone Description Details: +! +! (0,15.2,0) (30.5,15.2,0) +! _____ ________ ____ +! |\ *** **************** /| +! | \ / | +! | \ (26.8,11.6,0) / | +! * \_____________________________/ * +! * |(3.7,11.6,0) | * +! * | | * +! * | | * +! * | (26.8,3.7,0)| * +! * |___________________________| * +! * / (3.7,3.7,0) \ * +! | / \ | +! | / \ | +! |/___******************___***________\| +! | Overhang | | +! |_______________________| | window/door = * +! |___| +! +! (0,0,0) (30.5,0,0) +! +! Internal gains description: lighting is 1.5 watts/ft2, office equip is 1.0 watts/ft2. There is 1 occupant +! per 100 ft2 of floor area. The infiltration is 0.25 air changes per hour. +! +! Interzone Surfaces: 6 interzone surfaces (see diagram) +! Internal Mass: None +! People: 50 +! Lights: 7500 W +! Windows: 4 ea.: 1) Double pane clear, 3mm glass, 13mm air gap +! 2) Double pane clear, 3mm glass, 13mm argon gap +! 3) Double pane clear, 6mm glass, 6mm air gap +! 4) Double pane lowE, 6mm lowE glass outside, 6mm air gap, 6mm clear glass +! +! Doors: 2 ea.: Single pane grey, 3mm glass +! +! Detached Shading: None +! Daylight: None +! Natural Ventilation: None +! Compact Schedules: Yes +! +! HVAC: Standard VAV system with outside air, hot water reheat coils, +! central chilled water cooling coil. Central Plant is single hot water +! boiler, electric compression chiller with air cooled condenser. +! All equipment is autosized. HW and ChW coils are used in the outside air +! stream to precondition the outside air. +! +! Zonal Equipment: AirTerminal:SingleDuct:VAV:Reheat +! Central Air Handling Equipment: Yes +! System Equipment Autosize: Yes +! Purchased Cooling: None +! Purchased Heating: None +! Coils: Coil:Cooling:Water, Coil:Heating:Water +! Pumps: Pump:VariableSpeed +! Boilers: Boiler:HotWater +! Chillers: Chiller:Electric +! +! Results: +! Standard Reports: None +! Timestep or Hourly Variables: Hourly +! Time bins Report: None +! HTML Report: None +! Environmental Emissions: None +! Utility Tariffs: None + + Version,24.2; + + Building, + Building, !- Name + 30., !- North Axis {deg} + City, !- Terrain + 0.04, !- Loads Convergence Tolerance Value {W} + 0.4, !- Temperature Convergence Tolerance Value {deltaC} + FullExterior, !- Solar Distribution + 25, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + + Timestep,4; + + SurfaceConvectionAlgorithm:Inside,Simple; + + SurfaceConvectionAlgorithm:Outside,SimpleCombined; + + HeatBalanceAlgorithm,ConductionTransferFunction; + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + CounterClockWise, !- Vertex Entry Direction + Relative; !- Coordinate System + + ScheduleTypeLimits, + Any Number; !- Name + + ScheduleTypeLimits, + Fraction, !- Name + 0.0, !- Lower Limit Value + 1.0, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + ScheduleTypeLimits, + Temperature, !- Name + -60, !- Lower Limit Value + 200, !- Upper Limit Value + CONTINUOUS, !- Numeric Type + Temperature; !- Unit Type + + ScheduleTypeLimits, + Control Type, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + On/Off, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + FlowRate, !- Name + 0.0, !- Lower Limit Value + 10, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + RunPeriod, + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + , !- Begin Year + 12, !- End Month + 31, !- End Day of Month + , !- End Year + Tuesday, !- Day of Week for Start Day + Yes, !- Use Weather File Holidays and Special Days + Yes, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes; !- Use Weather File Snow Indicators + + Site:Location, + SkyHighChicago, !- Name + 41.78, !- Latitude {deg} + -87.75, !- Longitude {deg} + -6.00, !- Time Zone {hr} + 1190.00, !- Elevation {m} + Yes; !- Keep Site Location Information + + SimulationControl, + Yes, !- Do Zone Sizing Calculation + Yes, !- Do System Sizing Calculation + Yes, !- Do Plant Sizing Calculation + No, !- Run Simulation for Sizing Periods + Yes, !- Run Simulation for Weather File Run Periods + No, !- Do HVAC Sizing Simulation for Sizing Periods + 1; !- Maximum Number of HVAC Sizing Simulation Passes + +! CHICAGO_IL_USA Annual Heating 99% Design Conditions DB, MaxDB= -17.3°C + + SizingPeriod:DesignDay, + CHICAGO_IL_USA Annual Heating 99% Design Conditions DB, !- Name + 1, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -17.3, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -17.3, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 88000., !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.0; !- Sky Clearness + +! CHICAGO_IL_USA Annual Cooling 1% Design Conditions, MaxDB= 31.5°C MCWB= 23.0°C + + SizingPeriod:DesignDay, + CHICAGO_IL_USA Annual Cooling 1% Design Conditions DB/MCWB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 31.5, !- Maximum Dry-Bulb Temperature {C} + 10.7, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 18.0, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 88000., !- Barometric Pressure {Pa} + 5.3, !- Wind Speed {m/s} + 230, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.0; !- Sky Clearness + + Site:GroundTemperature:BuildingSurface,20.03,20.03,20.13,20.30,20.43,20.52,20.62,20.77,20.78,20.55,20.44,20.20; + + Material, + WD10, !- Name + MediumSmooth, !- Roughness + 0.667, !- Thickness {m} + 0.115, !- Conductivity {W/m-K} + 513, !- Density {kg/m3} + 1381, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.78, !- Solar Absorptance + 0.78; !- Visible Absorptance + + Material, + RG01, !- Name + Rough, !- Roughness + 1.2700000E-02, !- Thickness {m} + 1.442000, !- Conductivity {W/m-K} + 881.0000, !- Density {kg/m3} + 1674.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Material, + BR01, !- Name + VeryRough, !- Roughness + 9.4999997E-03, !- Thickness {m} + 0.1620000, !- Conductivity {W/m-K} + 1121.000, !- Density {kg/m3} + 1464.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7000000, !- Solar Absorptance + 0.7000000; !- Visible Absorptance + + Material, + IN46, !- Name + VeryRough, !- Roughness + 7.6200001E-02, !- Thickness {m} + 2.3000000E-02, !- Conductivity {W/m-K} + 24.00000, !- Density {kg/m3} + 1590.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.5000000, !- Solar Absorptance + 0.5000000; !- Visible Absorptance + + Material, + WD01, !- Name + MediumSmooth, !- Roughness + 1.9099999E-02, !- Thickness {m} + 0.1150000, !- Conductivity {W/m-K} + 513.0000, !- Density {kg/m3} + 1381.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7800000, !- Solar Absorptance + 0.7800000; !- Visible Absorptance + + Material, + PW03, !- Name + MediumSmooth, !- Roughness + 1.2700000E-02, !- Thickness {m} + 0.1150000, !- Conductivity {W/m-K} + 545.0000, !- Density {kg/m3} + 1213.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7800000, !- Solar Absorptance + 0.7800000; !- Visible Absorptance + + Material, + IN02, !- Name + Rough, !- Roughness + 9.0099998E-02, !- Thickness {m} + 4.3000001E-02, !- Conductivity {W/m-K} + 10.00000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + GP01, !- Name + MediumSmooth, !- Roughness + 1.2700000E-02, !- Thickness {m} + 0.1600000, !- Conductivity {W/m-K} + 801.0000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + GP02, !- Name + MediumSmooth, !- Roughness + 1.5900001E-02, !- Thickness {m} + 0.1600000, !- Conductivity {W/m-K} + 801.0000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + CC03, !- Name + MediumRough, !- Roughness + 0.1016000, !- Thickness {m} + 1.310000, !- Conductivity {W/m-K} + 2243.000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Material:NoMass, + CP01, !- Name + Rough, !- Roughness + 0.3670000, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material:NoMass, + MAT-CLNG-1, !- Name + Rough, !- Roughness + 0.652259290, !- Thermal Resistance {m2-K/W} + 0.65, !- Thermal Absorptance + 0.65, !- Solar Absorptance + 0.65; !- Visible Absorptance + + Material:AirGap, + AL21, !- Name + 0.1570000; !- Thermal Resistance {m2-K/W} + + Material:AirGap, + AL23, !- Name + 0.1530000; !- Thermal Resistance {m2-K/W} + + Construction, + ROOF-1, !- Name + RG01, !- Outside Layer + BR01, !- Layer 2 + IN46, !- Layer 3 + WD01; !- Layer 4 + + Construction, + WALL-1, !- Name + WD01, !- Outside Layer + PW03, !- Layer 2 + IN02, !- Layer 3 + GP01; !- Layer 4 + + Construction, + CLNG-1, !- Name + MAT-CLNG-1; !- Outside Layer + + Construction, + FLOOR-SLAB-1, !- Name + CC03; !- Outside Layer + + Construction, + INT-WALL-1, !- Name + GP02, !- Outside Layer + AL21, !- Layer 2 + GP02; !- Layer 3 + + WindowMaterial:Gas, + AIR 13MM, !- Name + Air, !- Gas Type + 0.0127; !- Thickness {m} + + WindowMaterial:Glazing, + CLEAR 3MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.003, !- Thickness {m} + 0.837, !- Solar Transmittance at Normal Incidence + 0.075, !- Front Side Solar Reflectance at Normal Incidence + 0.075, !- Back Side Solar Reflectance at Normal Incidence + 0.898, !- Visible Transmittance at Normal Incidence + 0.081, !- Front Side Visible Reflectance at Normal Incidence + 0.081, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.84, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + WindowMaterial:Glazing, + GREY 3MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.003, !- Thickness {m} + 0.626, !- Solar Transmittance at Normal Incidence + 0.061, !- Front Side Solar Reflectance at Normal Incidence + 0.061, !- Back Side Solar Reflectance at Normal Incidence + 0.611, !- Visible Transmittance at Normal Incidence + 0.061, !- Front Side Visible Reflectance at Normal Incidence + 0.061, !- Back Side Visible Reflectance at Normal Incidence + 0.0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.84, !- Back Side Infrared Hemispherical Emissivity + 0.9; !- Conductivity {W/m-K} + + Construction, + Dbl Clr 3mm/13mm Air, !- Name + CLEAR 3MM, !- Outside Layer + AIR 13MM, !- Layer 2 + CLEAR 3MM; !- Layer 3 + + Construction, + Sgl Grey 3mm, !- Name + GREY 3MM; !- Outside Layer + + Schedule:Compact, + OCCUPY-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.0, !- Field 3 + Until: 11:00,1.00, !- Field 5 + Until: 12:00,0.80, !- Field 7 + Until: 13:00,0.40, !- Field 9 + Until: 14:00,0.80, !- Field 11 + Until: 18:00,1.00, !- Field 13 + Until: 19:00,0.50, !- Field 15 + Until: 24:00,0.0, !- Field 17 + For: Weekends WinterDesignDay Holiday, !- Field 19 + Until: 24:00,0.0; !- Field 20 + + Schedule:Compact, + LIGHTS-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.05, !- Field 3 + Until: 9:00,0.9, !- Field 5 + Until: 10:00,0.95, !- Field 7 + Until: 11:00,1.00, !- Field 9 + Until: 12:00,0.95, !- Field 11 + Until: 13:00,0.8, !- Field 13 + Until: 14:00,0.9, !- Field 15 + Until: 18:00,1.00, !- Field 17 + Until: 19:00,0.60, !- Field 19 + Until: 21:00,0.20, !- Field 21 + Until: 24:00,0.05, !- Field 23 + For: Weekends WinterDesignDay Holiday, !- Field 25 + Until: 24:00,0.05; !- Field 26 + + Schedule:Compact, + EQUIP-1, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays SummerDesignDay CustomDay1 CustomDay2, !- Field 2 + Until: 8:00,0.02, !- Field 3 + Until: 9:00,0.4, !- Field 5 + Until: 14:00,0.9, !- Field 7 + Until: 15:00,0.8, !- Field 9 + Until: 16:00,0.7, !- Field 11 + Until: 18:00,0.5, !- Field 13 + Until: 20:00,0.3, !- Field 15 + Until: 24:00,0.02, !- Field 17 + For: Weekends WinterDesignDay Holiday, !- Field 19 + Until: 24:00,0.2; !- Field 20 + + Schedule:Compact, + INFIL-SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 10/31, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,0.0, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,1.0; !- Field 11 + + Schedule:Compact, + ActSchd, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,117.239997864; !- Field 3 + + !- Field 4 + + Schedule:Compact, + ShadeTransSch, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.0; !- Field 3 + + Zone, + PLENUM-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 0.609600067, !- Ceiling Height {m} + 283.2; !- Volume {m3} + + BuildingSurface:Detailed, + WALL-1PF, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PR, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,3.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PB, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + WALL-1PL, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TOP-1, !- Name + ROOF, !- Surface Type + ROOF-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.00000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,3.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,3.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,3.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,3.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C1-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C1-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C2-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C2-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C3-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C3-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C4-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C4-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C5-1P, !- Name + FLOOR, !- Surface Type + CLNG-1, !- Construction Name + PLENUM-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C5-1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE1-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 239.247360229; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE1-1 Infil 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.032, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE1-1 People 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 11, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE1-1 Lights 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 1584, !- Lighting Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE1-1 ElecEq 1, !- Name + SPACE1-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 1056, !- Design Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + FRONT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WF-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + FRONT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 3.0,0.0,2.1, !- X,Y,Z ==> Vertex 1 {m} + 3.0,0.0,0.9, !- X,Y,Z ==> Vertex 2 {m} + 16.8,0.0,0.9, !- X,Y,Z ==> Vertex 3 {m} + 16.8,0.0,2.1; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + DF-1, !- Name + GLASSDOOR, !- Surface Type + Sgl Grey 3mm, !- Construction Name + FRONT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 21.3,0.0,2.1, !- X,Y,Z ==> Vertex 1 {m} + 21.3,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 23.8,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 23.8,0.0,2.1; !- X,Y,Z ==> Vertex 4 {m} + + Shading:Zone:Detailed, + Main South Overhang, !- Name + FRONT-1, !- Base Surface Name + ShadeTransSch, !- Transmittance Schedule Name + 4, !- Number of Vertices + 0.0,-1.3,2.2, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.2, !- X,Y,Z ==> Vertex 2 {m} + 19.8,0.0,2.2, !- X,Y,Z ==> Vertex 3 {m} + 19.8,-1.3,2.2; !- X,Y,Z ==> Vertex 4 {m} + + Shading:Zone:Detailed, + South Door Overhang, !- Name + FRONT-1, !- Base Surface Name + ShadeTransSch, !- Transmittance Schedule Name + 4, !- Number of Vertices + 21.0,-2.0,2.6, !- X,Y,Z ==> Vertex 1 {m} + 21.0,0.0,2.6, !- X,Y,Z ==> Vertex 2 {m} + 24.1,0.0,2.6, !- X,Y,Z ==> Vertex 3 {m} + 24.1,-2.0,2.6; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C1-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C1-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F1-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB12, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB21, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB14, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB41, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB15, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE1-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB51, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE2-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 103.311355591; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE2-1 Infil 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.014, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE2-1 People 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 5, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE2-1 Lights 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 684, !- Lighting Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE2-1 ElecEq 1, !- Name + SPACE2-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 456, !- Design Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + RIGHT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WR-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + RIGHT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 30.5,3.8,2.1, !- X,Y,Z ==> Vertex 1 {m} + 30.5,3.8,0.9, !- X,Y,Z ==> Vertex 2 {m} + 30.5,11.4,0.9, !- X,Y,Z ==> Vertex 3 {m} + 30.5,11.4,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C2-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C2-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,0.0,2.4, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F2-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB21, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB12, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB23, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB32, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB25, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE2-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB52, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE3-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 239.247360229; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE3-1 Infil 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.032, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE3-1 People 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 11, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE3-1 Lights 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 1584, !- Lighting Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE3-1 ElecEq 1, !- Name + SPACE3-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 1056, !- Design Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + BACK-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WB-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + BACK-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 27.4,15.2,2.1, !- X,Y,Z ==> Vertex 1 {m} + 27.4,15.2,0.9, !- X,Y,Z ==> Vertex 2 {m} + 13.7,15.2,0.9, !- X,Y,Z ==> Vertex 3 {m} + 13.7,15.2,2.1; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + DB-1, !- Name + GLASSDOOR, !- Surface Type + Sgl Grey 3mm, !- Construction Name + BACK-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 9.1,15.2,2.1, !- X,Y,Z ==> Vertex 1 {m} + 9.1,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 7.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 7.0,15.2,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C3-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C3-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 30.5,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F3-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB32, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB23, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 30.5,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 30.5,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB34, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB43, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB35, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE3-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB53, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE4-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 103.311355591; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE4-1 Infil 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.014, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE4-1 People 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 5, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE4-1 Lights 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 684, !- Lighting Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE4-1 ElecEq 1, !- Name + SPACE4-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 456, !- Design Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + LEFT-1, !- Name + WALL, !- Surface Type + WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.50000, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,0.0,2.4; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + WL-1, !- Name + WINDOW, !- Surface Type + Dbl Clr 3mm/13mm Air, !- Construction Name + LEFT-1, !- Building Surface Name + , !- Outside Boundary Condition Object + 0.50000, !- View Factor to Ground + , !- Frame and Divider Name + 1, !- Multiplier + 4, !- Number of Vertices + 0.0,11.4,2.1, !- X,Y,Z ==> Vertex 1 {m} + 0.0,11.4,0.9, !- X,Y,Z ==> Vertex 2 {m} + 0.0,3.8,0.9, !- X,Y,Z ==> Vertex 3 {m} + 0.0,3.8,2.1; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + C4-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C4-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,15.2,2.4, !- X,Y,Z ==> Vertex 2 {m} + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F4-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB41, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB14, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 0.0,0.0,2.4, !- X,Y,Z ==> Vertex 1 {m} + 0.0,0.0,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB43, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB34, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.0,15.2,0.0, !- X,Y,Z ==> Vertex 3 {m} + 0.0,15.2,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB45, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE4-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB54, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Zone, + SPACE5-1, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + 2.438400269, !- Ceiling Height {m} + 447.682556152; !- Volume {m3} + + ZoneInfiltration:DesignFlowRate, + SPACE5-1 Infil 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + INFIL-SCH, !- Schedule Name + flow/zone, !- Design Flow Rate Calculation Method + 0.062, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.2237, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + + People, + SPACE5-1 People 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + OCCUPY-1, !- Number of People Schedule Name + people, !- Number of People Calculation Method + 20, !- Number of People + , !- People per Floor Area {person/m2} + , !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + , !- Sensible Heat Fraction + ActSchd; !- Activity Level Schedule Name + + Lights, + SPACE5-1 Lights 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + LIGHTS-1, !- Schedule Name + LightingLevel, !- Design Level Calculation Method + 2964, !- Lighting Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.2, !- Return Air Fraction + 0.59, !- Fraction Radiant + 0.2, !- Fraction Visible + 0, !- Fraction Replaceable + GeneralLights; !- End-Use Subcategory + + ElectricEquipment, + SPACE5-1 ElecEq 1, !- Name + SPACE5-1, !- Zone or ZoneList or Space or SpaceList Name + EQUIP-1, !- Schedule Name + EquipmentLevel, !- Design Level Calculation Method + 1976, !- Design Level {W} + , !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0; !- Fraction Lost + + BuildingSurface:Detailed, + C5-1, !- Name + CEILING, !- Surface Type + CLNG-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + C5-1P, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + F5-1, !- Name + FLOOR, !- Surface Type + FLOOR-SLAB-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB51, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB15, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB52, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB25, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,3.7,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,3.7,0.0, !- X,Y,Z ==> Vertex 2 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 26.8,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB53, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB35, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 26.8,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 26.8,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,11.6,2.4; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + SB54, !- Name + WALL, !- Surface Type + INT-WALL-1, !- Construction Name + SPACE5-1, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + SB45, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 0.0, !- View Factor to Ground + 4, !- Number of Vertices + 3.7,11.6,2.4, !- X,Y,Z ==> Vertex 1 {m} + 3.7,11.6,0.0, !- X,Y,Z ==> Vertex 2 {m} + 3.7,3.7,0.0, !- X,Y,Z ==> Vertex 3 {m} + 3.7,3.7,2.4; !- X,Y,Z ==> Vertex 4 {m} + + Sizing:Parameters, + 1.0, !- Heating Sizing Factor + 1.0, !- Cooling Sizing Factor + ; !- Timesteps in Averaging Window + + Sizing:Zone, + SPACE1-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE1-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE1-1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE2-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE2-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE2-1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE3-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE3-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE3-1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE4-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE4-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE4-1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + SPACE5-1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA SPACE5-1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA SPACE5-1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:System, + VAV Sys 1, !- AirLoop Name + sensible, !- Type of Load to Size On + autosize, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Central Heating Maximum System Air Flow Ratio + 4.5, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 10.5, !- Precool Design Temperature {C} + 0.0082, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8, !- Central Cooling Design Supply Air Temperature {C} + 16.7, !- Central Heating Design Supply Air Temperature {C} + noncoincident, !- Type of Zone Sum to Use + no, !- 100% Outdoor Air in Cooling + no, !- 100% Outdoor Air in Heating + 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Supply Air Flow Rate Method + 0, !- Cooling Supply Air Flow Rate {m3/s} + , !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2} + , !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate + , !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + DesignDay, !- Heating Supply Air Flow Rate Method + 0, !- Heating Supply Air Flow Rate {m3/s} + , !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2} + , !- Heating Fraction of Autosized Heating Supply Air Flow Rate + , !- Heating Fraction of Autosized Cooling Supply Air Flow Rate + , !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + , !- System Outdoor Air Method + 1.0, !- Zone Maximum Outdoor Air Fraction {dimensionless} + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Heating Design Capacity + VAV; !- Central Cooling Capacity Control Method + + Sizing:Plant, + Hot Water Loop, !- Plant or Condenser Loop Name + heating, !- Loop Type + 82., !- Design Loop Exit Temperature {C} + 11; !- Loop Design Temperature Difference {deltaC} + + Sizing:Plant, + Chilled Water Loop, !- Plant or Condenser Loop Name + cooling, !- Loop Type + 7.00, !- Design Loop Exit Temperature {C} + 4.00; !- Loop Design Temperature Difference {deltaC} + + Schedule:Compact, + Htg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,16.7, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,22.2, !- Field 6 + For: WeekDays, !- Field 8 + Until: 6:00,16.7, !- Field 9 + Until: 20:00,22.2, !- Field 11 + Until: 24:00,16.7, !- Field 13 + For: WeekEnds Holiday, !- Field 15 + Until: 24:00,16.7, !- Field 16 + For: AllOtherDays, !- Field 18 + Until: 24:00,16.7; !- Field 19 + + Schedule:Compact, + PlenumHtg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,12.8; !- Field 3 + + Schedule:Compact, + Clg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,23.9, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,29.4, !- Field 6 + For: WeekDays, !- Field 8 + Until: 6:00,29.4, !- Field 9 + Until: 20:00,23.9, !- Field 11 + Until: 24:00,29.4, !- Field 13 + For: WeekEnds Holiday, !- Field 15 + Until: 24:00,29.4, !- Field 16 + For: AllOtherDays, !- Field 18 + Until: 24:00,29.4; !- Field 19 + + Schedule:Compact, + PlenumClg-SetP-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,40.0; !- Field 3 + + Schedule:Compact, + Zone Control Type Sched, !- Name + Control Type, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 24:00,2, !- Field 3 + For: WinterDesignDay, !- Field 5 + Until: 24:00,1, !- Field 6 + For: AllOtherDays, !- Field 8 + Until: 24:00,4; !- Field 9 + + Schedule:Compact, + Min OA Sched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays, !- Field 2 + Until: 6:00,0.02, !- Field 3 + Until: 20:00,1.0, !- Field 5 + Until: 24:00,0.02, !- Field 7 + For: AllOtherDays, !- Field 9 + Until: 24:00,0.02; !- Field 10 + + Schedule:Compact, + FanAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 9/30, !- Field 5 + For: WeekDays, !- Field 6 + Until: 6:00,0.0, !- Field 7 + Until: 20:00,1.0, !- Field 9 + Until: 24:00,0.0, !- Field 11 + For: SummerDesignDay WinterDesignDay, !- Field 13 + Until: 24:00,1.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0, !- Field 17 + Through: 12/31, !- Field 19 + For: AllDays, !- Field 20 + Until: 24:00,1.0; !- Field 21 + + Schedule:Compact, + CoolingCoilAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: WeekDays, !- Field 2 + Until: 6:00,0.0, !- Field 3 + Until: 20:00,1.0, !- Field 5 + Until: 24:00,0.0, !- Field 7 + For: SummerDesignDay WinterDesignDay, !- Field 9 + Until: 24:00,1.0, !- Field 10 + For: AllOtherDays, !- Field 12 + Until: 24:00,0.0; !- Field 13 + + Schedule:Compact, + CoolingPumpAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0; !- Field 3 + + Schedule:Compact, + ReheatCoilAvailSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 9/30, !- Field 5 + For: WeekDays, !- Field 6 + Until: 6:00,0.0, !- Field 7 + Until: 20:00,1.0, !- Field 9 + Until: 24:00,0.0, !- Field 11 + For: SummerDesignDay WinterDesignDay, !- Field 13 + Until: 24:00,1.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0, !- Field 17 + Through: 12/31, !- Field 19 + For: AllDays, !- Field 20 + Until: 24:00,1.0; !- Field 21 + + Schedule:Compact, + CW Loop Temp Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,7.22; !- Field 3 + + Schedule:Compact, + HW Loop Temp Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,82; !- Field 3 + + Schedule:Compact, + PlantOnSched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0; !- Field 3 + + Schedule:Compact, + Seasonal Reset Supply Air Temp Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 3/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,16.0, !- Field 3 + Through: 9/30, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,13.0, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,16.0; !- Field 11 + + Schedule:Compact, + OA Cooling Supply Air Temp Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,11.5; !- Field 3 + + Schedule:Compact, + OA Heating Supply Air Temp Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4.5; !- Field 3 + + OutdoorAir:NodeList, + OutsideAirInletNodes; !- Node or NodeList Name 1 + + NodeList, + OutsideAirInletNodes, !- Name + Outside Air Inlet Node 1;!- Node 1 Name + + ZoneHVAC:EquipmentConnections, + SPACE1-1, !- Zone Name + SPACE1-1 Eq, !- Zone Conditioning Equipment List Name + SPACE1-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE1-1 Node, !- Zone Air Node Name + SPACE1-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE2-1, !- Zone Name + SPACE2-1 Eq, !- Zone Conditioning Equipment List Name + SPACE2-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE2-1 Node, !- Zone Air Node Name + SPACE2-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE3-1, !- Zone Name + SPACE3-1 Eq, !- Zone Conditioning Equipment List Name + SPACE3-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE3-1 Node, !- Zone Air Node Name + SPACE3-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE4-1, !- Zone Name + SPACE4-1 Eq, !- Zone Conditioning Equipment List Name + SPACE4-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE4-1 Node, !- Zone Air Node Name + SPACE4-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + SPACE5-1, !- Zone Name + SPACE5-1 Eq, !- Zone Conditioning Equipment List Name + SPACE5-1 In Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + SPACE5-1 Node, !- Zone Air Node Name + SPACE5-1 Out Node; !- Zone Return Air Node or NodeList Name + + ZoneControl:Thermostat, + SPACE1-1 Control, !- Name + SPACE1-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE2-1 Control, !- Name + SPACE2-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE3-1 Control, !- Name + SPACE3-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE4-1 Control, !- Name + SPACE4-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ZoneControl:Thermostat, + SPACE5-1 Control, !- Name + SPACE5-1, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleCooling, !- Control 1 Object Type + CoolingSetPoint, !- Control 1 Name + ThermostatSetpoint:SingleHeating, !- Control 2 Object Type + HeatingSetpoint, !- Control 2 Name + ThermostatSetpoint:DualSetpoint, !- Control 3 Object Type + DualSetPoint; !- Control 3 Name + + ThermostatSetpoint:SingleHeating, + HeatingSetpoint, !- Name + Htg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleCooling, + CoolingSetpoint, !- Name + Clg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleHeating, + PlenumHeatingSetpoint, !- Name + PlenumHtg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:SingleCooling, + PlenumCoolingSetpoint, !- Name + PlenumClg-SetP-Sch; !- Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + DualSetPoint, !- Name + Htg-SetP-Sch, !- Heating Setpoint Temperature Schedule Name + Clg-SetP-Sch; !- Cooling Setpoint Temperature Schedule Name + + ZoneHVAC:EquipmentList, + SPACE1-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE1-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE2-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE2-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE3-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE3-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE4-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE4-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + SPACE5-1 Eq, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + SPACE5-1 ATU, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:AirDistributionUnit, + SPACE1-1 ATU, !- Name + SPACE1-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + SPACE1-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE2-1 ATU, !- Name + SPACE2-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + SPACE2-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE3-1 ATU, !- Name + SPACE3-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + SPACE3-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE4-1 ATU, !- Name + SPACE4-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + SPACE4-1 VAV Reheat; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + SPACE5-1 ATU, !- Name + SPACE5-1 In Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + SPACE5-1 VAV Reheat; !- Air Terminal Name + + AirTerminal:SingleDuct:VAV:Reheat, + SPACE1-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE1-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name + SPACE1-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE1-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + SPACE1-1 In Node, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL, !- Damper Heating Action + AUTOCALCULATE, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + AUTOCALCULATE; !- Maximum Flow Fraction During Reheat + + AirTerminal:SingleDuct:VAV:Reheat, + SPACE2-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE2-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name + SPACE2-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE2-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + SPACE2-1 In Node, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL, !- Damper Heating Action + AUTOCALCULATE, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + AUTOCALCULATE; !- Maximum Flow Fraction During Reheat + + AirTerminal:SingleDuct:VAV:Reheat, + SPACE3-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE3-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name + SPACE3-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE3-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + SPACE3-1 In Node, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL, !- Damper Heating Action + AUTOCALCULATE, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + AUTOCALCULATE; !- Maximum Flow Fraction During Reheat + + AirTerminal:SingleDuct:VAV:Reheat, + SPACE4-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE4-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name + SPACE4-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE4-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + SPACE4-1 In Node, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL, !- Damper Heating Action + AUTOCALCULATE, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + AUTOCALCULATE; !- Maximum Flow Fraction During Reheat + + AirTerminal:SingleDuct:VAV:Reheat, + SPACE5-1 VAV Reheat, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + SPACE5-1 Zone Coil Air In Node, !- Damper Air Outlet Node Name + SPACE5-1 ATU In Node, !- Air Inlet Node Name + autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + SPACE5-1 Zone Coil, !- Reheat Coil Name + autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + SPACE5-1 In Node, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL, !- Damper Heating Action + AUTOCALCULATE, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + AUTOCALCULATE; !- Maximum Flow Fraction During Reheat + + Coil:Heating:Water, + SPACE1-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE1-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE1-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE1-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE1-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Coil:Heating:Water, + SPACE2-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE2-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE2-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE2-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE2-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Coil:Heating:Water, + SPACE3-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE3-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE3-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE3-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE3-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Coil:Heating:Water, + SPACE4-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE4-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE4-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE4-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE4-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Coil:Heating:Water, + SPACE5-1 Zone Coil, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + SPACE5-1 Zone Coil Water In Node, !- Water Inlet Node Name + SPACE5-1 Zone Coil Water Out Node, !- Water Outlet Node Name + SPACE5-1 Zone Coil Air In Node, !- Air Inlet Node Name + SPACE5-1 In Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + AirLoopHVAC:ReturnPath, + ReturnAirPath1, !- Name + PLENUM-1 Out Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ReturnPlenum,!- Component 1 Object Type + Return-Plenum-1; !- Component 1 Name + + AirLoopHVAC:ReturnPlenum, + Return-Plenum-1, !- Name + PLENUM-1, !- Zone Name + PLENUM-1 Node, !- Zone Node Name + PLENUM-1 Out Node, !- Outlet Node Name + , !- Induced Air Outlet Node or NodeList Name + SPACE1-1 Out Node, !- Inlet 1 Node Name + SPACE2-1 Out Node, !- Inlet 2 Node Name + SPACE3-1 Out Node, !- Inlet 3 Node Name + SPACE4-1 Out Node, !- Inlet 4 Node Name + SPACE5-1 Out Node; !- Inlet 5 Node Name + + AirLoopHVAC:SupplyPath, + Zone Supply Air Path 1, !- Name + Zone Eq In Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + Zone Supply Air Splitter 1; !- Component 1 Name + + AirLoopHVAC:ZoneSplitter, + Zone Supply Air Splitter 1, !- Name + Zone Eq In Node, !- Inlet Node Name + SPACE1-1 ATU In Node, !- Outlet 1 Node Name + SPACE2-1 ATU In Node, !- Outlet 2 Node Name + SPACE3-1 ATU In Node, !- Outlet 3 Node Name + SPACE4-1 ATU In Node, !- Outlet 4 Node Name + SPACE5-1 ATU In Node; !- Outlet 5 Node Name + + AirLoopHVAC, + VAV Sys 1, !- Name + VAV Sys 1 Controllers, !- Controller List Name + VAV Sys 1 Avail List, !- Availability Manager List Name + autosize, !- Design Supply Air Flow Rate {m3/s} + VAV Sys 1 Branches, !- Branch List Name + , !- Connector List Name + VAV Sys 1 Inlet Node, !- Supply Side Inlet Node Name + PLENUM-1 Out Node, !- Demand Side Outlet Node Name + Zone Eq In Node, !- Demand Side Inlet Node Names + VAV Sys 1 Outlet Node; !- Supply Side Outlet Node Names + + AirLoopHVAC:ControllerList, + VAV Sys 1 Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + Central Cooling Coil Controller 1, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + Central Heating Coil Controller 1; !- Controller 2 Name + + AvailabilityManagerAssignmentList, + VAV Sys 1 Avail List, !- Name + AvailabilityManager:Scheduled, !- Availability Manager 1 Object Type + VAV Sys 1 Avail; !- Availability Manager 1 Name + + AvailabilityManager:Scheduled, + VAV Sys 1 Avail, !- Name + FanAvailSched; !- Schedule Name + + BranchList, + VAV Sys 1 Branches, !- Name + VAV Sys 1 Main Branch; !- Branch 1 Name + + Branch, + VAV Sys 1 Main Branch, !- Name + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + OA Sys 1, !- Component 1 Name + VAV Sys 1 Inlet Node, !- Component 1 Inlet Node Name + Mixed Air Node 1, !- Component 1 Outlet Node Name + Coil:Cooling:Water, !- Component 2 Object Type + Main Cooling Coil 1, !- Component 2 Name + Mixed Air Node 1, !- Component 2 Inlet Node Name + Main Cooling Coil 1 Outlet Node, !- Component 2 Outlet Node Name + Coil:Heating:Water, !- Component 3 Object Type + Main Heating Coil 1, !- Component 3 Name + Main Cooling Coil 1 Outlet Node, !- Component 3 Inlet Node Name + Main Heating Coil 1 Outlet Node, !- Component 3 Outlet Node Name + Fan:VariableVolume, !- Component 4 Object Type + Supply Fan 1, !- Component 4 Name + Main Heating Coil 1 Outlet Node, !- Component 4 Inlet Node Name + VAV Sys 1 Outlet Node; !- Component 4 Outlet Node Name + + AirLoopHVAC:OutdoorAirSystem, + OA Sys 1, !- Name + OA Sys 1 Controllers, !- Controller List Name + OA Sys 1 Equipment; !- Outdoor Air Equipment List Name + + AirLoopHVAC:ControllerList, + OA Sys 1 Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + OA Controller 1, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + OA CC Controller 1, !- Controller 2 Name + Controller:WaterCoil, !- Controller 3 Object Type + OA HC Controller 1; !- Controller 3 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + OA Sys 1 Equipment, !- Name + Coil:Heating:Water, !- Component 1 Object Type + OA Heating Coil 1, !- Component 1 Name + Coil:Cooling:Water, !- Component 2 Object Type + OA Cooling Coil 1, !- Component 2 Name + OutdoorAir:Mixer, !- Component 3 Object Type + OA Mixing Box 1; !- Component 3 Name + + Coil:Heating:Water, + OA Heating Coil 1, !- Name + CoolingCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + OA Heating Coil 1 Water Inlet Node, !- Water Inlet Node Name + OA Heating Coil 1 Water Outlet Node, !- Water Outlet Node Name + Outside Air Inlet Node 1,!- Air Inlet Node Name + OA Heating Coil 1 Air Outlet Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Coil:Cooling:Water, + OA Cooling Coil 1, !- Name + CoolingCoilAvailSched, !- Availability Schedule Name + autosize, !- Design Water Flow Rate {m3/s} + autosize, !- Design Air Flow Rate {m3/s} + autosize, !- Design Inlet Water Temperature {C} + autosize, !- Design Inlet Air Temperature {C} + autosize, !- Design Outlet Air Temperature {C} + autosize, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + autosize, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + OA Cooling Coil 1 Water Inlet Node, !- Water Inlet Node Name + OA Cooling Coil 1 Water Outlet Node, !- Water Outlet Node Name + OA Heating Coil 1 Air Outlet Node, !- Air Inlet Node Name + OA Mixing Box 1 Inlet Node, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow, !- Heat Exchanger Configuration + , !- Condensate Collection Water Storage Tank Name + 4.0; !- Design Water Temperature Difference {deltaC} + + OutdoorAir:Mixer, + OA Mixing Box 1, !- Name + Mixed Air Node 1, !- Mixed Air Node Name + OA Mixing Box 1 Inlet Node, !- Outdoor Air Stream Node Name + Relief Air Outlet Node 1,!- Relief Air Stream Node Name + VAV Sys 1 Inlet Node; !- Return Air Stream Node Name + + Coil:Cooling:Water, + Main Cooling Coil 1, !- Name + CoolingCoilAvailSched, !- Availability Schedule Name + autosize, !- Design Water Flow Rate {m3/s} + autosize, !- Design Air Flow Rate {m3/s} + autosize, !- Design Inlet Water Temperature {C} + autosize, !- Design Inlet Air Temperature {C} + autosize, !- Design Outlet Air Temperature {C} + autosize, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + autosize, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + Main Cooling Coil 1 Water Inlet Node, !- Water Inlet Node Name + Main Cooling Coil 1 Water Outlet Node, !- Water Outlet Node Name + Mixed Air Node 1, !- Air Inlet Node Name + Main Cooling Coil 1 Outlet Node, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow, !- Heat Exchanger Configuration + , !- Condensate Collection Water Storage Tank Name + 4.0; !- Design Water Temperature Difference {deltaC} + + Coil:Heating:Water, + Main Heating Coil 1, !- Name + ReheatCoilAvailSched, !- Availability Schedule Name + autosize, !- U-Factor Times Area Value {W/K} + autosize, !- Maximum Water Flow Rate {m3/s} + Main Heating Coil 1 Water Inlet Node, !- Water Inlet Node Name + Main Heating Coil 1 Water Outlet Node, !- Water Outlet Node Name + Main Cooling Coil 1 Outlet Node, !- Air Inlet Node Name + Main Heating Coil 1 Outlet Node, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + , !- Rated Ratio for Air and Water Convection + 11; !- Design Water Temperature Difference {deltaC} + + Fan:VariableVolume, + Supply Fan 1, !- Name + FanAvailSched, !- Availability Schedule Name + 0.7, !- Fan Total Efficiency + 600.0, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + Fraction, !- Fan Power Minimum Flow Rate Input Method + 0.25, !- Fan Power Minimum Flow Fraction + , !- Fan Power Minimum Air Flow Rate {m3/s} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.35071223, !- Fan Power Coefficient 1 + 0.30850535, !- Fan Power Coefficient 2 + -0.54137364, !- Fan Power Coefficient 3 + 0.87198823, !- Fan Power Coefficient 4 + 0.000, !- Fan Power Coefficient 5 + Main Heating Coil 1 Outlet Node, !- Air Inlet Node Name + VAV Sys 1 Outlet Node; !- Air Outlet Node Name + + Controller:WaterCoil, + OA HC Controller 1, !- Name + Temperature, !- Control Variable + Normal, !- Action + FLOW, !- Actuator Variable + OA Heating Coil 1 Air Outlet Node, !- Sensor Node Name + OA Heating Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + OA CC Controller 1, !- Name + Temperature, !- Control Variable + Reverse, !- Action + FLOW, !- Actuator Variable + OA Mixing Box 1 Inlet Node, !- Sensor Node Name + OA Cooling Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + Central Cooling Coil Controller 1, !- Name + Temperature, !- Control Variable + Reverse, !- Action + FLOW, !- Actuator Variable + Main Cooling Coil 1 Outlet Node, !- Sensor Node Name + Main Cooling Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:OutdoorAir, + OA Controller 1, !- Name + Relief Air Outlet Node 1,!- Relief Air Outlet Node Name + VAV Sys 1 Inlet Node, !- Return Air Node Name + Mixed Air Node 1, !- Mixed Air Node Name + Outside Air Inlet Node 1,!- Actuator Node Name + autosize, !- Minimum Outdoor Air Flow Rate {m3/s} + autosize, !- Maximum Outdoor Air Flow Rate {m3/s} + NoEconomizer, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 19., !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + 4.6, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + Min OA Sched; !- Minimum Outdoor Air Schedule Name + + Controller:WaterCoil, + Central Heating Coil Controller 1, !- Name + Temperature, !- Control Variable + Normal, !- Action + FLOW, !- Actuator Variable + Main Heating Coil 1 Outlet Node, !- Sensor Node Name + Main Heating Coil 1 Water Inlet Node, !- Actuator Node Name + 0.002, !- Controller Convergence Tolerance {deltaC} + autosize, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + SetpointManager:Scheduled, + Supply Air Temp Manager 1, !- Name + Temperature, !- Control Variable + Seasonal Reset Supply Air Temp Sch, !- Schedule Name + VAV Sys 1 Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + OA Air Temp Manager 1, !- Name + Temperature, !- Control Variable + OA Cooling Supply Air Temp Sch, !- Schedule Name + OA Mixing Box 1 Inlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + OA Air Temp Manager 2, !- Name + Temperature, !- Control Variable + OA Heating Supply Air Temp Sch, !- Schedule Name + OA Heating Coil 1 Air Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + Mixed Air Temp Manager 1,!- Name + Temperature, !- Control Variable + VAV Sys 1 Outlet Node, !- Reference Setpoint Node Name + Main Heating Coil 1 Outlet Node, !- Fan Inlet Node Name + VAV Sys 1 Outlet Node, !- Fan Outlet Node Name + Main Branch SetPoint Node List; !- Setpoint Node or NodeList Name + + NodeList, + Main Branch SetPoint Node List, !- Name + Mixed Air Node 1, !- Node 1 Name + Main Cooling Coil 1 Outlet Node, !- Node 2 Name + Main Heating Coil 1 Outlet Node; !- Node 3 Name + + PlantLoop, + Hot Water Loop, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + Hot Loop Operation, !- Plant Equipment Operation Scheme Name + HW Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 100, !- Maximum Loop Temperature {C} + 10, !- Minimum Loop Temperature {C} + autosize, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + , !- Plant Loop Volume {m3} + HW Supply Inlet Node, !- Plant Side Inlet Node Name + HW Supply Outlet Node, !- Plant Side Outlet Node Name + Heating Supply Side Branches, !- Plant Side Branch List Name + Heating Supply Side Connectors, !- Plant Side Connector List Name + HW Demand Inlet Node, !- Demand Side Inlet Node Name + HW Demand Outlet Node, !- Demand Side Outlet Node Name + Heating Demand Side Branches, !- Demand Side Branch List Name + Heating Demand Side Connectors, !- Demand Side Connector List Name + SequentialLoad; !- Load Distribution Scheme + + SetpointManager:Scheduled, + Hot Water Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + HW Loop Temp Schedule, !- Schedule Name + HW Supply Outlet Node; !- Setpoint Node or NodeList Name + + BranchList, + Heating Supply Side Branches, !- Name + Heating Supply Inlet Branch, !- Branch 1 Name + Central Boiler Branch, !- Branch 2 Name + Heating Supply Bypass Branch, !- Branch 3 Name + Heating Supply Outlet Branch; !- Branch 4 Name + + ConnectorList, + Heating Supply Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + Heating Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Heating Supply Mixer; !- Connector 2 Name + + Branch, + Heating Supply Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + HW Circ Pump, !- Component 1 Name + HW Supply Inlet Node, !- Component 1 Inlet Node Name + HW Pump Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Central Boiler Branch, !- Name + , !- Pressure Drop Curve Name + Boiler:HotWater, !- Component 1 Object Type + Central Boiler, !- Component 1 Name + Central Boiler Inlet Node, !- Component 1 Inlet Node Name + Central Boiler Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Heating Supply Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Supply Side Bypass, !- Component 1 Name + Heating Supply Bypass Inlet Node, !- Component 1 Inlet Node Name + Heating Supply Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Supply Side Bypass, !- Name + Heating Supply Bypass Inlet Node, !- Inlet Node Name + Heating Supply Bypass Outlet Node; !- Outlet Node Name + + Branch, + Heating Supply Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Supply Outlet, !- Component 1 Name + Heating Supply Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + HW Supply Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Supply Outlet, !- Name + Heating Supply Exit Pipe Inlet Node, !- Inlet Node Name + HW Supply Outlet Node; !- Outlet Node Name + + BranchList, + Heating Demand Side Branches, !- Name + Heating Demand Inlet Branch, !- Branch 1 Name + SPACE1-1 Reheat Branch, !- Branch 2 Name + SPACE2-1 Reheat Branch, !- Branch 3 Name + SPACE3-1 Reheat Branch, !- Branch 4 Name + SPACE4-1 Reheat Branch, !- Branch 5 Name + SPACE5-1 Reheat Branch, !- Branch 6 Name + OA Heating Coil Branch, !- Branch 7 Name + Main Heating Coil 1 Branch, !- Branch 8 Name + Heating Demand Bypass Branch, !- Branch 9 Name + Heating Demand Outlet Branch; !- Branch 10 Name + + ConnectorList, + Heating Demand Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + Heating Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Heating Demand Mixer; !- Connector 2 Name + + Branch, + Heating Demand Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Inlet Pipe, !- Component 1 Name + HW Demand Inlet Node, !- Component 1 Inlet Node Name + HW Demand Entrance Pipe Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Inlet Pipe, !- Name + HW Demand Inlet Node, !- Inlet Node Name + HW Demand Entrance Pipe Outlet Node; !- Outlet Node Name + + Branch, + Heating Demand Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Outlet Pipe, !- Component 1 Name + HW Demand Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + HW Demand Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Outlet Pipe, !- Name + HW Demand Exit Pipe Inlet Node, !- Inlet Node Name + HW Demand Outlet Node; !- Outlet Node Name + + Branch, + SPACE1-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE1-1 Zone Coil, !- Component 1 Name + SPACE1-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE1-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE2-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE2-1 Zone Coil, !- Component 1 Name + SPACE2-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE2-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE3-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE3-1 Zone Coil, !- Component 1 Name + SPACE3-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE3-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE4-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE4-1 Zone Coil, !- Component 1 Name + SPACE4-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE4-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + SPACE5-1 Reheat Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + SPACE5-1 Zone Coil, !- Component 1 Name + SPACE5-1 Zone Coil Water In Node, !- Component 1 Inlet Node Name + SPACE5-1 Zone Coil Water Out Node; !- Component 1 Outlet Node Name + + Branch, + OA Heating Coil Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + OA Heating Coil 1, !- Component 1 Name + OA Heating Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + OA Heating Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Main Heating Coil 1 Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Main Heating Coil 1, !- Component 1 Name + Main Heating Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + Main Heating Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Heating Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Heating Demand Bypass, !- Component 1 Name + Heating Demand Bypass Inlet Node, !- Component 1 Inlet Node Name + Heating Demand Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Heating Demand Bypass, !- Name + Heating Demand Bypass Inlet Node, !- Inlet Node Name + Heating Demand Bypass Outlet Node; !- Outlet Node Name + + Connector:Splitter, + Heating Demand Splitter, !- Name + Heating Demand Inlet Branch, !- Inlet Branch Name + SPACE1-1 Reheat Branch, !- Outlet Branch 1 Name + SPACE2-1 Reheat Branch, !- Outlet Branch 2 Name + SPACE3-1 Reheat Branch, !- Outlet Branch 3 Name + SPACE4-1 Reheat Branch, !- Outlet Branch 4 Name + SPACE5-1 Reheat Branch, !- Outlet Branch 5 Name + OA Heating Coil Branch, !- Outlet Branch 6 Name + Main Heating Coil 1 Branch, !- Outlet Branch 7 Name + Heating Demand Bypass Branch; !- Outlet Branch 8 Name + + Connector:Mixer, + Heating Demand Mixer, !- Name + Heating Demand Outlet Branch, !- Outlet Branch Name + SPACE1-1 Reheat Branch, !- Inlet Branch 1 Name + SPACE2-1 Reheat Branch, !- Inlet Branch 2 Name + SPACE3-1 Reheat Branch, !- Inlet Branch 3 Name + SPACE4-1 Reheat Branch, !- Inlet Branch 4 Name + SPACE5-1 Reheat Branch, !- Inlet Branch 5 Name + OA Heating Coil Branch, !- Inlet Branch 6 Name + Main Heating Coil 1 Branch, !- Inlet Branch 7 Name + Heating Demand Bypass Branch; !- Inlet Branch 8 Name + + Connector:Splitter, + Heating Supply Splitter, !- Name + Heating Supply Inlet Branch, !- Inlet Branch Name + Central Boiler Branch, !- Outlet Branch 1 Name + Heating Supply Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + Heating Supply Mixer, !- Name + Heating Supply Outlet Branch, !- Outlet Branch Name + Central Boiler Branch, !- Inlet Branch 1 Name + Heating Supply Bypass Branch; !- Inlet Branch 2 Name + + PlantEquipmentOperationSchemes, + Hot Loop Operation, !- Name + PlantEquipmentOperation:HeatingLoad, !- Control Scheme 1 Object Type + Central Boiler Only, !- Control Scheme 1 Name + PlantOnSched; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:HeatingLoad, + Central Boiler Only, !- Name + 0, !- Load Range 1 Lower Limit {W} + 1000000, !- Load Range 1 Upper Limit {W} + heating plant; !- Range 1 Equipment List Name + + PlantEquipmentList, + heating plant, !- Name + Boiler:HotWater, !- Equipment 1 Object Type + Central Boiler; !- Equipment 1 Name + + Boiler:HotWater, + Central Boiler, !- Name + NaturalGas, !- Fuel Type + autosize, !- Nominal Capacity {W} + 0.8, !- Nominal Thermal Efficiency + LeavingBoiler, !- Efficiency Curve Temperature Evaluation Variable + BoilerEfficiency, !- Normalized Boiler Efficiency Curve Name + autosize, !- Design Water Flow Rate {m3/s} + 0.0, !- Minimum Part Load Ratio + 1.2, !- Maximum Part Load Ratio + 1.0, !- Optimum Part Load Ratio + Central Boiler Inlet Node, !- Boiler Water Inlet Node Name + Central Boiler Outlet Node, !- Boiler Water Outlet Node Name + 100., !- Water Outlet Upper Temperature Limit {C} + LeavingSetpointModulated;!- Boiler Flow Mode + + SetpointManager:Scheduled, + Central Boiler Setpoint Manager, !- Name + Temperature, !- Control Variable + HW Loop Temp Schedule, !- Schedule Name + Central Boiler Outlet Node; !- Setpoint Node or NodeList Name + + Curve:Quadratic, + BoilerEfficiency, !- Name + 1.0, !- Coefficient1 Constant + 0.0, !- Coefficient2 x + 0.0, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + + Pump:VariableSpeed, + HW Circ Pump, !- Name + HW Supply Inlet Node, !- Inlet Node Name + HW Pump Outlet Node, !- Outlet Node Name + autosize, !- Design Maximum Flow Rate {m3/s} + 179352, !- Design Pump Head {Pa} + autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + INTERMITTENT; !- Pump Control Type + + PlantLoop, + Chilled Water Loop, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + CW Loop Operation, !- Plant Equipment Operation Scheme Name + CW Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 98, !- Maximum Loop Temperature {C} + 1, !- Minimum Loop Temperature {C} + autosize, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + , !- Plant Loop Volume {m3} + CW Supply Inlet Node, !- Plant Side Inlet Node Name + CW Supply Outlet Node, !- Plant Side Outlet Node Name + Cooling Supply Side Branches, !- Plant Side Branch List Name + Cooling Supply Side Connectors, !- Plant Side Connector List Name + CW Demand Inlet Node, !- Demand Side Inlet Node Name + CW Demand Outlet Node, !- Demand Side Outlet Node Name + Cooling Demand Side Branches, !- Demand Side Branch List Name + Cooling Demand Side Connectors, !- Demand Side Connector List Name + SequentialLoad, !- Load Distribution Scheme + CW Avail List; !- Availability Manager List Name + + AvailabilityManagerAssignmentList, + CW Avail List, !- Name + AvailabilityManager:LowTemperatureTurnOff, !- Availability Manager 1 Object Type + CW Low Temp Limit; !- Availability Manager 1 Name + + AvailabilityManager:LowTemperatureTurnOff, + CW Low Temp Limit, !- Name + Outside Air Inlet Node 1,!- Sensor Node Name + 2.0, !- Temperature {C} + CoolingPumpAvailSched; !- Applicability Schedule Name + + SetpointManager:Scheduled, + Chilled Water Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + CW Loop Temp Schedule, !- Schedule Name + CW Supply Outlet Node; !- Setpoint Node or NodeList Name + + BranchList, + Cooling Supply Side Branches, !- Name + CW Pump Branch, !- Branch 1 Name + Central Chiller Branch, !- Branch 2 Name + Cooling Supply Bypass Branch, !- Branch 3 Name + Cooling Supply Outlet; !- Branch 4 Name + + BranchList, + Cooling Demand Side Branches, !- Name + Cooling Demand Inlet, !- Branch 1 Name + Cooling Coil Branch, !- Branch 2 Name + OA Cooling Coil Branch, !- Branch 3 Name + Cooling Demand Bypass Branch, !- Branch 4 Name + Cooling Demand Outlet; !- Branch 5 Name + + ConnectorList, + Cooling Supply Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CW Loop Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CW Loop Mixer; !- Connector 2 Name + + ConnectorList, + Cooling Demand Side Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CW Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CW Demand Mixer; !- Connector 2 Name + + Branch, + Cooling Demand Inlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Cooling Demand Side Inlet Pipe, !- Component 1 Name + CW Demand Inlet Node, !- Component 1 Inlet Node Name + CW Demand Entrance Pipe Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Cooling Demand Side Inlet Pipe, !- Name + CW Demand Inlet Node, !- Inlet Node Name + CW Demand Entrance Pipe Outlet Node; !- Outlet Node Name + + Branch, + Cooling Coil Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + Main Cooling Coil 1, !- Component 1 Name + Main Cooling Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + Main Cooling Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + OA Cooling Coil Branch, !- Name + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + OA Cooling Coil 1, !- Component 1 Name + OA Cooling Coil 1 Water Inlet Node, !- Component 1 Inlet Node Name + OA Cooling Coil 1 Water Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Cooling Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Cooling Demand Side Bypass, !- Component 1 Name + CW Demand Bypass Inlet Node, !- Component 1 Inlet Node Name + CW Demand Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Cooling Demand Side Bypass, !- Name + CW Demand Bypass Inlet Node, !- Inlet Node Name + CW Demand Bypass Outlet Node; !- Outlet Node Name + + Branch, + Cooling Demand Outlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CW Demand Side Outlet Pipe, !- Component 1 Name + CW Demand Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + CW Demand Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + CW Demand Side Outlet Pipe, !- Name + CW Demand Exit Pipe Inlet Node, !- Inlet Node Name + CW Demand Outlet Node; !- Outlet Node Name + + Branch, + Cooling Supply Outlet, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Supply Side Outlet Pipe, !- Component 1 Name + Supply Side Exit Pipe Inlet Node, !- Component 1 Inlet Node Name + CW Supply Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Supply Side Outlet Pipe, !- Name + Supply Side Exit Pipe Inlet Node, !- Inlet Node Name + CW Supply Outlet Node; !- Outlet Node Name + + Branch, + CW Pump Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + CW Circ Pump, !- Component 1 Name + CW Supply Inlet Node, !- Component 1 Inlet Node Name + CW Pump Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Central Chiller Branch, !- Name + , !- Pressure Drop Curve Name + Chiller:Electric, !- Component 1 Object Type + Central Chiller, !- Component 1 Name + Central Chiller Inlet Node, !- Component 1 Inlet Node Name + Central Chiller Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Cooling Supply Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Supply Side Bypass, !- Component 1 Name + CW Supply Bypass Inlet Node, !- Component 1 Inlet Node Name + CW Supply Bypass Outlet Node; !- Component 1 Outlet Node Name + + Pipe:Adiabatic, + Supply Side Bypass, !- Name + CW Supply Bypass Inlet Node, !- Inlet Node Name + CW Supply Bypass Outlet Node; !- Outlet Node Name + + Connector:Splitter, + CW Loop Splitter, !- Name + CW Pump Branch, !- Inlet Branch Name + Central Chiller Branch, !- Outlet Branch 1 Name + Cooling Supply Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + CW Loop Mixer, !- Name + Cooling Supply Outlet, !- Outlet Branch Name + Central Chiller Branch, !- Inlet Branch 1 Name + Cooling Supply Bypass Branch; !- Inlet Branch 2 Name + + Connector:Splitter, + CW Demand Splitter, !- Name + Cooling Demand Inlet, !- Inlet Branch Name + Cooling Coil Branch, !- Outlet Branch 1 Name + OA Cooling Coil Branch, !- Outlet Branch 2 Name + Cooling Demand Bypass Branch; !- Outlet Branch 3 Name + + Connector:Mixer, + CW Demand Mixer, !- Name + Cooling Demand Outlet, !- Outlet Branch Name + Cooling Coil Branch, !- Inlet Branch 1 Name + OA Cooling Coil Branch, !- Inlet Branch 2 Name + Cooling Demand Bypass Branch; !- Inlet Branch 3 Name + + PlantEquipmentOperationSchemes, + CW Loop Operation, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + Central Chiller Only, !- Control Scheme 1 Name + PlantOnSched; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:CoolingLoad, + Central Chiller Only, !- Name + 0, !- Load Range 1 Lower Limit {W} + 900000, !- Load Range 1 Upper Limit {W} + Cooling Plant; !- Range 1 Equipment List Name + + PlantEquipmentList, + Cooling Plant, !- Name + Chiller:Electric, !- Equipment 1 Object Type + Central Chiller; !- Equipment 1 Name + + Chiller:Electric, + Central Chiller, !- Name + AirCooled, !- Condenser Type + autosize, !- Nominal Capacity {W} + 3.2, !- Nominal COP {W/W} + Central Chiller Inlet Node, !- Chilled Water Inlet Node Name + Central Chiller Outlet Node, !- Chilled Water Outlet Node Name + Central Chiller Condenser Inlet Node, !- Condenser Inlet Node Name + Central Chiller Condenser Outlet Node, !- Condenser Outlet Node Name + 0.0, !- Minimum Part Load Ratio + 1.0, !- Maximum Part Load Ratio + 0.65, !- Optimum Part Load Ratio + 35.0, !- Design Condenser Inlet Temperature {C} + 2.778, !- Temperature Rise Coefficient + 6.67, !- Design Chilled Water Outlet Temperature {C} + autosize, !- Design Chilled Water Flow Rate {m3/s} + autosize, !- Design Condenser Fluid Flow Rate {m3/s} + 0.9949, !- Coefficient 1 of Capacity Ratio Curve + -0.045954, !- Coefficient 2 of Capacity Ratio Curve + -0.0013543, !- Coefficient 3 of Capacity Ratio Curve + 2.333, !- Coefficient 1 of Power Ratio Curve + -1.975, !- Coefficient 2 of Power Ratio Curve + 0.6121, !- Coefficient 3 of Power Ratio Curve + 0.03303, !- Coefficient 1 of Full Load Ratio Curve + 0.6852, !- Coefficient 2 of Full Load Ratio Curve + 0.2818, !- Coefficient 3 of Full Load Ratio Curve + 5, !- Chilled Water Outlet Temperature Lower Limit {C} + LeavingSetpointModulated;!- Chiller Flow Mode + + SetpointManager:Scheduled, + Central Chiller Setpoint Manager, !- Name + Temperature, !- Control Variable + CW Loop Temp Schedule, !- Schedule Name + Central Chiller Outlet Node; !- Setpoint Node or NodeList Name + + OutdoorAir:Node, + Central Chiller Condenser Inlet Node, !- Name + -1.0; !- Height Above Ground {m} + + Pump:VariableSpeed, + CW Circ Pump, !- Name + CW Supply Inlet Node, !- Inlet Node Name + CW Pump Outlet Node, !- Outlet Node Name + autosize, !- Design Maximum Flow Rate {m3/s} + 179352, !- Design Pump Head {Pa} + autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + INTERMITTENT, !- Pump Control Type + CoolingPumpAvailSched; !- Pump Flow Rate Schedule Name + + Output:Variable,*,Site Outdoor Air Drybulb Temperature,hourly; + + Output:Variable,*,Zone Air Temperature,hourly; + + Output:Variable,*,Zone Mean Air Dewpoint Temperature,hourly; + + Output:Variable,*,Zone Air System Sensible Cooling Rate,hourly; + + Output:Variable,*,Zone Air System Sensible Heating Rate,hourly; + + Output:Variable,OA Mixing Box 1 Inlet Node,System Node Temperature,hourly; + + Output:Variable,OA Mixing Box 1 Inlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,OA Mixing Box 1 Inlet Node,System Node Setpoint Temperature,hourly; + + Output:Variable,OA Mixing Box 1 Inlet Node,System Node Humidity Ratio,hourly; + + Output:Variable,OA Heating Coil 1 Air Outlet Node,System Node Temperature,hourly; + + Output:Variable,OA Heating Coil 1 Air Outlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,OA Heating Coil 1 Air Outlet Node,System Node Setpoint Temperature,hourly; + + Output:Variable,OA Heating Coil 1 Air Outlet Node,System Node Humidity Ratio,hourly; + + Output:Variable,Mixed Air Node 1,System Node Temperature,hourly; + + Output:Variable,Mixed Air Node 1,System Node Humidity Ratio,hourly; + + Output:Variable,Mixed Air Node 1,System Node Dewpoint Temperature,hourly; + + Output:Variable,VAV Sys 1 Outlet Node,System Node Temperature,hourly; + + Output:Variable,VAV Sys 1 Outlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,VAV Sys 1 Outlet Node,System Node Humidity Ratio,hourly; + + Output:Variable,VAV Sys 1 Outlet Node,System Node Setpoint Temperature,hourly; + + Output:Variable,OA Cooling Coil 1 Water Inlet Node,System Node Temperature,hourly; + + Output:Variable,OA Cooling Coil 1 Water Inlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,Main Cooling Coil 1 Water Inlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,OA Heating Coil 1 Water Inlet Node,System Node Temperature,hourly; + + Output:Variable,OA Heating Coil 1 Water Inlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,Main Heating Coil 1 Water Inlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,*,Heating Coil Heating Rate,hourly; + + Output:Variable,*,Cooling Coil Total Cooling Rate,hourly; + + Output:Variable,*,Cooling Coil Sensible Cooling Rate,hourly; + + Output:Variable,*,Plant Supply Side Cooling Demand Rate,hourly; + + Output:Variable,*,Plant Supply Side Heating Demand Rate,hourly; + + Output:Variable,*,Boiler NaturalGas Rate,hourly; + + Output:Variable,*,Boiler Heating Rate,hourly; + + Output:Variable,*,Chiller Electricity Rate,hourly; + + Output:Variable,*,Chiller Evaporator Cooling Rate,hourly; + + Output:Variable,*,Chiller Evaporator Inlet Temperature,hourly; + + Output:Variable,*,Chiller Evaporator Outlet Temperature,hourly; + + Output:Variable,*,Chiller Evaporator Mass Flow Rate,hourly; + + Output:Variable,*,Chiller Condenser Heat Transfer Rate,hourly; + + Output:Variable,*,Pump Mass Flow Rate,hourly; + + Output:Variable,*,Pump Outlet Temperature,hourly; + + Output:VariableDictionary,Regular; + + Output:Meter:MeterFileOnly,Electricity:Facility,monthly; + + Output:Meter:MeterFileOnly,Electricity:Building,monthly; + + Output:Meter:MeterFileOnly,InteriorLights:Electricity,monthly; + + Output:Meter:MeterFileOnly,Electricity:HVAC,monthly; + + Output:Meter:MeterFileOnly,Electricity:Plant,monthly; + + Output:Meter:MeterFileOnly,NaturalGas:Facility,monthly; + + Output:Meter:MeterFileOnly,NaturalGas:Plant,monthly; + + Output:Meter:MeterFileOnly,Electricity:Facility,runperiod; + + Output:Meter:MeterFileOnly,Electricity:Building,runperiod; + + Output:Meter:MeterFileOnly,InteriorLights:Electricity,runperiod; + + Output:Meter:MeterFileOnly,Electricity:HVAC,runperiod; + + Output:Meter:MeterFileOnly,Electricity:Plant,runperiod; + + Output:Meter:MeterFileOnly,NaturalGas:Facility,runperiod; + + Output:Meter:MeterFileOnly,NaturalGas:Plant,runperiod; + + Output:Meter:MeterFileOnly,MyGeneralLights,monthly; + + Output:Meter:MeterFileOnly,MyGeneralLights,runperiod; + + Output:Meter:MeterFileOnly,MyBuildingElectric,monthly; + + Output:Meter:MeterFileOnly,MyBuildingElectric,runperiod; + + Output:Meter:MeterFileOnly,MyBuildingOther,monthly; + + Output:Meter:MeterFileOnly,MyBuildingOther,runperiod; + +! The following custom meters are set up to illustrate the capabilities +! of custom meters. +! Custom Meter "MyGeneralLights" duplicates the InteriorLights:Electricity meter. +! Custom Meter "MyBuildingElectric" duplicates the Electricity:Building meter (by specifying that meter). +! Custom Meter (Decrement) "MyBuildingOther" uses Electricity:Building as its source meter +! and subtracts out the values for MyGeneralLights (aka InteriorLights:Electricity). The +! resultant value for MyBuildingOther should be equal to the value for the meters +! Electricity:Building - InteriorLights:Electricity (aka MyGeneralLights) + + Meter:Custom, + MyGeneralLights, !- Name + Electricity, !- Resource Type + SPACE1-1 Lights 1, !- Key Name 1 + Lights Electricity Energy, !- Output Variable or Meter Name 1 + SPACE2-1 Lights 1, !- Key Name 2 + Lights Electricity Energy, !- Output Variable or Meter Name 2 + SPACE3-1 Lights 1, !- Key Name 3 + Lights Electricity Energy, !- Output Variable or Meter Name 3 + SPACE4-1 Lights 1, !- Key Name 4 + Lights Electricity Energy, !- Output Variable or Meter Name 4 + SPACE5-1 Lights 1, !- Key Name 5 + Lights Electricity Energy; !- Output Variable or Meter Name 5 + + Meter:Custom, + MyBuildingElectric, !- Name + Electricity, !- Resource Type + , !- Key Name 1 + Electricity:Building; !- Output Variable or Meter Name 1 + + Meter:CustomDecrement, + MyBuildingOther, !- Name + Electricity, !- Resource Type + Electricity:Building, !- Source Meter Name + , !- Key Name 1 + MyGeneralLights; !- Output Variable or Meter Name 1 + + Output:Surfaces:Drawing,VRML; + + OutputControl:Table:Style, + HTML; !- Column Separator + + Output:Table:SummaryReports, + AllSummaryAndSizingPeriod; !- Report 1 Name + + Output:Surfaces:List,Details; + + Output:Surfaces:List,DecayCurvesFromComponentLoadsSummary; + + Output:Surfaces:List,ViewFactorInfo; + diff --git a/testfiles/CMakeLists.txt b/testfiles/CMakeLists.txt index 7855ff4baf2..032b420d1f1 100644 --- a/testfiles/CMakeLists.txt +++ b/testfiles/CMakeLists.txt @@ -48,6 +48,8 @@ add_simulation_test(IDF_FILE 4ZoneWithShading_Simple_1.idf EPW_FILE USA_CO_Golde add_simulation_test(IDF_FILE 4ZoneWithShading_Simple_2.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) add_simulation_test(IDF_FILE 5ZoneAirCooled.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) add_simulation_test(IDF_FILE 5ZoneAirCooledConvCoef.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) +add_simulation_test(IDF_FILE 5ZoneAirCooledConvCoef_VSFan.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) +add_simulation_test(IDF_FILE 5ZoneAirCooledKeepSiteLocation.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) add_simulation_test(IDF_FILE 5ZoneAirCooledWithSpaces.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE 5ZoneAirCooledWithSpaceHeatBalance.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE 5ZoneAirCooledWithSpacesHVAC.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) @@ -686,6 +688,7 @@ add_simulation_test(IDF_FILE VentilatedSlab.idf EPW_FILE USA_IL_Chicago-OHare.In add_simulation_test(IDF_FILE VentilatedSlab_SeriesSlabs.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE VentilationSimpleTest.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE VRFMultispeedFan.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) +add_simulation_test(IDF_FILE WaterCooledChillerWithVSCondenserControl.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE WaterHeaterDHWPlantLoop.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE WaterHeaterHeatPumpStratifiedTank.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) add_simulation_test(IDF_FILE WaterHeaterHeatPumpWrappedCondenser.idf EPW_FILE USA_FL_Miami.Intl.AP.722020_TMY3.epw) diff --git a/testfiles/WaterCooledChillerWithVSCondenserControl.idf b/testfiles/WaterCooledChillerWithVSCondenserControl.idf new file mode 100644 index 00000000000..3951368d88e --- /dev/null +++ b/testfiles/WaterCooledChillerWithVSCondenserControl.idf @@ -0,0 +1,23825 @@ +!-Generator IDFEditor 1.50 +!-Option SortedOrder UseSpecialFormat +!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically. +!- Use '!' comments if they need to be retained when using the IDFEditor. +!- =========== ALL OBJECTS IN CLASS: VERSION =========== + + Version,24.1; + +!- =========== ALL OBJECTS IN CLASS: SIMULATIONCONTROL =========== + + SimulationControl, + Yes, !- Do Zone Sizing Calculation + Yes, !- Do System Sizing Calculation + Yes, !- Do Plant Sizing Calculation + No, !- Run Simulation for Sizing Periods + Yes, !- Run Simulation for Weather File Run Periods + No, !- Do HVAC Sizing Simulation for Sizing Periods + 1; !- Maximum Number of HVAC Sizing Simulation Passes + +!- =========== ALL OBJECTS IN CLASS: BUILDING =========== + + Building, + Large Office-VAV-HW-Reheat Min Req, !- Name + , !- North Axis {deg} + , !- Terrain + , !- Loads Convergence Tolerance Value {W} + , !- Temperature Convergence Tolerance Value {deltaC} + , !- Solar Distribution + , !- Maximum Number of Warmup Days + ; !- Minimum Number of Warmup Days + +!- =========== ALL OBJECTS IN CLASS: TIMESTEP =========== + + Timestep,4; + +!- =========== ALL OBJECTS IN CLASS: SITE:LOCATION =========== + + Site:Location, + CHICAGO_IL_USA_WMO_725300, !- Name + 42.00, !- Latitude {deg} + -87.88, !- Longitude {deg} + -6.00, !- Time Zone {hr} + 190.00; !- Elevation {m} + +!- =========== ALL OBJECTS IN CLASS: SIZINGPERIOD:DESIGNDAY =========== + + SizingPeriod:DesignDay, + CHICAGO Ann Htg 99% Condns DB, !- Name + 1, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -17.3, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -17.3, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063, !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.0; !- Sky Clearness + +! CHICAGO_IL_USA Annual Cooling (DB=>MWB) 1%, MaxDB=31.5°C MWB=23°C + + SizingPeriod:DesignDay, + CHICAGO Ann Clg 1% Condns DB=>MWB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 31.5, !- Maximum Dry-Bulb Temperature {C} + 10.7, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 23, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063, !- Barometric Pressure {Pa} + 5.3, !- Wind Speed {m/s} + 230, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.0; !- Sky Clearness + + +!- =========== ALL OBJECTS IN CLASS: RUNPERIOD =========== + + RunPeriod, + Run Period 1, !- Name + 5, !- Begin Month + 1, !- Begin Day of Month + 2009, !- Begin Year + 5, !- End Month + 15, !- End Day of Month + 2009, !- End Year + Thursday, !- Day of Week for Start Day + No, !- Use Weather File Holidays and Special Days + No, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes; !- Use Weather File Snow Indicators + +!- =========== ALL OBJECTS IN CLASS: SITE:GROUNDTEMPERATURE:BUILDINGSURFACE =========== + + Site:GroundTemperature:BuildingSurface,19.527,19.502,19.536,19.598,20.002,21.64,22.225,22.375,21.449,20.121,19.802,19.633; + +!- =========== ALL OBJECTS IN CLASS: SITE:WATERMAINSTEMPERATURE =========== + + Site:WaterMainsTemperature, + Correlation, !- Calculation Method + , !- Temperature Schedule Name + 9.69, !- Annual Average Outdoor Air Temperature {C} + 28.1; !- Maximum Difference In Monthly Average Outdoor Air Temperatures {deltaC} + +!- =========== ALL OBJECTS IN CLASS: SCHEDULETYPELIMITS =========== + + ScheduleTypeLimits, + Fractional, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Continuous; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_1_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + Temperature, !- Name + , !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + temperature; !- Unit Type + + ScheduleTypeLimits, + OnOff, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + availability; !- Unit Type + + ScheduleTypeLimits, + blocks-3644_office_1_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_1_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_1_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_1_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_2_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_2_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_2_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_2_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3644_office_2_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_1_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_1_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_1_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_1_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_1_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_2_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_2_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_2_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_2_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_2_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_3_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_3_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_3_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_3_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_3_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_4_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_4_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_4_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_4_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_4_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_5_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_5_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_5_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_5_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_5_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_6_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_6_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_6_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_6_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_6_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_7_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_7_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_7_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_7_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_7_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_8_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_8_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_8_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_8_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_8_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_9_Core Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_9_East Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_9_North Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_9_South Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + blocks-3645_office_9_West Perimeter Thermostat Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + ActivityLevel, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + activitylevel; !- Unit Type + + ScheduleTypeLimits, + Dimensionless, !- Name + , !- Lower Limit Value + , !- Upper Limit Value + Continuous; !- Numeric Type + + ScheduleTypeLimits, + OnOff 1, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + availability; !- Unit Type + +!- =========== ALL OBJECTS IN CLASS: SCHEDULE:DAY:INTERVAL =========== + + Schedule:Day:Interval, + Office_Lighting_Schedule_Week_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.05, !- Value Until Time 1 + 02:00, !- Time 2 + 0.05, !- Value Until Time 2 + 03:00, !- Time 3 + 0.05, !- Value Until Time 3 + 04:00, !- Time 4 + 0.05, !- Value Until Time 4 + 05:00, !- Time 5 + 0.05, !- Value Until Time 5 + 06:00, !- Time 6 + 0.1, !- Value Until Time 6 + 07:00, !- Time 7 + 0.1, !- Value Until Time 7 + 08:00, !- Time 8 + 0.3, !- Value Until Time 8 + 09:00, !- Time 9 + 0.9, !- Value Until Time 9 + 10:00, !- Time 10 + 0.9, !- Value Until Time 10 + 11:00, !- Time 11 + 0.9, !- Value Until Time 11 + 12:00, !- Time 12 + 0.9, !- Value Until Time 12 + 13:00, !- Time 13 + 0.9, !- Value Until Time 13 + 14:00, !- Time 14 + 0.9, !- Value Until Time 14 + 15:00, !- Time 15 + 0.9, !- Value Until Time 15 + 16:00, !- Time 16 + 0.9, !- Value Until Time 16 + 17:00, !- Time 17 + 0.9, !- Value Until Time 17 + 18:00, !- Time 18 + 0.5, !- Value Until Time 18 + 19:00, !- Time 19 + 0.3, !- Value Until Time 19 + 20:00, !- Time 20 + 0.3, !- Value Until Time 20 + 21:00, !- Time 21 + 0.2, !- Value Until Time 21 + 22:00, !- Time 22 + 0.2, !- Value Until Time 22 + 23:00, !- Time 23 + 0.1, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Lighting_Schedule_Saturday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.05, !- Value Until Time 1 + 02:00, !- Time 2 + 0.05, !- Value Until Time 2 + 03:00, !- Time 3 + 0.05, !- Value Until Time 3 + 04:00, !- Time 4 + 0.05, !- Value Until Time 4 + 05:00, !- Time 5 + 0.05, !- Value Until Time 5 + 06:00, !- Time 6 + 0.05, !- Value Until Time 6 + 07:00, !- Time 7 + 0.1, !- Value Until Time 7 + 08:00, !- Time 8 + 0.1, !- Value Until Time 8 + 09:00, !- Time 9 + 0.3, !- Value Until Time 9 + 10:00, !- Time 10 + 0.3, !- Value Until Time 10 + 11:00, !- Time 11 + 0.3, !- Value Until Time 11 + 12:00, !- Time 12 + 0.3, !- Value Until Time 12 + 13:00, !- Time 13 + 0.15, !- Value Until Time 13 + 14:00, !- Time 14 + 0.15, !- Value Until Time 14 + 15:00, !- Time 15 + 0.15, !- Value Until Time 15 + 16:00, !- Time 16 + 0.15, !- Value Until Time 16 + 17:00, !- Time 17 + 0.15, !- Value Until Time 17 + 18:00, !- Time 18 + 0.05, !- Value Until Time 18 + 19:00, !- Time 19 + 0.05, !- Value Until Time 19 + 20:00, !- Time 20 + 0.05, !- Value Until Time 20 + 21:00, !- Time 21 + 0.05, !- Value Until Time 21 + 22:00, !- Time 22 + 0.05, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Lighting_Schedule_Sunday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.05, !- Value Until Time 1 + 02:00, !- Time 2 + 0.05, !- Value Until Time 2 + 03:00, !- Time 3 + 0.05, !- Value Until Time 3 + 04:00, !- Time 4 + 0.05, !- Value Until Time 4 + 05:00, !- Time 5 + 0.05, !- Value Until Time 5 + 06:00, !- Time 6 + 0.05, !- Value Until Time 6 + 07:00, !- Time 7 + 0.05, !- Value Until Time 7 + 08:00, !- Time 8 + 0.05, !- Value Until Time 8 + 09:00, !- Time 9 + 0.05, !- Value Until Time 9 + 10:00, !- Time 10 + 0.05, !- Value Until Time 10 + 11:00, !- Time 11 + 0.05, !- Value Until Time 11 + 12:00, !- Time 12 + 0.05, !- Value Until Time 12 + 13:00, !- Time 13 + 0.05, !- Value Until Time 13 + 14:00, !- Time 14 + 0.05, !- Value Until Time 14 + 15:00, !- Time 15 + 0.05, !- Value Until Time 15 + 16:00, !- Time 16 + 0.05, !- Value Until Time 16 + 17:00, !- Time 17 + 0.05, !- Value Until Time 17 + 18:00, !- Time 18 + 0.05, !- Value Until Time 18 + 19:00, !- Time 19 + 0.05, !- Value Until Time 19 + 20:00, !- Time 20 + 0.05, !- Value Until Time 20 + 21:00, !- Time 21 + 0.05, !- Value Until Time 21 + 22:00, !- Time 22 + 0.05, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Lighting_Schedule_Summer_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Lighting_Schedule_Winter_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0, !- Value Until Time 8 + 09:00, !- Time 9 + 0, !- Value Until Time 9 + 10:00, !- Time 10 + 0, !- Value Until Time 10 + 11:00, !- Time 11 + 0, !- Value Until Time 11 + 12:00, !- Time 12 + 0, !- Value Until Time 12 + 13:00, !- Time 13 + 0, !- Value Until Time 13 + 14:00, !- Time 14 + 0, !- Value Until Time 14 + 15:00, !- Time 15 + 0, !- Value Until Time 15 + 16:00, !- Time 16 + 0, !- Value Until Time 16 + 17:00, !- Time 17 + 0, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Heating_Schedule_Week_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 15.5555555555556, !- Value Until Time 1 + 02:00, !- Time 2 + 15.5555555555556, !- Value Until Time 2 + 03:00, !- Time 3 + 15.5555555555556, !- Value Until Time 3 + 04:00, !- Time 4 + 15.5555555555556, !- Value Until Time 4 + 05:00, !- Time 5 + 15.5555555555556, !- Value Until Time 5 + 06:00, !- Time 6 + 17.7777777777778, !- Value Until Time 6 + 07:00, !- Time 7 + 19.4444444444444, !- Value Until Time 7 + 08:00, !- Time 8 + 21.1111111111111, !- Value Until Time 8 + 09:00, !- Time 9 + 21.1111111111111, !- Value Until Time 9 + 10:00, !- Time 10 + 21.1111111111111, !- Value Until Time 10 + 11:00, !- Time 11 + 21.1111111111111, !- Value Until Time 11 + 12:00, !- Time 12 + 21.1111111111111, !- Value Until Time 12 + 13:00, !- Time 13 + 21.1111111111111, !- Value Until Time 13 + 14:00, !- Time 14 + 21.1111111111111, !- Value Until Time 14 + 15:00, !- Time 15 + 21.1111111111111, !- Value Until Time 15 + 16:00, !- Time 16 + 21.1111111111111, !- Value Until Time 16 + 17:00, !- Time 17 + 21.1111111111111, !- Value Until Time 17 + 18:00, !- Time 18 + 21.1111111111111, !- Value Until Time 18 + 19:00, !- Time 19 + 21.1111111111111, !- Value Until Time 19 + 20:00, !- Time 20 + 21.1111111111111, !- Value Until Time 20 + 21:00, !- Time 21 + 21.1111111111111, !- Value Until Time 21 + 22:00, !- Time 22 + 21.1111111111111, !- Value Until Time 22 + 23:00, !- Time 23 + 15.5555555555556, !- Value Until Time 23 + 24:00, !- Time 24 + 15.5555555555556; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Heating_Schedule_Saturday, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 15.5555555555556, !- Value Until Time 1 + 02:00, !- Time 2 + 15.5555555555556, !- Value Until Time 2 + 03:00, !- Time 3 + 15.5555555555556, !- Value Until Time 3 + 04:00, !- Time 4 + 15.5555555555556, !- Value Until Time 4 + 05:00, !- Time 5 + 15.5555555555556, !- Value Until Time 5 + 06:00, !- Time 6 + 17.7777777777778, !- Value Until Time 6 + 07:00, !- Time 7 + 19.4444444444444, !- Value Until Time 7 + 08:00, !- Time 8 + 21.1111111111111, !- Value Until Time 8 + 09:00, !- Time 9 + 21.1111111111111, !- Value Until Time 9 + 10:00, !- Time 10 + 21.1111111111111, !- Value Until Time 10 + 11:00, !- Time 11 + 21.1111111111111, !- Value Until Time 11 + 12:00, !- Time 12 + 21.1111111111111, !- Value Until Time 12 + 13:00, !- Time 13 + 21.1111111111111, !- Value Until Time 13 + 14:00, !- Time 14 + 21.1111111111111, !- Value Until Time 14 + 15:00, !- Time 15 + 21.1111111111111, !- Value Until Time 15 + 16:00, !- Time 16 + 21.1111111111111, !- Value Until Time 16 + 17:00, !- Time 17 + 21.1111111111111, !- Value Until Time 17 + 18:00, !- Time 18 + 15.5555555555556, !- Value Until Time 18 + 19:00, !- Time 19 + 15.5555555555556, !- Value Until Time 19 + 20:00, !- Time 20 + 15.5555555555556, !- Value Until Time 20 + 21:00, !- Time 21 + 15.5555555555556, !- Value Until Time 21 + 22:00, !- Time 22 + 15.5555555555556, !- Value Until Time 22 + 23:00, !- Time 23 + 15.5555555555556, !- Value Until Time 23 + 24:00, !- Time 24 + 15.5555555555556; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Heating_Schedule_Sunday, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 15.5555555555556, !- Value Until Time 1 + 02:00, !- Time 2 + 15.5555555555556, !- Value Until Time 2 + 03:00, !- Time 3 + 15.5555555555556, !- Value Until Time 3 + 04:00, !- Time 4 + 15.5555555555556, !- Value Until Time 4 + 05:00, !- Time 5 + 15.5555555555556, !- Value Until Time 5 + 06:00, !- Time 6 + 15.5555555555556, !- Value Until Time 6 + 07:00, !- Time 7 + 15.5555555555556, !- Value Until Time 7 + 08:00, !- Time 8 + 15.5555555555556, !- Value Until Time 8 + 09:00, !- Time 9 + 15.5555555555556, !- Value Until Time 9 + 10:00, !- Time 10 + 15.5555555555556, !- Value Until Time 10 + 11:00, !- Time 11 + 15.5555555555556, !- Value Until Time 11 + 12:00, !- Time 12 + 15.5555555555556, !- Value Until Time 12 + 13:00, !- Time 13 + 15.5555555555556, !- Value Until Time 13 + 14:00, !- Time 14 + 15.5555555555556, !- Value Until Time 14 + 15:00, !- Time 15 + 15.5555555555556, !- Value Until Time 15 + 16:00, !- Time 16 + 15.5555555555556, !- Value Until Time 16 + 17:00, !- Time 17 + 15.5555555555556, !- Value Until Time 17 + 18:00, !- Time 18 + 15.5555555555556, !- Value Until Time 18 + 19:00, !- Time 19 + 15.5555555555556, !- Value Until Time 19 + 20:00, !- Time 20 + 15.5555555555556, !- Value Until Time 20 + 21:00, !- Time 21 + 15.5555555555556, !- Value Until Time 21 + 22:00, !- Time 22 + 15.5555555555556, !- Value Until Time 22 + 23:00, !- Time 23 + 15.5555555555556, !- Value Until Time 23 + 24:00, !- Time 24 + 15.5555555555556; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Heating_Schedule_Summer_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 15.6, !- Value Until Time 1 + 02:00, !- Time 2 + 15.6, !- Value Until Time 2 + 03:00, !- Time 3 + 15.6, !- Value Until Time 3 + 04:00, !- Time 4 + 15.6, !- Value Until Time 4 + 05:00, !- Time 5 + 15.6, !- Value Until Time 5 + 06:00, !- Time 6 + 15.6, !- Value Until Time 6 + 07:00, !- Time 7 + 15.6, !- Value Until Time 7 + 08:00, !- Time 8 + 15.6, !- Value Until Time 8 + 09:00, !- Time 9 + 15.6, !- Value Until Time 9 + 10:00, !- Time 10 + 15.6, !- Value Until Time 10 + 11:00, !- Time 11 + 15.6, !- Value Until Time 11 + 12:00, !- Time 12 + 15.6, !- Value Until Time 12 + 13:00, !- Time 13 + 15.6, !- Value Until Time 13 + 14:00, !- Time 14 + 15.6, !- Value Until Time 14 + 15:00, !- Time 15 + 15.6, !- Value Until Time 15 + 16:00, !- Time 16 + 15.6, !- Value Until Time 16 + 17:00, !- Time 17 + 15.6, !- Value Until Time 17 + 18:00, !- Time 18 + 15.6, !- Value Until Time 18 + 19:00, !- Time 19 + 15.6, !- Value Until Time 19 + 20:00, !- Time 20 + 15.6, !- Value Until Time 20 + 21:00, !- Time 21 + 15.6, !- Value Until Time 21 + 22:00, !- Time 22 + 15.6, !- Value Until Time 22 + 23:00, !- Time 23 + 15.6, !- Value Until Time 23 + 24:00, !- Time 24 + 15.6; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Heating_Schedule_Winter_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 15.6, !- Value Until Time 1 + 02:00, !- Time 2 + 15.6, !- Value Until Time 2 + 03:00, !- Time 3 + 15.6, !- Value Until Time 3 + 04:00, !- Time 4 + 15.6, !- Value Until Time 4 + 05:00, !- Time 5 + 15.6, !- Value Until Time 5 + 06:00, !- Time 6 + 17.6, !- Value Until Time 6 + 07:00, !- Time 7 + 19.6, !- Value Until Time 7 + 08:00, !- Time 8 + 21, !- Value Until Time 8 + 09:00, !- Time 9 + 21, !- Value Until Time 9 + 10:00, !- Time 10 + 21, !- Value Until Time 10 + 11:00, !- Time 11 + 21, !- Value Until Time 11 + 12:00, !- Time 12 + 21, !- Value Until Time 12 + 13:00, !- Time 13 + 21, !- Value Until Time 13 + 14:00, !- Time 14 + 21, !- Value Until Time 14 + 15:00, !- Time 15 + 21, !- Value Until Time 15 + 16:00, !- Time 16 + 21, !- Value Until Time 16 + 17:00, !- Time 17 + 21, !- Value Until Time 17 + 18:00, !- Time 18 + 21, !- Value Until Time 18 + 19:00, !- Time 19 + 21, !- Value Until Time 19 + 20:00, !- Time 20 + 21, !- Value Until Time 20 + 21:00, !- Time 21 + 21, !- Value Until Time 21 + 22:00, !- Time 22 + 21, !- Value Until Time 22 + 23:00, !- Time 23 + 15.6, !- Value Until Time 23 + 24:00, !- Time 24 + 15.6; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Cooling_Schedule_Week_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 26.6666666666667, !- Value Until Time 1 + 02:00, !- Time 2 + 26.6666666666667, !- Value Until Time 2 + 03:00, !- Time 3 + 26.6666666666667, !- Value Until Time 3 + 04:00, !- Time 4 + 26.6666666666667, !- Value Until Time 4 + 05:00, !- Time 5 + 26.6666666666667, !- Value Until Time 5 + 06:00, !- Time 6 + 25.5555555555556, !- Value Until Time 6 + 07:00, !- Time 7 + 25, !- Value Until Time 7 + 08:00, !- Time 8 + 23.8888888888889, !- Value Until Time 8 + 09:00, !- Time 9 + 23.8888888888889, !- Value Until Time 9 + 10:00, !- Time 10 + 23.8888888888889, !- Value Until Time 10 + 11:00, !- Time 11 + 23.8888888888889, !- Value Until Time 11 + 12:00, !- Time 12 + 23.8888888888889, !- Value Until Time 12 + 13:00, !- Time 13 + 23.8888888888889, !- Value Until Time 13 + 14:00, !- Time 14 + 23.8888888888889, !- Value Until Time 14 + 15:00, !- Time 15 + 23.8888888888889, !- Value Until Time 15 + 16:00, !- Time 16 + 23.8888888888889, !- Value Until Time 16 + 17:00, !- Time 17 + 23.8888888888889, !- Value Until Time 17 + 18:00, !- Time 18 + 23.8888888888889, !- Value Until Time 18 + 19:00, !- Time 19 + 23.8888888888889, !- Value Until Time 19 + 20:00, !- Time 20 + 23.8888888888889, !- Value Until Time 20 + 21:00, !- Time 21 + 23.8888888888889, !- Value Until Time 21 + 22:00, !- Time 22 + 23.8888888888889, !- Value Until Time 22 + 23:00, !- Time 23 + 26.6666666666667, !- Value Until Time 23 + 24:00, !- Time 24 + 26.6666666666667; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Cooling_Schedule_Saturday, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 26.6666666666667, !- Value Until Time 1 + 02:00, !- Time 2 + 26.6666666666667, !- Value Until Time 2 + 03:00, !- Time 3 + 26.6666666666667, !- Value Until Time 3 + 04:00, !- Time 4 + 26.6666666666667, !- Value Until Time 4 + 05:00, !- Time 5 + 26.6666666666667, !- Value Until Time 5 + 06:00, !- Time 6 + 25.5555555555556, !- Value Until Time 6 + 07:00, !- Time 7 + 25, !- Value Until Time 7 + 08:00, !- Time 8 + 23.8888888888889, !- Value Until Time 8 + 09:00, !- Time 9 + 23.8888888888889, !- Value Until Time 9 + 10:00, !- Time 10 + 23.8888888888889, !- Value Until Time 10 + 11:00, !- Time 11 + 23.8888888888889, !- Value Until Time 11 + 12:00, !- Time 12 + 23.8888888888889, !- Value Until Time 12 + 13:00, !- Time 13 + 23.8888888888889, !- Value Until Time 13 + 14:00, !- Time 14 + 23.8888888888889, !- Value Until Time 14 + 15:00, !- Time 15 + 23.8888888888889, !- Value Until Time 15 + 16:00, !- Time 16 + 23.8888888888889, !- Value Until Time 16 + 17:00, !- Time 17 + 23.8888888888889, !- Value Until Time 17 + 18:00, !- Time 18 + 26.6666666666667, !- Value Until Time 18 + 19:00, !- Time 19 + 26.6666666666667, !- Value Until Time 19 + 20:00, !- Time 20 + 26.6666666666667, !- Value Until Time 20 + 21:00, !- Time 21 + 26.6666666666667, !- Value Until Time 21 + 22:00, !- Time 22 + 26.6666666666667, !- Value Until Time 22 + 23:00, !- Time 23 + 26.6666666666667, !- Value Until Time 23 + 24:00, !- Time 24 + 26.6666666666667; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Cooling_Schedule_Sunday, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 26.6666666666667, !- Value Until Time 1 + 02:00, !- Time 2 + 26.6666666666667, !- Value Until Time 2 + 03:00, !- Time 3 + 26.6666666666667, !- Value Until Time 3 + 04:00, !- Time 4 + 26.6666666666667, !- Value Until Time 4 + 05:00, !- Time 5 + 26.6666666666667, !- Value Until Time 5 + 06:00, !- Time 6 + 26.6666666666667, !- Value Until Time 6 + 07:00, !- Time 7 + 26.6666666666667, !- Value Until Time 7 + 08:00, !- Time 8 + 26.6666666666667, !- Value Until Time 8 + 09:00, !- Time 9 + 26.6666666666667, !- Value Until Time 9 + 10:00, !- Time 10 + 26.6666666666667, !- Value Until Time 10 + 11:00, !- Time 11 + 26.6666666666667, !- Value Until Time 11 + 12:00, !- Time 12 + 26.6666666666667, !- Value Until Time 12 + 13:00, !- Time 13 + 26.6666666666667, !- Value Until Time 13 + 14:00, !- Time 14 + 26.6666666666667, !- Value Until Time 14 + 15:00, !- Time 15 + 26.6666666666667, !- Value Until Time 15 + 16:00, !- Time 16 + 26.6666666666667, !- Value Until Time 16 + 17:00, !- Time 17 + 26.6666666666667, !- Value Until Time 17 + 18:00, !- Time 18 + 26.6666666666667, !- Value Until Time 18 + 19:00, !- Time 19 + 26.6666666666667, !- Value Until Time 19 + 20:00, !- Time 20 + 26.6666666666667, !- Value Until Time 20 + 21:00, !- Time 21 + 26.6666666666667, !- Value Until Time 21 + 22:00, !- Time 22 + 26.6666666666667, !- Value Until Time 22 + 23:00, !- Time 23 + 26.6666666666667, !- Value Until Time 23 + 24:00, !- Time 24 + 26.6666666666667; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Cooling_Schedule_Summer_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 26.7, !- Value Until Time 1 + 02:00, !- Time 2 + 26.7, !- Value Until Time 2 + 03:00, !- Time 3 + 26.7, !- Value Until Time 3 + 04:00, !- Time 4 + 26.7, !- Value Until Time 4 + 05:00, !- Time 5 + 26.7, !- Value Until Time 5 + 06:00, !- Time 6 + 25.7, !- Value Until Time 6 + 07:00, !- Time 7 + 25, !- Value Until Time 7 + 08:00, !- Time 8 + 24, !- Value Until Time 8 + 09:00, !- Time 9 + 24, !- Value Until Time 9 + 10:00, !- Time 10 + 24, !- Value Until Time 10 + 11:00, !- Time 11 + 24, !- Value Until Time 11 + 12:00, !- Time 12 + 24, !- Value Until Time 12 + 13:00, !- Time 13 + 24, !- Value Until Time 13 + 14:00, !- Time 14 + 24, !- Value Until Time 14 + 15:00, !- Time 15 + 24, !- Value Until Time 15 + 16:00, !- Time 16 + 24, !- Value Until Time 16 + 17:00, !- Time 17 + 24, !- Value Until Time 17 + 18:00, !- Time 18 + 24, !- Value Until Time 18 + 19:00, !- Time 19 + 24, !- Value Until Time 19 + 20:00, !- Time 20 + 24, !- Value Until Time 20 + 21:00, !- Time 21 + 24, !- Value Until Time 21 + 22:00, !- Time 22 + 24, !- Value Until Time 22 + 23:00, !- Time 23 + 26.7, !- Value Until Time 23 + 24:00, !- Time 24 + 26.7; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Cooling_Schedule_Winter_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 26.7, !- Value Until Time 1 + 02:00, !- Time 2 + 26.7, !- Value Until Time 2 + 03:00, !- Time 3 + 26.7, !- Value Until Time 3 + 04:00, !- Time 4 + 26.7, !- Value Until Time 4 + 05:00, !- Time 5 + 26.7, !- Value Until Time 5 + 06:00, !- Time 6 + 26.7, !- Value Until Time 6 + 07:00, !- Time 7 + 26.7, !- Value Until Time 7 + 08:00, !- Time 8 + 26.7, !- Value Until Time 8 + 09:00, !- Time 9 + 26.7, !- Value Until Time 9 + 10:00, !- Time 10 + 26.7, !- Value Until Time 10 + 11:00, !- Time 11 + 26.7, !- Value Until Time 11 + 12:00, !- Time 12 + 26.7, !- Value Until Time 12 + 13:00, !- Time 13 + 26.7, !- Value Until Time 13 + 14:00, !- Time 14 + 26.7, !- Value Until Time 14 + 15:00, !- Time 15 + 26.7, !- Value Until Time 15 + 16:00, !- Time 16 + 26.7, !- Value Until Time 16 + 17:00, !- Time 17 + 26.7, !- Value Until Time 17 + 18:00, !- Time 18 + 26.7, !- Value Until Time 18 + 19:00, !- Time 19 + 26.7, !- Value Until Time 19 + 20:00, !- Time 20 + 26.7, !- Value Until Time 20 + 21:00, !- Time 21 + 26.7, !- Value Until Time 21 + 22:00, !- Time 22 + 26.7, !- Value Until Time 22 + 23:00, !- Time 23 + 26.7, !- Value Until Time 23 + 24:00, !- Time 24 + 26.7; !- Value Until Time 24 + + Schedule:Day:Interval, + Always_On_Default, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 1; !- Value Until Time 1 + + Schedule:Day:Interval, + Always_On_Summer_Design_Day, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 1; !- Value Until Time 1 + + Schedule:Day:Interval, + Always_On_Winter_Design_Day, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 1; !- Value Until Time 1 + + Schedule:Day:Interval, + Office_Occupancy_Schedule_Week_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.1, !- Value Until Time 7 + 08:00, !- Time 8 + 0.2, !- Value Until Time 8 + 09:00, !- Time 9 + 0.95, !- Value Until Time 9 + 10:00, !- Time 10 + 0.95, !- Value Until Time 10 + 11:00, !- Time 11 + 0.95, !- Value Until Time 11 + 12:00, !- Time 12 + 0.95, !- Value Until Time 12 + 13:00, !- Time 13 + 0.5, !- Value Until Time 13 + 14:00, !- Time 14 + 0.95, !- Value Until Time 14 + 15:00, !- Time 15 + 0.95, !- Value Until Time 15 + 16:00, !- Time 16 + 0.95, !- Value Until Time 16 + 17:00, !- Time 17 + 0.95, !- Value Until Time 17 + 18:00, !- Time 18 + 0.3, !- Value Until Time 18 + 19:00, !- Time 19 + 0.1, !- Value Until Time 19 + 20:00, !- Time 20 + 0.1, !- Value Until Time 20 + 21:00, !- Time 21 + 0.1, !- Value Until Time 21 + 22:00, !- Time 22 + 0.1, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Occupancy_Schedule_Saturday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.1, !- Value Until Time 7 + 08:00, !- Time 8 + 0.1, !- Value Until Time 8 + 09:00, !- Time 9 + 0.3, !- Value Until Time 9 + 10:00, !- Time 10 + 0.3, !- Value Until Time 10 + 11:00, !- Time 11 + 0.3, !- Value Until Time 11 + 12:00, !- Time 12 + 0.3, !- Value Until Time 12 + 13:00, !- Time 13 + 0.1, !- Value Until Time 13 + 14:00, !- Time 14 + 0.1, !- Value Until Time 14 + 15:00, !- Time 15 + 0.1, !- Value Until Time 15 + 16:00, !- Time 16 + 0.1, !- Value Until Time 16 + 17:00, !- Time 17 + 0.1, !- Value Until Time 17 + 18:00, !- Time 18 + 0.05, !- Value Until Time 18 + 19:00, !- Time 19 + 0.05, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Occupancy_Schedule_Sunday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.05, !- Value Until Time 7 + 08:00, !- Time 8 + 0.05, !- Value Until Time 8 + 09:00, !- Time 9 + 0.05, !- Value Until Time 9 + 10:00, !- Time 10 + 0.05, !- Value Until Time 10 + 11:00, !- Time 11 + 0.05, !- Value Until Time 11 + 12:00, !- Time 12 + 0.05, !- Value Until Time 12 + 13:00, !- Time 13 + 0.05, !- Value Until Time 13 + 14:00, !- Time 14 + 0.05, !- Value Until Time 14 + 15:00, !- Time 15 + 0.05, !- Value Until Time 15 + 16:00, !- Time 16 + 0.05, !- Value Until Time 16 + 17:00, !- Time 17 + 0.05, !- Value Until Time 17 + 18:00, !- Time 18 + 0.05, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Occupancy_Schedule_Summer_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Occupancy_Schedule_Winter_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0, !- Value Until Time 8 + 09:00, !- Time 9 + 0, !- Value Until Time 9 + 10:00, !- Time 10 + 0, !- Value Until Time 10 + 11:00, !- Time 11 + 0, !- Value Until Time 11 + 12:00, !- Time 12 + 0, !- Value Until Time 12 + 13:00, !- Time 13 + 0, !- Value Until Time 13 + 14:00, !- Time 14 + 0, !- Value Until Time 14 + 15:00, !- Time 15 + 0, !- Value Until Time 15 + 16:00, !- Time 16 + 0, !- Value Until Time 16 + 17:00, !- Time 17 + 0, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Hot_Water_Temperature_Default, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 82; !- Value Until Time 1 + + Schedule:Day:Interval, + Hot_Water_Temperature_Summer_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 82; !- Value Until Time 1 + + Schedule:Day:Interval, + Hot_Water_Temperature_Winter_Design_Day, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 82; !- Value Until Time 1 + + Schedule:Day:Interval, + Office_Activity_Schedule_Saturday, !- Name + ActivityLevel, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 132, !- Value Until Time 1 + 02:00, !- Time 2 + 132, !- Value Until Time 2 + 03:00, !- Time 3 + 132, !- Value Until Time 3 + 04:00, !- Time 4 + 132, !- Value Until Time 4 + 05:00, !- Time 5 + 132, !- Value Until Time 5 + 06:00, !- Time 6 + 132, !- Value Until Time 6 + 07:00, !- Time 7 + 132, !- Value Until Time 7 + 08:00, !- Time 8 + 132, !- Value Until Time 8 + 09:00, !- Time 9 + 132, !- Value Until Time 9 + 10:00, !- Time 10 + 132, !- Value Until Time 10 + 11:00, !- Time 11 + 132, !- Value Until Time 11 + 12:00, !- Time 12 + 132, !- Value Until Time 12 + 13:00, !- Time 13 + 132, !- Value Until Time 13 + 14:00, !- Time 14 + 132, !- Value Until Time 14 + 15:00, !- Time 15 + 132, !- Value Until Time 15 + 16:00, !- Time 16 + 132, !- Value Until Time 16 + 17:00, !- Time 17 + 132, !- Value Until Time 17 + 18:00, !- Time 18 + 132, !- Value Until Time 18 + 19:00, !- Time 19 + 132, !- Value Until Time 19 + 20:00, !- Time 20 + 132, !- Value Until Time 20 + 21:00, !- Time 21 + 132, !- Value Until Time 21 + 22:00, !- Time 22 + 132, !- Value Until Time 22 + 23:00, !- Time 23 + 132, !- Value Until Time 23 + 24:00, !- Time 24 + 132; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Activity_Schedule_Summer_Design_Day, !- Name + ActivityLevel, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 132, !- Value Until Time 1 + 02:00, !- Time 2 + 132, !- Value Until Time 2 + 03:00, !- Time 3 + 132, !- Value Until Time 3 + 04:00, !- Time 4 + 132, !- Value Until Time 4 + 05:00, !- Time 5 + 132, !- Value Until Time 5 + 06:00, !- Time 6 + 132, !- Value Until Time 6 + 07:00, !- Time 7 + 132, !- Value Until Time 7 + 08:00, !- Time 8 + 132, !- Value Until Time 8 + 09:00, !- Time 9 + 132, !- Value Until Time 9 + 10:00, !- Time 10 + 132, !- Value Until Time 10 + 11:00, !- Time 11 + 132, !- Value Until Time 11 + 12:00, !- Time 12 + 132, !- Value Until Time 12 + 13:00, !- Time 13 + 132, !- Value Until Time 13 + 14:00, !- Time 14 + 132, !- Value Until Time 14 + 15:00, !- Time 15 + 132, !- Value Until Time 15 + 16:00, !- Time 16 + 132, !- Value Until Time 16 + 17:00, !- Time 17 + 132, !- Value Until Time 17 + 18:00, !- Time 18 + 132, !- Value Until Time 18 + 19:00, !- Time 19 + 132, !- Value Until Time 19 + 20:00, !- Time 20 + 132, !- Value Until Time 20 + 21:00, !- Time 21 + 132, !- Value Until Time 21 + 22:00, !- Time 22 + 132, !- Value Until Time 22 + 23:00, !- Time 23 + 132, !- Value Until Time 23 + 24:00, !- Time 24 + 132; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Activity_Schedule_Sunday, !- Name + ActivityLevel, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 132, !- Value Until Time 1 + 02:00, !- Time 2 + 132, !- Value Until Time 2 + 03:00, !- Time 3 + 132, !- Value Until Time 3 + 04:00, !- Time 4 + 132, !- Value Until Time 4 + 05:00, !- Time 5 + 132, !- Value Until Time 5 + 06:00, !- Time 6 + 132, !- Value Until Time 6 + 07:00, !- Time 7 + 132, !- Value Until Time 7 + 08:00, !- Time 8 + 132, !- Value Until Time 8 + 09:00, !- Time 9 + 132, !- Value Until Time 9 + 10:00, !- Time 10 + 132, !- Value Until Time 10 + 11:00, !- Time 11 + 132, !- Value Until Time 11 + 12:00, !- Time 12 + 132, !- Value Until Time 12 + 13:00, !- Time 13 + 132, !- Value Until Time 13 + 14:00, !- Time 14 + 132, !- Value Until Time 14 + 15:00, !- Time 15 + 132, !- Value Until Time 15 + 16:00, !- Time 16 + 132, !- Value Until Time 16 + 17:00, !- Time 17 + 132, !- Value Until Time 17 + 18:00, !- Time 18 + 132, !- Value Until Time 18 + 19:00, !- Time 19 + 132, !- Value Until Time 19 + 20:00, !- Time 20 + 132, !- Value Until Time 20 + 21:00, !- Time 21 + 132, !- Value Until Time 21 + 22:00, !- Time 22 + 132, !- Value Until Time 22 + 23:00, !- Time 23 + 132, !- Value Until Time 23 + 24:00, !- Time 24 + 132; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Activity_Schedule_Week_Day, !- Name + ActivityLevel, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 132, !- Value Until Time 1 + 02:00, !- Time 2 + 132, !- Value Until Time 2 + 03:00, !- Time 3 + 132, !- Value Until Time 3 + 04:00, !- Time 4 + 132, !- Value Until Time 4 + 05:00, !- Time 5 + 132, !- Value Until Time 5 + 06:00, !- Time 6 + 132, !- Value Until Time 6 + 07:00, !- Time 7 + 132, !- Value Until Time 7 + 08:00, !- Time 8 + 132, !- Value Until Time 8 + 09:00, !- Time 9 + 132, !- Value Until Time 9 + 10:00, !- Time 10 + 132, !- Value Until Time 10 + 11:00, !- Time 11 + 132, !- Value Until Time 11 + 12:00, !- Time 12 + 132, !- Value Until Time 12 + 13:00, !- Time 13 + 132, !- Value Until Time 13 + 14:00, !- Time 14 + 132, !- Value Until Time 14 + 15:00, !- Time 15 + 132, !- Value Until Time 15 + 16:00, !- Time 16 + 132, !- Value Until Time 16 + 17:00, !- Time 17 + 132, !- Value Until Time 17 + 18:00, !- Time 18 + 132, !- Value Until Time 18 + 19:00, !- Time 19 + 132, !- Value Until Time 19 + 20:00, !- Time 20 + 132, !- Value Until Time 20 + 21:00, !- Time 21 + 132, !- Value Until Time 21 + 22:00, !- Time 22 + 132, !- Value Until Time 22 + 23:00, !- Time 23 + 132, !- Value Until Time 23 + 24:00, !- Time 24 + 132; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Activity_Schedule_Winter_Design_Day, !- Name + ActivityLevel, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 132, !- Value Until Time 1 + 02:00, !- Time 2 + 132, !- Value Until Time 2 + 03:00, !- Time 3 + 132, !- Value Until Time 3 + 04:00, !- Time 4 + 132, !- Value Until Time 4 + 05:00, !- Time 5 + 132, !- Value Until Time 5 + 06:00, !- Time 6 + 132, !- Value Until Time 6 + 07:00, !- Time 7 + 132, !- Value Until Time 7 + 08:00, !- Time 8 + 132, !- Value Until Time 8 + 09:00, !- Time 9 + 132, !- Value Until Time 9 + 10:00, !- Time 10 + 132, !- Value Until Time 10 + 11:00, !- Time 11 + 132, !- Value Until Time 11 + 12:00, !- Time 12 + 132, !- Value Until Time 12 + 13:00, !- Time 13 + 132, !- Value Until Time 13 + 14:00, !- Time 14 + 132, !- Value Until Time 14 + 15:00, !- Time 15 + 132, !- Value Until Time 15 + 16:00, !- Time 16 + 132, !- Value Until Time 16 + 17:00, !- Time 17 + 132, !- Value Until Time 17 + 18:00, !- Time 18 + 132, !- Value Until Time 18 + 19:00, !- Time 19 + 132, !- Value Until Time 19 + 20:00, !- Time 20 + 132, !- Value Until Time 20 + 21:00, !- Time 21 + 132, !- Value Until Time 21 + 22:00, !- Time 22 + 132, !- Value Until Time 22 + 23:00, !- Time 23 + 132, !- Value Until Time 23 + 24:00, !- Time 24 + 132; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Elevator_Schedule_Saturday, !- Name + Dimensionless, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0.09, !- Value Until Time 8 + 09:00, !- Time 9 + 0.21, !- Value Until Time 9 + 10:00, !- Time 10 + 0.56, !- Value Until Time 10 + 11:00, !- Time 11 + 0.66, !- Value Until Time 11 + 12:00, !- Time 12 + 0.68, !- Value Until Time 12 + 13:00, !- Time 13 + 0.68, !- Value Until Time 13 + 14:00, !- Time 14 + 0.69, !- Value Until Time 14 + 15:00, !- Time 15 + 0.7, !- Value Until Time 15 + 16:00, !- Time 16 + 0.69, !- Value Until Time 16 + 17:00, !- Time 17 + 0.66, !- Value Until Time 17 + 18:00, !- Time 18 + 0.58, !- Value Until Time 18 + 19:00, !- Time 19 + 0.47, !- Value Until Time 19 + 20:00, !- Time 20 + 0.43, !- Value Until Time 20 + 21:00, !- Time 21 + 0.43, !- Value Until Time 21 + 22:00, !- Time 22 + 0.08, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Elevator_Schedule_Summer_Design_Day, !- Name + Dimensionless, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 0; !- Value Until Time 1 + + Schedule:Day:Interval, + Office_Elevator_Schedule_Sunday, !- Name + Dimensionless, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0, !- Value Until Time 8 + 09:00, !- Time 9 + 0, !- Value Until Time 9 + 10:00, !- Time 10 + 0.11, !- Value Until Time 10 + 11:00, !- Time 11 + 0.13, !- Value Until Time 11 + 12:00, !- Time 12 + 0.35, !- Value Until Time 12 + 13:00, !- Time 13 + 0.37, !- Value Until Time 13 + 14:00, !- Time 14 + 0.37, !- Value Until Time 14 + 15:00, !- Time 15 + 0.39, !- Value Until Time 15 + 16:00, !- Time 16 + 0.41, !- Value Until Time 16 + 17:00, !- Time 17 + 0.38, !- Value Until Time 17 + 18:00, !- Time 18 + 0.34, !- Value Until Time 18 + 19:00, !- Time 19 + 0.03, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Elevator_Schedule_Week_Day, !- Name + Dimensionless, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0.12, !- Value Until Time 8 + 09:00, !- Time 9 + 0.22, !- Value Until Time 9 + 10:00, !- Time 10 + 0.64, !- Value Until Time 10 + 11:00, !- Time 11 + 0.74, !- Value Until Time 11 + 12:00, !- Time 12 + 0.68, !- Value Until Time 12 + 13:00, !- Time 13 + 0.68, !- Value Until Time 13 + 14:00, !- Time 14 + 0.71, !- Value Until Time 14 + 15:00, !- Time 15 + 0.72, !- Value Until Time 15 + 16:00, !- Time 16 + 0.72, !- Value Until Time 16 + 17:00, !- Time 17 + 0.73, !- Value Until Time 17 + 18:00, !- Time 18 + 0.68, !- Value Until Time 18 + 19:00, !- Time 19 + 0.68, !- Value Until Time 19 + 20:00, !- Time 20 + 0.58, !- Value Until Time 20 + 21:00, !- Time 21 + 0.54, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Elevator_Schedule_Winter_Design_Day, !- Name + Dimensionless, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 0; !- Value Until Time 1 + + Schedule:Day:Interval, + Office_Hvac_Schedule_Saturday 1, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Hvac_Schedule_Summer_Design_Day 1, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Hvac_Schedule_Sunday 1, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0, !- Value Until Time 8 + 09:00, !- Time 9 + 0, !- Value Until Time 9 + 10:00, !- Time 10 + 0, !- Value Until Time 10 + 11:00, !- Time 11 + 0, !- Value Until Time 11 + 12:00, !- Time 12 + 0, !- Value Until Time 12 + 13:00, !- Time 13 + 0, !- Value Until Time 13 + 14:00, !- Time 14 + 0, !- Value Until Time 14 + 15:00, !- Time 15 + 0, !- Value Until Time 15 + 16:00, !- Time 16 + 0, !- Value Until Time 16 + 17:00, !- Time 17 + 0, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Hvac_Schedule_Week_Day 1, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Hvac_Schedule_Winter_Design_Day 1, !- Name + OnOff, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Infiltration_Schedule_Saturday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 0.25, !- Value Until Time 6 + 07:00, !- Time 7 + 0.25, !- Value Until Time 7 + 08:00, !- Time 8 + 0.25, !- Value Until Time 8 + 09:00, !- Time 9 + 0.25, !- Value Until Time 9 + 10:00, !- Time 10 + 0.25, !- Value Until Time 10 + 11:00, !- Time 11 + 0.25, !- Value Until Time 11 + 12:00, !- Time 12 + 0.25, !- Value Until Time 12 + 13:00, !- Time 13 + 0.25, !- Value Until Time 13 + 14:00, !- Time 14 + 0.25, !- Value Until Time 14 + 15:00, !- Time 15 + 0.25, !- Value Until Time 15 + 16:00, !- Time 16 + 0.25, !- Value Until Time 16 + 17:00, !- Time 17 + 0.25, !- Value Until Time 17 + 18:00, !- Time 18 + 0.25, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Infiltration_Schedule_Summer_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 0.25, !- Value Until Time 6 + 07:00, !- Time 7 + 0.25, !- Value Until Time 7 + 08:00, !- Time 8 + 0.25, !- Value Until Time 8 + 09:00, !- Time 9 + 0.25, !- Value Until Time 9 + 10:00, !- Time 10 + 0.25, !- Value Until Time 10 + 11:00, !- Time 11 + 0.25, !- Value Until Time 11 + 12:00, !- Time 12 + 0.25, !- Value Until Time 12 + 13:00, !- Time 13 + 0.25, !- Value Until Time 13 + 14:00, !- Time 14 + 0.25, !- Value Until Time 14 + 15:00, !- Time 15 + 0.25, !- Value Until Time 15 + 16:00, !- Time 16 + 0.25, !- Value Until Time 16 + 17:00, !- Time 17 + 0.25, !- Value Until Time 17 + 18:00, !- Time 18 + 0.25, !- Value Until Time 18 + 19:00, !- Time 19 + 0.25, !- Value Until Time 19 + 20:00, !- Time 20 + 0.25, !- Value Until Time 20 + 21:00, !- Time 21 + 0.25, !- Value Until Time 21 + 22:00, !- Time 22 + 0.25, !- Value Until Time 22 + 23:00, !- Time 23 + 0.25, !- Value Until Time 23 + 24:00, !- Time 24 + 0.25; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Infiltration_Schedule_Sunday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Infiltration_Schedule_Week_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 0.25, !- Value Until Time 6 + 07:00, !- Time 7 + 0.25, !- Value Until Time 7 + 08:00, !- Time 8 + 0.25, !- Value Until Time 8 + 09:00, !- Time 9 + 0.25, !- Value Until Time 9 + 10:00, !- Time 10 + 0.25, !- Value Until Time 10 + 11:00, !- Time 11 + 0.25, !- Value Until Time 11 + 12:00, !- Time 12 + 0.25, !- Value Until Time 12 + 13:00, !- Time 13 + 0.25, !- Value Until Time 13 + 14:00, !- Time 14 + 0.25, !- Value Until Time 14 + 15:00, !- Time 15 + 0.25, !- Value Until Time 15 + 16:00, !- Time 16 + 0.25, !- Value Until Time 16 + 17:00, !- Time 17 + 0.25, !- Value Until Time 17 + 18:00, !- Time 18 + 0.25, !- Value Until Time 18 + 19:00, !- Time 19 + 0.25, !- Value Until Time 19 + 20:00, !- Time 20 + 0.25, !- Value Until Time 20 + 21:00, !- Time 21 + 0.25, !- Value Until Time 21 + 22:00, !- Time 22 + 0.25, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Infiltration_Schedule_Winter_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 0.25, !- Value Until Time 6 + 07:00, !- Time 7 + 0.25, !- Value Until Time 7 + 08:00, !- Time 8 + 0.25, !- Value Until Time 8 + 09:00, !- Time 9 + 0.25, !- Value Until Time 9 + 10:00, !- Time 10 + 0.25, !- Value Until Time 10 + 11:00, !- Time 11 + 0.25, !- Value Until Time 11 + 12:00, !- Time 12 + 0.25, !- Value Until Time 12 + 13:00, !- Time 13 + 0.25, !- Value Until Time 13 + 14:00, !- Time 14 + 0.25, !- Value Until Time 14 + 15:00, !- Time 15 + 0.25, !- Value Until Time 15 + 16:00, !- Time 16 + 0.25, !- Value Until Time 16 + 17:00, !- Time 17 + 0.25, !- Value Until Time 17 + 18:00, !- Time 18 + 0.25, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Plug_And_Process_Schedule_Saturday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.3, !- Value Until Time 1 + 02:00, !- Time 2 + 0.3, !- Value Until Time 2 + 03:00, !- Time 3 + 0.3, !- Value Until Time 3 + 04:00, !- Time 4 + 0.3, !- Value Until Time 4 + 05:00, !- Time 5 + 0.3, !- Value Until Time 5 + 06:00, !- Time 6 + 0.3, !- Value Until Time 6 + 07:00, !- Time 7 + 0.4, !- Value Until Time 7 + 08:00, !- Time 8 + 0.4, !- Value Until Time 8 + 09:00, !- Time 9 + 0.5, !- Value Until Time 9 + 10:00, !- Time 10 + 0.5, !- Value Until Time 10 + 11:00, !- Time 11 + 0.5, !- Value Until Time 11 + 12:00, !- Time 12 + 0.5, !- Value Until Time 12 + 13:00, !- Time 13 + 0.35, !- Value Until Time 13 + 14:00, !- Time 14 + 0.35, !- Value Until Time 14 + 15:00, !- Time 15 + 0.35, !- Value Until Time 15 + 16:00, !- Time 16 + 0.35, !- Value Until Time 16 + 17:00, !- Time 17 + 0.35, !- Value Until Time 17 + 18:00, !- Time 18 + 0.3, !- Value Until Time 18 + 19:00, !- Time 19 + 0.3, !- Value Until Time 19 + 20:00, !- Time 20 + 0.3, !- Value Until Time 20 + 21:00, !- Time 21 + 0.3, !- Value Until Time 21 + 22:00, !- Time 22 + 0.3, !- Value Until Time 22 + 23:00, !- Time 23 + 0.3, !- Value Until Time 23 + 24:00, !- Time 24 + 0.3; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Plug_And_Process_Schedule_Summer_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 1, !- Value Until Time 1 + 02:00, !- Time 2 + 1, !- Value Until Time 2 + 03:00, !- Time 3 + 1, !- Value Until Time 3 + 04:00, !- Time 4 + 1, !- Value Until Time 4 + 05:00, !- Time 5 + 1, !- Value Until Time 5 + 06:00, !- Time 6 + 1, !- Value Until Time 6 + 07:00, !- Time 7 + 1, !- Value Until Time 7 + 08:00, !- Time 8 + 1, !- Value Until Time 8 + 09:00, !- Time 9 + 1, !- Value Until Time 9 + 10:00, !- Time 10 + 1, !- Value Until Time 10 + 11:00, !- Time 11 + 1, !- Value Until Time 11 + 12:00, !- Time 12 + 1, !- Value Until Time 12 + 13:00, !- Time 13 + 1, !- Value Until Time 13 + 14:00, !- Time 14 + 1, !- Value Until Time 14 + 15:00, !- Time 15 + 1, !- Value Until Time 15 + 16:00, !- Time 16 + 1, !- Value Until Time 16 + 17:00, !- Time 17 + 1, !- Value Until Time 17 + 18:00, !- Time 18 + 1, !- Value Until Time 18 + 19:00, !- Time 19 + 1, !- Value Until Time 19 + 20:00, !- Time 20 + 1, !- Value Until Time 20 + 21:00, !- Time 21 + 1, !- Value Until Time 21 + 22:00, !- Time 22 + 1, !- Value Until Time 22 + 23:00, !- Time 23 + 1, !- Value Until Time 23 + 24:00, !- Time 24 + 1; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Plug_And_Process_Schedule_Sunday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.3, !- Value Until Time 1 + 02:00, !- Time 2 + 0.3, !- Value Until Time 2 + 03:00, !- Time 3 + 0.3, !- Value Until Time 3 + 04:00, !- Time 4 + 0.3, !- Value Until Time 4 + 05:00, !- Time 5 + 0.3, !- Value Until Time 5 + 06:00, !- Time 6 + 0.3, !- Value Until Time 6 + 07:00, !- Time 7 + 0.3, !- Value Until Time 7 + 08:00, !- Time 8 + 0.3, !- Value Until Time 8 + 09:00, !- Time 9 + 0.3, !- Value Until Time 9 + 10:00, !- Time 10 + 0.3, !- Value Until Time 10 + 11:00, !- Time 11 + 0.3, !- Value Until Time 11 + 12:00, !- Time 12 + 0.3, !- Value Until Time 12 + 13:00, !- Time 13 + 0.3, !- Value Until Time 13 + 14:00, !- Time 14 + 0.3, !- Value Until Time 14 + 15:00, !- Time 15 + 0.3, !- Value Until Time 15 + 16:00, !- Time 16 + 0.3, !- Value Until Time 16 + 17:00, !- Time 17 + 0.3, !- Value Until Time 17 + 18:00, !- Time 18 + 0.3, !- Value Until Time 18 + 19:00, !- Time 19 + 0.3, !- Value Until Time 19 + 20:00, !- Time 20 + 0.3, !- Value Until Time 20 + 21:00, !- Time 21 + 0.3, !- Value Until Time 21 + 22:00, !- Time 22 + 0.3, !- Value Until Time 22 + 23:00, !- Time 23 + 0.3, !- Value Until Time 23 + 24:00, !- Time 24 + 0.3; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Plug_And_Process_Schedule_Week_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0.4, !- Value Until Time 1 + 02:00, !- Time 2 + 0.4, !- Value Until Time 2 + 03:00, !- Time 3 + 0.4, !- Value Until Time 3 + 04:00, !- Time 4 + 0.4, !- Value Until Time 4 + 05:00, !- Time 5 + 0.4, !- Value Until Time 5 + 06:00, !- Time 6 + 0.4, !- Value Until Time 6 + 07:00, !- Time 7 + 0.4, !- Value Until Time 7 + 08:00, !- Time 8 + 0.4, !- Value Until Time 8 + 09:00, !- Time 9 + 0.9, !- Value Until Time 9 + 10:00, !- Time 10 + 0.9, !- Value Until Time 10 + 11:00, !- Time 11 + 0.9, !- Value Until Time 11 + 12:00, !- Time 12 + 0.9, !- Value Until Time 12 + 13:00, !- Time 13 + 0.8, !- Value Until Time 13 + 14:00, !- Time 14 + 0.9, !- Value Until Time 14 + 15:00, !- Time 15 + 0.9, !- Value Until Time 15 + 16:00, !- Time 16 + 0.9, !- Value Until Time 16 + 17:00, !- Time 17 + 0.9, !- Value Until Time 17 + 18:00, !- Time 18 + 0.5, !- Value Until Time 18 + 19:00, !- Time 19 + 0.4, !- Value Until Time 19 + 20:00, !- Time 20 + 0.4, !- Value Until Time 20 + 21:00, !- Time 21 + 0.4, !- Value Until Time 21 + 22:00, !- Time 22 + 0.4, !- Value Until Time 22 + 23:00, !- Time 23 + 0.4, !- Value Until Time 23 + 24:00, !- Time 24 + 0.4; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Plug_And_Process_Schedule_Winter_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0, !- Value Until Time 7 + 08:00, !- Time 8 + 0, !- Value Until Time 8 + 09:00, !- Time 9 + 0, !- Value Until Time 9 + 10:00, !- Time 10 + 0, !- Value Until Time 10 + 11:00, !- Time 11 + 0, !- Value Until Time 11 + 12:00, !- Time 12 + 0, !- Value Until Time 12 + 13:00, !- Time 13 + 0, !- Value Until Time 13 + 14:00, !- Time 14 + 0, !- Value Until Time 14 + 15:00, !- Time 15 + 0, !- Value Until Time 15 + 16:00, !- Time 16 + 0, !- Value Until Time 16 + 17:00, !- Time 17 + 0, !- Value Until Time 17 + 18:00, !- Time 18 + 0, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Service_Water_Heating_Schedule_Saturday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.07, !- Value Until Time 7 + 08:00, !- Time 8 + 0.11, !- Value Until Time 8 + 09:00, !- Time 9 + 0.15, !- Value Until Time 9 + 10:00, !- Time 10 + 0.21, !- Value Until Time 10 + 11:00, !- Time 11 + 0.19, !- Value Until Time 11 + 12:00, !- Time 12 + 0.23, !- Value Until Time 12 + 13:00, !- Time 13 + 0.2, !- Value Until Time 13 + 14:00, !- Time 14 + 0.19, !- Value Until Time 14 + 15:00, !- Time 15 + 0.15, !- Value Until Time 15 + 16:00, !- Time 16 + 0.13, !- Value Until Time 16 + 17:00, !- Time 17 + 0.14, !- Value Until Time 17 + 18:00, !- Time 18 + 0.07, !- Value Until Time 18 + 19:00, !- Time 19 + 0.07, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Service_Water_Heating_Schedule_Summer_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.07, !- Value Until Time 7 + 08:00, !- Time 8 + 0.19, !- Value Until Time 8 + 09:00, !- Time 9 + 0.35, !- Value Until Time 9 + 10:00, !- Time 10 + 0.38, !- Value Until Time 10 + 11:00, !- Time 11 + 0.39, !- Value Until Time 11 + 12:00, !- Time 12 + 0.47, !- Value Until Time 12 + 13:00, !- Time 13 + 0.57, !- Value Until Time 13 + 14:00, !- Time 14 + 0.54, !- Value Until Time 14 + 15:00, !- Time 15 + 0.34, !- Value Until Time 15 + 16:00, !- Time 16 + 0.33, !- Value Until Time 16 + 17:00, !- Time 17 + 0.44, !- Value Until Time 17 + 18:00, !- Time 18 + 0.26, !- Value Until Time 18 + 19:00, !- Time 19 + 0.21, !- Value Until Time 19 + 20:00, !- Time 20 + 0.15, !- Value Until Time 20 + 21:00, !- Time 21 + 0.17, !- Value Until Time 21 + 22:00, !- Time 22 + 0.08, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Service_Water_Heating_Schedule_Sunday, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.04, !- Value Until Time 7 + 08:00, !- Time 8 + 0.04, !- Value Until Time 8 + 09:00, !- Time 9 + 0.04, !- Value Until Time 9 + 10:00, !- Time 10 + 0.04, !- Value Until Time 10 + 11:00, !- Time 11 + 0.04, !- Value Until Time 11 + 12:00, !- Time 12 + 0.06, !- Value Until Time 12 + 13:00, !- Time 13 + 0.06, !- Value Until Time 13 + 14:00, !- Time 14 + 0.09, !- Value Until Time 14 + 15:00, !- Time 15 + 0.06, !- Value Until Time 15 + 16:00, !- Time 16 + 0.04, !- Value Until Time 16 + 17:00, !- Time 17 + 0.04, !- Value Until Time 17 + 18:00, !- Time 18 + 0.04, !- Value Until Time 18 + 19:00, !- Time 19 + 0, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Service_Water_Heating_Schedule_Week_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.07, !- Value Until Time 7 + 08:00, !- Time 8 + 0.19, !- Value Until Time 8 + 09:00, !- Time 9 + 0.35, !- Value Until Time 9 + 10:00, !- Time 10 + 0.38, !- Value Until Time 10 + 11:00, !- Time 11 + 0.39, !- Value Until Time 11 + 12:00, !- Time 12 + 0.47, !- Value Until Time 12 + 13:00, !- Time 13 + 0.57, !- Value Until Time 13 + 14:00, !- Time 14 + 0.54, !- Value Until Time 14 + 15:00, !- Time 15 + 0.34, !- Value Until Time 15 + 16:00, !- Time 16 + 0.33, !- Value Until Time 16 + 17:00, !- Time 17 + 0.44, !- Value Until Time 17 + 18:00, !- Time 18 + 0.26, !- Value Until Time 18 + 19:00, !- Time 19 + 0.21, !- Value Until Time 19 + 20:00, !- Time 20 + 0.15, !- Value Until Time 20 + 21:00, !- Time 21 + 0.17, !- Value Until Time 21 + 22:00, !- Time 22 + 0.08, !- Value Until Time 22 + 23:00, !- Time 23 + 0.05, !- Value Until Time 23 + 24:00, !- Time 24 + 0.05; !- Value Until Time 24 + + Schedule:Day:Interval, + Office_Service_Water_Heating_Schedule_Winter_Design_Day, !- Name + Fractional, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 01:00, !- Time 1 + 0, !- Value Until Time 1 + 02:00, !- Time 2 + 0, !- Value Until Time 2 + 03:00, !- Time 3 + 0, !- Value Until Time 3 + 04:00, !- Time 4 + 0, !- Value Until Time 4 + 05:00, !- Time 5 + 0, !- Value Until Time 5 + 06:00, !- Time 6 + 0, !- Value Until Time 6 + 07:00, !- Time 7 + 0.07, !- Value Until Time 7 + 08:00, !- Time 8 + 0.11, !- Value Until Time 8 + 09:00, !- Time 9 + 0.15, !- Value Until Time 9 + 10:00, !- Time 10 + 0.21, !- Value Until Time 10 + 11:00, !- Time 11 + 0.19, !- Value Until Time 11 + 12:00, !- Time 12 + 0.23, !- Value Until Time 12 + 13:00, !- Time 13 + 0.2, !- Value Until Time 13 + 14:00, !- Time 14 + 0.19, !- Value Until Time 14 + 15:00, !- Time 15 + 0.15, !- Value Until Time 15 + 16:00, !- Time 16 + 0.13, !- Value Until Time 16 + 17:00, !- Time 17 + 0.14, !- Value Until Time 17 + 18:00, !- Time 18 + 0.07, !- Value Until Time 18 + 19:00, !- Time 19 + 0.07, !- Value Until Time 19 + 20:00, !- Time 20 + 0, !- Value Until Time 20 + 21:00, !- Time 21 + 0, !- Value Until Time 21 + 22:00, !- Time 22 + 0, !- Value Until Time 22 + 23:00, !- Time 23 + 0, !- Value Until Time 23 + 24:00, !- Time 24 + 0; !- Value Until Time 24 + + Schedule:Day:Interval, + Secondary CHW Temp Default, !- Name + Temperature, !- Schedule Type Limits Name + No, !- Interpolate to Timestep + 24:00, !- Time 1 + 6.66666666666669; !- Value Until Time 1 + +!- =========== ALL OBJECTS IN CLASS: SCHEDULE:WEEK:DAILY =========== + + Schedule:Week:Daily, + Office_Lighting_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Lighting_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Lighting_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Lighting_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Lighting_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Lighting_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Lighting_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Lighting_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Lighting_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Lighting_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Lighting_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Lighting_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Lighting_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Heating_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Heating_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Heating_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Heating_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Heating_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Heating_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Heating_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Heating_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Heating_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Heating_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Heating_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Heating_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Heating_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Cooling_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Cooling_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Cooling_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Cooling_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Cooling_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Cooling_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Cooling_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Cooling_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Cooling_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Cooling_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Cooling_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Cooling_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Cooling_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Always_On Week Rule - Jan1-Dec31, !- Name + Always_On_Default, !- Sunday Schedule:Day Name + Always_On_Default, !- Monday Schedule:Day Name + Always_On_Default, !- Tuesday Schedule:Day Name + Always_On_Default, !- Wednesday Schedule:Day Name + Always_On_Default, !- Thursday Schedule:Day Name + Always_On_Default, !- Friday Schedule:Day Name + Always_On_Default, !- Saturday Schedule:Day Name + Always_On_Default, !- Holiday Schedule:Day Name + Always_On_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Always_On_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Always_On_Default, !- CustomDay1 Schedule:Day Name + Always_On_Default; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Occupancy_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Occupancy_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Occupancy_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Occupancy_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Occupancy_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Occupancy_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Occupancy_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Occupancy_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Occupancy_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Occupancy_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Occupancy_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Occupancy_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Occupancy_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + AirLoop air_handlers-2963_Sched_Ruleset Week Rule - Jan1-Jan3, !- Name + Office_Hvac_Schedule_Week_Day 1, !- Sunday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Monday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Tuesday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Wednesday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Thursday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Friday Schedule:Day Name + Office_Hvac_Schedule_Saturday 1, !- Saturday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Holiday Schedule:Day Name + Office_Hvac_Schedule_Summer_Design_Day 1, !- SummerDesignDay Schedule:Day Name + Office_Hvac_Schedule_Winter_Design_Day 1, !- WinterDesignDay Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- CustomDay1 Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + AirLoop air_handlers-2963_Sched_Ruleset Week Rule - Jan4-Dec31, !- Name + Office_Hvac_Schedule_Sunday 1, !- Sunday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Monday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Tuesday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Wednesday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Thursday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Friday Schedule:Day Name + Office_Hvac_Schedule_Saturday 1, !- Saturday Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- Holiday Schedule:Day Name + Office_Hvac_Schedule_Summer_Design_Day 1, !- SummerDesignDay Schedule:Day Name + Office_Hvac_Schedule_Winter_Design_Day 1, !- WinterDesignDay Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1, !- CustomDay1 Schedule:Day Name + Office_Hvac_Schedule_Week_Day 1; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Hot_Water_Temperature Week Rule - Jan1-Dec31, !- Name + Hot_Water_Temperature_Default, !- Sunday Schedule:Day Name + Hot_Water_Temperature_Default, !- Monday Schedule:Day Name + Hot_Water_Temperature_Default, !- Tuesday Schedule:Day Name + Hot_Water_Temperature_Default, !- Wednesday Schedule:Day Name + Hot_Water_Temperature_Default, !- Thursday Schedule:Day Name + Hot_Water_Temperature_Default, !- Friday Schedule:Day Name + Hot_Water_Temperature_Default, !- Saturday Schedule:Day Name + Hot_Water_Temperature_Default, !- Holiday Schedule:Day Name + Hot_Water_Temperature_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Hot_Water_Temperature_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Hot_Water_Temperature_Default, !- CustomDay1 Schedule:Day Name + Hot_Water_Temperature_Default; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Activity_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Activity_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Activity_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Activity_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Activity_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Activity_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Activity_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Activity_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Activity_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Activity_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Activity_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Activity_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Activity_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Elevator_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Elevator_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Elevator_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Elevator_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Elevator_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Elevator_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Elevator_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Elevator_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Elevator_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Elevator_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Elevator_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Elevator_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Elevator_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Infiltration_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Infiltration_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Infiltration_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Infiltration_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Infiltration_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Infiltration_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Infiltration_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Infiltration_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Infiltration_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Infiltration_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Infiltration_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Infiltration_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Infiltration_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Plug_And_Process_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Plug_And_Process_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Plug_And_Process_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Plug_And_Process_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Plug_And_Process_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Plug_And_Process_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Plug_And_Process_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Plug_And_Process_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Plug_And_Process_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Plug_And_Process_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Plug_And_Process_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Service_Water_Heating_Schedule Week Rule - Jan1-Jan3, !- Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Sunday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Service_Water_Heating_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Office_Service_Water_Heating_Schedule Week Rule - Jan4-Dec31, !- Name + Office_Service_Water_Heating_Schedule_Sunday, !- Sunday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Monday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Tuesday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Wednesday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Thursday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Friday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Saturday, !- Saturday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- Holiday Schedule:Day Name + Office_Service_Water_Heating_Schedule_Summer_Design_Day, !- SummerDesignDay Schedule:Day Name + Office_Service_Water_Heating_Schedule_Winter_Design_Day, !- WinterDesignDay Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day, !- CustomDay1 Schedule:Day Name + Office_Service_Water_Heating_Schedule_Week_Day; !- CustomDay2 Schedule:Day Name + + Schedule:Week:Daily, + Secondary CHW Temp - 44F Week Rule - Jan1-Dec31, !- Name + Secondary CHW Temp Default, !- Sunday Schedule:Day Name + Secondary CHW Temp Default, !- Monday Schedule:Day Name + Secondary CHW Temp Default, !- Tuesday Schedule:Day Name + Secondary CHW Temp Default, !- Wednesday Schedule:Day Name + Secondary CHW Temp Default, !- Thursday Schedule:Day Name + Secondary CHW Temp Default, !- Friday Schedule:Day Name + Secondary CHW Temp Default, !- Saturday Schedule:Day Name + Secondary CHW Temp Default, !- Holiday Schedule:Day Name + Secondary CHW Temp Default, !- SummerDesignDay Schedule:Day Name + Secondary CHW Temp Default, !- WinterDesignDay Schedule:Day Name + Secondary CHW Temp Default, !- CustomDay1 Schedule:Day Name + Secondary CHW Temp Default; !- CustomDay2 Schedule:Day Name + +!- =========== ALL OBJECTS IN CLASS: SCHEDULE:YEAR =========== + + Schedule:Year, + Office_Lighting_Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Office_Lighting_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Lighting_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Heating_Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Office_Heating_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Heating_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Cooling_Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Office_Cooling_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Cooling_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Always_On, !- Name + OnOff, !- Schedule Type Limits Name + Always_On Week Rule - Jan1-Dec31, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 12, !- End Month 1 + 31; !- End Day 1 + + Schedule:Year, + Office_Occupancy_Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Office_Occupancy_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Occupancy_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + AirLoop air_handlers-2963_Sched_Ruleset, !- Name + OnOff, !- Schedule Type Limits Name + AirLoop air_handlers-2963_Sched_Ruleset Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + AirLoop air_handlers-2963_Sched_Ruleset Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Hot_Water_Temperature, !- Name + Temperature, !- Schedule Type Limits Name + Hot_Water_Temperature Week Rule - Jan1-Dec31, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 12, !- End Month 1 + 31; !- End Day 1 + + Schedule:Year, + Office_Activity_Schedule, !- Name + ActivityLevel, !- Schedule Type Limits Name + Office_Activity_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Activity_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Elevator_Schedule, !- Name + Dimensionless, !- Schedule Type Limits Name + Office_Elevator_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Elevator_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Infiltration_Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Office_Infiltration_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Infiltration_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Plug_And_Process_Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Office_Plug_And_Process_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Plug_And_Process_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Office_Service_Water_Heating_Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Office_Service_Water_Heating_Schedule Week Rule - Jan1-Jan3, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 1, !- End Month 1 + 3, !- End Day 1 + Office_Service_Water_Heating_Schedule Week Rule - Jan4-Dec31, !- Schedule:Week Name 2 + 1, !- Start Month 2 + 4, !- Start Day 2 + 12, !- End Month 2 + 31; !- End Day 2 + + Schedule:Year, + Secondary CHW Temp - 44F,!- Name + Temperature, !- Schedule Type Limits Name + Secondary CHW Temp - 44F Week Rule - Jan1-Dec31, !- Schedule:Week Name 1 + 1, !- Start Month 1 + 1, !- Start Day 1 + 12, !- End Month 1 + 31; !- End Day 1 + +!- =========== ALL OBJECTS IN CLASS: SCHEDULE:COMPACT =========== + + Schedule:Compact, + blocks-3644_office_1_Core Thermostat Schedule, !- Name + blocks-3644_office_1_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_1_East Perimeter Thermostat Schedule, !- Name + blocks-3644_office_1_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_1_North Perimeter Thermostat Schedule, !- Name + blocks-3644_office_1_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_1_South Perimeter Thermostat Schedule, !- Name + blocks-3644_office_1_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_1_West Perimeter Thermostat Schedule, !- Name + blocks-3644_office_1_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_2_Core Thermostat Schedule, !- Name + blocks-3644_office_2_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_2_East Perimeter Thermostat Schedule, !- Name + blocks-3644_office_2_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_2_North Perimeter Thermostat Schedule, !- Name + blocks-3644_office_2_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_2_South Perimeter Thermostat Schedule, !- Name + blocks-3644_office_2_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3644_office_2_West Perimeter Thermostat Schedule, !- Name + blocks-3644_office_2_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_1_Core Thermostat Schedule, !- Name + blocks-3645_office_1_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_1_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_1_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_1_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_1_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_1_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_1_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_1_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_1_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_2_Core Thermostat Schedule, !- Name + blocks-3645_office_2_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_2_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_2_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_2_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_2_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_2_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_2_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_2_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_2_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_3_Core Thermostat Schedule, !- Name + blocks-3645_office_3_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_3_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_3_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_3_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_3_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_3_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_3_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_3_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_3_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_4_Core Thermostat Schedule, !- Name + blocks-3645_office_4_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_4_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_4_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_4_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_4_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_4_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_4_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_4_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_4_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_5_Core Thermostat Schedule, !- Name + blocks-3645_office_5_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_5_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_5_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_5_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_5_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_5_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_5_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_5_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_5_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_6_Core Thermostat Schedule, !- Name + blocks-3645_office_6_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_6_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_6_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_6_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_6_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_6_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_6_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_6_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_6_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_7_Core Thermostat Schedule, !- Name + blocks-3645_office_7_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_7_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_7_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_7_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_7_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_7_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_7_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_7_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_7_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_8_Core Thermostat Schedule, !- Name + blocks-3645_office_8_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_8_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_8_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_8_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_8_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_8_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_8_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_8_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_8_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_9_Core Thermostat Schedule, !- Name + blocks-3645_office_9_Core Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_9_East Perimeter Thermostat Schedule, !- Name + blocks-3645_office_9_East Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_9_North Perimeter Thermostat Schedule, !- Name + blocks-3645_office_9_North Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_9_South Perimeter Thermostat Schedule, !- Name + blocks-3645_office_9_South Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + blocks-3645_office_9_West Perimeter Thermostat Schedule, !- Name + blocks-3645_office_9_West Perimeter Thermostat Schedule Type Limits, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + Economizer Efficiency Schedule, !- Name + Fractional, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.9; !- Field 3 + + Schedule:Compact, + Tower-Loop-Temperature-Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,21.1; !- Field 3 + +!- =========== ALL OBJECTS IN CLASS: SCHEDULE:CONSTANT =========== + + Schedule:Constant,Always On Discrete,OnOff 1,1; + + Schedule:Constant,Always Off Discrete,,0; + + Schedule:Constant,Always On Continuous,,1; + +!- =========== ALL OBJECTS IN CLASS: MATERIAL =========== + + Material, + 1/2IN Gypsum, !- Name + Smooth, !- Roughness + 0.0127, !- Thickness {m} + 0.16, !- Conductivity {W/m-K} + 784.9, !- Density {kg/m3} + 830, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.92, !- Solar Absorptance + 0.92; !- Visible Absorptance + + Material, + 4IN CONCRETE HW, !- Name + Rough, !- Roughness + 0.1016, !- Thickness {m} + 1.311, !- Conductivity {W/m-K} + 2240, !- Density {kg/m3} + 836.8, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + + Material, + IEAD Roof Insulation, !- Name + MediumRough, !- Roughness + 0.316696373180461, !- Thickness {m} + 0.049, !- Conductivity {W/m-K} + 265, !- Density {kg/m3} + 836.8, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + + Material, + Metal Decking, !- Name + MediumSmooth, !- Roughness + 0.0015, !- Thickness {m} + 45.006, !- Conductivity {W/m-K} + 7680, !- Density {kg/m3} + 418.4, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.3; !- Visible Absorptance + + Material, + Roof Membrane, !- Name + VeryRough, !- Roughness + 0.0095, !- Thickness {m} + 0.16, !- Conductivity {W/m-K} + 1121.29, !- Density {kg/m3} + 1460, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + + Material, + Steel Frame Wall Insulation, !- Name + MediumRough, !- Roughness + 0.148554253465291, !- Thickness {m} + 0.049, !- Conductivity {W/m-K} + 265, !- Density {kg/m3} + 836.8, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + + Material, + Wood Siding, !- Name + MediumSmooth, !- Roughness + 0.01, !- Thickness {m} + 0.11, !- Conductivity {W/m-K} + 544.62, !- Density {kg/m3} + 1210, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.78, !- Solar Absorptance + 0.78; !- Visible Absorptance + +!- =========== ALL OBJECTS IN CLASS: MATERIAL:NOMASS =========== + + Material:NoMass, + CP02 CARPET PAD, !- Name + VeryRough, !- Roughness + 0.2165, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.8; !- Visible Absorptance + +!- =========== ALL OBJECTS IN CLASS: WINDOWMATERIAL:SIMPLEGLAZINGSYSTEM =========== + + WindowMaterial:SimpleGlazingSystem, + Glazing Layer, !- Name + 1.70347896769017, !- U-Factor {W/m2-K} + 0.4171, !- Solar Heat Gain Coefficient + 0.7; !- Visible Transmittance + + WindowMaterial:SimpleGlazingSystem, + Glazing Layer 1, !- Name + 1.70347896769017, !- U-Factor {W/m2-K} + 0.51, !- Solar Heat Gain Coefficient + 0.7; !- Visible Transmittance + +!- =========== ALL OBJECTS IN CLASS: CONSTRUCTION =========== + + Construction, + fenestration_1.7034789676901698_0.4171_0.7, !- Name + Glazing Layer; !- Outside Layer + + Construction, + fenestration_1.7034789676901698_0.51_0.7, !- Name + Glazing Layer 1; !- Outside Layer + + Construction, + IEAD_Metal_Deck, !- Name + Roof Membrane, !- Outside Layer + IEAD Roof Insulation, !- Layer 2 + Metal Decking; !- Layer 3 + + Construction, + INT-FLOOR-TOPSIDE, !- Name + 1/2IN Gypsum, !- Outside Layer + 4IN CONCRETE HW, !- Layer 2 + CP02 CARPET PAD; !- Layer 3 + + Construction, + INT-FLOOR-UNDERSIDE, !- Name + CP02 CARPET PAD, !- Outside Layer + 4IN CONCRETE HW, !- Layer 2 + 1/2IN Gypsum; !- Layer 3 + + Construction, + Siding_Steel_Frame_Wall, !- Name + Wood Siding, !- Outside Layer + Steel Frame Wall Insulation, !- Layer 2 + 1/2IN Gypsum; !- Layer 3 + + Construction, + Standard_Int-Wall, !- Name + 1/2IN Gypsum, !- Outside Layer + 1/2IN Gypsum; !- Layer 2 + +!- =========== ALL OBJECTS IN CLASS: CONSTRUCTION:FFACTORGROUNDFLOOR =========== + + Construction:FfactorGroundFloor, + Construction Ffactor Ground Floor 1, !- Name + 0.93474, !- F-Factor {W/m-K} + 1, !- Area {m2} + 1; !- PerimeterExposed {m} + + Construction:FfactorGroundFloor, + Construction Ffactor Ground Floor 2, !- Name + 0.93474, !- F-Factor {W/m-K} + 174.1932, !- Area {m2} + 42.672; !- PerimeterExposed {m} + + Construction:FfactorGroundFloor, + Construction Ffactor Ground Floor 3, !- Name + 0.93474, !- F-Factor {W/m-K} + 90.580464, !- Area {m2} + 24.384; !- PerimeterExposed {m} + + Construction:FfactorGroundFloor, + Construction Ffactor Ground Floor 4, !- Name + 0.93474, !- F-Factor {W/m-K} + 510.96672, !- Area {m2} + 0; !- PerimeterExposed {m} + +!- =========== ALL OBJECTS IN CLASS: GLOBALGEOMETRYRULES =========== + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + Counterclockwise, !- Vertex Entry Direction + Relative, !- Coordinate System + Relative, !- Daylighting Reference Point Coordinate System + Relative; !- Rectangular Surface Coordinate System + +!- =========== ALL OBJECTS IN CLASS: ZONE =========== + + Zone, + blocks-3644_office_1_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_1_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_1_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_1_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_1_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_2_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_2_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_2_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_2_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3644_office_2_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_1_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_1_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_1_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_1_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_1_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_2_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_2_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_2_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_2_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_2_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_3_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_3_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_3_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_3_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_3_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_4_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_4_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_4_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_4_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_4_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_5_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_5_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_5_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_5_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_5_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_6_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_6_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_6_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_6_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_6_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_7_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_7_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_7_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_7_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_7_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_8_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_8_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_8_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_8_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_8_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_9_Core, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_9_East Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_9_North Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_9_South Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + blocks-3645_office_9_West Perimeter, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0; !- Z Origin {m} + + Zone, + Office_Mid_Plenum, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + , !- Type + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + + Zone, + Office_Mid_Plenum 2, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + , !- Type + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + + Zone, + Office_Top_Plenum, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + , !- Type + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + + Zone, + Office_Top_Plenum 2, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + , !- Type + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + +!- =========== ALL OBJECTS IN CLASS: ZONELIST =========== + + ZoneList, + {6d40ff65-3418-4dc8-bd77-e8601e033264}, !- Name + Office_Mid_Plenum; !- Zone 1 Name + + ZoneList, + Office_Mid_Plenum 1, !- Name + Office_Mid_Plenum 2; !- Zone 1 Name + + ZoneList, + Office_Space_Type_62.2_Multizone_Adjusted, !- Name + blocks-3644_office_1_Core, !- Zone 1 Name + blocks-3644_office_1_East Perimeter, !- Zone 2 Name + blocks-3644_office_1_North Perimeter, !- Zone 3 Name + blocks-3644_office_1_South Perimeter, !- Zone 4 Name + blocks-3644_office_1_West Perimeter, !- Zone 5 Name + blocks-3644_office_2_Core, !- Zone 6 Name + blocks-3644_office_2_East Perimeter, !- Zone 7 Name + blocks-3644_office_2_North Perimeter, !- Zone 8 Name + blocks-3644_office_2_South Perimeter, !- Zone 9 Name + blocks-3644_office_2_West Perimeter, !- Zone 10 Name + blocks-3645_office_1_Core, !- Zone 11 Name + blocks-3645_office_1_East Perimeter, !- Zone 12 Name + blocks-3645_office_1_North Perimeter, !- Zone 13 Name + blocks-3645_office_1_South Perimeter, !- Zone 14 Name + blocks-3645_office_1_West Perimeter, !- Zone 15 Name + blocks-3645_office_2_Core, !- Zone 16 Name + blocks-3645_office_2_East Perimeter, !- Zone 17 Name + blocks-3645_office_2_North Perimeter, !- Zone 18 Name + blocks-3645_office_2_South Perimeter, !- Zone 19 Name + blocks-3645_office_2_West Perimeter, !- Zone 20 Name + blocks-3645_office_3_Core, !- Zone 21 Name + blocks-3645_office_3_East Perimeter, !- Zone 22 Name + blocks-3645_office_3_North Perimeter, !- Zone 23 Name + blocks-3645_office_3_South Perimeter, !- Zone 24 Name + blocks-3645_office_3_West Perimeter, !- Zone 25 Name + blocks-3645_office_4_Core, !- Zone 26 Name + blocks-3645_office_4_East Perimeter, !- Zone 27 Name + blocks-3645_office_4_North Perimeter, !- Zone 28 Name + blocks-3645_office_4_South Perimeter, !- Zone 29 Name + blocks-3645_office_4_West Perimeter, !- Zone 30 Name + blocks-3645_office_5_Core, !- Zone 31 Name + blocks-3645_office_5_East Perimeter, !- Zone 32 Name + blocks-3645_office_5_North Perimeter, !- Zone 33 Name + blocks-3645_office_5_South Perimeter, !- Zone 34 Name + blocks-3645_office_5_West Perimeter, !- Zone 35 Name + blocks-3645_office_6_Core, !- Zone 36 Name + blocks-3645_office_6_East Perimeter, !- Zone 37 Name + blocks-3645_office_6_North Perimeter, !- Zone 38 Name + blocks-3645_office_6_South Perimeter, !- Zone 39 Name + blocks-3645_office_6_West Perimeter, !- Zone 40 Name + blocks-3645_office_7_Core, !- Zone 41 Name + blocks-3645_office_7_East Perimeter, !- Zone 42 Name + blocks-3645_office_7_North Perimeter, !- Zone 43 Name + blocks-3645_office_7_South Perimeter, !- Zone 44 Name + blocks-3645_office_7_West Perimeter, !- Zone 45 Name + blocks-3645_office_8_Core, !- Zone 46 Name + blocks-3645_office_8_East Perimeter, !- Zone 47 Name + blocks-3645_office_8_North Perimeter, !- Zone 48 Name + blocks-3645_office_8_South Perimeter, !- Zone 49 Name + blocks-3645_office_8_West Perimeter, !- Zone 50 Name + blocks-3645_office_9_Core, !- Zone 51 Name + blocks-3645_office_9_East Perimeter, !- Zone 52 Name + blocks-3645_office_9_North Perimeter, !- Zone 53 Name + blocks-3645_office_9_South Perimeter, !- Zone 54 Name + blocks-3645_office_9_West Perimeter; !- Zone 55 Name + + ZoneList, + {5c03f227-5cc9-45b5-b1f7-f94fecc3e9c6}, !- Name + Office_Top_Plenum; !- Zone 1 Name + + ZoneList, + Office_Top_Plenum 1, !- Name + Office_Top_Plenum 2; !- Zone 1 Name + +!- =========== ALL OBJECTS IN CLASS: BUILDINGSURFACE:DETAILED =========== + + BuildingSurface:Detailed, + Surface 31, !- Name + Floor, !- Surface Type + Construction Ffactor Ground Floor 4, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + GroundFCfactorMethod, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 32, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 10, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 33, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 16, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 34, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 22, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 35, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 28, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 36, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 76, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 19, !- Name + Floor, !- Surface Type + Construction Ffactor Ground Floor 2, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + GroundFCfactorMethod, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,0, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 20, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,0, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 21, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 29, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 22, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 34, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 23, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 15, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 24, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 74, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 13, !- Name + Floor, !- Surface Type + Construction Ffactor Ground Floor 3, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + GroundFCfactorMethod, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,0, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 14, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,0, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 15, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 23, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,0, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 16, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 33, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 17, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 9, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 18, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 73, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 25, !- Name + Floor, !- Surface Type + Construction Ffactor Ground Floor 3, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + GroundFCfactorMethod, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 26, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 27, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 11, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 28, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 35, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 29, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 21, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 30, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 75, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 10, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 32, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 11, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 27, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 12, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 7, !- Name + Floor, !- Surface Type + Construction Ffactor Ground Floor 2, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + GroundFCfactorMethod, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 8, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,0, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,0, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 9, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 17, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,0, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,0, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 67, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 80, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 68, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 46, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 69, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 52, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 70, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 58, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 71, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 64, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 72, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 84, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 55, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 78, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 56, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 57, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 65, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 58, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 70, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 59, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 51, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 60, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 82, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 49, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 77, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 50, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 51, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 59, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 52, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 69, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 53, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 45, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 54, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 81, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 61, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 79, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 62, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 63, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 47, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 64, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 71, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 65, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 57, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 66, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 83, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 43, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 6, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 44, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 45, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 53, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 46, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 68, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 47, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 63, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 48, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3644_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 37, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 115, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 481, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 116, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 94, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 117, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 100, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 118, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 106, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 119, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 112, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 120, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_1_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 412, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 103, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 478, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 104, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 105, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 113, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 106, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 118, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 107, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 99, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 108, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_1_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 410, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 100, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 117, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 101, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 93, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 102, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 409, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 97, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 42, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 98, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 99, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 107, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 109, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 479, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 110, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 111, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 95, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 112, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 119, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 113, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 105, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 114, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_1_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 411, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 91, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 477, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 92, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 93, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 101, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 94, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 116, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 95, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 111, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 96, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_1_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 85, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 151, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 416, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 152, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 130, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 153, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 136, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 154, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 142, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 155, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 148, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 156, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_2_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 420, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 139, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 414, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 140, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 141, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 149, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 142, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 154, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 143, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 135, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 144, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_2_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 418, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 133, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 413, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 134, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 135, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 143, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 136, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 153, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 137, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 129, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 138, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_2_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 417, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 145, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 415, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 146, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 147, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 131, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 148, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 155, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 149, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 141, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 150, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_2_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 419, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 127, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 90, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 128, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 129, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 137, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 130, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 152, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 131, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 147, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 132, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_2_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 121, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 187, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 424, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 188, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 166, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 189, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 172, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 190, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 178, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 191, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 184, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 192, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_3_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 428, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 175, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 422, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 176, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 177, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 185, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 178, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 190, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 179, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 171, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 180, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_3_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 426, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 169, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 421, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 170, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 171, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 179, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 172, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 189, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 173, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 165, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 174, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_3_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 425, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 181, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 423, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 182, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 183, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 167, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 184, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 191, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 185, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 177, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 186, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_3_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 427, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 163, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 126, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 164, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 165, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 173, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 166, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 188, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 167, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 183, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 168, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_3_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 157, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 223, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 432, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 224, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 202, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 225, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 208, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 226, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 214, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 227, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 220, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 228, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_4_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 436, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 211, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 430, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 212, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 213, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 221, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 214, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 226, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 215, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 207, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 216, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_4_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 434, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 205, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 429, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 206, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 207, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 215, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 208, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 225, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 209, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 201, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 210, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_4_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 433, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 217, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 431, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 218, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 219, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 203, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 220, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 227, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 221, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 213, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 222, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_4_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 435, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 199, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 162, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 200, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 201, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 209, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 202, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 224, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 203, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 219, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 204, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_4_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 193, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 259, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 440, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 260, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 238, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 261, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 244, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 262, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 250, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 263, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 256, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 264, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_5_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 444, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 247, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 438, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 248, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 249, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 257, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 250, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 262, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 251, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 243, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 252, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_5_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 442, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 241, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 437, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 242, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 243, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 251, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 244, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 261, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 245, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 237, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 246, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_5_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 441, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 253, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 439, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 254, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 255, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 239, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 256, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 263, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 257, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 249, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 258, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_5_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 443, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 235, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 198, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 236, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 237, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 245, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 238, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 260, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 239, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 255, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 240, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_5_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 229, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 295, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 448, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 296, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 274, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 297, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 280, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 298, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 286, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 299, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 292, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 300, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_6_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 452, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 283, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 446, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 284, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 285, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 293, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 286, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 298, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 287, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 279, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 288, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_6_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 450, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 277, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 445, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 278, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 279, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 287, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 280, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 297, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 281, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 273, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 282, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_6_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 449, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 289, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 447, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 290, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 291, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 275, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 292, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 299, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 293, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 285, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 294, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_6_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 451, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 271, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 234, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 272, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 273, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 281, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 274, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 296, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 275, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 291, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 276, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_6_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 265, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 331, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 456, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 332, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 310, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 333, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 316, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 334, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 322, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 335, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 328, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 336, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_7_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 460, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 319, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 454, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 320, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 321, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 329, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 322, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 334, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 323, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 315, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 324, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_7_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 458, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 313, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 453, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 314, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 315, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 323, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 316, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 333, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 317, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 309, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 318, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_7_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 457, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 325, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 455, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 326, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 327, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 311, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 328, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 335, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 329, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 321, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 330, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_7_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 459, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 307, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 270, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 308, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 309, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 317, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 310, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 332, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 311, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 327, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 312, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_7_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 301, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 367, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 464, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 368, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 346, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 369, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 352, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 370, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 358, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 371, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 364, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 372, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_8_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 468, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 355, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 462, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 356, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 357, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 365, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 358, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 370, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 359, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 351, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 360, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_8_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 466, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 349, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 461, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 350, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 351, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 359, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 352, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 369, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 353, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 345, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 354, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_8_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 465, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 361, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 463, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 362, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 363, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 347, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 364, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 371, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 365, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 357, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 366, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_8_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 467, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 343, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 306, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 344, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 345, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 353, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 346, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 368, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 347, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 363, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 348, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_8_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 337, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 403, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 472, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 404, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 382, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 405, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 388, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 406, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 394, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 407, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 400, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 408, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_9_Core, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 476, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 391, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 470, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 392, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 393, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 401, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 394, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 406, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 395, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 387, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 396, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_9_East Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 474, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 385, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 469, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 386, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 387, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 395, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 388, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 405, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 389, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 381, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 390, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_9_North Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 473, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 397, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 471, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 398, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 399, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 383, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 400, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 407, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 401, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 393, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 402, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_9_South Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 475, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 379, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 342, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 380, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 381, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 389, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 382, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 404, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 383, !- Name + Wall, !- Surface Type + Standard_Int-Wall, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 399, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 384, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + blocks-3645_office_9_West Perimeter, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 373, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 1, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 12, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 2, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 3, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 4, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 5, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 6, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 43, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 73, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 18, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 74, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 24, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 75, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 30, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 76, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 36, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,2.7432, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,2.7432, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,2.7432; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 77, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 49, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 78, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 55, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,3.6576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,-22.86,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 79, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 61, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 80, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 67, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,3.6576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,3.6576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,3.6576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 121, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 132, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 122, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 123, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 124, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 125, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 126, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 163, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 157, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 168, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 158, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 159, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 160, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 161, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 162, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 199, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 193, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 204, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 194, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 195, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 196, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 197, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 198, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 235, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 229, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 240, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 230, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 231, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 232, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 233, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 234, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 271, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 265, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 276, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 266, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 267, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 268, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 269, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 270, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 307, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 301, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 312, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 302, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 303, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 304, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 305, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 306, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 343, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 337, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 348, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 338, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 339, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 340, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 341, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 342, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 379, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 409, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 102, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 410, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 108, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 411, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 114, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 412, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 120, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 413, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 133, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 414, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 139, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 415, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 145, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 416, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 151, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 417, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 138, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,13.716, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 418, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 144, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 419, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 150, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,13.716, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 420, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 156, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,13.716, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,13.716, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,13.716, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,13.716; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 421, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 169, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 422, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 175, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,14.6304, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 423, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 181, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 424, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 187, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,14.6304, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,14.6304, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,14.6304; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 425, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 174, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 426, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 180, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 427, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 186, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 428, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 192, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,17.3736, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,17.3736, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,17.3736; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 429, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 205, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 430, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 211, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,18.288, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 431, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 217, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,18.288, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,18.288, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 432, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 223, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,18.288, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,18.288, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,18.288, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,18.288; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 433, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 210, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 434, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 216, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 435, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 222, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 436, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 228, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.0312, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.0312, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.0312; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 437, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 241, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 438, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 247, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,21.9456, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 439, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 253, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 440, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 259, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,21.9456, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,21.9456, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,21.9456; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 441, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 246, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 442, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 252, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 443, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 258, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 444, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 264, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,24.6888, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,24.6888, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,24.6888; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 445, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 277, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 446, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 283, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,25.6032, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 447, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 289, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 448, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 295, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,25.6032, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,25.6032, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,25.6032; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 449, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 282, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 450, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 288, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 451, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 294, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 452, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 300, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,28.3464, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,28.3464, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,28.3464; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 453, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 313, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 454, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 319, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,29.2608, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 455, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 325, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 456, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 331, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,29.2608, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,29.2608, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,29.2608; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 457, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 318, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.004, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 458, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 324, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 459, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 330, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,32.004, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 460, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 336, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.004, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.004, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.004, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.004; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 461, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 349, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 462, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 355, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,32.9184, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 463, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 361, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 464, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 367, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,32.9184, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,32.9184, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,32.9184; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 465, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 354, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 466, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 360, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 467, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 366, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 468, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 372, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,35.6616, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,35.6616, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,35.6616; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 469, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 385, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 470, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 391, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,36.576, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 471, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 397, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,36.576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,36.576, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 472, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 403, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,36.576, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,36.576, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,36.576, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,36.576; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 85, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 96, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.0584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 86, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 87, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 88, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,10.0584, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 89, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,10.0584, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 90, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Mid_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 127, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,10.9728, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,10.9728, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,10.9728, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,10.9728; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 37, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 48, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 38, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 39, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 40, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 41, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-27.432,7.3152, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-27.432,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 42, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 97, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 477, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 91, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 1 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 478, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 103, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,7.3152, !- X,Y,Z ==> Vertex 2 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + 7.62,1.524,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 479, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 109, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 480, !- Name + Roof, !- Surface Type + IEAD_Metal_Deck, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-27.432,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.432,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 481, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 115, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,7.3152, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,7.3152, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,7.3152; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 81, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 54, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 82, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 60, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 2 {m} + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 83, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 66, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.432,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -7.62,-22.86,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 84, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 72, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,6.4008, !- X,Y,Z ==> Vertex 1 {m} + 7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 2 {m} + -7.62,-22.86,6.4008, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,6.4008; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 373, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 384, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 374, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,15.24,40.2336, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,40.2336; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 375, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,40.2336, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,40.2336; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 376, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,40.2336, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.24,40.2336; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 377, !- Name + Wall, !- Surface Type + Siding_Steel_Frame_Wall, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -12.192,-3.048,40.2336, !- X,Y,Z ==> Vertex 1 {m} + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 2 {m} + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 3 {m} + 12.192,-3.048,40.2336; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 378, !- Name + Roof, !- Surface Type + IEAD_Metal_Deck, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,-3.048,40.2336, !- X,Y,Z ==> Vertex 1 {m} + 12.192,15.24,40.2336, !- X,Y,Z ==> Vertex 2 {m} + -12.192,15.24,40.2336, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.048,40.2336; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 473, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 390, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -12.192,15.24,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 474, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 396, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 12.192,15.24,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 2 {m} + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 3 {m} + 7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 475, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 402, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.048,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -7.62,1.524,39.3192; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Surface 476, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Office_Top_Plenum 2, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Surface 408, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 7.62,10.668,39.3192, !- X,Y,Z ==> Vertex 1 {m} + 7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 2 {m} + -7.62,1.524,39.3192, !- X,Y,Z ==> Vertex 3 {m} + -7.62,10.668,39.3192; !- X,Y,Z ==> Vertex 4 {m} + +!- =========== ALL OBJECTS IN CLASS: FENESTRATIONSURFACE:DETAILED =========== + + FenestrationSurface:Detailed, + Sub Surface 5, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 20, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-27.4066,1.86058784266985, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.4066,0.762, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,0.762, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,1.86058784266985; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 3, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 14, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,1.86157077244259, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,0.762, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,0.762, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,1.86157077244259; !- X,Y,Z ==> Vertex 4 {m} + + !- X,Y,Z 1 {m} + + FenestrationSurface:Detailed, + Sub Surface 7, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 26, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-27.432,1.86157077244259, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-27.432,0.762, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-27.432,0.762, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-27.432,1.86157077244259; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 1, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 8, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,1.86058784266985, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,0.762, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.4066,0.762, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.4066,1.86058784266985; !- X,Y,Z ==> Vertex 4 {m} + + !- X,Y,Z 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 6, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 56, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-27.4066,5.51818784266985, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-27.4066,4.4196, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,4.4196, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,5.51818784266985; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 4, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 50, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,5.51917077244259, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,4.4196, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,4.4196, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,5.51917077244259; !- X,Y,Z ==> Vertex 4 {m} + + !- X,Y,Z 1 {m} + + FenestrationSurface:Detailed, + Sub Surface 8, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 62, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-27.432,5.51917077244259, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-27.432,4.4196, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-27.432,4.4196, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-27.432,5.51917077244259; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 2, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 44, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,5.51818784266985, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,4.4196, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-27.4066,4.4196, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-27.4066,5.51818784266985; !- X,Y,Z ==> Vertex 4 {m} + + !- X,Y,Z 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 27, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 104, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,9.1775364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,8.0772, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,8.0772, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,9.1775364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 18, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 98, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,9.17677077244259, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,8.0772, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,8.0772, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,9.17677077244259; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 36, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 110, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,9.17677077244259, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,8.0772, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,8.0772, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,9.17677077244259; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 9, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 92, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,9.1775364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,8.0772, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,8.0772, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,9.1775364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 28, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 140, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,12.8351364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,11.7348, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,11.7348, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,12.8351364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 19, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 134, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,12.8343707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,11.7348, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,11.7348, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,12.8343707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 37, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 146, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,12.8343707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,11.7348, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,11.7348, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,12.8343707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 10, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 128, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,12.8351364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,11.7348, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,11.7348, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,12.8351364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 29, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 176, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,16.4927364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,15.3924, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,15.3924, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,16.4927364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 20, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 170, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,16.4919707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,15.3924, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,15.3924, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,16.4919707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 38, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 182, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,16.4919707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,15.3924, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,15.3924, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,16.4919707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 11, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 164, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,16.4927364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,15.3924, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,15.3924, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,16.4927364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 30, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 212, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,20.1503364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,19.05, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,19.05, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,20.1503364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 21, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 206, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,20.1495707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,19.05, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,19.05, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,20.1495707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 39, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 218, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,20.1495707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,19.05, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,19.05, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,20.1495707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 12, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 200, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,20.1503364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,19.05, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,19.05, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,20.1503364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 31, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 248, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,23.8079364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,22.7076, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,22.7076, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,23.8079364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 22, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 242, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,23.8071707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,22.7076, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,22.7076, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,23.8071707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 40, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 254, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,23.8071707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,22.7076, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,22.7076, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,23.8071707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 13, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 236, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,23.8079364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,22.7076, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,22.7076, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,23.8079364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 32, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 284, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,27.4655364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,26.3652, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,26.3652, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,27.4655364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 23, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 278, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,27.4647707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,26.3652, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,26.3652, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,27.4647707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 41, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 290, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,27.4647707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,26.3652, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,26.3652, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,27.4647707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 14, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 272, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,27.4655364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,26.3652, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,26.3652, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,27.4655364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 33, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 320, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,31.1231364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,30.0228, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,30.0228, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,31.1231364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 24, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 314, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,31.1223707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,30.0228, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,30.0228, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,31.1223707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 42, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 326, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,31.1223707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,30.0228, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,30.0228, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,31.1223707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 15, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 308, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,31.1231364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,30.0228, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,30.0228, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,31.1231364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 34, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 356, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,34.7807364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,33.6804, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,33.6804, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,34.7807364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 25, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 350, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,34.7799707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,33.6804, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,33.6804, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,34.7799707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 43, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 362, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,34.7799707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,33.6804, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,33.6804, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,34.7799707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 16, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 344, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,34.7807364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,33.6804, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,33.6804, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,34.7807364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 35, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 392, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.192,-3.0226,38.4383364902507, !- X,Y,Z ==> Vertex 1 {m} + 12.192,-3.0226,37.338, !- X,Y,Z ==> Vertex 2 {m} + 12.192,15.2146,37.338, !- X,Y,Z ==> Vertex 3 {m} + 12.192,15.2146,38.4383364902507; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 26, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.51_0.7, !- Construction Name + Surface 386, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.1666,15.24,38.4375707724426, !- X,Y,Z ==> Vertex 1 {m} + 12.1666,15.24,37.338, !- X,Y,Z ==> Vertex 2 {m} + -12.1666,15.24,37.338, !- X,Y,Z ==> Vertex 3 {m} + -12.1666,15.24,38.4375707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 44, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 398, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.1666,-3.048,38.4375707724426, !- X,Y,Z ==> Vertex 1 {m} + -12.1666,-3.048,37.338, !- X,Y,Z ==> Vertex 2 {m} + 12.1666,-3.048,37.338, !- X,Y,Z ==> Vertex 3 {m} + 12.1666,-3.048,38.4375707724426; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Sub Surface 17, !- Name + Window, !- Surface Type + fenestration_1.7034789676901698_0.4171_0.7, !- Construction Name + Surface 380, !- Building Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + -12.192,15.2146,38.4383364902507, !- X,Y,Z ==> Vertex 1 {m} + -12.192,15.2146,37.338, !- X,Y,Z ==> Vertex 2 {m} + -12.192,-3.0226,37.338, !- X,Y,Z ==> Vertex 3 {m} + -12.192,-3.0226,38.4383364902507; !- X,Y,Z ==> Vertex 4 {m} + +!- =========== ALL OBJECTS IN CLASS: PEOPLE =========== + + People, + Office_Occupants 1, !- Name + Office_Space_Type_62.2_Multizone_Adjusted, !- Zone or ZoneList or Space or SpaceList Name + Office_Occupancy_Schedule, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Floor Area {person/m2} + 18.580608, !- Floor Area per Person {m2/person} + 0.3, !- Fraction Radiant + 0.5, !- Sensible Heat Fraction + Office_Activity_Schedule; !- Activity Level Schedule Name + +!- =========== ALL OBJECTS IN CLASS: LIGHTS =========== + + Lights, + Office_Lights 5, !- Name + blocks-3644_office_1_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 3, !- Name + blocks-3644_office_1_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 2, !- Name + blocks-3644_office_1_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 4, !- Name + blocks-3644_office_1_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 1, !- Name + blocks-3644_office_1_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 10, !- Name + blocks-3644_office_2_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 8, !- Name + blocks-3644_office_2_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 7, !- Name + blocks-3644_office_2_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 9, !- Name + blocks-3644_office_2_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 6, !- Name + blocks-3644_office_2_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10343277347541, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 15, !- Name + blocks-3645_office_1_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 13, !- Name + blocks-3645_office_1_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 12, !- Name + blocks-3645_office_1_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 14, !- Name + blocks-3645_office_1_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 11, !- Name + blocks-3645_office_1_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 20, !- Name + blocks-3645_office_2_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 18, !- Name + blocks-3645_office_2_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 17, !- Name + blocks-3645_office_2_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 19, !- Name + blocks-3645_office_2_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 16, !- Name + blocks-3645_office_2_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 25, !- Name + blocks-3645_office_3_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 23, !- Name + blocks-3645_office_3_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 22, !- Name + blocks-3645_office_3_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 24, !- Name + blocks-3645_office_3_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 21, !- Name + blocks-3645_office_3_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 30, !- Name + blocks-3645_office_4_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 28, !- Name + blocks-3645_office_4_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 27, !- Name + blocks-3645_office_4_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 29, !- Name + blocks-3645_office_4_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 26, !- Name + blocks-3645_office_4_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 35, !- Name + blocks-3645_office_5_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 33, !- Name + blocks-3645_office_5_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 32, !- Name + blocks-3645_office_5_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 34, !- Name + blocks-3645_office_5_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 31, !- Name + blocks-3645_office_5_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 40, !- Name + blocks-3645_office_6_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 38, !- Name + blocks-3645_office_6_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 37, !- Name + blocks-3645_office_6_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 39, !- Name + blocks-3645_office_6_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 36, !- Name + blocks-3645_office_6_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 45, !- Name + blocks-3645_office_7_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 43, !- Name + blocks-3645_office_7_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 42, !- Name + blocks-3645_office_7_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 44, !- Name + blocks-3645_office_7_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 41, !- Name + blocks-3645_office_7_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 50, !- Name + blocks-3645_office_8_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 48, !- Name + blocks-3645_office_8_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 47, !- Name + blocks-3645_office_8_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 49, !- Name + blocks-3645_office_8_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 46, !- Name + blocks-3645_office_8_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 55, !- Name + blocks-3645_office_9_Core, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 53, !- Name + blocks-3645_office_9_East Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 52, !- Name + blocks-3645_office_9_North Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 54, !- Name + blocks-3645_office_9_South Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 51, !- Name + blocks-3645_office_9_West Perimeter, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 7.10412702976931, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + + Lights, + Office_Lights 56, !- Name + Office_Space_Type_62.2_Multizone_Adjusted, !- Zone or ZoneList or Space or SpaceList Name + Office_Lighting_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 0, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Return Air Fraction + 0.37, !- Fraction Radiant + 0.18, !- Fraction Visible + 1, !- Fraction Replaceable + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: ELECTRICEQUIPMENT =========== + + ElectricEquipment, + Office_Plug_Loads 1, !- Name + Office_Space_Type_62.2_Multizone_Adjusted, !- Zone or ZoneList or Space or SpaceList Name + Office_Plug_And_Process_Schedule, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 8.07293281253229, !- Watts per Floor Area {W/m2} + , !- Watts per Person {W/person} + 0, !- Fraction Latent + 0.3, !- Fraction Radiant + 0, !- Fraction Lost + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: ZONEINFILTRATION:DESIGNFLOWRATE =========== + + ZoneInfiltration:DesignFlowRate, + Office_Infiltration 1, !- Name + Office_Mid_Plenum, !- Zone or ZoneList or Space or SpaceList Name + Office_Infiltration_Schedule, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + 0.00022783, !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + , !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + ; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Office_Infiltration 3, !- Name + Office_Mid_Plenum 1, !- Zone or ZoneList or Space or SpaceList Name + Office_Infiltration_Schedule, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + 0.00022783, !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + , !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + ; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Office_Infiltration 5, !- Name + Office_Space_Type_62.2_Multizone_Adjusted, !- Zone or ZoneList or Space or SpaceList Name + Office_Infiltration_Schedule, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + 0.00022783, !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + , !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + ; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Office_Infiltration 2, !- Name + {5c03f227-5cc9-45b5-b1f7-f94fecc3e9c6}, !- Zone or ZoneList or Space or SpaceList Name + Office_Infiltration_Schedule, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + 3.89553886010363e-005, !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + , !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + ; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Office_Infiltration 4, !- Name + Office_Top_Plenum 1, !- Zone or ZoneList or Space or SpaceList Name + Office_Infiltration_Schedule, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow Rate per Floor Area {m3/s-m2} + 3.39321276595745e-005, !- Flow Rate per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + , !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + ; !- Velocity Squared Term Coefficient + +!- =========== ALL OBJECTS IN CLASS: DESIGNSPECIFICATION:OUTDOORAIR =========== + + DesignSpecification:OutdoorAir, + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Name + Sum, !- Outdoor Air Method + 0, !- Outdoor Air Flow per Person {m3/s-person} + 0.00053975, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Outdoor Air Flow per Zone {m3/s} + 0; !- Outdoor Air Flow Air Changes per Hour {1/hr} + +!- =========== ALL OBJECTS IN CLASS: DESIGNSPECIFICATION:ZONEAIRDISTRIBUTION =========== + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_1_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_1_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_1_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_1_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_1_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_2_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_2_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_2_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_2_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3644_office_2_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_1_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_1_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_1_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_1_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_1_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_2_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_2_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_2_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_2_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_2_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_3_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_3_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_3_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_3_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_3_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_4_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_4_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_4_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_4_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_4_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_5_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_5_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_5_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_5_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_5_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_6_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_6_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_6_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_6_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_6_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_7_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_7_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_7_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_7_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_7_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_8_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_8_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_8_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_8_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_8_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_9_Core Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_9_East Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_9_North Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_9_South Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + + DesignSpecification:ZoneAirDistribution, + blocks-3645_office_9_West Perimeter Design Spec Zone Air Dist, !- Name + 1, !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless} + 1; !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless} + +!- =========== ALL OBJECTS IN CLASS: SIZING:PARAMETERS =========== + + Sizing:Parameters, + 1.25, !- Heating Sizing Factor + 1.15; !- Cooling Sizing Factor + +!- =========== ALL OBJECTS IN CLASS: SIZING:ZONE =========== + + Sizing:Zone, + blocks-3644_office_1_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_1_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_1_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_1_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_1_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_1_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_1_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_1_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_1_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_1_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_2_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_2_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_2_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_2_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_2_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_2_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_2_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_2_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3644_office_2_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3644_office_2_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_1_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_1_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_1_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_1_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_1_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_1_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_1_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_1_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_1_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_1_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_2_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_2_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_2_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_2_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_2_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_2_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_2_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_2_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_2_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_2_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_3_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_3_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_3_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_3_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_3_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_3_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_3_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_3_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_3_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_3_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_4_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_4_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_4_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_4_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_4_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_4_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_4_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_4_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_4_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_4_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_5_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_5_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_5_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_5_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_5_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_5_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_5_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_5_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_5_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_5_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_6_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_6_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_6_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_6_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_6_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_6_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_6_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_6_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_6_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_6_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_7_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_7_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_7_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_7_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_7_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_7_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_7_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_7_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_7_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_7_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_8_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_8_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_8_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_8_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_8_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_8_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_8_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_8_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_8_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_8_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_9_Core, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_9_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_9_East Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_9_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_9_North Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_9_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_9_South Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_9_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + + Sizing:Zone, + blocks-3645_office_9_West Perimeter, !- Zone or ZoneList Name + TemperatureDifference, !- Zone Cooling Design Supply Air Temperature Input Method + 14, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + TemperatureDifference, !- Zone Heating Design Supply Air Temperature Input Method + 40, !- Zone Heating Design Supply Air Temperature {C} + 11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + 0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + 0, !- Cooling Minimum Air Flow {m3/s} + 0, !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + 0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + 0.1415762, !- Heating Maximum Air Flow {m3/s} + 0.3, !- Heating Maximum Air Flow Fraction + blocks-3645_office_9_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + Sensible Load Only No Latent Load, !- Zone Load Sizing Method + HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + , !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method + , !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir} + +!- =========== ALL OBJECTS IN CLASS: SIZING:SYSTEM =========== + + Sizing:System, + AirLoop air_handlers-2963, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Central Heating Maximum System Air Flow Ratio + 7, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 12.8, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8, !- Central Cooling Design Supply Air Temperature {C} + 16.7, !- Central Heating Design Supply Air Temperature {C} + NonCoincident, !- Type of Zone Sum to Use + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Supply Air Flow Rate Method + 0, !- Cooling Supply Air Flow Rate {m3/s} + 0.0099676501, !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2} + 1, !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate + 3.9475456e-005, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + DesignDay, !- Heating Supply Air Flow Rate Method + 0, !- Heating Supply Air Flow Rate {m3/s} + 0.0099676501, !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2} + 1, !- Heating Fraction of Autosized Heating Supply Air Flow Rate + 1, !- Heating Fraction of Autosized Cooling Supply Air Flow Rate + 3.1588213e-005, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + CoolingDesignCapacity, !- Cooling Design Capacity Method + Autosize, !- Cooling Design Capacity {W} + 234.7, !- Cooling Design Capacity Per Floor Area {W/m2} + 1, !- Fraction of Autosized Cooling Design Capacity + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity {W} + 157, !- Heating Design Capacity Per Floor Area {W/m2} + 1, !- Fraction of Autosized Heating Design Capacity + OnOff; !- Central Cooling Capacity Control Method + +!- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== + + Sizing:Plant, + Boiler plant plant_loops-1904, !- Plant or Condenser Loop Name + Heating, !- Loop Type + 82, !- Design Loop Exit Temperature {C} + 11, !- Loop Design Temperature Difference {deltaC} + NonCoincident, !- Sizing Option + 1, !- Zone Timesteps in Averaging Window + None; !- Coincident Sizing Factor Mode + + Sizing:Plant, + Chiller plant plant_loops-1903, !- Plant or Condenser Loop Name + Cooling, !- Loop Type + 6.67, !- Design Loop Exit Temperature {C} + 5.6, !- Loop Design Temperature Difference {deltaC} + NonCoincident, !- Sizing Option + 1, !- Zone Timesteps in Averaging Window + None; !- Coincident Sizing Factor Mode + + Sizing:Plant, + Condenser Plant plant_loops-1902, !- Plant or Condenser Loop Name + Condenser, !- Loop Type + 29.4, !- Design Loop Exit Temperature {C} + 5.54, !- Loop Design Temperature Difference {deltaC} + NonCoincident, !- Sizing Option + 1, !- Zone Timesteps in Averaging Window + None; !- Coincident Sizing Factor Mode + +!- =========== ALL OBJECTS IN CLASS: ZONECONTROL:THERMOSTAT =========== + + ZoneControl:Thermostat, + blocks-3644_office_1_Core Thermostat, !- Name + blocks-3644_office_1_Core, !- Zone or ZoneList Name + blocks-3644_office_1_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 5; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_1_East Perimeter Thermostat, !- Name + blocks-3644_office_1_East Perimeter, !- Zone or ZoneList Name + blocks-3644_office_1_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 3; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_1_North Perimeter Thermostat, !- Name + blocks-3644_office_1_North Perimeter, !- Zone or ZoneList Name + blocks-3644_office_1_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 2; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_1_South Perimeter Thermostat, !- Name + blocks-3644_office_1_South Perimeter, !- Zone or ZoneList Name + blocks-3644_office_1_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 4; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_1_West Perimeter Thermostat, !- Name + blocks-3644_office_1_West Perimeter, !- Zone or ZoneList Name + blocks-3644_office_1_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 1; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_2_Core Thermostat, !- Name + blocks-3644_office_2_Core, !- Zone or ZoneList Name + blocks-3644_office_2_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 10; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_2_East Perimeter Thermostat, !- Name + blocks-3644_office_2_East Perimeter, !- Zone or ZoneList Name + blocks-3644_office_2_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 8; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_2_North Perimeter Thermostat, !- Name + blocks-3644_office_2_North Perimeter, !- Zone or ZoneList Name + blocks-3644_office_2_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 7; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_2_South Perimeter Thermostat, !- Name + blocks-3644_office_2_South Perimeter, !- Zone or ZoneList Name + blocks-3644_office_2_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 9; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3644_office_2_West Perimeter Thermostat, !- Name + blocks-3644_office_2_West Perimeter, !- Zone or ZoneList Name + blocks-3644_office_2_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 6; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_1_Core Thermostat, !- Name + blocks-3645_office_1_Core, !- Zone or ZoneList Name + blocks-3645_office_1_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 15; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_1_East Perimeter Thermostat, !- Name + blocks-3645_office_1_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_1_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 13; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_1_North Perimeter Thermostat, !- Name + blocks-3645_office_1_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_1_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 12; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_1_South Perimeter Thermostat, !- Name + blocks-3645_office_1_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_1_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 14; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_1_West Perimeter Thermostat, !- Name + blocks-3645_office_1_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_1_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 11; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_2_Core Thermostat, !- Name + blocks-3645_office_2_Core, !- Zone or ZoneList Name + blocks-3645_office_2_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 20; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_2_East Perimeter Thermostat, !- Name + blocks-3645_office_2_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_2_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 18; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_2_North Perimeter Thermostat, !- Name + blocks-3645_office_2_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_2_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 17; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_2_South Perimeter Thermostat, !- Name + blocks-3645_office_2_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_2_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 19; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_2_West Perimeter Thermostat, !- Name + blocks-3645_office_2_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_2_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 16; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_3_Core Thermostat, !- Name + blocks-3645_office_3_Core, !- Zone or ZoneList Name + blocks-3645_office_3_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 25; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_3_East Perimeter Thermostat, !- Name + blocks-3645_office_3_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_3_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 23; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_3_North Perimeter Thermostat, !- Name + blocks-3645_office_3_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_3_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 22; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_3_South Perimeter Thermostat, !- Name + blocks-3645_office_3_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_3_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 24; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_3_West Perimeter Thermostat, !- Name + blocks-3645_office_3_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_3_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 21; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_4_Core Thermostat, !- Name + blocks-3645_office_4_Core, !- Zone or ZoneList Name + blocks-3645_office_4_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 30; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_4_East Perimeter Thermostat, !- Name + blocks-3645_office_4_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_4_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 28; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_4_North Perimeter Thermostat, !- Name + blocks-3645_office_4_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_4_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 27; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_4_South Perimeter Thermostat, !- Name + blocks-3645_office_4_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_4_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 29; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_4_West Perimeter Thermostat, !- Name + blocks-3645_office_4_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_4_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 26; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_5_Core Thermostat, !- Name + blocks-3645_office_5_Core, !- Zone or ZoneList Name + blocks-3645_office_5_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 35; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_5_East Perimeter Thermostat, !- Name + blocks-3645_office_5_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_5_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 33; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_5_North Perimeter Thermostat, !- Name + blocks-3645_office_5_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_5_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 32; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_5_South Perimeter Thermostat, !- Name + blocks-3645_office_5_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_5_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 34; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_5_West Perimeter Thermostat, !- Name + blocks-3645_office_5_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_5_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 31; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_6_Core Thermostat, !- Name + blocks-3645_office_6_Core, !- Zone or ZoneList Name + blocks-3645_office_6_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 40; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_6_East Perimeter Thermostat, !- Name + blocks-3645_office_6_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_6_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 38; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_6_North Perimeter Thermostat, !- Name + blocks-3645_office_6_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_6_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 37; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_6_South Perimeter Thermostat, !- Name + blocks-3645_office_6_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_6_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 39; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_6_West Perimeter Thermostat, !- Name + blocks-3645_office_6_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_6_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 36; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_7_Core Thermostat, !- Name + blocks-3645_office_7_Core, !- Zone or ZoneList Name + blocks-3645_office_7_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 45; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_7_East Perimeter Thermostat, !- Name + blocks-3645_office_7_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_7_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 43; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_7_North Perimeter Thermostat, !- Name + blocks-3645_office_7_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_7_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 42; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_7_South Perimeter Thermostat, !- Name + blocks-3645_office_7_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_7_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 44; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_7_West Perimeter Thermostat, !- Name + blocks-3645_office_7_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_7_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 41; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_8_Core Thermostat, !- Name + blocks-3645_office_8_Core, !- Zone or ZoneList Name + blocks-3645_office_8_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 50; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_8_East Perimeter Thermostat, !- Name + blocks-3645_office_8_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_8_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 48; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_8_North Perimeter Thermostat, !- Name + blocks-3645_office_8_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_8_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 47; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_8_South Perimeter Thermostat, !- Name + blocks-3645_office_8_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_8_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 49; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_8_West Perimeter Thermostat, !- Name + blocks-3645_office_8_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_8_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 46; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_9_Core Thermostat, !- Name + blocks-3645_office_9_Core, !- Zone or ZoneList Name + blocks-3645_office_9_Core Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 55; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_9_East Perimeter Thermostat, !- Name + blocks-3645_office_9_East Perimeter, !- Zone or ZoneList Name + blocks-3645_office_9_East Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 53; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_9_North Perimeter Thermostat, !- Name + blocks-3645_office_9_North Perimeter, !- Zone or ZoneList Name + blocks-3645_office_9_North Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 52; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_9_South Perimeter Thermostat, !- Name + blocks-3645_office_9_South Perimeter, !- Zone or ZoneList Name + blocks-3645_office_9_South Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 54; !- Control 1 Name + + ZoneControl:Thermostat, + blocks-3645_office_9_West Perimeter Thermostat, !- Name + blocks-3645_office_9_West Perimeter, !- Zone or ZoneList Name + blocks-3645_office_9_West Perimeter Thermostat Schedule, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Thermostat Setpoint Dual Setpoint 51; !- Control 1 Name + +!- =========== ALL OBJECTS IN CLASS: THERMOSTATSETPOINT:DUALSETPOINT =========== + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 5, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 3, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 2, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 4, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 1, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 10, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 8, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 7, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 9, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 6, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 15, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 13, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 12, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 14, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 11, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 20, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 18, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 17, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 19, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 16, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 25, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 23, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 22, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 24, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 21, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 30, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 28, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 27, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 29, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 26, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 35, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 33, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 32, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 34, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 31, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 40, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 38, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 37, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 39, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 36, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 45, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 43, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 42, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 44, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 41, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 50, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 48, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 47, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 49, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 46, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 55, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 53, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 52, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 54, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Thermostat Setpoint Dual Setpoint 51, !- Name + Office_Heating_Schedule, !- Heating Setpoint Temperature Schedule Name + Office_Cooling_Schedule; !- Cooling Setpoint Temperature Schedule Name + +!- =========== ALL OBJECTS IN CLASS: AIRTERMINAL:SINGLEDUCT:VAV:REHEAT =========== + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 5, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 5 Damper Outlet, !- Damper Air Outlet Node Name + Node 130, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 6, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 128, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 3, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 3 Damper Outlet, !- Damper Air Outlet Node Name + Node 120, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 4, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 118, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 2, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 2 Damper Outlet, !- Damper Air Outlet Node Name + Node 115, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 3, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 113, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 4, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 4 Damper Outlet, !- Damper Air Outlet Node Name + Node 125, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 5, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 123, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 1, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 1 Damper Outlet, !- Damper Air Outlet Node Name + Node 110, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 2, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 99, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 10, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 10 Damper Outlet, !- Damper Air Outlet Node Name + Node 155, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 11, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 153, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 8, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 8 Damper Outlet, !- Damper Air Outlet Node Name + Node 145, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 9, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 143, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 7, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 7 Damper Outlet, !- Damper Air Outlet Node Name + Node 140, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 8, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 138, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 9, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 9 Damper Outlet, !- Damper Air Outlet Node Name + Node 150, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 10, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 148, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 6, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 6 Damper Outlet, !- Damper Air Outlet Node Name + Node 135, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 7, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 133, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 15, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 15 Damper Outlet, !- Damper Air Outlet Node Name + Node 182, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 16, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 180, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 13, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 13 Damper Outlet, !- Damper Air Outlet Node Name + Node 172, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 14, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 170, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 12, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 12 Damper Outlet, !- Damper Air Outlet Node Name + Node 167, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 13, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 165, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 14, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 14 Damper Outlet, !- Damper Air Outlet Node Name + Node 177, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 15, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 175, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 11, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 11 Damper Outlet, !- Damper Air Outlet Node Name + Node 162, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 12, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 160, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 20, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 20 Damper Outlet, !- Damper Air Outlet Node Name + Node 207, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 21, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 205, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 18, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 18 Damper Outlet, !- Damper Air Outlet Node Name + Node 197, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 19, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 195, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 17, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 17 Damper Outlet, !- Damper Air Outlet Node Name + Node 192, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 18, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 190, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 19, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 19 Damper Outlet, !- Damper Air Outlet Node Name + Node 202, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 20, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 200, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 16, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 16 Damper Outlet, !- Damper Air Outlet Node Name + Node 187, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 17, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 185, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 25, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 25 Damper Outlet, !- Damper Air Outlet Node Name + Node 232, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 26, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 230, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 23, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 23 Damper Outlet, !- Damper Air Outlet Node Name + Node 222, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 24, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 220, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 22, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 22 Damper Outlet, !- Damper Air Outlet Node Name + Node 217, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 23, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 215, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 24, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 24 Damper Outlet, !- Damper Air Outlet Node Name + Node 227, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 25, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 225, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 21, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 21 Damper Outlet, !- Damper Air Outlet Node Name + Node 212, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 22, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 210, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 30, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 30 Damper Outlet, !- Damper Air Outlet Node Name + Node 257, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 31, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 255, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 28, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 28 Damper Outlet, !- Damper Air Outlet Node Name + Node 247, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 29, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 245, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 27, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 27 Damper Outlet, !- Damper Air Outlet Node Name + Node 242, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 28, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 240, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 29, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 29 Damper Outlet, !- Damper Air Outlet Node Name + Node 252, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 30, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 250, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 26, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 26 Damper Outlet, !- Damper Air Outlet Node Name + Node 237, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 27, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 235, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 35, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 35 Damper Outlet, !- Damper Air Outlet Node Name + Node 282, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 36, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 280, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 33, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 33 Damper Outlet, !- Damper Air Outlet Node Name + Node 272, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 34, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 270, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 32, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 32 Damper Outlet, !- Damper Air Outlet Node Name + Node 267, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 33, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 265, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 34, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 34 Damper Outlet, !- Damper Air Outlet Node Name + Node 277, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 35, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 275, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 31, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 31 Damper Outlet, !- Damper Air Outlet Node Name + Node 262, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 32, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 260, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 40, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 40 Damper Outlet, !- Damper Air Outlet Node Name + Node 307, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 41, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 305, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 38, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 38 Damper Outlet, !- Damper Air Outlet Node Name + Node 297, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 39, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 295, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 37, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 37 Damper Outlet, !- Damper Air Outlet Node Name + Node 292, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 38, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 290, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 39, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 39 Damper Outlet, !- Damper Air Outlet Node Name + Node 302, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 40, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 300, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 36, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 36 Damper Outlet, !- Damper Air Outlet Node Name + Node 287, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 37, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 285, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 45, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 45 Damper Outlet, !- Damper Air Outlet Node Name + Node 332, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 46, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 330, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 43, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 43 Damper Outlet, !- Damper Air Outlet Node Name + Node 322, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 44, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 320, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 42, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 42 Damper Outlet, !- Damper Air Outlet Node Name + Node 317, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 43, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 315, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 44, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 44 Damper Outlet, !- Damper Air Outlet Node Name + Node 327, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 45, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 325, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 41, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 41 Damper Outlet, !- Damper Air Outlet Node Name + Node 312, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 42, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 310, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 50, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 50 Damper Outlet, !- Damper Air Outlet Node Name + Node 357, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 51, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 355, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 48, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 48 Damper Outlet, !- Damper Air Outlet Node Name + Node 347, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 49, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 345, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 47, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 47 Damper Outlet, !- Damper Air Outlet Node Name + Node 342, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 48, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 340, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 49, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 49 Damper Outlet, !- Damper Air Outlet Node Name + Node 352, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 50, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 350, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 46, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 46 Damper Outlet, !- Damper Air Outlet Node Name + Node 337, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 47, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 335, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 55, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 55 Damper Outlet, !- Damper Air Outlet Node Name + Node 382, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 56, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 380, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 53, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 53 Damper Outlet, !- Damper Air Outlet Node Name + Node 372, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 54, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 370, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 52, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 52 Damper Outlet, !- Damper Air Outlet Node Name + Node 367, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 53, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 365, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 54, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 54 Damper Outlet, !- Damper Air Outlet Node Name + Node 377, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 55, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 375, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + + AirTerminal:SingleDuct:VAV:Reheat, + Air Terminal Single Duct VAV Reheat 51, !- Name + Always_On, !- Availability Schedule Name + Air Terminal Single Duct VAV Reheat 51 Damper Outlet, !- Damper Air Outlet Node Name + Node 362, !- Air Inlet Node Name + Autosize, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + 0, !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Coil Heating Water 52, !- Reheat Coil Name + Autosize, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Node 360, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + Normal, !- Damper Heating Action + Autocalculate, !- Maximum Flow per Zone Floor Area During Reheat {m3/s-m2} + Autocalculate, !- Maximum Flow Fraction During Reheat + 35; !- Maximum Reheat Air Temperature {C} + +!- =========== ALL OBJECTS IN CLASS: ZONEHVAC:AIRDISTRIBUTIONUNIT =========== + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 5, !- Name + Node 128, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 5; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 3, !- Name + Node 118, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 3; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 2, !- Name + Node 113, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 2; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 4, !- Name + Node 123, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 4; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 1, !- Name + Node 99, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 1; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 10, !- Name + Node 153, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 10; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 8, !- Name + Node 143, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 8; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 7, !- Name + Node 138, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 7; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 9, !- Name + Node 148, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 9; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 6, !- Name + Node 133, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 6; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 15, !- Name + Node 180, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 15; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 13, !- Name + Node 170, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 13; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 12, !- Name + Node 165, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 12; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 14, !- Name + Node 175, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 14; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 11, !- Name + Node 160, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 11; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 20, !- Name + Node 205, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 20; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 18, !- Name + Node 195, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 18; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 17, !- Name + Node 190, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 17; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 19, !- Name + Node 200, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 19; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 16, !- Name + Node 185, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 16; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 25, !- Name + Node 230, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 25; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 23, !- Name + Node 220, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 23; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 22, !- Name + Node 215, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 22; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 24, !- Name + Node 225, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 24; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 21, !- Name + Node 210, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 21; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 30, !- Name + Node 255, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 30; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 28, !- Name + Node 245, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 28; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 27, !- Name + Node 240, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 27; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 29, !- Name + Node 250, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 29; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 26, !- Name + Node 235, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 26; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 35, !- Name + Node 280, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 35; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 33, !- Name + Node 270, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 33; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 32, !- Name + Node 265, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 32; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 34, !- Name + Node 275, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 34; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 31, !- Name + Node 260, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 31; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 40, !- Name + Node 305, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 40; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 38, !- Name + Node 295, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 38; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 37, !- Name + Node 290, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 37; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 39, !- Name + Node 300, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 39; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 36, !- Name + Node 285, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 36; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 45, !- Name + Node 330, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 45; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 43, !- Name + Node 320, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 43; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 42, !- Name + Node 315, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 42; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 44, !- Name + Node 325, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 44; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 41, !- Name + Node 310, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 41; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 50, !- Name + Node 355, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 50; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 48, !- Name + Node 345, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 48; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 47, !- Name + Node 340, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 47; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 49, !- Name + Node 350, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 49; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 46, !- Name + Node 335, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 46; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 55, !- Name + Node 380, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 55; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 53, !- Name + Node 370, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 53; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 52, !- Name + Node 365, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 52; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 54, !- Name + Node 375, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 54; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + ADU Air Terminal Single Duct VAV Reheat 51, !- Name + Node 360, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Air Terminal Single Duct VAV Reheat 51; !- Air Terminal Name + +!- =========== ALL OBJECTS IN CLASS: ZONEHVAC:EQUIPMENTLIST =========== + + ZoneHVAC:EquipmentList, + blocks-3644_office_1_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 5, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_1_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 3, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_1_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 2, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_1_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 4, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_1_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 1, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_2_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 10, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_2_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 8, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_2_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 7, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_2_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 9, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3644_office_2_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 6, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_1_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 15, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_1_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 13, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_1_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 12, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_1_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 14, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_1_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 11, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_2_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 20, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_2_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 18, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_2_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 17, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_2_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 19, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_2_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 16, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_3_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 25, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_3_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 23, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_3_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 22, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_3_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 24, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_3_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 21, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_4_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 30, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_4_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 28, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_4_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 27, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_4_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 29, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_4_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 26, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_5_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 35, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_5_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 33, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_5_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 32, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_5_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 34, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_5_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 31, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_6_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 40, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_6_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 38, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_6_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 37, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_6_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 39, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_6_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 36, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_7_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 45, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_7_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 43, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_7_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 42, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_7_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 44, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_7_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 41, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_8_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 50, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_8_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 48, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_8_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 47, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_8_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 49, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_8_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 46, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_9_Core Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 55, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_9_East Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 53, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_9_North Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 52, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_9_South Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 54, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + + ZoneHVAC:EquipmentList, + blocks-3645_office_9_West Perimeter Equipment List, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + ADU Air Terminal Single Duct VAV Reheat 51, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + +!- =========== ALL OBJECTS IN CLASS: ZONEHVAC:EQUIPMENTCONNECTIONS =========== + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_1_Core, !- Zone Name + blocks-3644_office_1_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_1_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 5, !- Zone Air Node Name + blocks-3644_office_1_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_1_East Perimeter, !- Zone Name + blocks-3644_office_1_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_1_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 3, !- Zone Air Node Name + blocks-3644_office_1_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_1_North Perimeter, !- Zone Name + blocks-3644_office_1_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_1_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 2, !- Zone Air Node Name + blocks-3644_office_1_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_1_South Perimeter, !- Zone Name + blocks-3644_office_1_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_1_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 4, !- Zone Air Node Name + blocks-3644_office_1_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_1_West Perimeter, !- Zone Name + blocks-3644_office_1_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_1_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 1, !- Zone Air Node Name + blocks-3644_office_1_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_2_Core, !- Zone Name + blocks-3644_office_2_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_2_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 10, !- Zone Air Node Name + blocks-3644_office_2_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_2_East Perimeter, !- Zone Name + blocks-3644_office_2_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_2_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 8, !- Zone Air Node Name + blocks-3644_office_2_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_2_North Perimeter, !- Zone Name + blocks-3644_office_2_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_2_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 7, !- Zone Air Node Name + blocks-3644_office_2_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_2_South Perimeter, !- Zone Name + blocks-3644_office_2_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_2_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 9, !- Zone Air Node Name + blocks-3644_office_2_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3644_office_2_West Perimeter, !- Zone Name + blocks-3644_office_2_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3644_office_2_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 6, !- Zone Air Node Name + blocks-3644_office_2_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_1_Core, !- Zone Name + blocks-3645_office_1_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_1_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 15, !- Zone Air Node Name + blocks-3645_office_1_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_1_East Perimeter, !- Zone Name + blocks-3645_office_1_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_1_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 13, !- Zone Air Node Name + blocks-3645_office_1_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_1_North Perimeter, !- Zone Name + blocks-3645_office_1_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_1_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 12, !- Zone Air Node Name + blocks-3645_office_1_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_1_South Perimeter, !- Zone Name + blocks-3645_office_1_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_1_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 14, !- Zone Air Node Name + blocks-3645_office_1_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_1_West Perimeter, !- Zone Name + blocks-3645_office_1_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_1_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 11, !- Zone Air Node Name + blocks-3645_office_1_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_2_Core, !- Zone Name + blocks-3645_office_2_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_2_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 20, !- Zone Air Node Name + blocks-3645_office_2_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_2_East Perimeter, !- Zone Name + blocks-3645_office_2_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_2_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 18, !- Zone Air Node Name + blocks-3645_office_2_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_2_North Perimeter, !- Zone Name + blocks-3645_office_2_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_2_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 17, !- Zone Air Node Name + blocks-3645_office_2_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_2_South Perimeter, !- Zone Name + blocks-3645_office_2_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_2_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 19, !- Zone Air Node Name + blocks-3645_office_2_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_2_West Perimeter, !- Zone Name + blocks-3645_office_2_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_2_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 16, !- Zone Air Node Name + blocks-3645_office_2_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_3_Core, !- Zone Name + blocks-3645_office_3_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_3_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 25, !- Zone Air Node Name + blocks-3645_office_3_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_3_East Perimeter, !- Zone Name + blocks-3645_office_3_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_3_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 23, !- Zone Air Node Name + blocks-3645_office_3_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_3_North Perimeter, !- Zone Name + blocks-3645_office_3_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_3_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 22, !- Zone Air Node Name + blocks-3645_office_3_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_3_South Perimeter, !- Zone Name + blocks-3645_office_3_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_3_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 24, !- Zone Air Node Name + blocks-3645_office_3_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_3_West Perimeter, !- Zone Name + blocks-3645_office_3_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_3_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 21, !- Zone Air Node Name + blocks-3645_office_3_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_4_Core, !- Zone Name + blocks-3645_office_4_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_4_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 30, !- Zone Air Node Name + blocks-3645_office_4_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_4_East Perimeter, !- Zone Name + blocks-3645_office_4_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_4_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 28, !- Zone Air Node Name + blocks-3645_office_4_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_4_North Perimeter, !- Zone Name + blocks-3645_office_4_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_4_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 27, !- Zone Air Node Name + blocks-3645_office_4_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_4_South Perimeter, !- Zone Name + blocks-3645_office_4_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_4_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 29, !- Zone Air Node Name + blocks-3645_office_4_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_4_West Perimeter, !- Zone Name + blocks-3645_office_4_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_4_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 26, !- Zone Air Node Name + blocks-3645_office_4_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_5_Core, !- Zone Name + blocks-3645_office_5_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_5_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 35, !- Zone Air Node Name + blocks-3645_office_5_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_5_East Perimeter, !- Zone Name + blocks-3645_office_5_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_5_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 33, !- Zone Air Node Name + blocks-3645_office_5_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_5_North Perimeter, !- Zone Name + blocks-3645_office_5_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_5_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 32, !- Zone Air Node Name + blocks-3645_office_5_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_5_South Perimeter, !- Zone Name + blocks-3645_office_5_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_5_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 34, !- Zone Air Node Name + blocks-3645_office_5_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_5_West Perimeter, !- Zone Name + blocks-3645_office_5_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_5_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 31, !- Zone Air Node Name + blocks-3645_office_5_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_6_Core, !- Zone Name + blocks-3645_office_6_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_6_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 40, !- Zone Air Node Name + blocks-3645_office_6_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_6_East Perimeter, !- Zone Name + blocks-3645_office_6_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_6_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 38, !- Zone Air Node Name + blocks-3645_office_6_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_6_North Perimeter, !- Zone Name + blocks-3645_office_6_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_6_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 37, !- Zone Air Node Name + blocks-3645_office_6_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_6_South Perimeter, !- Zone Name + blocks-3645_office_6_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_6_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 39, !- Zone Air Node Name + blocks-3645_office_6_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_6_West Perimeter, !- Zone Name + blocks-3645_office_6_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_6_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 36, !- Zone Air Node Name + blocks-3645_office_6_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_7_Core, !- Zone Name + blocks-3645_office_7_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_7_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 45, !- Zone Air Node Name + blocks-3645_office_7_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_7_East Perimeter, !- Zone Name + blocks-3645_office_7_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_7_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 43, !- Zone Air Node Name + blocks-3645_office_7_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_7_North Perimeter, !- Zone Name + blocks-3645_office_7_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_7_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 42, !- Zone Air Node Name + blocks-3645_office_7_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_7_South Perimeter, !- Zone Name + blocks-3645_office_7_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_7_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 44, !- Zone Air Node Name + blocks-3645_office_7_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_7_West Perimeter, !- Zone Name + blocks-3645_office_7_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_7_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 41, !- Zone Air Node Name + blocks-3645_office_7_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_8_Core, !- Zone Name + blocks-3645_office_8_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_8_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 50, !- Zone Air Node Name + blocks-3645_office_8_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_8_East Perimeter, !- Zone Name + blocks-3645_office_8_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_8_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 48, !- Zone Air Node Name + blocks-3645_office_8_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_8_North Perimeter, !- Zone Name + blocks-3645_office_8_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_8_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 47, !- Zone Air Node Name + blocks-3645_office_8_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_8_South Perimeter, !- Zone Name + blocks-3645_office_8_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_8_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 49, !- Zone Air Node Name + blocks-3645_office_8_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_8_West Perimeter, !- Zone Name + blocks-3645_office_8_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_8_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 46, !- Zone Air Node Name + blocks-3645_office_8_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_9_Core, !- Zone Name + blocks-3645_office_9_Core Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_9_Core Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 55, !- Zone Air Node Name + blocks-3645_office_9_Core Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_9_East Perimeter, !- Zone Name + blocks-3645_office_9_East Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_9_East Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 53, !- Zone Air Node Name + blocks-3645_office_9_East Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_9_North Perimeter, !- Zone Name + blocks-3645_office_9_North Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_9_North Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 52, !- Zone Air Node Name + blocks-3645_office_9_North Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_9_South Perimeter, !- Zone Name + blocks-3645_office_9_South Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_9_South Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 54, !- Zone Air Node Name + blocks-3645_office_9_South Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentConnections, + blocks-3645_office_9_West Perimeter, !- Zone Name + blocks-3645_office_9_West Perimeter Equipment List, !- Zone Conditioning Equipment List Name + blocks-3645_office_9_West Perimeter Inlet Node List, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Node 51, !- Zone Air Node Name + blocks-3645_office_9_West Perimeter Return Node List; !- Zone Return Air Node or NodeList Name + +!- =========== ALL OBJECTS IN CLASS: FAN:VARIABLEVOLUME =========== + + Fan:VariableVolume, + AirLoop air_handlers-2963_Fan_103484382.9cfm, !- Name + AirLoop air_handlers-2963_Sched_Ruleset, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 1338.67381570485, !- Pressure Rise {Pa} + AutoSize, !- Maximum Flow Rate {m3/s} + FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method + 0, !- Fan Power Minimum Flow Fraction + 0, !- Fan Power Minimum Air Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + 0.040759894, !- Fan Power Coefficient 1 + 0.08804497, !- Fan Power Coefficient 2 + -0.07292612, !- Fan Power Coefficient 3 + 0.943739823, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + Node 104, !- Air Inlet Node Name + Node 96, !- Air Outlet Node Name + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: COIL:COOLING:WATER =========== + + Coil:Cooling:Water, + Coil Cooling Water 1, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- Design Water Flow Rate {m3/s} + Autosize, !- Design Air Flow Rate {m3/s} + Autosize, !- Design Inlet Water Temperature {C} + Autosize, !- Design Inlet Air Temperature {C} + Autosize, !- Design Outlet Air Temperature {C} + Autosize, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + Autosize, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + Node 75, !- Water Inlet Node Name + Node 105, !- Water Outlet Node Name + Node 102, !- Air Inlet Node Name + Node 106, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + +!- =========== ALL OBJECTS IN CLASS: COIL:HEATING:WATER =========== + + Coil:Heating:Water, + Coil Heating Water 6, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 126, !- Water Inlet Node Name + Node 127, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 5 Damper Outlet, !- Air Inlet Node Name + Node 128, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 4, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 116, !- Water Inlet Node Name + Node 117, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 3 Damper Outlet, !- Air Inlet Node Name + Node 118, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 3, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 111, !- Water Inlet Node Name + Node 112, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 2 Damper Outlet, !- Air Inlet Node Name + Node 113, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 5, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 121, !- Water Inlet Node Name + Node 122, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 4 Damper Outlet, !- Air Inlet Node Name + Node 123, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 2, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 107, !- Water Inlet Node Name + Node 108, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 1 Damper Outlet, !- Air Inlet Node Name + Node 99, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 11, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 151, !- Water Inlet Node Name + Node 152, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 10 Damper Outlet, !- Air Inlet Node Name + Node 153, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 9, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 141, !- Water Inlet Node Name + Node 142, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 8 Damper Outlet, !- Air Inlet Node Name + Node 143, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 8, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 136, !- Water Inlet Node Name + Node 137, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 7 Damper Outlet, !- Air Inlet Node Name + Node 138, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 10, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 146, !- Water Inlet Node Name + Node 147, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 9 Damper Outlet, !- Air Inlet Node Name + Node 148, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 7, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 131, !- Water Inlet Node Name + Node 132, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 6 Damper Outlet, !- Air Inlet Node Name + Node 133, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 16, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 178, !- Water Inlet Node Name + Node 179, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 15 Damper Outlet, !- Air Inlet Node Name + Node 180, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 14, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 168, !- Water Inlet Node Name + Node 169, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 13 Damper Outlet, !- Air Inlet Node Name + Node 170, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 13, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 163, !- Water Inlet Node Name + Node 164, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 12 Damper Outlet, !- Air Inlet Node Name + Node 165, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 15, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 173, !- Water Inlet Node Name + Node 174, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 14 Damper Outlet, !- Air Inlet Node Name + Node 175, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 12, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 158, !- Water Inlet Node Name + Node 159, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 11 Damper Outlet, !- Air Inlet Node Name + Node 160, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 21, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 203, !- Water Inlet Node Name + Node 204, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 20 Damper Outlet, !- Air Inlet Node Name + Node 205, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 19, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 193, !- Water Inlet Node Name + Node 194, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 18 Damper Outlet, !- Air Inlet Node Name + Node 195, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 18, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 188, !- Water Inlet Node Name + Node 189, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 17 Damper Outlet, !- Air Inlet Node Name + Node 190, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 20, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 198, !- Water Inlet Node Name + Node 199, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 19 Damper Outlet, !- Air Inlet Node Name + Node 200, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 17, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 183, !- Water Inlet Node Name + Node 184, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 16 Damper Outlet, !- Air Inlet Node Name + Node 185, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 26, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 228, !- Water Inlet Node Name + Node 229, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 25 Damper Outlet, !- Air Inlet Node Name + Node 230, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 24, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 218, !- Water Inlet Node Name + Node 219, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 23 Damper Outlet, !- Air Inlet Node Name + Node 220, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 23, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 213, !- Water Inlet Node Name + Node 214, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 22 Damper Outlet, !- Air Inlet Node Name + Node 215, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 25, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 223, !- Water Inlet Node Name + Node 224, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 24 Damper Outlet, !- Air Inlet Node Name + Node 225, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 22, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 208, !- Water Inlet Node Name + Node 209, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 21 Damper Outlet, !- Air Inlet Node Name + Node 210, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 31, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 253, !- Water Inlet Node Name + Node 254, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 30 Damper Outlet, !- Air Inlet Node Name + Node 255, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 29, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 243, !- Water Inlet Node Name + Node 244, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 28 Damper Outlet, !- Air Inlet Node Name + Node 245, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 28, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 238, !- Water Inlet Node Name + Node 239, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 27 Damper Outlet, !- Air Inlet Node Name + Node 240, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 30, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 248, !- Water Inlet Node Name + Node 249, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 29 Damper Outlet, !- Air Inlet Node Name + Node 250, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 27, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 233, !- Water Inlet Node Name + Node 234, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 26 Damper Outlet, !- Air Inlet Node Name + Node 235, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 36, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 278, !- Water Inlet Node Name + Node 279, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 35 Damper Outlet, !- Air Inlet Node Name + Node 280, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 34, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 268, !- Water Inlet Node Name + Node 269, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 33 Damper Outlet, !- Air Inlet Node Name + Node 270, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 33, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 263, !- Water Inlet Node Name + Node 264, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 32 Damper Outlet, !- Air Inlet Node Name + Node 265, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 35, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 273, !- Water Inlet Node Name + Node 274, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 34 Damper Outlet, !- Air Inlet Node Name + Node 275, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 32, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 258, !- Water Inlet Node Name + Node 259, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 31 Damper Outlet, !- Air Inlet Node Name + Node 260, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 41, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 303, !- Water Inlet Node Name + Node 304, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 40 Damper Outlet, !- Air Inlet Node Name + Node 305, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 39, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 293, !- Water Inlet Node Name + Node 294, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 38 Damper Outlet, !- Air Inlet Node Name + Node 295, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 38, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 288, !- Water Inlet Node Name + Node 289, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 37 Damper Outlet, !- Air Inlet Node Name + Node 290, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 40, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 298, !- Water Inlet Node Name + Node 299, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 39 Damper Outlet, !- Air Inlet Node Name + Node 300, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 37, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 283, !- Water Inlet Node Name + Node 284, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 36 Damper Outlet, !- Air Inlet Node Name + Node 285, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 46, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 328, !- Water Inlet Node Name + Node 329, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 45 Damper Outlet, !- Air Inlet Node Name + Node 330, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 44, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 318, !- Water Inlet Node Name + Node 319, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 43 Damper Outlet, !- Air Inlet Node Name + Node 320, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 43, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 313, !- Water Inlet Node Name + Node 314, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 42 Damper Outlet, !- Air Inlet Node Name + Node 315, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 45, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 323, !- Water Inlet Node Name + Node 324, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 44 Damper Outlet, !- Air Inlet Node Name + Node 325, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 42, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 308, !- Water Inlet Node Name + Node 309, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 41 Damper Outlet, !- Air Inlet Node Name + Node 310, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 51, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 353, !- Water Inlet Node Name + Node 354, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 50 Damper Outlet, !- Air Inlet Node Name + Node 355, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 49, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 343, !- Water Inlet Node Name + Node 344, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 48 Damper Outlet, !- Air Inlet Node Name + Node 345, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 48, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 338, !- Water Inlet Node Name + Node 339, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 47 Damper Outlet, !- Air Inlet Node Name + Node 340, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 50, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 348, !- Water Inlet Node Name + Node 349, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 49 Damper Outlet, !- Air Inlet Node Name + Node 350, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 47, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 333, !- Water Inlet Node Name + Node 334, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 46 Damper Outlet, !- Air Inlet Node Name + Node 335, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 56, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 378, !- Water Inlet Node Name + Node 379, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 55 Damper Outlet, !- Air Inlet Node Name + Node 380, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 54, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 368, !- Water Inlet Node Name + Node 369, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 53 Damper Outlet, !- Air Inlet Node Name + Node 370, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 53, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 363, !- Water Inlet Node Name + Node 364, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 52 Damper Outlet, !- Air Inlet Node Name + Node 365, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 55, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 373, !- Water Inlet Node Name + Node 374, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 54 Damper Outlet, !- Air Inlet Node Name + Node 375, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 52, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 358, !- Water Inlet Node Name + Node 359, !- Water Outlet Node Name + Air Terminal Single Duct VAV Reheat 51 Damper Outlet, !- Air Inlet Node Name + Node 360, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Coil Heating Water 1, !- Name + Always_On, !- Availability Schedule Name + Autosize, !- U-Factor Times Area Value {W/K} + Autosize, !- Maximum Water Flow Rate {m3/s} + Node 89, !- Water Inlet Node Name + Node 103, !- Water Outlet Node Name + Node 106, !- Air Inlet Node Name + Node 104, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + Autosize, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + 0.5; !- Rated Ratio for Air and Water Convection + +!- =========== ALL OBJECTS IN CLASS: CONTROLLER:WATERCOIL =========== + + Controller:WaterCoil, + Controller Water Coil 2, !- Name + Temperature, !- Control Variable + Reverse, !- Action + Flow, !- Actuator Variable + Node 106, !- Sensor Node Name + Node 75, !- Actuator Node Name + Autosize, !- Controller Convergence Tolerance {deltaC} + Autosize, !- Maximum Actuated Flow {m3/s} + 0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + Controller Water Coil 1, !- Name + Temperature, !- Control Variable + Normal, !- Action + Flow, !- Actuator Variable + Node 104, !- Sensor Node Name + Node 89, !- Actuator Node Name + Autosize, !- Controller Convergence Tolerance {deltaC} + Autosize, !- Maximum Actuated Flow {m3/s} + 0; !- Minimum Actuated Flow {m3/s} + +!- =========== ALL OBJECTS IN CLASS: CONTROLLER:OUTDOORAIR =========== + + Controller:OutdoorAir, + Controller_OA-AirLoop air_handlers-2963, !- Name + Node 101, !- Relief Air Outlet Node Name + Node 95, !- Return Air Node Name + Node 102, !- Mixed Air Node Name + Node 100, !- Actuator Node Name + 0, !- Minimum Outdoor Air Flow Rate {m3/s} + Autosize, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 28, !- Economizer Maximum Limit Dry-Bulb Temperature {C} + 64000, !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + -100, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + LockoutWithHeating, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + Office_Occupancy_Schedule, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + Economizer Efficiency Schedule, !- Maximum Fraction of Outdoor Air Schedule Name + Controller_MV-AirLoop air_handlers-2963, !- Mechanical Ventilation Controller Name + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + Yes, !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +!- =========== ALL OBJECTS IN CLASS: CONTROLLER:MECHANICALVENTILATION =========== + + Controller:MechanicalVentilation, + Controller_MV-AirLoop air_handlers-2963, !- Name + Office_Occupancy_Schedule, !- Availability Schedule Name + No, !- Demand Controlled Ventilation + ZoneSum, !- System Outdoor Air Method + , !- Zone Maximum Outdoor Air Fraction {dimensionless} + blocks-3644_office_1_Core, !- Zone or ZoneList 1 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 1 + blocks-3644_office_1_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 1 + blocks-3644_office_1_East Perimeter, !- Zone or ZoneList 2 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 2 + blocks-3644_office_1_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 2 + blocks-3644_office_1_North Perimeter, !- Zone or ZoneList 3 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 3 + blocks-3644_office_1_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 3 + blocks-3644_office_1_South Perimeter, !- Zone or ZoneList 4 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 4 + blocks-3644_office_1_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 4 + blocks-3644_office_1_West Perimeter, !- Zone or ZoneList 5 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 5 + blocks-3644_office_1_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 5 + blocks-3644_office_2_Core, !- Zone or ZoneList 6 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 6 + blocks-3644_office_2_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 6 + blocks-3644_office_2_East Perimeter, !- Zone or ZoneList 7 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 7 + blocks-3644_office_2_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 7 + blocks-3644_office_2_North Perimeter, !- Zone or ZoneList 8 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 8 + blocks-3644_office_2_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 8 + blocks-3644_office_2_South Perimeter, !- Zone or ZoneList 9 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 9 + blocks-3644_office_2_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 9 + blocks-3644_office_2_West Perimeter, !- Zone or ZoneList 10 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 10 + blocks-3644_office_2_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 10 + blocks-3645_office_1_Core, !- Zone or ZoneList 11 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 11 + blocks-3645_office_1_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 11 + blocks-3645_office_1_East Perimeter, !- Zone or ZoneList 12 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 12 + blocks-3645_office_1_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 12 + blocks-3645_office_1_North Perimeter, !- Zone or ZoneList 13 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 13 + blocks-3645_office_1_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 13 + blocks-3645_office_1_South Perimeter, !- Zone or ZoneList 14 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 14 + blocks-3645_office_1_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 14 + blocks-3645_office_1_West Perimeter, !- Zone or ZoneList 15 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 15 + blocks-3645_office_1_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 15 + blocks-3645_office_2_Core, !- Zone or ZoneList 16 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 16 + blocks-3645_office_2_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 16 + blocks-3645_office_2_East Perimeter, !- Zone or ZoneList 17 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 17 + blocks-3645_office_2_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 17 + blocks-3645_office_2_North Perimeter, !- Zone or ZoneList 18 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 18 + blocks-3645_office_2_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 18 + blocks-3645_office_2_South Perimeter, !- Zone or ZoneList 19 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 19 + blocks-3645_office_2_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 19 + blocks-3645_office_2_West Perimeter, !- Zone or ZoneList 20 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 20 + blocks-3645_office_2_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 20 + blocks-3645_office_3_Core, !- Zone or ZoneList 21 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 21 + blocks-3645_office_3_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 21 + blocks-3645_office_3_East Perimeter, !- Zone or ZoneList 22 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 22 + blocks-3645_office_3_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 22 + blocks-3645_office_3_North Perimeter, !- Zone or ZoneList 23 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 23 + blocks-3645_office_3_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 23 + blocks-3645_office_3_South Perimeter, !- Zone or ZoneList 24 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 24 + blocks-3645_office_3_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 24 + blocks-3645_office_3_West Perimeter, !- Zone or ZoneList 25 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 25 + blocks-3645_office_3_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 25 + blocks-3645_office_4_Core, !- Zone or ZoneList 26 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 26 + blocks-3645_office_4_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 26 + blocks-3645_office_4_East Perimeter, !- Zone or ZoneList 27 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 27 + blocks-3645_office_4_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 27 + blocks-3645_office_4_North Perimeter, !- Zone or ZoneList 28 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 28 + blocks-3645_office_4_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 28 + blocks-3645_office_4_South Perimeter, !- Zone or ZoneList 29 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 29 + blocks-3645_office_4_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 29 + blocks-3645_office_4_West Perimeter, !- Zone or ZoneList 30 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 30 + blocks-3645_office_4_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 30 + blocks-3645_office_5_Core, !- Zone or ZoneList 31 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 31 + blocks-3645_office_5_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 31 + blocks-3645_office_5_East Perimeter, !- Zone or ZoneList 32 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 32 + blocks-3645_office_5_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 32 + blocks-3645_office_5_North Perimeter, !- Zone or ZoneList 33 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 33 + blocks-3645_office_5_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 33 + blocks-3645_office_5_South Perimeter, !- Zone or ZoneList 34 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 34 + blocks-3645_office_5_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 34 + blocks-3645_office_5_West Perimeter, !- Zone or ZoneList 35 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 35 + blocks-3645_office_5_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 35 + blocks-3645_office_6_Core, !- Zone or ZoneList 36 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 36 + blocks-3645_office_6_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 36 + blocks-3645_office_6_East Perimeter, !- Zone or ZoneList 37 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 37 + blocks-3645_office_6_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 37 + blocks-3645_office_6_North Perimeter, !- Zone or ZoneList 38 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 38 + blocks-3645_office_6_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 38 + blocks-3645_office_6_South Perimeter, !- Zone or ZoneList 39 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 39 + blocks-3645_office_6_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 39 + blocks-3645_office_6_West Perimeter, !- Zone or ZoneList 40 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 40 + blocks-3645_office_6_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 40 + blocks-3645_office_7_Core, !- Zone or ZoneList 41 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 41 + blocks-3645_office_7_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 41 + blocks-3645_office_7_East Perimeter, !- Zone or ZoneList 42 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 42 + blocks-3645_office_7_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 42 + blocks-3645_office_7_North Perimeter, !- Zone or ZoneList 43 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 43 + blocks-3645_office_7_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 43 + blocks-3645_office_7_South Perimeter, !- Zone or ZoneList 44 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 44 + blocks-3645_office_7_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 44 + blocks-3645_office_7_West Perimeter, !- Zone or ZoneList 45 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 45 + blocks-3645_office_7_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 45 + blocks-3645_office_8_Core, !- Zone or ZoneList 46 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 46 + blocks-3645_office_8_Core Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 46 + blocks-3645_office_8_East Perimeter, !- Zone or ZoneList 47 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 47 + blocks-3645_office_8_East Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 47 + blocks-3645_office_8_North Perimeter, !- Zone or ZoneList 48 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 48 + blocks-3645_office_8_North Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 48 + blocks-3645_office_8_South Perimeter, !- Zone or ZoneList 49 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 49 + blocks-3645_office_8_South Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 49 + blocks-3645_office_8_West Perimeter, !- Zone or ZoneList 50 Name + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Design Specification Outdoor Air Object Name 50 + blocks-3645_office_8_West Perimeter Design Spec Zone Air Dist, !- Design Specification Zone Air Distribution Object Name 50 + blocks-3645_office_9_Core, !- Extended Field + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Extended Field + blocks-3645_office_9_Core Design Spec Zone Air Dist, !- Extended Field + blocks-3645_office_9_East Perimeter, !- Extended Field + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Extended Field + blocks-3645_office_9_East Perimeter Design Spec Zone Air Dist, !- Extended Field + blocks-3645_office_9_North Perimeter, !- Extended Field + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Extended Field + blocks-3645_office_9_North Perimeter Design Spec Zone Air Dist, !- Extended Field + blocks-3645_office_9_South Perimeter, !- Extended Field + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Extended Field + blocks-3645_office_9_South Perimeter Design Spec Zone Air Dist, !- Extended Field + blocks-3645_office_9_West Perimeter, !- Extended Field + Office_Outdoor_Air_62.2_Multizone_Adjusted, !- Extended Field + blocks-3645_office_9_West Perimeter Design Spec Zone Air Dist; !- Extended Field + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:CONTROLLERLIST =========== + + AirLoopHVAC:ControllerList, + AirLoop air_handlers-2963 Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + Controller Water Coil 2, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + Controller Water Coil 1; !- Controller 2 Name + + AirLoopHVAC:ControllerList, + OA_System-AirLoop air_handlers-2963 Controller List, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + Controller_OA-AirLoop air_handlers-2963; !- Controller 1 Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC =========== + + AirLoopHVAC, + AirLoop air_handlers-2963, !- Name + AirLoop air_handlers-2963 Controllers, !- Controller List Name + Air Loop HVAC 1 AvailabilityManagerAssignmentList, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + AirLoop air_handlers-2963 Supply Branches, !- Branch List Name + , !- Connector List Name + Node 95, !- Supply Side Inlet Node Name + Node 98, !- Demand Side Outlet Node Name + AirLoop air_handlers-2963 Demand Inlet Nodes, !- Demand Side Inlet Node Names + AirLoop air_handlers-2963 Supply Outlet Nodes; !- Supply Side Outlet Node Names + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:OUTDOORAIRSYSTEM:EQUIPMENTLIST =========== + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + OA_System-AirLoop air_handlers-2963 Equipment List, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + OA_System-AirLoop air_handlers-2963 Outdoor Air Mixer; !- Component 1 Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:OUTDOORAIRSYSTEM =========== + + AirLoopHVAC:OutdoorAirSystem, + OA_System-AirLoop air_handlers-2963, !- Name + OA_System-AirLoop air_handlers-2963 Controller List, !- Controller List Name + OA_System-AirLoop air_handlers-2963 Equipment List; !- Outdoor Air Equipment List Name + +!- =========== ALL OBJECTS IN CLASS: OUTDOORAIR:MIXER =========== + + OutdoorAir:Mixer, + OA_System-AirLoop air_handlers-2963 Outdoor Air Mixer, !- Name + Node 102, !- Mixed Air Node Name + Node 100, !- Outdoor Air Stream Node Name + Node 101, !- Relief Air Stream Node Name + Node 95; !- Return Air Stream Node Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:ZONESPLITTER =========== + + AirLoopHVAC:ZoneSplitter, + Air Loop HVAC Zone Splitter 1, !- Name + Node 97, !- Inlet Node Name + Node 110, !- Outlet 1 Node Name + Node 115, !- Outlet 2 Node Name + Node 120, !- Outlet 3 Node Name + Node 125, !- Outlet 4 Node Name + Node 130, !- Outlet 5 Node Name + Node 135, !- Outlet 6 Node Name + Node 140, !- Outlet 7 Node Name + Node 145, !- Outlet 8 Node Name + Node 150, !- Outlet 9 Node Name + Node 155, !- Outlet 10 Node Name + Node 162, !- Outlet 11 Node Name + Node 167, !- Outlet 12 Node Name + Node 172, !- Outlet 13 Node Name + Node 177, !- Outlet 14 Node Name + Node 182, !- Outlet 15 Node Name + Node 187, !- Outlet 16 Node Name + Node 192, !- Outlet 17 Node Name + Node 197, !- Outlet 18 Node Name + Node 202, !- Outlet 19 Node Name + Node 207, !- Outlet 20 Node Name + Node 212, !- Outlet 21 Node Name + Node 217, !- Outlet 22 Node Name + Node 222, !- Outlet 23 Node Name + Node 227, !- Outlet 24 Node Name + Node 232, !- Outlet 25 Node Name + Node 237, !- Outlet 26 Node Name + Node 242, !- Outlet 27 Node Name + Node 247, !- Outlet 28 Node Name + Node 252, !- Outlet 29 Node Name + Node 257, !- Outlet 30 Node Name + Node 262, !- Outlet 31 Node Name + Node 267, !- Outlet 32 Node Name + Node 272, !- Outlet 33 Node Name + Node 277, !- Outlet 34 Node Name + Node 282, !- Outlet 35 Node Name + Node 287, !- Outlet 36 Node Name + Node 292, !- Outlet 37 Node Name + Node 297, !- Outlet 38 Node Name + Node 302, !- Outlet 39 Node Name + Node 307, !- Outlet 40 Node Name + Node 312, !- Outlet 41 Node Name + Node 317, !- Outlet 42 Node Name + Node 322, !- Outlet 43 Node Name + Node 327, !- Outlet 44 Node Name + Node 332, !- Outlet 45 Node Name + Node 337, !- Outlet 46 Node Name + Node 342, !- Outlet 47 Node Name + Node 347, !- Outlet 48 Node Name + Node 352, !- Outlet 49 Node Name + Node 357, !- Outlet 50 Node Name + Node 362, !- Outlet 51 Node Name + Node 367, !- Outlet 52 Node Name + Node 372, !- Outlet 53 Node Name + Node 377, !- Outlet 54 Node Name + Node 382; !- Outlet 55 Node Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:SUPPLYPATH =========== + + AirLoopHVAC:SupplyPath, + AirLoop air_handlers-2963 Node 97 Supply Path, !- Name + Node 97, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + Air Loop HVAC Zone Splitter 1; !- Component 1 Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:ZONEMIXER =========== + + AirLoopHVAC:ZoneMixer, + Air Loop HVAC Zone Mixer 1, !- Name + Node 98, !- Outlet Node Name + Node 109, !- Inlet 1 Node Name + Node 114, !- Inlet 2 Node Name + Node 119, !- Inlet 3 Node Name + Node 124, !- Inlet 4 Node Name + Node 129, !- Inlet 5 Node Name + Node 134, !- Inlet 6 Node Name + Node 139, !- Inlet 7 Node Name + Node 144, !- Inlet 8 Node Name + Node 149, !- Inlet 9 Node Name + Node 154, !- Inlet 10 Node Name + Node 161, !- Inlet 11 Node Name + Node 166, !- Inlet 12 Node Name + Node 171, !- Inlet 13 Node Name + Node 176, !- Inlet 14 Node Name + Node 181, !- Inlet 15 Node Name + Node 186, !- Inlet 16 Node Name + Node 191, !- Inlet 17 Node Name + Node 196, !- Inlet 18 Node Name + Node 201, !- Inlet 19 Node Name + Node 206, !- Inlet 20 Node Name + Node 211, !- Inlet 21 Node Name + Node 216, !- Inlet 22 Node Name + Node 221, !- Inlet 23 Node Name + Node 226, !- Inlet 24 Node Name + Node 231, !- Inlet 25 Node Name + Node 236, !- Inlet 26 Node Name + Node 241, !- Inlet 27 Node Name + Node 246, !- Inlet 28 Node Name + Node 251, !- Inlet 29 Node Name + Node 256, !- Inlet 30 Node Name + Node 261, !- Inlet 31 Node Name + Node 266, !- Inlet 32 Node Name + Node 271, !- Inlet 33 Node Name + Node 276, !- Inlet 34 Node Name + Node 281, !- Inlet 35 Node Name + Node 286, !- Inlet 36 Node Name + Node 291, !- Inlet 37 Node Name + Node 296, !- Inlet 38 Node Name + Node 301, !- Inlet 39 Node Name + Node 306, !- Inlet 40 Node Name + Node 311, !- Inlet 41 Node Name + Node 316, !- Inlet 42 Node Name + Node 321, !- Inlet 43 Node Name + Node 326, !- Inlet 44 Node Name + Node 331, !- Inlet 45 Node Name + Node 336, !- Inlet 46 Node Name + Node 341, !- Inlet 47 Node Name + Node 346, !- Inlet 48 Node Name + Node 351, !- Inlet 49 Node Name + Node 356, !- Inlet 50 Node Name + Node 361, !- Inlet 51 Node Name + Node 366, !- Inlet 52 Node Name + Node 371, !- Inlet 53 Node Name + Node 376, !- Inlet 54 Node Name + Node 381; !- Inlet 55 Node Name + +!- =========== ALL OBJECTS IN CLASS: AIRLOOPHVAC:RETURNPATH =========== + + AirLoopHVAC:ReturnPath, + AirLoop air_handlers-2963 Return Path, !- Name + Node 98, !- Return Air Path Outlet Node Name + AirLoopHVAC:ZoneMixer, !- Component 1 Object Type + Air Loop HVAC Zone Mixer 1; !- Component 1 Name + +!- =========== ALL OBJECTS IN CLASS: BRANCH =========== + + Branch, + AirLoop air_handlers-2963 Main Branch, !- Name + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + OA_System-AirLoop air_handlers-2963, !- Component 1 Name + Node 95, !- Component 1 Inlet Node Name + Node 102, !- Component 1 Outlet Node Name + Coil:Cooling:Water, !- Component 2 Object Type + Coil Cooling Water 1, !- Component 2 Name + Node 102, !- Component 2 Inlet Node Name + Node 106, !- Component 2 Outlet Node Name + Coil:Heating:Water, !- Component 3 Object Type + Coil Heating Water 1, !- Component 3 Name + Node 106, !- Component 3 Inlet Node Name + Node 104, !- Component 3 Outlet Node Name + Fan:VariableVolume, !- Component 4 Object Type + AirLoop air_handlers-2963_Fan_103484382.9cfm, !- Component 4 Name + Node 104, !- Component 4 Inlet Node Name + Node 96; !- Component 4 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Supply Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + Heating: Pump for Boiler,!- Component 1 Name + Node 84, !- Component 1 Inlet Node Name + Node 90; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Supply Branch 1, !- Name + , !- Pressure Drop Curve Name + Boiler:HotWater, !- Component 1 Object Type + Boiler for plant plant_loops-1904, !- Component 1 Name + Node 86, !- Component 1 Inlet Node Name + Node 91; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Supply Branch 2, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 8, !- Component 1 Name + Node 92, !- Component 1 Inlet Node Name + Node 93; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Supply Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 9, !- Component 1 Name + Node 94, !- Component 1 Inlet Node Name + Node 85; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Boiler plant plant_loops-1904 Demand Inlet Pipe, !- Component 1 Name + Node 87, !- Component 1 Inlet Node Name + Boiler plant plant_loops-1904 Demand Inlet Pipe Node; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 1, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 1, !- Component 1 Name + Node 89, !- Component 1 Inlet Node Name + Node 103; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 2, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 2, !- Component 1 Name + Node 107, !- Component 1 Inlet Node Name + Node 108; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 3, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 3, !- Component 1 Name + Node 111, !- Component 1 Inlet Node Name + Node 112; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 4, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 4, !- Component 1 Name + Node 116, !- Component 1 Inlet Node Name + Node 117; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 5, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 5, !- Component 1 Name + Node 121, !- Component 1 Inlet Node Name + Node 122; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 6, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 6, !- Component 1 Name + Node 126, !- Component 1 Inlet Node Name + Node 127; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 7, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 7, !- Component 1 Name + Node 131, !- Component 1 Inlet Node Name + Node 132; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 8, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 8, !- Component 1 Name + Node 136, !- Component 1 Inlet Node Name + Node 137; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 9, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 9, !- Component 1 Name + Node 141, !- Component 1 Inlet Node Name + Node 142; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 10, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 10, !- Component 1 Name + Node 146, !- Component 1 Inlet Node Name + Node 147; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 11, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 11, !- Component 1 Name + Node 151, !- Component 1 Inlet Node Name + Node 152; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 12, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 12, !- Component 1 Name + Node 158, !- Component 1 Inlet Node Name + Node 159; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 13, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 13, !- Component 1 Name + Node 163, !- Component 1 Inlet Node Name + Node 164; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 14, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 14, !- Component 1 Name + Node 168, !- Component 1 Inlet Node Name + Node 169; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 15, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 15, !- Component 1 Name + Node 173, !- Component 1 Inlet Node Name + Node 174; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 16, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 16, !- Component 1 Name + Node 178, !- Component 1 Inlet Node Name + Node 179; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 17, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 17, !- Component 1 Name + Node 183, !- Component 1 Inlet Node Name + Node 184; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 18, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 18, !- Component 1 Name + Node 188, !- Component 1 Inlet Node Name + Node 189; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 19, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 19, !- Component 1 Name + Node 193, !- Component 1 Inlet Node Name + Node 194; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 20, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 20, !- Component 1 Name + Node 198, !- Component 1 Inlet Node Name + Node 199; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 21, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 21, !- Component 1 Name + Node 203, !- Component 1 Inlet Node Name + Node 204; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 22, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 22, !- Component 1 Name + Node 208, !- Component 1 Inlet Node Name + Node 209; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 23, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 23, !- Component 1 Name + Node 213, !- Component 1 Inlet Node Name + Node 214; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 24, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 24, !- Component 1 Name + Node 218, !- Component 1 Inlet Node Name + Node 219; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 25, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 25, !- Component 1 Name + Node 223, !- Component 1 Inlet Node Name + Node 224; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 26, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 26, !- Component 1 Name + Node 228, !- Component 1 Inlet Node Name + Node 229; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 27, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 27, !- Component 1 Name + Node 233, !- Component 1 Inlet Node Name + Node 234; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 28, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 28, !- Component 1 Name + Node 238, !- Component 1 Inlet Node Name + Node 239; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 29, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 29, !- Component 1 Name + Node 243, !- Component 1 Inlet Node Name + Node 244; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 30, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 30, !- Component 1 Name + Node 248, !- Component 1 Inlet Node Name + Node 249; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 31, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 31, !- Component 1 Name + Node 253, !- Component 1 Inlet Node Name + Node 254; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 32, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 32, !- Component 1 Name + Node 258, !- Component 1 Inlet Node Name + Node 259; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 33, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 33, !- Component 1 Name + Node 263, !- Component 1 Inlet Node Name + Node 264; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 34, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 34, !- Component 1 Name + Node 268, !- Component 1 Inlet Node Name + Node 269; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 35, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 35, !- Component 1 Name + Node 273, !- Component 1 Inlet Node Name + Node 274; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 36, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 36, !- Component 1 Name + Node 278, !- Component 1 Inlet Node Name + Node 279; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 37, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 37, !- Component 1 Name + Node 283, !- Component 1 Inlet Node Name + Node 284; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 38, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 38, !- Component 1 Name + Node 288, !- Component 1 Inlet Node Name + Node 289; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 39, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 39, !- Component 1 Name + Node 293, !- Component 1 Inlet Node Name + Node 294; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 40, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 40, !- Component 1 Name + Node 298, !- Component 1 Inlet Node Name + Node 299; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 41, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 41, !- Component 1 Name + Node 303, !- Component 1 Inlet Node Name + Node 304; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 42, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 42, !- Component 1 Name + Node 308, !- Component 1 Inlet Node Name + Node 309; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 43, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 43, !- Component 1 Name + Node 313, !- Component 1 Inlet Node Name + Node 314; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 44, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 44, !- Component 1 Name + Node 318, !- Component 1 Inlet Node Name + Node 319; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 45, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 45, !- Component 1 Name + Node 323, !- Component 1 Inlet Node Name + Node 324; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 46, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 46, !- Component 1 Name + Node 328, !- Component 1 Inlet Node Name + Node 329; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 47, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 47, !- Component 1 Name + Node 333, !- Component 1 Inlet Node Name + Node 334; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 48, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 48, !- Component 1 Name + Node 338, !- Component 1 Inlet Node Name + Node 339; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 49, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 49, !- Component 1 Name + Node 343, !- Component 1 Inlet Node Name + Node 344; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 50, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 50, !- Component 1 Name + Node 348, !- Component 1 Inlet Node Name + Node 349; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 51, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 51, !- Component 1 Name + Node 353, !- Component 1 Inlet Node Name + Node 354; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 52, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 52, !- Component 1 Name + Node 358, !- Component 1 Inlet Node Name + Node 359; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 53, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 53, !- Component 1 Name + Node 363, !- Component 1 Inlet Node Name + Node 364; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 54, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 54, !- Component 1 Name + Node 368, !- Component 1 Inlet Node Name + Node 369; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 55, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 55, !- Component 1 Name + Node 373, !- Component 1 Inlet Node Name + Node 374; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Branch 56, !- Name + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Coil Heating Water 56, !- Component 1 Name + Node 378, !- Component 1 Inlet Node Name + Node 379; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Boiler plant plant_loops-1904 Demand Bypass Pipe, !- Component 1 Name + Boiler plant plant_loops-1904 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + Boiler plant plant_loops-1904 Demand Bypass Pipe Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Boiler plant plant_loops-1904 Demand Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Boiler plant plant_loops-1904 Demand Outlet Pipe, !- Component 1 Name + Boiler plant plant_loops-1904 Demand Outlet Pipe Node, !- Component 1 Inlet Node Name + Node 88; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Supply Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + Cooling: Pump for Chiller, !- Component 1 Name + Node 70, !- Component 1 Inlet Node Name + Node 76; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Supply Branch 1, !- Name + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + Chiller for plant plant_loops-1903, !- Component 1 Name + Node 72, !- Component 1 Inlet Node Name + Node 78; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Supply Branch 2, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 6, !- Component 1 Name + Node 81, !- Component 1 Inlet Node Name + Node 82; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Supply Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 7, !- Component 1 Name + Node 83, !- Component 1 Inlet Node Name + Node 71; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Demand Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + Cooling: Demand Inlet Pump, !- Component 1 Name + Node 73, !- Component 1 Inlet Node Name + Node 77; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Demand Branch 1, !- Name + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + Coil Cooling Water 1, !- Component 1 Name + Node 75, !- Component 1 Inlet Node Name + Node 105; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Chiller plant plant_loops-1903 Demand Bypass Pipe, !- Component 1 Name + Chiller plant plant_loops-1903 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + Chiller plant plant_loops-1903 Demand Bypass Pipe Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Chiller plant plant_loops-1903 Demand Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Chiller plant plant_loops-1903 Demand Outlet Pipe, !- Component 1 Name + Chiller plant plant_loops-1903 Demand Outlet Pipe Node, !- Component 1 Inlet Node Name + Node 74; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Supply Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + Cooling: Pump for Condenser, !- Component 1 Name + Node 56, !- Component 1 Inlet Node Name + Node 63; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Supply Branch 1, !- Name + , !- Pressure Drop Curve Name + CoolingTower:VariableSpeed, !- Component 1 Object Type + Cooling Tower Variable Speed 1, !- Component 1 Name + Node 58, !- Component 1 Inlet Node Name + Node 62; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Supply Branch 2, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 1, !- Component 1 Name + Node 64, !- Component 1 Inlet Node Name + Node 65; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Supply Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 2, !- Component 1 Name + Node 66, !- Component 1 Inlet Node Name + Node 57; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Demand Inlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 3, !- Component 1 Name + Node 59, !- Component 1 Inlet Node Name + Node 67; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Demand Branch 1, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 4, !- Component 1 Name + Node 61, !- Component 1 Inlet Node Name + Node 68; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Demand Branch 2, !- Name + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + Chiller for plant plant_loops-1903, !- Component 1 Name + Node 79, !- Component 1 Inlet Node Name + Node 80; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Demand Bypass Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Condenser Plant plant_loops-1902 Demand Bypass Pipe, !- Component 1 Name + Condenser Plant plant_loops-1902 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + Condenser Plant plant_loops-1902 Demand Bypass Pipe Outlet Node; !- Component 1 Outlet Node Name + + Branch, + Condenser Plant plant_loops-1902 Demand Outlet Branch, !- Name + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + Pipe Adiabatic 5, !- Component 1 Name + Node 69, !- Component 1 Inlet Node Name + Node 60; !- Component 1 Outlet Node Name + +!- =========== ALL OBJECTS IN CLASS: BRANCHLIST =========== + + BranchList, + AirLoop air_handlers-2963 Supply Branches, !- Name + AirLoop air_handlers-2963 Main Branch; !- Branch 1 Name + + BranchList, + Boiler plant plant_loops-1904 Supply Branches, !- Name + Boiler plant plant_loops-1904 Supply Inlet Branch, !- Branch 1 Name + Boiler plant plant_loops-1904 Supply Branch 1, !- Branch 2 Name + Boiler plant plant_loops-1904 Supply Branch 2, !- Branch 3 Name + Boiler plant plant_loops-1904 Supply Outlet Branch; !- Branch 4 Name + + BranchList, + Boiler plant plant_loops-1904 Demand Branches, !- Name + Boiler plant plant_loops-1904 Demand Inlet Branch, !- Branch 1 Name + Boiler plant plant_loops-1904 Demand Branch 1, !- Branch 2 Name + Boiler plant plant_loops-1904 Demand Branch 2, !- Branch 3 Name + Boiler plant plant_loops-1904 Demand Branch 3, !- Branch 4 Name + Boiler plant plant_loops-1904 Demand Branch 4, !- Branch 5 Name + Boiler plant plant_loops-1904 Demand Branch 5, !- Branch 6 Name + Boiler plant plant_loops-1904 Demand Branch 6, !- Branch 7 Name + Boiler plant plant_loops-1904 Demand Branch 7, !- Branch 8 Name + Boiler plant plant_loops-1904 Demand Branch 8, !- Branch 9 Name + Boiler plant plant_loops-1904 Demand Branch 9, !- Branch 10 Name + Boiler plant plant_loops-1904 Demand Branch 10, !- Branch 11 Name + Boiler plant plant_loops-1904 Demand Branch 11, !- Branch 12 Name + Boiler plant plant_loops-1904 Demand Branch 12, !- Branch 13 Name + Boiler plant plant_loops-1904 Demand Branch 13, !- Branch 14 Name + Boiler plant plant_loops-1904 Demand Branch 14, !- Branch 15 Name + Boiler plant plant_loops-1904 Demand Branch 15, !- Branch 16 Name + Boiler plant plant_loops-1904 Demand Branch 16, !- Branch 17 Name + Boiler plant plant_loops-1904 Demand Branch 17, !- Branch 18 Name + Boiler plant plant_loops-1904 Demand Branch 18, !- Branch 19 Name + Boiler plant plant_loops-1904 Demand Branch 19, !- Branch 20 Name + Boiler plant plant_loops-1904 Demand Branch 20, !- Branch 21 Name + Boiler plant plant_loops-1904 Demand Branch 21, !- Branch 22 Name + Boiler plant plant_loops-1904 Demand Branch 22, !- Branch 23 Name + Boiler plant plant_loops-1904 Demand Branch 23, !- Branch 24 Name + Boiler plant plant_loops-1904 Demand Branch 24, !- Branch 25 Name + Boiler plant plant_loops-1904 Demand Branch 25, !- Branch 26 Name + Boiler plant plant_loops-1904 Demand Branch 26, !- Branch 27 Name + Boiler plant plant_loops-1904 Demand Branch 27, !- Branch 28 Name + Boiler plant plant_loops-1904 Demand Branch 28, !- Branch 29 Name + Boiler plant plant_loops-1904 Demand Branch 29, !- Branch 30 Name + Boiler plant plant_loops-1904 Demand Branch 30, !- Branch 31 Name + Boiler plant plant_loops-1904 Demand Branch 31, !- Branch 32 Name + Boiler plant plant_loops-1904 Demand Branch 32, !- Branch 33 Name + Boiler plant plant_loops-1904 Demand Branch 33, !- Branch 34 Name + Boiler plant plant_loops-1904 Demand Branch 34, !- Branch 35 Name + Boiler plant plant_loops-1904 Demand Branch 35, !- Branch 36 Name + Boiler plant plant_loops-1904 Demand Branch 36, !- Branch 37 Name + Boiler plant plant_loops-1904 Demand Branch 37, !- Branch 38 Name + Boiler plant plant_loops-1904 Demand Branch 38, !- Branch 39 Name + Boiler plant plant_loops-1904 Demand Branch 39, !- Branch 40 Name + Boiler plant plant_loops-1904 Demand Branch 40, !- Branch 41 Name + Boiler plant plant_loops-1904 Demand Branch 41, !- Branch 42 Name + Boiler plant plant_loops-1904 Demand Branch 42, !- Branch 43 Name + Boiler plant plant_loops-1904 Demand Branch 43, !- Branch 44 Name + Boiler plant plant_loops-1904 Demand Branch 44, !- Branch 45 Name + Boiler plant plant_loops-1904 Demand Branch 45, !- Branch 46 Name + Boiler plant plant_loops-1904 Demand Branch 46, !- Branch 47 Name + Boiler plant plant_loops-1904 Demand Branch 47, !- Branch 48 Name + Boiler plant plant_loops-1904 Demand Branch 48, !- Branch 49 Name + Boiler plant plant_loops-1904 Demand Branch 49, !- Branch 50 Name + Boiler plant plant_loops-1904 Demand Branch 50, !- Branch 51 Name + Boiler plant plant_loops-1904 Demand Branch 51, !- Branch 52 Name + Boiler plant plant_loops-1904 Demand Branch 52, !- Branch 53 Name + Boiler plant plant_loops-1904 Demand Branch 53, !- Branch 54 Name + Boiler plant plant_loops-1904 Demand Branch 54, !- Branch 55 Name + Boiler plant plant_loops-1904 Demand Branch 55, !- Branch 56 Name + Boiler plant plant_loops-1904 Demand Branch 56, !- Branch 57 Name + Boiler plant plant_loops-1904 Demand Bypass Branch, !- Branch 58 Name + Boiler plant plant_loops-1904 Demand Outlet Branch; !- Branch 59 Name + + BranchList, + Chiller plant plant_loops-1903 Supply Branches, !- Name + Chiller plant plant_loops-1903 Supply Inlet Branch, !- Branch 1 Name + Chiller plant plant_loops-1903 Supply Branch 1, !- Branch 2 Name + Chiller plant plant_loops-1903 Supply Branch 2, !- Branch 3 Name + Chiller plant plant_loops-1903 Supply Outlet Branch; !- Branch 4 Name + + BranchList, + Chiller plant plant_loops-1903 Demand Branches, !- Name + Chiller plant plant_loops-1903 Demand Inlet Branch, !- Branch 1 Name + Chiller plant plant_loops-1903 Demand Branch 1, !- Branch 2 Name + Chiller plant plant_loops-1903 Demand Bypass Branch, !- Branch 3 Name + Chiller plant plant_loops-1903 Demand Outlet Branch; !- Branch 4 Name + + BranchList, + Condenser Plant plant_loops-1902 Supply Branches, !- Name + Condenser Plant plant_loops-1902 Supply Inlet Branch, !- Branch 1 Name + Condenser Plant plant_loops-1902 Supply Branch 1, !- Branch 2 Name + Condenser Plant plant_loops-1902 Supply Branch 2, !- Branch 3 Name + Condenser Plant plant_loops-1902 Supply Outlet Branch; !- Branch 4 Name + + BranchList, + Condenser Plant plant_loops-1902 Demand Branches, !- Name + Condenser Plant plant_loops-1902 Demand Inlet Branch, !- Branch 1 Name + Condenser Plant plant_loops-1902 Demand Branch 1, !- Branch 2 Name + Condenser Plant plant_loops-1902 Demand Branch 2, !- Branch 3 Name + Condenser Plant plant_loops-1902 Demand Bypass Branch, !- Branch 4 Name + Condenser Plant plant_loops-1902 Demand Outlet Branch; !- Branch 5 Name + +!- =========== ALL OBJECTS IN CLASS: CONNECTOR:SPLITTER =========== + + Connector:Splitter, + Boiler plant plant_loops-1904 Supply Splitter, !- Name + Boiler plant plant_loops-1904 Supply Inlet Branch, !- Inlet Branch Name + Boiler plant plant_loops-1904 Supply Branch 1, !- Outlet Branch 1 Name + Boiler plant plant_loops-1904 Supply Branch 2; !- Outlet Branch 2 Name + + Connector:Splitter, + Boiler plant plant_loops-1904 Demand Splitter, !- Name + Boiler plant plant_loops-1904 Demand Inlet Branch, !- Inlet Branch Name + Boiler plant plant_loops-1904 Demand Branch 1, !- Outlet Branch 1 Name + Boiler plant plant_loops-1904 Demand Branch 2, !- Outlet Branch 2 Name + Boiler plant plant_loops-1904 Demand Branch 3, !- Outlet Branch 3 Name + Boiler plant plant_loops-1904 Demand Branch 4, !- Outlet Branch 4 Name + Boiler plant plant_loops-1904 Demand Branch 5, !- Outlet Branch 5 Name + Boiler plant plant_loops-1904 Demand Branch 6, !- Outlet Branch 6 Name + Boiler plant plant_loops-1904 Demand Branch 7, !- Outlet Branch 7 Name + Boiler plant plant_loops-1904 Demand Branch 8, !- Outlet Branch 8 Name + Boiler plant plant_loops-1904 Demand Branch 9, !- Outlet Branch 9 Name + Boiler plant plant_loops-1904 Demand Branch 10, !- Outlet Branch 10 Name + Boiler plant plant_loops-1904 Demand Branch 11, !- Outlet Branch 11 Name + Boiler plant plant_loops-1904 Demand Branch 12, !- Outlet Branch 12 Name + Boiler plant plant_loops-1904 Demand Branch 13, !- Outlet Branch 13 Name + Boiler plant plant_loops-1904 Demand Branch 14, !- Outlet Branch 14 Name + Boiler plant plant_loops-1904 Demand Branch 15, !- Outlet Branch 15 Name + Boiler plant plant_loops-1904 Demand Branch 16, !- Outlet Branch 16 Name + Boiler plant plant_loops-1904 Demand Branch 17, !- Outlet Branch 17 Name + Boiler plant plant_loops-1904 Demand Branch 18, !- Outlet Branch 18 Name + Boiler plant plant_loops-1904 Demand Branch 19, !- Outlet Branch 19 Name + Boiler plant plant_loops-1904 Demand Branch 20, !- Outlet Branch 20 Name + Boiler plant plant_loops-1904 Demand Branch 21, !- Outlet Branch 21 Name + Boiler plant plant_loops-1904 Demand Branch 22, !- Outlet Branch 22 Name + Boiler plant plant_loops-1904 Demand Branch 23, !- Outlet Branch 23 Name + Boiler plant plant_loops-1904 Demand Branch 24, !- Outlet Branch 24 Name + Boiler plant plant_loops-1904 Demand Branch 25, !- Outlet Branch 25 Name + Boiler plant plant_loops-1904 Demand Branch 26, !- Outlet Branch 26 Name + Boiler plant plant_loops-1904 Demand Branch 27, !- Outlet Branch 27 Name + Boiler plant plant_loops-1904 Demand Branch 28, !- Outlet Branch 28 Name + Boiler plant plant_loops-1904 Demand Branch 29, !- Outlet Branch 29 Name + Boiler plant plant_loops-1904 Demand Branch 30, !- Outlet Branch 30 Name + Boiler plant plant_loops-1904 Demand Branch 31, !- Outlet Branch 31 Name + Boiler plant plant_loops-1904 Demand Branch 32, !- Outlet Branch 32 Name + Boiler plant plant_loops-1904 Demand Branch 33, !- Outlet Branch 33 Name + Boiler plant plant_loops-1904 Demand Branch 34, !- Outlet Branch 34 Name + Boiler plant plant_loops-1904 Demand Branch 35, !- Outlet Branch 35 Name + Boiler plant plant_loops-1904 Demand Branch 36, !- Outlet Branch 36 Name + Boiler plant plant_loops-1904 Demand Branch 37, !- Outlet Branch 37 Name + Boiler plant plant_loops-1904 Demand Branch 38, !- Outlet Branch 38 Name + Boiler plant plant_loops-1904 Demand Branch 39, !- Outlet Branch 39 Name + Boiler plant plant_loops-1904 Demand Branch 40, !- Outlet Branch 40 Name + Boiler plant plant_loops-1904 Demand Branch 41, !- Outlet Branch 41 Name + Boiler plant plant_loops-1904 Demand Branch 42, !- Outlet Branch 42 Name + Boiler plant plant_loops-1904 Demand Branch 43, !- Outlet Branch 43 Name + Boiler plant plant_loops-1904 Demand Branch 44, !- Outlet Branch 44 Name + Boiler plant plant_loops-1904 Demand Branch 45, !- Outlet Branch 45 Name + Boiler plant plant_loops-1904 Demand Branch 46, !- Outlet Branch 46 Name + Boiler plant plant_loops-1904 Demand Branch 47, !- Outlet Branch 47 Name + Boiler plant plant_loops-1904 Demand Branch 48, !- Outlet Branch 48 Name + Boiler plant plant_loops-1904 Demand Branch 49, !- Outlet Branch 49 Name + Boiler plant plant_loops-1904 Demand Branch 50, !- Outlet Branch 50 Name + Boiler plant plant_loops-1904 Demand Branch 51, !- Outlet Branch 51 Name + Boiler plant plant_loops-1904 Demand Branch 52, !- Outlet Branch 52 Name + Boiler plant plant_loops-1904 Demand Branch 53, !- Outlet Branch 53 Name + Boiler plant plant_loops-1904 Demand Branch 54, !- Outlet Branch 54 Name + Boiler plant plant_loops-1904 Demand Branch 55, !- Outlet Branch 55 Name + Boiler plant plant_loops-1904 Demand Branch 56, !- Outlet Branch 56 Name + Boiler plant plant_loops-1904 Demand Bypass Branch; !- Outlet Branch 57 Name + + Connector:Splitter, + Chiller plant plant_loops-1903 Supply Splitter, !- Name + Chiller plant plant_loops-1903 Supply Inlet Branch, !- Inlet Branch Name + Chiller plant plant_loops-1903 Supply Branch 1, !- Outlet Branch 1 Name + Chiller plant plant_loops-1903 Supply Branch 2; !- Outlet Branch 2 Name + + Connector:Splitter, + Chiller plant plant_loops-1903 Demand Splitter, !- Name + Chiller plant plant_loops-1903 Demand Inlet Branch, !- Inlet Branch Name + Chiller plant plant_loops-1903 Demand Branch 1, !- Outlet Branch 1 Name + Chiller plant plant_loops-1903 Demand Bypass Branch; !- Outlet Branch 2 Name + + Connector:Splitter, + Condenser Plant plant_loops-1902 Supply Splitter, !- Name + Condenser Plant plant_loops-1902 Supply Inlet Branch, !- Inlet Branch Name + Condenser Plant plant_loops-1902 Supply Branch 1, !- Outlet Branch 1 Name + Condenser Plant plant_loops-1902 Supply Branch 2; !- Outlet Branch 2 Name + + Connector:Splitter, + Condenser Plant plant_loops-1902 Demand Splitter, !- Name + Condenser Plant plant_loops-1902 Demand Inlet Branch, !- Inlet Branch Name + Condenser Plant plant_loops-1902 Demand Branch 1, !- Outlet Branch 1 Name + Condenser Plant plant_loops-1902 Demand Branch 2, !- Outlet Branch 2 Name + Condenser Plant plant_loops-1902 Demand Bypass Branch; !- Outlet Branch 3 Name + +!- =========== ALL OBJECTS IN CLASS: CONNECTOR:MIXER =========== + + Connector:Mixer, + Boiler plant plant_loops-1904 Supply Mixer, !- Name + Boiler plant plant_loops-1904 Supply Outlet Branch, !- Outlet Branch Name + Boiler plant plant_loops-1904 Supply Branch 1, !- Inlet Branch 1 Name + Boiler plant plant_loops-1904 Supply Branch 2; !- Inlet Branch 2 Name + + Connector:Mixer, + Boiler plant plant_loops-1904 Demand Mixer, !- Name + Boiler plant plant_loops-1904 Demand Outlet Branch, !- Outlet Branch Name + Boiler plant plant_loops-1904 Demand Branch 1, !- Inlet Branch 1 Name + Boiler plant plant_loops-1904 Demand Branch 2, !- Inlet Branch 2 Name + Boiler plant plant_loops-1904 Demand Branch 3, !- Inlet Branch 3 Name + Boiler plant plant_loops-1904 Demand Branch 4, !- Inlet Branch 4 Name + Boiler plant plant_loops-1904 Demand Branch 5, !- Inlet Branch 5 Name + Boiler plant plant_loops-1904 Demand Branch 6, !- Inlet Branch 6 Name + Boiler plant plant_loops-1904 Demand Branch 7, !- Inlet Branch 7 Name + Boiler plant plant_loops-1904 Demand Branch 8, !- Inlet Branch 8 Name + Boiler plant plant_loops-1904 Demand Branch 9, !- Inlet Branch 9 Name + Boiler plant plant_loops-1904 Demand Branch 10, !- Inlet Branch 10 Name + Boiler plant plant_loops-1904 Demand Branch 11, !- Inlet Branch 11 Name + Boiler plant plant_loops-1904 Demand Branch 12, !- Inlet Branch 12 Name + Boiler plant plant_loops-1904 Demand Branch 13, !- Inlet Branch 13 Name + Boiler plant plant_loops-1904 Demand Branch 14, !- Inlet Branch 14 Name + Boiler plant plant_loops-1904 Demand Branch 15, !- Inlet Branch 15 Name + Boiler plant plant_loops-1904 Demand Branch 16, !- Inlet Branch 16 Name + Boiler plant plant_loops-1904 Demand Branch 17, !- Inlet Branch 17 Name + Boiler plant plant_loops-1904 Demand Branch 18, !- Inlet Branch 18 Name + Boiler plant plant_loops-1904 Demand Branch 19, !- Inlet Branch 19 Name + Boiler plant plant_loops-1904 Demand Branch 20, !- Inlet Branch 20 Name + Boiler plant plant_loops-1904 Demand Branch 21, !- Inlet Branch 21 Name + Boiler plant plant_loops-1904 Demand Branch 22, !- Inlet Branch 22 Name + Boiler plant plant_loops-1904 Demand Branch 23, !- Inlet Branch 23 Name + Boiler plant plant_loops-1904 Demand Branch 24, !- Inlet Branch 24 Name + Boiler plant plant_loops-1904 Demand Branch 25, !- Inlet Branch 25 Name + Boiler plant plant_loops-1904 Demand Branch 26, !- Inlet Branch 26 Name + Boiler plant plant_loops-1904 Demand Branch 27, !- Inlet Branch 27 Name + Boiler plant plant_loops-1904 Demand Branch 28, !- Inlet Branch 28 Name + Boiler plant plant_loops-1904 Demand Branch 29, !- Inlet Branch 29 Name + Boiler plant plant_loops-1904 Demand Branch 30, !- Inlet Branch 30 Name + Boiler plant plant_loops-1904 Demand Branch 31, !- Inlet Branch 31 Name + Boiler plant plant_loops-1904 Demand Branch 32, !- Inlet Branch 32 Name + Boiler plant plant_loops-1904 Demand Branch 33, !- Inlet Branch 33 Name + Boiler plant plant_loops-1904 Demand Branch 34, !- Inlet Branch 34 Name + Boiler plant plant_loops-1904 Demand Branch 35, !- Inlet Branch 35 Name + Boiler plant plant_loops-1904 Demand Branch 36, !- Inlet Branch 36 Name + Boiler plant plant_loops-1904 Demand Branch 37, !- Inlet Branch 37 Name + Boiler plant plant_loops-1904 Demand Branch 38, !- Inlet Branch 38 Name + Boiler plant plant_loops-1904 Demand Branch 39, !- Inlet Branch 39 Name + Boiler plant plant_loops-1904 Demand Branch 40, !- Inlet Branch 40 Name + Boiler plant plant_loops-1904 Demand Branch 41, !- Inlet Branch 41 Name + Boiler plant plant_loops-1904 Demand Branch 42, !- Inlet Branch 42 Name + Boiler plant plant_loops-1904 Demand Branch 43, !- Inlet Branch 43 Name + Boiler plant plant_loops-1904 Demand Branch 44, !- Inlet Branch 44 Name + Boiler plant plant_loops-1904 Demand Branch 45, !- Inlet Branch 45 Name + Boiler plant plant_loops-1904 Demand Branch 46, !- Inlet Branch 46 Name + Boiler plant plant_loops-1904 Demand Branch 47, !- Inlet Branch 47 Name + Boiler plant plant_loops-1904 Demand Branch 48, !- Inlet Branch 48 Name + Boiler plant plant_loops-1904 Demand Branch 49, !- Inlet Branch 49 Name + Boiler plant plant_loops-1904 Demand Branch 50, !- Inlet Branch 50 Name + Boiler plant plant_loops-1904 Demand Branch 51, !- Inlet Branch 51 Name + Boiler plant plant_loops-1904 Demand Branch 52, !- Inlet Branch 52 Name + Boiler plant plant_loops-1904 Demand Branch 53, !- Inlet Branch 53 Name + Boiler plant plant_loops-1904 Demand Branch 54, !- Inlet Branch 54 Name + Boiler plant plant_loops-1904 Demand Branch 55, !- Inlet Branch 55 Name + Boiler plant plant_loops-1904 Demand Branch 56, !- Inlet Branch 56 Name + Boiler plant plant_loops-1904 Demand Bypass Branch; !- Inlet Branch 57 Name + + Connector:Mixer, + Chiller plant plant_loops-1903 Supply Mixer, !- Name + Chiller plant plant_loops-1903 Supply Outlet Branch, !- Outlet Branch Name + Chiller plant plant_loops-1903 Supply Branch 1, !- Inlet Branch 1 Name + Chiller plant plant_loops-1903 Supply Branch 2; !- Inlet Branch 2 Name + + Connector:Mixer, + Chiller plant plant_loops-1903 Demand Mixer, !- Name + Chiller plant plant_loops-1903 Demand Outlet Branch, !- Outlet Branch Name + Chiller plant plant_loops-1903 Demand Branch 1, !- Inlet Branch 1 Name + Chiller plant plant_loops-1903 Demand Bypass Branch; !- Inlet Branch 2 Name + + Connector:Mixer, + Condenser Plant plant_loops-1902 Supply Mixer, !- Name + Condenser Plant plant_loops-1902 Supply Outlet Branch, !- Outlet Branch Name + Condenser Plant plant_loops-1902 Supply Branch 1, !- Inlet Branch 1 Name + Condenser Plant plant_loops-1902 Supply Branch 2; !- Inlet Branch 2 Name + + Connector:Mixer, + Condenser Plant plant_loops-1902 Demand Mixer, !- Name + Condenser Plant plant_loops-1902 Demand Outlet Branch, !- Outlet Branch Name + Condenser Plant plant_loops-1902 Demand Branch 1, !- Inlet Branch 1 Name + Condenser Plant plant_loops-1902 Demand Branch 2, !- Inlet Branch 2 Name + Condenser Plant plant_loops-1902 Demand Bypass Branch; !- Inlet Branch 3 Name + +!- =========== ALL OBJECTS IN CLASS: CONNECTORLIST =========== + + ConnectorList, + Boiler plant plant_loops-1904 Supply Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Boiler plant plant_loops-1904 Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Boiler plant plant_loops-1904 Supply Mixer; !- Connector 2 Name + + ConnectorList, + Boiler plant plant_loops-1904 Demand Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Boiler plant plant_loops-1904 Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Boiler plant plant_loops-1904 Demand Mixer; !- Connector 2 Name + + ConnectorList, + Chiller plant plant_loops-1903 Supply Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Chiller plant plant_loops-1903 Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Chiller plant plant_loops-1903 Supply Mixer; !- Connector 2 Name + + ConnectorList, + Chiller plant plant_loops-1903 Demand Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Chiller plant plant_loops-1903 Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Chiller plant plant_loops-1903 Demand Mixer; !- Connector 2 Name + + ConnectorList, + Condenser Plant plant_loops-1902 Supply Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Condenser Plant plant_loops-1902 Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Condenser Plant plant_loops-1902 Supply Mixer; !- Connector 2 Name + + ConnectorList, + Condenser Plant plant_loops-1902 Demand Connector List, !- Name + Connector:Splitter, !- Connector 1 Object Type + Condenser Plant plant_loops-1902 Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + Condenser Plant plant_loops-1902 Demand Mixer; !- Connector 2 Name + +!- =========== ALL OBJECTS IN CLASS: NODELIST =========== + + NodeList, + blocks-3644_office_1_Core Inlet Node List, !- Name + Node 128; !- Node 1 Name + + NodeList, + blocks-3644_office_1_Core Return Node List, !- Name + Node 129; !- Node 1 Name + + NodeList, + blocks-3644_office_1_East Perimeter Inlet Node List, !- Name + Node 118; !- Node 1 Name + + NodeList, + blocks-3644_office_1_East Perimeter Return Node List, !- Name + Node 119; !- Node 1 Name + + NodeList, + blocks-3644_office_1_North Perimeter Inlet Node List, !- Name + Node 113; !- Node 1 Name + + NodeList, + blocks-3644_office_1_North Perimeter Return Node List, !- Name + Node 114; !- Node 1 Name + + NodeList, + blocks-3644_office_1_South Perimeter Inlet Node List, !- Name + Node 123; !- Node 1 Name + + NodeList, + blocks-3644_office_1_South Perimeter Return Node List, !- Name + Node 124; !- Node 1 Name + + NodeList, + blocks-3644_office_1_West Perimeter Inlet Node List, !- Name + Node 99; !- Node 1 Name + + NodeList, + blocks-3644_office_1_West Perimeter Return Node List, !- Name + Node 109; !- Node 1 Name + + NodeList, + blocks-3644_office_2_Core Inlet Node List, !- Name + Node 153; !- Node 1 Name + + NodeList, + blocks-3644_office_2_Core Return Node List, !- Name + Node 154; !- Node 1 Name + + NodeList, + blocks-3644_office_2_East Perimeter Inlet Node List, !- Name + Node 143; !- Node 1 Name + + NodeList, + blocks-3644_office_2_East Perimeter Return Node List, !- Name + Node 144; !- Node 1 Name + + NodeList, + blocks-3644_office_2_North Perimeter Inlet Node List, !- Name + Node 138; !- Node 1 Name + + NodeList, + blocks-3644_office_2_North Perimeter Return Node List, !- Name + Node 139; !- Node 1 Name + + NodeList, + blocks-3644_office_2_South Perimeter Inlet Node List, !- Name + Node 148; !- Node 1 Name + + NodeList, + blocks-3644_office_2_South Perimeter Return Node List, !- Name + Node 149; !- Node 1 Name + + NodeList, + blocks-3644_office_2_West Perimeter Inlet Node List, !- Name + Node 133; !- Node 1 Name + + NodeList, + blocks-3644_office_2_West Perimeter Return Node List, !- Name + Node 134; !- Node 1 Name + + NodeList, + blocks-3645_office_1_Core Inlet Node List, !- Name + Node 180; !- Node 1 Name + + NodeList, + blocks-3645_office_1_Core Return Node List, !- Name + Node 181; !- Node 1 Name + + NodeList, + blocks-3645_office_1_East Perimeter Inlet Node List, !- Name + Node 170; !- Node 1 Name + + NodeList, + blocks-3645_office_1_East Perimeter Return Node List, !- Name + Node 171; !- Node 1 Name + + NodeList, + blocks-3645_office_1_North Perimeter Inlet Node List, !- Name + Node 165; !- Node 1 Name + + NodeList, + blocks-3645_office_1_North Perimeter Return Node List, !- Name + Node 166; !- Node 1 Name + + NodeList, + blocks-3645_office_1_South Perimeter Inlet Node List, !- Name + Node 175; !- Node 1 Name + + NodeList, + blocks-3645_office_1_South Perimeter Return Node List, !- Name + Node 176; !- Node 1 Name + + NodeList, + blocks-3645_office_1_West Perimeter Inlet Node List, !- Name + Node 160; !- Node 1 Name + + NodeList, + blocks-3645_office_1_West Perimeter Return Node List, !- Name + Node 161; !- Node 1 Name + + NodeList, + blocks-3645_office_2_Core Inlet Node List, !- Name + Node 205; !- Node 1 Name + + NodeList, + blocks-3645_office_2_Core Return Node List, !- Name + Node 206; !- Node 1 Name + + NodeList, + blocks-3645_office_2_East Perimeter Inlet Node List, !- Name + Node 195; !- Node 1 Name + + NodeList, + blocks-3645_office_2_East Perimeter Return Node List, !- Name + Node 196; !- Node 1 Name + + NodeList, + blocks-3645_office_2_North Perimeter Inlet Node List, !- Name + Node 190; !- Node 1 Name + + NodeList, + blocks-3645_office_2_North Perimeter Return Node List, !- Name + Node 191; !- Node 1 Name + + NodeList, + blocks-3645_office_2_South Perimeter Inlet Node List, !- Name + Node 200; !- Node 1 Name + + NodeList, + blocks-3645_office_2_South Perimeter Return Node List, !- Name + Node 201; !- Node 1 Name + + NodeList, + blocks-3645_office_2_West Perimeter Inlet Node List, !- Name + Node 185; !- Node 1 Name + + NodeList, + blocks-3645_office_2_West Perimeter Return Node List, !- Name + Node 186; !- Node 1 Name + + NodeList, + blocks-3645_office_3_Core Inlet Node List, !- Name + Node 230; !- Node 1 Name + + NodeList, + blocks-3645_office_3_Core Return Node List, !- Name + Node 231; !- Node 1 Name + + NodeList, + blocks-3645_office_3_East Perimeter Inlet Node List, !- Name + Node 220; !- Node 1 Name + + NodeList, + blocks-3645_office_3_East Perimeter Return Node List, !- Name + Node 221; !- Node 1 Name + + NodeList, + blocks-3645_office_3_North Perimeter Inlet Node List, !- Name + Node 215; !- Node 1 Name + + NodeList, + blocks-3645_office_3_North Perimeter Return Node List, !- Name + Node 216; !- Node 1 Name + + NodeList, + blocks-3645_office_3_South Perimeter Inlet Node List, !- Name + Node 225; !- Node 1 Name + + NodeList, + blocks-3645_office_3_South Perimeter Return Node List, !- Name + Node 226; !- Node 1 Name + + NodeList, + blocks-3645_office_3_West Perimeter Inlet Node List, !- Name + Node 210; !- Node 1 Name + + NodeList, + blocks-3645_office_3_West Perimeter Return Node List, !- Name + Node 211; !- Node 1 Name + + NodeList, + blocks-3645_office_4_Core Inlet Node List, !- Name + Node 255; !- Node 1 Name + + NodeList, + blocks-3645_office_4_Core Return Node List, !- Name + Node 256; !- Node 1 Name + + NodeList, + blocks-3645_office_4_East Perimeter Inlet Node List, !- Name + Node 245; !- Node 1 Name + + NodeList, + blocks-3645_office_4_East Perimeter Return Node List, !- Name + Node 246; !- Node 1 Name + + NodeList, + blocks-3645_office_4_North Perimeter Inlet Node List, !- Name + Node 240; !- Node 1 Name + + NodeList, + blocks-3645_office_4_North Perimeter Return Node List, !- Name + Node 241; !- Node 1 Name + + NodeList, + blocks-3645_office_4_South Perimeter Inlet Node List, !- Name + Node 250; !- Node 1 Name + + NodeList, + blocks-3645_office_4_South Perimeter Return Node List, !- Name + Node 251; !- Node 1 Name + + NodeList, + blocks-3645_office_4_West Perimeter Inlet Node List, !- Name + Node 235; !- Node 1 Name + + NodeList, + blocks-3645_office_4_West Perimeter Return Node List, !- Name + Node 236; !- Node 1 Name + + NodeList, + blocks-3645_office_5_Core Inlet Node List, !- Name + Node 280; !- Node 1 Name + + NodeList, + blocks-3645_office_5_Core Return Node List, !- Name + Node 281; !- Node 1 Name + + NodeList, + blocks-3645_office_5_East Perimeter Inlet Node List, !- Name + Node 270; !- Node 1 Name + + NodeList, + blocks-3645_office_5_East Perimeter Return Node List, !- Name + Node 271; !- Node 1 Name + + NodeList, + blocks-3645_office_5_North Perimeter Inlet Node List, !- Name + Node 265; !- Node 1 Name + + NodeList, + blocks-3645_office_5_North Perimeter Return Node List, !- Name + Node 266; !- Node 1 Name + + NodeList, + blocks-3645_office_5_South Perimeter Inlet Node List, !- Name + Node 275; !- Node 1 Name + + NodeList, + blocks-3645_office_5_South Perimeter Return Node List, !- Name + Node 276; !- Node 1 Name + + NodeList, + blocks-3645_office_5_West Perimeter Inlet Node List, !- Name + Node 260; !- Node 1 Name + + NodeList, + blocks-3645_office_5_West Perimeter Return Node List, !- Name + Node 261; !- Node 1 Name + + NodeList, + blocks-3645_office_6_Core Inlet Node List, !- Name + Node 305; !- Node 1 Name + + NodeList, + blocks-3645_office_6_Core Return Node List, !- Name + Node 306; !- Node 1 Name + + NodeList, + blocks-3645_office_6_East Perimeter Inlet Node List, !- Name + Node 295; !- Node 1 Name + + NodeList, + blocks-3645_office_6_East Perimeter Return Node List, !- Name + Node 296; !- Node 1 Name + + NodeList, + blocks-3645_office_6_North Perimeter Inlet Node List, !- Name + Node 290; !- Node 1 Name + + NodeList, + blocks-3645_office_6_North Perimeter Return Node List, !- Name + Node 291; !- Node 1 Name + + NodeList, + blocks-3645_office_6_South Perimeter Inlet Node List, !- Name + Node 300; !- Node 1 Name + + NodeList, + blocks-3645_office_6_South Perimeter Return Node List, !- Name + Node 301; !- Node 1 Name + + NodeList, + blocks-3645_office_6_West Perimeter Inlet Node List, !- Name + Node 285; !- Node 1 Name + + NodeList, + blocks-3645_office_6_West Perimeter Return Node List, !- Name + Node 286; !- Node 1 Name + + NodeList, + blocks-3645_office_7_Core Inlet Node List, !- Name + Node 330; !- Node 1 Name + + NodeList, + blocks-3645_office_7_Core Return Node List, !- Name + Node 331; !- Node 1 Name + + NodeList, + blocks-3645_office_7_East Perimeter Inlet Node List, !- Name + Node 320; !- Node 1 Name + + NodeList, + blocks-3645_office_7_East Perimeter Return Node List, !- Name + Node 321; !- Node 1 Name + + NodeList, + blocks-3645_office_7_North Perimeter Inlet Node List, !- Name + Node 315; !- Node 1 Name + + NodeList, + blocks-3645_office_7_North Perimeter Return Node List, !- Name + Node 316; !- Node 1 Name + + NodeList, + blocks-3645_office_7_South Perimeter Inlet Node List, !- Name + Node 325; !- Node 1 Name + + NodeList, + blocks-3645_office_7_South Perimeter Return Node List, !- Name + Node 326; !- Node 1 Name + + NodeList, + blocks-3645_office_7_West Perimeter Inlet Node List, !- Name + Node 310; !- Node 1 Name + + NodeList, + blocks-3645_office_7_West Perimeter Return Node List, !- Name + Node 311; !- Node 1 Name + + NodeList, + blocks-3645_office_8_Core Inlet Node List, !- Name + Node 355; !- Node 1 Name + + NodeList, + blocks-3645_office_8_Core Return Node List, !- Name + Node 356; !- Node 1 Name + + NodeList, + blocks-3645_office_8_East Perimeter Inlet Node List, !- Name + Node 345; !- Node 1 Name + + NodeList, + blocks-3645_office_8_East Perimeter Return Node List, !- Name + Node 346; !- Node 1 Name + + NodeList, + blocks-3645_office_8_North Perimeter Inlet Node List, !- Name + Node 340; !- Node 1 Name + + NodeList, + blocks-3645_office_8_North Perimeter Return Node List, !- Name + Node 341; !- Node 1 Name + + NodeList, + blocks-3645_office_8_South Perimeter Inlet Node List, !- Name + Node 350; !- Node 1 Name + + NodeList, + blocks-3645_office_8_South Perimeter Return Node List, !- Name + Node 351; !- Node 1 Name + + NodeList, + blocks-3645_office_8_West Perimeter Inlet Node List, !- Name + Node 335; !- Node 1 Name + + NodeList, + blocks-3645_office_8_West Perimeter Return Node List, !- Name + Node 336; !- Node 1 Name + + NodeList, + blocks-3645_office_9_Core Inlet Node List, !- Name + Node 380; !- Node 1 Name + + NodeList, + blocks-3645_office_9_Core Return Node List, !- Name + Node 381; !- Node 1 Name + + NodeList, + blocks-3645_office_9_East Perimeter Inlet Node List, !- Name + Node 370; !- Node 1 Name + + NodeList, + blocks-3645_office_9_East Perimeter Return Node List, !- Name + Node 371; !- Node 1 Name + + NodeList, + blocks-3645_office_9_North Perimeter Inlet Node List, !- Name + Node 365; !- Node 1 Name + + NodeList, + blocks-3645_office_9_North Perimeter Return Node List, !- Name + Node 366; !- Node 1 Name + + NodeList, + blocks-3645_office_9_South Perimeter Inlet Node List, !- Name + Node 375; !- Node 1 Name + + NodeList, + blocks-3645_office_9_South Perimeter Return Node List, !- Name + Node 376; !- Node 1 Name + + NodeList, + blocks-3645_office_9_West Perimeter Inlet Node List, !- Name + Node 360; !- Node 1 Name + + NodeList, + blocks-3645_office_9_West Perimeter Return Node List, !- Name + Node 361; !- Node 1 Name + + NodeList, + AirLoop air_handlers-2963 Supply Outlet Nodes, !- Name + Node 96; !- Node 1 Name + + NodeList, + AirLoop air_handlers-2963 Demand Inlet Nodes, !- Name + Node 97; !- Node 1 Name + +!- =========== ALL OBJECTS IN CLASS: OUTDOORAIR:NODE =========== + + OutdoorAir:Node, + Model Outdoor Air Node; !- Name + +!- =========== ALL OBJECTS IN CLASS: OUTDOORAIR:NODELIST =========== + + OutdoorAir:NodeList, + Node 100; !- Node or NodeList Name 1 + +!- =========== ALL OBJECTS IN CLASS: PIPE:ADIABATIC =========== + + Pipe:Adiabatic, + Pipe Adiabatic 8, !- Name + Node 92, !- Inlet Node Name + Node 93; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 9, !- Name + Node 94, !- Inlet Node Name + Node 85; !- Outlet Node Name + + Pipe:Adiabatic, + Boiler plant plant_loops-1904 Demand Inlet Pipe, !- Name + Node 87, !- Inlet Node Name + Boiler plant plant_loops-1904 Demand Inlet Pipe Node; !- Outlet Node Name + + Pipe:Adiabatic, + Boiler plant plant_loops-1904 Demand Bypass Pipe, !- Name + Boiler plant plant_loops-1904 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + Boiler plant plant_loops-1904 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + Boiler plant plant_loops-1904 Demand Outlet Pipe, !- Name + Boiler plant plant_loops-1904 Demand Outlet Pipe Node, !- Inlet Node Name + Node 88; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 6, !- Name + Node 81, !- Inlet Node Name + Node 82; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 7, !- Name + Node 83, !- Inlet Node Name + Node 71; !- Outlet Node Name + + Pipe:Adiabatic, + Chiller plant plant_loops-1903 Demand Bypass Pipe, !- Name + Chiller plant plant_loops-1903 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + Chiller plant plant_loops-1903 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + Chiller plant plant_loops-1903 Demand Outlet Pipe, !- Name + Chiller plant plant_loops-1903 Demand Outlet Pipe Node, !- Inlet Node Name + Node 74; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 1, !- Name + Node 64, !- Inlet Node Name + Node 65; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 2, !- Name + Node 66, !- Inlet Node Name + Node 57; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 3, !- Name + Node 59, !- Inlet Node Name + Node 67; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 4, !- Name + Node 61, !- Inlet Node Name + Node 68; !- Outlet Node Name + + Pipe:Adiabatic, + Condenser Plant plant_loops-1902 Demand Bypass Pipe, !- Name + Condenser Plant plant_loops-1902 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + Condenser Plant plant_loops-1902 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + Pipe Adiabatic 5, !- Name + Node 69, !- Inlet Node Name + Node 60; !- Outlet Node Name + +!- =========== ALL OBJECTS IN CLASS: PUMP:VARIABLESPEED =========== + + Pump:VariableSpeed, + Heating: Pump for Boiler,!- Name + Node 84, !- Inlet Node Name + Node 90, !- Outlet Node Name + Autosize, !- Design Maximum Flow Rate {m3/s} + 178218.301187775, !- Design Pump Head {Pa} + Autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 3.2485, !- Coefficient 2 of the Part Load Performance Curve + -4.7443, !- Coefficient 3 of the Part Load Performance Curve + 2.5294, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule + , !- Maximum Pressure Schedule + , !- Minimum RPM Schedule + , !- Maximum RPM Schedule + , !- Zone Name + 0.5, !- Skin Loss Radiative Fraction + PowerPerFlowPerPressure, !- Design Power Sizing Method + 348701.1, !- Design Electric Power per Unit Flow Rate {W/(m3/s)} + 1.282051282, !- Design Shaft Power per Unit Flow Rate per Unit Head {W/((m3/s)-Pa)} + 0, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + + Pump:VariableSpeed, + Cooling: Pump for Chiller, !- Name + Node 70, !- Inlet Node Name + Node 76, !- Outlet Node Name + Autosize, !- Design Maximum Flow Rate {m3/s} + 44554.5752969437, !- Design Pump Head {Pa} + Autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 3.2485, !- Coefficient 2 of the Part Load Performance Curve + -4.7443, !- Coefficient 3 of the Part Load Performance Curve + 2.5294, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule + , !- Maximum Pressure Schedule + , !- Minimum RPM Schedule + , !- Maximum RPM Schedule + , !- Zone Name + 0.5, !- Skin Loss Radiative Fraction + PowerPerFlowPerPressure, !- Design Power Sizing Method + 348701.1, !- Design Electric Power per Unit Flow Rate {W/(m3/s)} + 1.282051282, !- Design Shaft Power per Unit Flow Rate per Unit Head {W/((m3/s)-Pa)} + 0, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + + Pump:VariableSpeed, + Cooling: Demand Inlet Pump, !- Name + Node 73, !- Inlet Node Name + Node 77, !- Outlet Node Name + Autosize, !- Design Maximum Flow Rate {m3/s} + 133663.725890831, !- Design Pump Head {Pa} + Autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 0.5726, !- Coefficient 2 of the Part Load Performance Curve + -0.301, !- Coefficient 3 of the Part Load Performance Curve + 0.7347, !- Coefficient 4 of the Part Load Performance Curve + 0, !- Design Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule + , !- Maximum Pressure Schedule + , !- Minimum RPM Schedule + , !- Maximum RPM Schedule + , !- Zone Name + 0.5, !- Skin Loss Radiative Fraction + PowerPerFlowPerPressure, !- Design Power Sizing Method + 348701.1, !- Design Electric Power per Unit Flow Rate {W/(m3/s)} + 1.282051282, !- Design Shaft Power per Unit Flow Rate per Unit Head {W/((m3/s)-Pa)} + 0, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + + Pump:VariableSpeed, + Cooling: Pump for Condenser, !- Name + Node 56, !- Inlet Node Name + Node 63, !- Outlet Node Name + Autosize, !- Design Maximum Flow Rate {m3/s} + 179332.165570198, !- Design Pump Head {Pa} + Autosize, !- Design Power Consumption {W} + 0.9, !- Motor Efficiency + 0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 0.5726, !- Coefficient 2 of the Part Load Performance Curve + -0.301, !- Coefficient 3 of the Part Load Performance Curve + 0.7347, !- Coefficient 4 of the Part Load Performance Curve + autosize, !- Design Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule + , !- Maximum Pressure Schedule + , !- Minimum RPM Schedule + , !- Maximum RPM Schedule + , !- Zone Name + 0.5, !- Skin Loss Radiative Fraction + PowerPerFlowPerPressure, !- Design Power Sizing Method + 348701.1, !- Design Electric Power per Unit Flow Rate {W/(m3/s)} + 1.282051282, !- Design Shaft Power per Unit Flow Rate per Unit Head {W/((m3/s)-Pa)} + 0.2, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: BOILER:HOTWATER =========== + + Boiler:HotWater, + Boiler for plant plant_loops-1904, !- Name + NaturalGas, !- Fuel Type + Autosize, !- Nominal Capacity {W} + 0.8, !- Nominal Thermal Efficiency + , !- Efficiency Curve Temperature Evaluation Variable + , !- Normalized Boiler Efficiency Curve Name + Autosize, !- Design Water Flow Rate {m3/s} + 0, !- Minimum Part Load Ratio + 1, !- Maximum Part Load Ratio + 1, !- Optimum Part Load Ratio + Node 86, !- Boiler Water Inlet Node Name + Node 91, !- Boiler Water Outlet Node Name + 99, !- Water Outlet Upper Temperature Limit {C} + ConstantFlow, !- Boiler Flow Mode + 0, !- On Cycle Parasitic Electric Load {W} + 1, !- Sizing Factor + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: Chiller:Electric:ReformulatedEIR =========== + + Curve:Linear, + Y=F(X), + 0, + 1, + 0, + 1; + + Schedule:Constant,CondenserdT,,10; + + Curve:Biquadratic, + WC_PD_2010_PB_CAPFT, !- Name + 0.9061171, !- Coefficient1 Constant + 0.0292267, !- Coefficient2 x + -0.0003665, !- Coefficient3 x**2 + -0.0009698, !- Coefficient4 y + -0.0000907, !- Coefficient5 y**2 + 0.0002535, !- Coefficient6 x*y + 5.0000, !- Minimum Value of x + 10.0000, !- Maximum Value of x + 17.78, !- Minimum Value of y + 46.11; !- Maximum Value of y + + Curve:Biquadratic, + WC_PD_2010_PB_EIRFT, !- Name + 0.3617782, !- Coefficient1 Constant + -0.0230016, !- Coefficient2 x + 0.0009672, !- Coefficient3 x**2 + 0.0131801, !- Coefficient4 y + 0.0003761, !- Coefficient5 y**2 + -0.0007121, !- Coefficient6 x*y + 5.0000, !- Minimum Value of x + 10.0000, !- Maximum Value of x + 17.78, !- Minimum Value of y + 46.11; !- Maximum Value of y + + Curve:Bicubic, + WC_PD_150TO300_2010_PB_EIRFPLR, !- Name + -1.360532E-01, !- Coefficient1 Constant + 8.642703E-03, !- Coefficient2 x + 3.855583E-06, !- Coefficient3 x**2 + 1.024034E+00, !- Coefficient4 y + 6.047444E-02, !- Coefficient5 y**2 + -8.947860E-03, !- Coefficient6 x*y + 0.000000E+00, !- Coefficient7 x**3 + 5.706602E-02, !- Coefficient8 y**3 + 0.000000E+00, !- Coefficient9 x**2*y + 0.000000E+00, !- Coefficient10 x*y**2 + 31.13, !- Minimum Value of x + 36.52, !- Maximum Value of x + 0.19, !- Minimum Value of y + 1.03; !- Maximum Value of y + + Chiller:Electric:ReformulatedEIR, + Chiller for plant plant_loops-1903, !- Name + Autosize, !- Reference Capacity {W} + 4.885, !- Reference COP {W/W} + 6.67, !- Reference Leaving Chilled Water Temperature {C} + 34.94, !- Reference Leaving Condenser Fluid Temperature {C} + Autosize, !- Reference Chilled Water Flow Rate {m3/s} + Autosize, !- Reference Condenser Fluid Flow Rate {m3/s} + WC_PD_2010_PB_CAPFT, !- Cooling Capacity Function of Temperature Curve Name + WC_PD_2010_PB_EIRFT, !- Electric Input to Cooling Output Ratio Function of Temperature Curve Name + LeavingCondenserWaterTemperature, !- Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Type + WC_PD_150to300_2010_PB_EIRFPLR, !- Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Name + 0.1, !- Minimum Part Load Ratio + 1, !- Maximum Part Load Ratio + 1, !- Optimum Part Load Ratio + 0.2, !- Minimum Unloading Ratio + Node 72, !- Chilled Water Inlet Node Name + Node 78, !- Chilled Water Outlet Node Name + Node 79, !- Condenser Inlet Node Name + Node 80, !- Condenser Outlet Node Name + 1, !- Fraction of Compressor Electric Consumption Rejected by Condenser + 2, !- Leaving Chilled Water Lower Temperature Limit {C} + ConstantFlow, !- Chiller Flow Mode + , !- Design Heat Recovery Water Flow Rate {m3/s} + , !- Heat Recovery Inlet Node Name + , !- Heat Recovery Outlet Node Name + 1, !- Sizing Factor + , !- Condenser Heat Recovery Relative Capacity Fraction + , !- Heat Recovery Inlet High Temperature Limit Schedule Name + , !- Heat Recovery Leaving Temperature Setpoint Node Name + General, !- End-Use Subcategory + ModulatedLoopPLR, !- Condenser Flow Control + Y=F(X), !- Condenser Loop Flow Rate Fraction Function of Loop Part Load Ratio Curve Name + CondenserdT, !- Temperature Difference Across Condenser Schedule Name + 0.35; !- Condenser Minimum Flow Fraction + +!- =========== ALL OBJECTS IN CLASS: COOLINGTOWER:VARIABLESPEED =========== + + CoolingTower:VariableSpeed, + Cooling Tower Variable Speed 1, !- Name + Node 58, !- Water Inlet Node Name + Node 62, !- Water Outlet Node Name + YorkCalc, !- Model Type + , !- Model Coefficient Name + 20, !- Design Inlet Air Wet-Bulb Temperature {C} + 3.8889, !- Design Approach Temperature {deltaC} + 5.5556, !- Design Range Temperature {deltaC} + 0.0208164076775233, !- Design Water Flow Rate {m3/s} + Autosize, !- Design Air Flow Rate {m3/s} + 6154.53944372216, !- Design Fan Power {W} + Cooling Tower Fan Power Ratio Function of Air Flow Rate, !- Fan Power Ratio Function of Air Flow Rate Ratio Curve Name + 0.25, !- Minimum Air Flow Rate Ratio + 0.125, !- Fraction of Tower Capacity in Free Convection Regime + 0, !- Basin Heater Capacity {W/K} + 2, !- Basin Heater Setpoint Temperature {C} + , !- Basin Heater Operating Schedule Name + SaturatedExit, !- Evaporation Loss Mode + 0.2, !- Evaporation Loss Factor {percent/K} + 0.008, !- Drift Loss Percent {percent} + ConcentrationRatio, !- Blowdown Calculation Mode + 3, !- Blowdown Concentration Ratio + , !- Blowdown Makeup Water Usage Schedule Name + , !- Supply Water Storage Tank Name + , !- Outdoor Air Inlet Node Name + 2, !- Number of Cells + MaximalCell, !- Cell Control + 0.5, !- Cell Minimum Water Flow Rate Fraction + 2.5, !- Cell Maximum Water Flow Rate Fraction + 1, !- Sizing Factor + General; !- End-Use Subcategory + +!- =========== ALL OBJECTS IN CLASS: PLANTLOOP =========== + + PlantLoop, + Boiler plant plant_loops-1904, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + Boiler plant plant_loops-1904 Operation Schemes, !- Plant Equipment Operation Scheme Name + Node 85, !- Loop Temperature Setpoint Node Name + 100, !- Maximum Loop Temperature {C} + 0, !- Minimum Loop Temperature {C} + Autosize, !- Maximum Loop Flow Rate {m3/s} + 0, !- Minimum Loop Flow Rate {m3/s} + Autocalculate, !- Plant Loop Volume {m3} + Node 84, !- Plant Side Inlet Node Name + Node 85, !- Plant Side Outlet Node Name + Boiler plant plant_loops-1904 Supply Branches, !- Plant Side Branch List Name + Boiler plant plant_loops-1904 Supply Connector List, !- Plant Side Connector List Name + Node 87, !- Demand Side Inlet Node Name + Node 88, !- Demand Side Outlet Node Name + Boiler plant plant_loops-1904 Demand Branches, !- Demand Side Branch List Name + Boiler plant plant_loops-1904 Demand Connector List, !- Demand Side Connector List Name + Optimal, !- Load Distribution Scheme + , !- Availability Manager List Name + SingleSetpoint; !- Plant Loop Demand Calculation Scheme + + PlantLoop, + Chiller plant plant_loops-1903, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + Chiller plant plant_loops-1903 Operation Schemes, !- Plant Equipment Operation Scheme Name + Node 71, !- Loop Temperature Setpoint Node Name + 100, !- Maximum Loop Temperature {C} + 0, !- Minimum Loop Temperature {C} + Autosize, !- Maximum Loop Flow Rate {m3/s} + 0, !- Minimum Loop Flow Rate {m3/s} + Autocalculate, !- Plant Loop Volume {m3} + Node 70, !- Plant Side Inlet Node Name + Node 71, !- Plant Side Outlet Node Name + Chiller plant plant_loops-1903 Supply Branches, !- Plant Side Branch List Name + Chiller plant plant_loops-1903 Supply Connector List, !- Plant Side Connector List Name + Node 73, !- Demand Side Inlet Node Name + Node 74, !- Demand Side Outlet Node Name + Chiller plant plant_loops-1903 Demand Branches, !- Demand Side Branch List Name + Chiller plant plant_loops-1903 Demand Connector List, !- Demand Side Connector List Name + Optimal, !- Load Distribution Scheme + , !- Availability Manager List Name + SingleSetpoint, !- Plant Loop Demand Calculation Scheme + CommonPipe; !- Common Pipe Simulation + + PlantLoop, + Condenser Plant plant_loops-1902, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + Condenser Plant plant_loops-1902 Operation Schemes, !- Plant Equipment Operation Scheme Name + Node 57, !- Loop Temperature Setpoint Node Name + 100, !- Maximum Loop Temperature {C} + 0, !- Minimum Loop Temperature {C} + Autosize, !- Maximum Loop Flow Rate {m3/s} + 0, !- Minimum Loop Flow Rate {m3/s} + Autocalculate, !- Plant Loop Volume {m3} + Node 56, !- Plant Side Inlet Node Name + Node 57, !- Plant Side Outlet Node Name + Condenser Plant plant_loops-1902 Supply Branches, !- Plant Side Branch List Name + Condenser Plant plant_loops-1902 Supply Connector List, !- Plant Side Connector List Name + Node 59, !- Demand Side Inlet Node Name + Node 60, !- Demand Side Outlet Node Name + Condenser Plant plant_loops-1902 Demand Branches, !- Demand Side Branch List Name + Condenser Plant plant_loops-1902 Demand Connector List, !- Demand Side Connector List Name + Optimal, !- Load Distribution Scheme + , !- Availability Manager List Name + SingleSetpoint; !- Plant Loop Demand Calculation Scheme + +!- =========== ALL OBJECTS IN CLASS: PLANTEQUIPMENTLIST =========== + + PlantEquipmentList, + Boiler plant plant_loops-1904 Heating Equipment List, !- Name + Boiler:HotWater, !- Equipment 1 Object Type + Boiler for plant plant_loops-1904; !- Equipment 1 Name + + PlantEquipmentList, + Chiller plant plant_loops-1903 Cooling Equipment List, !- Name + Chiller:Electric:ReformulatedEIR, !- Equipment 1 Object Type + Chiller for plant plant_loops-1903; !- Equipment 1 Name + + PlantEquipmentList, + Condenser Plant plant_loops-1902 Cooling Equipment List, !- Name + CoolingTower:VariableSpeed, !- Equipment 1 Object Type + Cooling Tower Variable Speed 1; !- Equipment 1 Name + +!- =========== ALL OBJECTS IN CLASS: PLANTEQUIPMENTOPERATION:COOLINGLOAD =========== + + PlantEquipmentOperation:CoolingLoad, + Chiller plant plant_loops-1903 Cooling Operation Scheme, !- Name + 0, !- Load Range 1 Lower Limit {W} + 1000000000, !- Load Range 1 Upper Limit {W} + Chiller plant plant_loops-1903 Cooling Equipment List; !- Range 1 Equipment List Name + + PlantEquipmentOperation:CoolingLoad, + Condenser Plant plant_loops-1902 Cooling Operation Scheme, !- Name + 0, !- Load Range 1 Lower Limit {W} + 1000000000, !- Load Range 1 Upper Limit {W} + Condenser Plant plant_loops-1902 Cooling Equipment List; !- Range 1 Equipment List Name + +!- =========== ALL OBJECTS IN CLASS: PLANTEQUIPMENTOPERATION:HEATINGLOAD =========== + + PlantEquipmentOperation:HeatingLoad, + Boiler plant plant_loops-1904 Heating Operation Scheme, !- Name + 0, !- Load Range 1 Lower Limit {W} + 1000000000, !- Load Range 1 Upper Limit {W} + Boiler plant plant_loops-1904 Heating Equipment List; !- Range 1 Equipment List Name + +!- =========== ALL OBJECTS IN CLASS: PLANTEQUIPMENTOPERATIONSCHEMES =========== + + PlantEquipmentOperationSchemes, + Boiler plant plant_loops-1904 Operation Schemes, !- Name + PlantEquipmentOperation:HeatingLoad, !- Control Scheme 1 Object Type + Boiler plant plant_loops-1904 Heating Operation Scheme, !- Control Scheme 1 Name + Always On Discrete; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperationSchemes, + Chiller plant plant_loops-1903 Operation Schemes, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + Chiller plant plant_loops-1903 Cooling Operation Scheme, !- Control Scheme 1 Name + Always On Discrete; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperationSchemes, + Condenser Plant plant_loops-1902 Operation Schemes, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + Condenser Plant plant_loops-1902 Cooling Operation Scheme, !- Control Scheme 1 Name + Always On Discrete; !- Control Scheme 1 Schedule Name + +!- =========== ALL OBJECTS IN CLASS: AVAILABILITYMANAGER:SCHEDULED =========== + + AvailabilityManager:Scheduled, + OA_System-AirLoop air_handlers-2963 Availability Manager, !- Name + Always On Discrete; !- Schedule Name + +!- =========== ALL OBJECTS IN CLASS: AVAILABILITYMANAGER:NIGHTCYCLE =========== + + AvailabilityManager:NightCycle, + Availability Manager Night Cycle 1, !- Name + Always_On, !- Applicability Schedule Name + AirLoop air_handlers-2963_Sched_Ruleset, !- Fan Schedule Name + CycleOnAny, !- Control Type + 0.2, !- Thermostat Tolerance {deltaC} + FixedRunTime, !- Cycling Run Time Control Type + 3600; !- Cycling Run Time {s} + +!- =========== ALL OBJECTS IN CLASS: AVAILABILITYMANAGERASSIGNMENTLIST =========== + + AvailabilityManagerAssignmentList, + Air Loop HVAC 1 AvailabilityManagerAssignmentList, !- Name + AvailabilityManager:NightCycle, !- Availability Manager 1 Object Type + Availability Manager Night Cycle 1; !- Availability Manager 1 Name + + AvailabilityManagerAssignmentList, + OA_System-AirLoop air_handlers-2963 Availability Manager List, !- Name + AvailabilityManager:Scheduled, !- Availability Manager 1 Object Type + OA_System-AirLoop air_handlers-2963 Availability Manager; !- Availability Manager 1 Name + +!- =========== ALL OBJECTS IN CLASS: SETPOINTMANAGER:SCHEDULED =========== + + SetpointManager:Scheduled, + Setpoint Manager Scheduled 2, !- Name + Temperature, !- Control Variable + Hot_Water_Temperature, !- Schedule Name + Node 85; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + Setpoint Manager Scheduled 1, !- Name + Temperature, !- Control Variable + Secondary CHW Temp - 44F,!- Schedule Name + Node 73; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + Cooling Tower Setpoint Manager, !- Name + Temperature, !- Control Variable + Tower-Loop-Temperature-Schedule, !- Schedule Name + Node 57; !- Setpoint Node or NodeList Name + +!- =========== ALL OBJECTS IN CLASS: SETPOINTMANAGER:OUTDOORAIRRESET =========== + + SetpointManager:OutdoorAirReset, + Setpoint Manager Outdoor Air Reset 1, !- Name + Temperature, !- Control Variable + 12.22, !- Setpoint at Outdoor Low Temperature {C} + 15.67, !- Outdoor Low Temperature {C} + 6.67, !- Setpoint at Outdoor High Temperature {C} + 26.67, !- Outdoor High Temperature {C} + Node 71; !- Setpoint Node or NodeList Name + +!- =========== ALL OBJECTS IN CLASS: SETPOINTMANAGER:MIXEDAIR =========== + + SetpointManager:MixedAir, + Setpoint Manager Mixed Air 1, !- Name + Temperature, !- Control Variable + Node 96, !- Reference Setpoint Node Name + Node 104, !- Fan Inlet Node Name + Node 96, !- Fan Outlet Node Name + Node 102; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + Setpoint Manager Mixed Air 2, !- Name + Temperature, !- Control Variable + Node 96, !- Reference Setpoint Node Name + Node 104, !- Fan Inlet Node Name + Node 96, !- Fan Outlet Node Name + Node 106; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + Setpoint Manager Mixed Air 3, !- Name + Temperature, !- Control Variable + Node 96, !- Reference Setpoint Node Name + Node 104, !- Fan Inlet Node Name + Node 96, !- Fan Outlet Node Name + Node 104; !- Setpoint Node or NodeList Name + +!- =========== ALL OBJECTS IN CLASS: SETPOINTMANAGER:WARMEST =========== + + SetpointManager:Warmest, + Setpoint Manager Warmest 1, !- Name + Temperature, !- Control Variable + AirLoop air_handlers-2963, !- HVAC Air Loop Name + 12.8, !- Minimum Setpoint Temperature {C} + 15.6, !- Maximum Setpoint Temperature {C} + MaximumTemperature, !- Strategy + Node 96; !- Setpoint Node or NodeList Name + +!- =========== ALL OBJECTS IN CLASS: CURVE:QUADRATIC =========== + + Curve:Quadratic, + Curve Quadratic 1, !- Name + 0.06369119, !- Coefficient1 Constant + 0.58488832, !- Coefficient2 x + 0.35280274, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +!- =========== ALL OBJECTS IN CLASS: CURVE:CUBIC =========== + + Curve:Cubic, + Cooling Tower Fan Power Ratio Function of Air Flow Rate, !- Name + 0, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 1, !- Coefficient4 x**3 + 0.05, !- Minimum Value of x + 1.2; !- Maximum Value of x + + Curve:Cubic, + Cooling Tower Variable Speed 1 Fan Power Ratio Curve, !- Name + -0.0093, !- Coefficient1 Constant + 0.0512, !- Coefficient2 x + -0.0838, !- Coefficient3 x**2 + 1.0419, !- Coefficient4 x**3 + 0.15, !- Minimum Value of x + 1; !- Maximum Value of x + +!- =========== ALL OBJECTS IN CLASS: CURVE:BIQUADRATIC =========== + + Curve:Biquadratic, + Curve Biquadratic 1, !- Name + 1.0215158, !- Coefficient1 Constant + 0.037035864, !- Coefficient2 x + 0.0002332476, !- Coefficient3 x**2 + -0.003894048, !- Coefficient4 y + -6.52536e-005, !- Coefficient5 y**2 + -0.0002680452, !- Coefficient6 x*y + 5, !- Minimum Value of x + 10, !- Maximum Value of x + 24, !- Minimum Value of y + 35; !- Maximum Value of y + + Curve:Biquadratic, + Curve Biquadratic 2, !- Name + 0.70176857, !- Coefficient1 Constant + -0.00452016, !- Coefficient2 x + 0.0005331096, !- Coefficient3 x**2 + -0.005498208, !- Coefficient4 y + 0.0005445792, !- Coefficient5 y**2 + -0.0007290324, !- Coefficient6 x*y + 5, !- Minimum Value of x + 10, !- Maximum Value of x + 24, !- Minimum Value of y + 35; !- Maximum Value of y + +!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:PARAMETERS =========== + + LifeCycleCost:Parameters, + Life Cycle Cost Parameters, !- Name + EndOfYear, !- Discounting Convention + ConstantDollar, !- Inflation Approach + 0.03, !- Real Discount Rate + , !- Nominal Discount Rate + , !- Inflation + , !- Base Date Month + 2011, !- Base Date Year + , !- Service Date Month + 2011, !- Service Date Year + 25, !- Length of Study Period in Years + , !- Tax rate + None; !- Depreciation Method + +!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:NONRECURRINGCOST =========== + + LifeCycleCost:NonrecurringCost, + Default Cost, !- Name + Construction, !- Category + 0, !- Cost + ServicePeriod; !- Start of Costs + +!- =========== ALL OBJECTS IN CLASS: LIFECYCLECOST:USEPRICEESCALATION =========== + + LifeCycleCost:UsePriceEscalation, + U.S. Avg Commercial-Electricity, !- LCC Price Escalation Name + Electricity, !- Resource + 2011, !- Escalation Start Year + January, !- Escalation Start Month + 0.9838, !- Year 1 Escalation + 0.9730, !- Year 2 Escalation + 0.9632, !- Year 3 Escalation + 0.9611, !- Year 4 Escalation + 0.9571, !- Year 5 Escalation + 0.9553, !- Year 6 Escalation + 0.9539, !- Year 7 Escalation + 0.9521, !- Year 8 Escalation + 0.9546, !- Year 9 Escalation + 0.9550, !- + 0.9553, !- + 0.9564, !- + 0.9575, !- + 0.9596, !- + 0.9618, !- + 0.9614, !- + 0.9618, !- + 0.9618, !- + 0.9593, !- + 0.9589, !- + 0.9607, !- + 0.9625, !- + 0.9650, !- + 0.9708, !- + 0.9751, !- + 0.9762, !- + 0.9766, !- + 0.9766, !- + 0.9769, !- + 0.9773; !- + + LifeCycleCost:UsePriceEscalation, + U.S. Avg Commercial-Distillate Oil, !- LCC Price Escalation Name + FuelOilNo1, !- Resource + 2011, !- Escalation Start Year + January, !- Escalation Start Month + 0.9714, !- Year 1 Escalation + 0.9730, !- Year 2 Escalation + 0.9942, !- Year 3 Escalation + 1.0164, !- Year 4 Escalation + 1.0541, !- Year 5 Escalation + 1.0928, !- Year 6 Escalation + 1.1267, !- Year 7 Escalation + 1.1580, !- Year 8 Escalation + 1.1792, !- Year 9 Escalation + 1.1967, !- + 1.2200, !- + 1.2333, !- + 1.2566, !- + 1.2709, !- + 1.2826, !- + 1.2985, !- + 1.3102, !- + 1.3250, !- + 1.3261, !- + 1.3282, !- + 1.3324, !- + 1.3356, !- + 1.3431, !- + 1.3510, !- + 1.3568, !- + 1.3606, !- + 1.3637, !- + 1.3674, !- + 1.3706, !- + 1.3743; !- + + LifeCycleCost:UsePriceEscalation, + U.S. Avg Commercial-Residual Oil, !- LCC Price Escalation Name + FuelOilNo2, !- Resource + 2011, !- Escalation Start Year + January, !- Escalation Start Month + 0.8469, !- Year 1 Escalation + 0.8257, !- Year 2 Escalation + 0.8681, !- Year 3 Escalation + 0.8988, !- Year 4 Escalation + 0.9289, !- Year 5 Escalation + 0.9604, !- Year 6 Escalation + 0.9897, !- Year 7 Escalation + 1.0075, !- Year 8 Escalation + 1.0314, !- Year 9 Escalation + 1.0554, !- + 1.0861, !- + 1.1278, !- + 1.1497, !- + 1.1620, !- + 1.1743, !- + 1.1852, !- + 1.1948, !- + 1.2037, !- + 1.2071, !- + 1.2119, !- + 1.2139, !- + 1.2194, !- + 1.2276, !- + 1.2365, !- + 1.2420, !- + 1.2461, !- + 1.2509, !- + 1.2550, !- + 1.2591, !- + 1.2638; !- + + LifeCycleCost:UsePriceEscalation, + U.S. Avg Commercial-Natural gas, !- LCC Price Escalation Name + NaturalGas, !- Resource + 2011, !- Escalation Start Year + January, !- Escalation Start Month + 0.9823, !- Year 1 Escalation + 0.9557, !- Year 2 Escalation + 0.9279, !- Year 3 Escalation + 0.9257, !- Year 4 Escalation + 0.9346, !- Year 5 Escalation + 0.9412, !- Year 6 Escalation + 0.9512, !- Year 7 Escalation + 0.9645, !- Year 8 Escalation + 0.9856, !- Year 9 Escalation + 1.0067, !- + 1.0222, !- + 1.0410, !- + 1.0610, !- + 1.0787, !- + 1.0942, !- + 1.1098, !- + 1.1220, !- + 1.1308, !- + 1.1386, !- + 1.1486, !- + 1.1619, !- + 1.1763, !- + 1.1918, !- + 1.2118, !- + 1.2284, !- + 1.2439, !- + 1.2605, !- + 1.2772, !- + 1.2938, !- + 1.3115; !- + + LifeCycleCost:UsePriceEscalation, + U.S. Avg Commercial-Coal, !- LCC Price Escalation Name + Coal, !- Resource + 2011, !- Escalation Start Year + January, !- Escalation Start Month + 0.9970, !- Year 1 Escalation + 1.0089, !- Year 2 Escalation + 1.0089, !- Year 3 Escalation + 0.9941, !- Year 4 Escalation + 0.9941, !- Year 5 Escalation + 1.0000, !- Year 6 Escalation + 1.0030, !- Year 7 Escalation + 1.0059, !- Year 8 Escalation + 1.0089, !- Year 9 Escalation + 1.0119, !- + 1.0148, !- + 1.0178, !- + 1.0208, !- + 1.0267, !- + 1.0297, !- + 1.0356, !- + 1.0415, !- + 1.0534, !- + 1.0564, !- + 1.0593, !- + 1.0653, !- + 1.0712, !- + 1.0742, !- + 1.0801, !- + 1.0831, !- + 1.0831, !- + 1.0861, !- + 1.0890, !- + 1.0920, !- + 1.0950; !- + +!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLEDICTIONARY =========== + + Output:VariableDictionary,IDF,Unsorted; + +!- =========== ALL OBJECTS IN CLASS: OUTPUT:TABLE:SUMMARYREPORTS =========== + + Output:Table:SummaryReports, + AnnualBuildingUtilityPerformanceSummary, !- Report 1 Name + InputVerificationandResultsSummary, !- Report 2 Name + EquipmentSummary, !- Report 3 Name + EnvelopeSummary, !- Report 4 Name + HVACSizingSummary, !- Report 5 Name + ZoneComponentLoadSummary,!- Report 6 Name + FanReportMonthly, !- Report 7 Name + LightingSummary, !- Report 8 Name + ZoneElectricSummaryMonthly; !- Report 9 Name + +!- =========== ALL OBJECTS IN CLASS: OUTPUTCONTROL:TABLE:STYLE =========== + + OutputControl:Table:Style, + CommaAndHTML; !- Column Separator + +!- =========== ALL OBJECTS IN CLASS: OUTPUTCONTROL:REPORTINGTOLERANCES =========== + + OutputControl:ReportingTolerances, + 0.5, !- Tolerance for Time Heating Setpoint Not Met {deltaC} + 0.5; !- Tolerance for Time Cooling Setpoint Not Met {deltaC} + +!- =========== ALL OBJECTS IN CLASS: OUTPUT:VARIABLE =========== + +! Output:Variable,*,Chiller Electricity Energy,Hourly; +! +! Output:Variable,*,Heating Coil Heating Energy,Hourly; +! +! Output:Variable,*,Boiler NaturalGas Energy,Hourly; +! +! Output:Variable,*,Boiler Electricity Energy,Hourly; +! +! Output:Variable,*,Boiler Propane Rate,hourly; +! +! Output:Variable,*,Boiler Propane Energy,hourly; +! +! Output:Variable,*,Boiler FuelOilNo2 Rate,hourly; +! +! Output:Variable,*,Boiler FuelOilNo2 Energy,hourly; +! +! Output:Variable,*,System Node Standard Density Volume Flow Rate,Hourly; +! +! Output:Variable,*,Fan Electricity Energy,Hourly; +! +! Output:Variable,*,Pump Electricity Energy,Hourly; +! +! Output:Variable,*,Cooling Tower Fan Electricity Energy,Hourly; +! +!! Calculate zone AFR +! +! Output:Variable,*,Cooling Coil Electricity Energy,Hourly; +! +! Output:Variable,*,Heating Coil NaturalGas Energy,Hourly; +! +! Output:Variable,*,Fan Electricity Energy,Hourly; +! +! Output:Variable,*,Heating Coil Electricity Energy,Hourly; +! +! Output:Variable,*,Heating Coil Crankcase Heater Electricity Energy,Hourly; +! +! Output:Variable,*,Heating Coil Defrost Electricity Energy,Hourly; +! +! Output:Variable,*,Baseboard Electricity Energy,Hourly; +! +! Output:Variable,*,Baseboard Total Heating Energy,Hourly; +! +! Output:Variable,*,Baseboard Hot Water Energy,Hourly; +! +! Output:Variable,*,Zone VRF Air Terminal Cooling Electricity Energy,Hourly; +! +! Output:Variable,*,Zone VRF Air Terminal Heating Electricity Energy,Hourly; +! +! Output:Variable,*,VRF Heat Pump Cooling Electricity Energy,Hourly; +! +! Output:Variable,*,VRF Heat Pump Heating Electricity Energy,Hourly; +! +! Output:Variable,*,VRF Heat Pump Crankcase Heater Electricity Energy,hourly; +! +! Output:Variable,*,VRF Heat Pump Defrost Electricity Energy,hourly; + +Output:Variable,*,Pump Mass Flow Rate,detailed; !- HVAC Average [kg/s] +Output:Variable,Node 57,System Node Temperature,detailed; +Output:Variable,Node 57,System Node Setpoint Temperature,detailed; +Output:Variable,*,Cooling Tower Inlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Cooling Tower Outlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Cooling Tower Mass Flow Rate,detailed; !- HVAC Average [kg/s] +Output:Variable,*,Cooling Tower Heat Transfer Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Cooling Tower Fan Electricity Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Cooling Tower Fan Electricity Energy,detailed; !- HVAC Sum [J] +Output:Variable,*,Cooling Tower Air Flow Rate Ratio,detailed; !- HVAC Average [] +Output:Variable,*,Cooling Tower Fan Part Load Ratio,detailed; !- HVAC Average [] +Output:Variable,*,Cooling Tower Operating Cells Count,detailed; !- HVAC Average [] +Output:Variable,*,Cooling Tower Make Up Water Volume Flow Rate,detailed; !- HVAC Average [m3/s] +Output:Variable,*,Cooling Tower Make Up Water Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Make Up Mains Water Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Water Evaporation Volume Flow Rate,detailed; !- HVAC Average [m3/s] +Output:Variable,*,Cooling Tower Water Evaporation Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Water Drift Volume Flow Rate,detailed; !- HVAC Average [m3/s] +Output:Variable,*,Cooling Tower Water Drift Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Water Blowdown Volume Flow Rate,detailed; !- HVAC Average [m3/s] +Output:Variable,*,Cooling Tower Water Blowdown Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Water Blowdown Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Cooling Tower Water Blowdown Volume,detailed; !- HVAC Sum [m3] +Output:Variable,*,Chiller Part Load Ratio,detailed; !- HVAC Average [] +Output:Variable,*,Chiller Cycling Ratio,detailed; !- HVAC Average [] +Output:Variable,*,Chiller Electricity Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Chiller Electricity Energy,detailed; !- HVAC Sum [J] +Output:Variable,*,Chiller Evaporator Cooling Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Chiller Evaporator Cooling Energy,detailed; !- HVAC Sum [J] +Output:Variable,*,Chiller False Load Heat Transfer Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Chiller False Load Heat Transfer Energy,detailed; !- HVAC Sum [J] +Output:Variable,*,Chiller Evaporator Inlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Chiller Evaporator Outlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Chiller Evaporator Mass Flow Rate,detailed; !- HVAC Average [kg/s] +Output:Variable,*,Chiller Condenser Heat Transfer Rate,detailed; !- HVAC Average [W] +Output:Variable,*,Chiller Condenser Heat Transfer Energy,detailed; !- HVAC Sum [J] +Output:Variable,*,Chiller COP,detailed; !- HVAC Average [W/W] +Output:Variable,*,Chiller Capacity Temperature Modifier Multiplier,detailed; !- HVAC Average [] +Output:Variable,*,Chiller EIR Temperature Modifier Multiplier,detailed; !- HVAC Average [] +Output:Variable,*,Chiller EIR Part Load Modifier Multiplier,detailed; !- HVAC Average [] +Output:Variable,*,Chiller Condenser Inlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Chiller Condenser Outlet Temperature,detailed; !- HVAC Average [C] +Output:Variable,*,Chiller Condenser Mass Flow Rate,detailed; !- HVAC Average [kg/s] +Output:Variable,*,Plant Supply Side Cooling Demand Rate,detailed; !- HVAC Average [W] + +!- =========== ALL OBJECTS IN CLASS: OUTPUT:SQLITE =========== + + Output:SQLite, + SimpleAndTabular; !- Option Type + +!- =========== ALL OBJECTS IN CLASS: OUTPUT:DIAGNOSTICS =========== + + Output:Diagnostics, + DisplayExtraWarnings; !- Key 1 + diff --git a/third_party/CLI/CLI11.hpp b/third_party/CLI/CLI11.hpp index e2437d5e8f0..8a5b4c54474 100644 --- a/third_party/CLI/CLI11.hpp +++ b/third_party/CLI/CLI11.hpp @@ -1,11 +1,11 @@ -// CLI11: Version 2.3.2 +// CLI11: Version 2.4.2 // Originally designed by Henry Schreiner // https://github.com/CLIUtils/CLI11 // // This is a standalone header file generated by MakeSingleHeader.py in CLI11/scripts -// from: v2.3.2-34-g985a19f +// from: v2.4.2 // -// CLI11 2.3.2 Copyright (c) 2017-2023 University of Cincinnati, developed by Henry +// CLI11 2.4.2 Copyright (c) 2017-2024 University of Cincinnati, developed by Henry // Schreiner under NSF AWARD 1414736. All rights reserved. // // Redistribution and use in source and binary forms of CLI11, with or without @@ -65,9 +65,9 @@ #define CLI11_VERSION_MAJOR 2 -#define CLI11_VERSION_MINOR 3 +#define CLI11_VERSION_MINOR 4 #define CLI11_VERSION_PATCH 2 -#define CLI11_VERSION "2.3.2" +#define CLI11_VERSION "2.4.2" @@ -225,6 +225,10 @@ #define _X86_ #elif defined(__arm__) || defined(_M_ARM) || defined(_M_ARMT) #define _ARM_ +#elif defined(__aarch64__) || defined(_M_ARM64) +#define _ARM64_ +#elif defined(_M_ARM64EC) +#define _ARM64EC_ #endif #endif @@ -243,9 +247,6 @@ // third #include #include - -#elif defined(__APPLE__) -#include #endif @@ -402,138 +403,42 @@ CLI11_INLINE std::filesystem::path to_path(std::string_view str) { -/// argc as passed in to this executable. -CLI11_INLINE int argc(); - -/// argv as passed in to this executable, converted to utf-8 on Windows. -CLI11_INLINE const char *const *argv(); - - - - namespace detail { - -#ifdef __APPLE__ -// Copy argc and argv as early as possible to avoid modification -static const std::vector static_args = [] { - static const std::vector static_args_as_strings = [] { - std::vector args_as_strings; - int argc = *_NSGetArgc(); - char **argv = *_NSGetArgv(); - - args_as_strings.reserve(static_cast(argc)); - for(size_t i = 0; i < static_cast(argc); i++) { - args_as_strings.push_back(argv[i]); - } - - return args_as_strings; - }(); - - std::vector static_args_result; - static_args_result.reserve(static_args_as_strings.size()); - - for(const auto &arg : static_args_as_strings) { - static_args_result.push_back(arg.data()); - } - - return static_args_result; -}(); -#endif - -/// Command-line arguments, as passed in to this executable, converted to utf-8 on Windows. -CLI11_INLINE const std::vector &args() { - // This function uses initialization via lambdas extensively to take advantage of the thread safety of static - // variable initialization [stmt.dcl.3] - #ifdef _WIN32 - static const std::vector static_args = [] { - static const std::vector static_args_as_strings = [] { - // On Windows, take arguments from GetCommandLineW and convert them to utf-8. - std::vector args_as_strings; - int argc = 0; - - auto deleter = [](wchar_t **ptr) { LocalFree(ptr); }; - // NOLINTBEGIN(*-avoid-c-arrays) - auto wargv = - std::unique_ptr(CommandLineToArgvW(GetCommandLineW(), &argc), deleter); - // NOLINTEND(*-avoid-c-arrays) - - if(wargv == nullptr) { - throw std::runtime_error("CommandLineToArgvW failed with code " + std::to_string(GetLastError())); - } - - args_as_strings.reserve(static_cast(argc)); - for(size_t i = 0; i < static_cast(argc); ++i) { - args_as_strings.push_back(narrow(wargv[i])); - } - - return args_as_strings; - }(); - - std::vector static_args_result; - static_args_result.reserve(static_args_as_strings.size()); - - for(const auto &arg : static_args_as_strings) { - static_args_result.push_back(arg.data()); - } - - return static_args_result; - }(); - - return static_args; - -#elif defined(__APPLE__) - - return static_args; - -#else - static const std::vector static_args = [] { - static const std::vector static_cmdline = [] { - // On posix, retrieve arguments from /proc/self/cmdline, separated by null terminators. - std::vector cmdline; +/// Decode and return UTF-8 argv from GetCommandLineW. +CLI11_INLINE std::vector compute_win32_argv(); +#endif +} // namespace detail - auto deleter = [](FILE *f) { std::fclose(f); }; - std::unique_ptr fp_unique(std::fopen("/proc/self/cmdline", "r"), deleter); - FILE *fp = fp_unique.get(); - if(!fp) { - throw std::runtime_error("could not open /proc/self/cmdline for reading"); // LCOV_EXCL_LINE - } - size_t size = 0; - while(std::feof(fp) == 0) { - cmdline.resize(size + 128); - size += std::fread(cmdline.data() + size, 1, 128, fp); - if(std::ferror(fp) != 0) { - throw std::runtime_error("error during reading /proc/self/cmdline"); // LCOV_EXCL_LINE - } - } - cmdline.resize(size); +namespace detail { - return cmdline; - }(); +#ifdef _WIN32 +CLI11_INLINE std::vector compute_win32_argv() { + std::vector result; + int argc = 0; - std::size_t argc = static_cast(std::count(static_cmdline.begin(), static_cmdline.end(), '\0')); - std::vector static_args_result; - static_args_result.reserve(argc); + auto deleter = [](wchar_t **ptr) { LocalFree(ptr); }; + // NOLINTBEGIN(*-avoid-c-arrays) + auto wargv = std::unique_ptr(CommandLineToArgvW(GetCommandLineW(), &argc), deleter); + // NOLINTEND(*-avoid-c-arrays) - for(auto it = static_cmdline.begin(); it != static_cmdline.end(); - it = std::find(it, static_cmdline.end(), '\0') + 1) { - static_args_result.push_back(static_cmdline.data() + (it - static_cmdline.begin())); - } + if(wargv == nullptr) { + throw std::runtime_error("CommandLineToArgvW failed with code " + std::to_string(GetLastError())); + } - return static_args_result; - }(); + result.reserve(static_cast(argc)); + for(size_t i = 0; i < static_cast(argc); ++i) { + result.push_back(narrow(wargv[i])); + } - return static_args; -#endif + return result; } +#endif } // namespace detail -CLI11_INLINE const char *const *argv() { return detail::args().data(); } -CLI11_INLINE int argc() { return static_cast(detail::args().size()); } - @@ -634,6 +539,9 @@ inline std::string trim_copy(const std::string &str) { /// remove quotes at the front and back of a string either '"' or '\'' CLI11_INLINE std::string &remove_quotes(std::string &str); +/// remove quotes from all elements of a string vector and process escaped components +CLI11_INLINE void remove_quotes(std::vector &args); + /// Add a leader to the beginning of all new lines (nothing is added /// at the start of the first line). `"; "` would be for ini files /// @@ -654,14 +562,16 @@ CLI11_INLINE std::ostream &format_aliases(std::ostream &out, const std::vector bool valid_first_char(T c) { return ((c != '-') && (c != '!') && (c != ' ') && c != '\n'); } +template bool valid_first_char(T c) { + return ((c != '-') && (static_cast(c) > 33)); // space and '!' not allowed +} /// Verify following characters of an option template bool valid_later_char(T c) { // = and : are value separators, { has special meaning for option defaults, - // and \n would just be annoying to deal with in many places allowing space here has too much potential for - // inadvertent entry errors and bugs - return ((c != '=') && (c != ':') && (c != '{') && (c != ' ') && c != '\n'); + // and control codes other than tab would just be annoying to deal with in many places allowing space here has too + // much potential for inadvertent entry errors and bugs + return ((c != '=') && (c != ':') && (c != '{') && ((static_cast(c) > 32) || c == '\t')); } /// Verify an option/subcommand name @@ -724,21 +634,47 @@ template inline std::string find_and_modify(std::string str, return str; } +/// close a sequence of characters indicated by a closure character. Brackets allows sub sequences +/// recognized bracket sequences include "'`[(<{ other closure characters are assumed to be literal strings +CLI11_INLINE std::size_t close_sequence(const std::string &str, std::size_t start, char closure_char); + /// Split a string '"one two" "three"' into 'one two', 'three' -/// Quote characters can be ` ' or " +/// Quote characters can be ` ' or " or bracket characters [{(< with matching to the matching bracket CLI11_INLINE std::vector split_up(std::string str, char delimiter = '\0'); +/// get the value of an environmental variable or empty string if empty +CLI11_INLINE std::string get_environment_value(const std::string &env_name); + /// This function detects an equal or colon followed by an escaped quote after an argument /// then modifies the string to replace the equality with a space. This is needed /// to allow the split up function to work properly and is intended to be used with the find_and_modify function /// the return value is the offset+1 which is required by the find_and_modify function. CLI11_INLINE std::size_t escape_detect(std::string &str, std::size_t offset); -/// Add quotes if the string contains spaces -CLI11_INLINE std::string &add_quotes_if_needed(std::string &str); +/// @brief detect if a string has escapable characters +/// @param str the string to do the detection on +/// @return true if the string has escapable characters +CLI11_INLINE bool has_escapable_character(const std::string &str); + +/// @brief escape all escapable characters +/// @param str the string to escape +/// @return a string with the escapble characters escaped with '\' +CLI11_INLINE std::string add_escaped_characters(const std::string &str); + +/// @brief replace the escaped characters with their equivalent +CLI11_INLINE std::string remove_escaped_characters(const std::string &str); + +/// generate a string with all non printable characters escaped to hex codes +CLI11_INLINE std::string binary_escape_string(const std::string &string_to_escape); + +CLI11_INLINE bool is_binary_escaped_string(const std::string &escaped_string); + +/// extract an escaped binary_string +CLI11_INLINE std::string extract_binary_string(const std::string &escaped_string); + +/// process a quoted string, remove the quotes and if appropriate handle escaped characters +CLI11_INLINE bool process_quoted_string(std::string &str, char string_char = '\"', char literal_char = '\''); -/// get the value of an environmental variable or empty string if empty -CLI11_INLINE std::string get_environment_value(const std::string &env_name); } // namespace detail @@ -787,7 +723,17 @@ CLI11_INLINE std::string &rtrim(std::string &str, const std::string &filter) { } CLI11_INLINE std::string &remove_quotes(std::string &str) { - if(str.length() > 1 && (str.front() == '"' || str.front() == '\'')) { + if(str.length() > 1 && (str.front() == '"' || str.front() == '\'' || str.front() == '`')) { + if(str.front() == str.back()) { + str.pop_back(); + str.erase(str.begin(), str.begin() + 1); + } + } + return str; +} + +CLI11_INLINE std::string &remove_outer(std::string &str, char key) { + if(str.length() > 1 && (str.front() == key)) { if(str.front() == str.back()) { str.pop_back(); str.erase(str.begin(), str.begin() + 1); @@ -907,37 +853,220 @@ find_member(std::string name, const std::vector names, bool ignore_ return (it != std::end(names)) ? (it - std::begin(names)) : (-1); } +static const std::string escapedChars("\b\t\n\f\r\"\\"); +static const std::string escapedCharsCode("btnfr\"\\"); +static const std::string bracketChars{"\"'`[(<{"}; +static const std::string matchBracketChars("\"'`])>}"); + +CLI11_INLINE bool has_escapable_character(const std::string &str) { + return (str.find_first_of(escapedChars) != std::string::npos); +} + +CLI11_INLINE std::string add_escaped_characters(const std::string &str) { + std::string out; + out.reserve(str.size() + 4); + for(char s : str) { + auto sloc = escapedChars.find_first_of(s); + if(sloc != std::string::npos) { + out.push_back('\\'); + out.push_back(escapedCharsCode[sloc]); + } else { + out.push_back(s); + } + } + return out; +} + +CLI11_INLINE std::uint32_t hexConvert(char hc) { + int hcode{0}; + if(hc >= '0' && hc <= '9') { + hcode = (hc - '0'); + } else if(hc >= 'A' && hc <= 'F') { + hcode = (hc - 'A' + 10); + } else if(hc >= 'a' && hc <= 'f') { + hcode = (hc - 'a' + 10); + } else { + hcode = -1; + } + return static_cast(hcode); +} + +CLI11_INLINE char make_char(std::uint32_t code) { return static_cast(static_cast(code)); } + +CLI11_INLINE void append_codepoint(std::string &str, std::uint32_t code) { + if(code < 0x80) { // ascii code equivalent + str.push_back(static_cast(code)); + } else if(code < 0x800) { // \u0080 to \u07FF + // 110yyyyx 10xxxxxx; 0x3f == 0b0011'1111 + str.push_back(make_char(0xC0 | code >> 6)); + str.push_back(make_char(0x80 | (code & 0x3F))); + } else if(code < 0x10000) { // U+0800...U+FFFF + if(0xD800 <= code && code <= 0xDFFF) { + throw std::invalid_argument("[0xD800, 0xDFFF] are not valid UTF-8."); + } + // 1110yyyy 10yxxxxx 10xxxxxx + str.push_back(make_char(0xE0 | code >> 12)); + str.push_back(make_char(0x80 | (code >> 6 & 0x3F))); + str.push_back(make_char(0x80 | (code & 0x3F))); + } else if(code < 0x110000) { // U+010000 ... U+10FFFF + // 11110yyy 10yyxxxx 10xxxxxx 10xxxxxx + str.push_back(make_char(0xF0 | code >> 18)); + str.push_back(make_char(0x80 | (code >> 12 & 0x3F))); + str.push_back(make_char(0x80 | (code >> 6 & 0x3F))); + str.push_back(make_char(0x80 | (code & 0x3F))); + } +} + +CLI11_INLINE std::string remove_escaped_characters(const std::string &str) { + + std::string out; + out.reserve(str.size()); + for(auto loc = str.begin(); loc < str.end(); ++loc) { + if(*loc == '\\') { + if(str.end() - loc < 2) { + throw std::invalid_argument("invalid escape sequence " + str); + } + auto ecloc = escapedCharsCode.find_first_of(*(loc + 1)); + if(ecloc != std::string::npos) { + out.push_back(escapedChars[ecloc]); + ++loc; + } else if(*(loc + 1) == 'u') { + // must have 4 hex characters + if(str.end() - loc < 6) { + throw std::invalid_argument("unicode sequence must have 4 hex codes " + str); + } + std::uint32_t code{0}; + std::uint32_t mplier{16 * 16 * 16}; + for(int ii = 2; ii < 6; ++ii) { + std::uint32_t res = hexConvert(*(loc + ii)); + if(res > 0x0F) { + throw std::invalid_argument("unicode sequence must have 4 hex codes " + str); + } + code += res * mplier; + mplier = mplier / 16; + } + append_codepoint(out, code); + loc += 5; + } else if(*(loc + 1) == 'U') { + // must have 8 hex characters + if(str.end() - loc < 10) { + throw std::invalid_argument("unicode sequence must have 8 hex codes " + str); + } + std::uint32_t code{0}; + std::uint32_t mplier{16 * 16 * 16 * 16 * 16 * 16 * 16}; + for(int ii = 2; ii < 10; ++ii) { + std::uint32_t res = hexConvert(*(loc + ii)); + if(res > 0x0F) { + throw std::invalid_argument("unicode sequence must have 8 hex codes " + str); + } + code += res * mplier; + mplier = mplier / 16; + } + append_codepoint(out, code); + loc += 9; + } else if(*(loc + 1) == '0') { + out.push_back('\0'); + ++loc; + } else { + throw std::invalid_argument(std::string("unrecognized escape sequence \\") + *(loc + 1) + " in " + str); + } + } else { + out.push_back(*loc); + } + } + return out; +} + +CLI11_INLINE std::size_t close_string_quote(const std::string &str, std::size_t start, char closure_char) { + std::size_t loc{0}; + for(loc = start + 1; loc < str.size(); ++loc) { + if(str[loc] == closure_char) { + break; + } + if(str[loc] == '\\') { + // skip the next character for escaped sequences + ++loc; + } + } + return loc; +} + +CLI11_INLINE std::size_t close_literal_quote(const std::string &str, std::size_t start, char closure_char) { + auto loc = str.find_first_of(closure_char, start + 1); + return (loc != std::string::npos ? loc : str.size()); +} + +CLI11_INLINE std::size_t close_sequence(const std::string &str, std::size_t start, char closure_char) { + + auto bracket_loc = matchBracketChars.find(closure_char); + switch(bracket_loc) { + case 0: + return close_string_quote(str, start, closure_char); + case 1: + case 2: + case std::string::npos: + return close_literal_quote(str, start, closure_char); + default: + break; + } + + std::string closures(1, closure_char); + auto loc = start + 1; + + while(loc < str.size()) { + if(str[loc] == closures.back()) { + closures.pop_back(); + if(closures.empty()) { + return loc; + } + } + bracket_loc = bracketChars.find(str[loc]); + if(bracket_loc != std::string::npos) { + switch(bracket_loc) { + case 0: + loc = close_string_quote(str, loc, str[loc]); + break; + case 1: + case 2: + loc = close_literal_quote(str, loc, str[loc]); + break; + default: + closures.push_back(matchBracketChars[bracket_loc]); + break; + } + } + ++loc; + } + if(loc > str.size()) { + loc = str.size(); + } + return loc; +} + CLI11_INLINE std::vector split_up(std::string str, char delimiter) { - const std::string delims("\'\"`"); auto find_ws = [delimiter](char ch) { return (delimiter == '\0') ? std::isspace(ch, std::locale()) : (ch == delimiter); }; trim(str); std::vector output; - bool embeddedQuote = false; - char keyChar = ' '; while(!str.empty()) { - if(delims.find_first_of(str[0]) != std::string::npos) { - keyChar = str[0]; - auto end = str.find_first_of(keyChar, 1); - while((end != std::string::npos) && (str[end - 1] == '\\')) { // deal with escaped quotes - end = str.find_first_of(keyChar, end + 1); - embeddedQuote = true; - } - if(end != std::string::npos) { - output.push_back(str.substr(1, end - 1)); + if(bracketChars.find_first_of(str[0]) != std::string::npos) { + auto bracketLoc = bracketChars.find_first_of(str[0]); + auto end = close_sequence(str, 0, matchBracketChars[bracketLoc]); + if(end >= str.size()) { + output.push_back(std::move(str)); + str.clear(); + } else { + output.push_back(str.substr(0, end + 1)); if(end + 2 < str.size()) { str = str.substr(end + 2); } else { str.clear(); } - - } else { - output.push_back(str.substr(1)); - str = ""; } + } else { auto it = std::find_if(std::begin(str), std::end(str), find_ws); if(it != std::end(str)) { @@ -946,14 +1075,9 @@ CLI11_INLINE std::vector split_up(std::string str, char delimiter) str = std::string(it + 1, str.end()); } else { output.push_back(str); - str = ""; + str.clear(); } } - // transform any embedded quotes into the regular character - if(embeddedQuote) { - output.back() = find_and_replace(output.back(), std::string("\\") + keyChar, std::string(1, keyChar)); - embeddedQuote = false; - } trim(str); } return output; @@ -971,15 +1095,119 @@ CLI11_INLINE std::size_t escape_detect(std::string &str, std::size_t offset) { return offset + 1; } -CLI11_INLINE std::string &add_quotes_if_needed(std::string &str) { - if((str.front() != '"' && str.front() != '\'') || str.front() != str.back()) { - char quote = str.find('"') < str.find('\'') ? '\'' : '"'; - if(str.find(' ') != std::string::npos) { - str.insert(0, 1, quote); - str.append(1, quote); +CLI11_INLINE std::string binary_escape_string(const std::string &string_to_escape) { + // s is our escaped output string + std::string escaped_string{}; + // loop through all characters + for(char c : string_to_escape) { + // check if a given character is printable + // the cast is necessary to avoid undefined behaviour + if(isprint(static_cast(c)) == 0) { + std::stringstream stream; + // if the character is not printable + // we'll convert it to a hex string using a stringstream + // note that since char is signed we have to cast it to unsigned first + stream << std::hex << static_cast(static_cast(c)); + std::string code = stream.str(); + escaped_string += std::string("\\x") + (code.size() < 2 ? "0" : "") + code; + + } else { + escaped_string.push_back(c); } } - return str; + if(escaped_string != string_to_escape) { + auto sqLoc = escaped_string.find('\''); + while(sqLoc != std::string::npos) { + escaped_string.replace(sqLoc, sqLoc + 1, "\\x27"); + sqLoc = escaped_string.find('\''); + } + escaped_string.insert(0, "'B\"("); + escaped_string.push_back(')'); + escaped_string.push_back('"'); + escaped_string.push_back('\''); + } + return escaped_string; +} + +CLI11_INLINE bool is_binary_escaped_string(const std::string &escaped_string) { + size_t ssize = escaped_string.size(); + if(escaped_string.compare(0, 3, "B\"(") == 0 && escaped_string.compare(ssize - 2, 2, ")\"") == 0) { + return true; + } + return (escaped_string.compare(0, 4, "'B\"(") == 0 && escaped_string.compare(ssize - 3, 3, ")\"'") == 0); +} + +CLI11_INLINE std::string extract_binary_string(const std::string &escaped_string) { + std::size_t start{0}; + std::size_t tail{0}; + size_t ssize = escaped_string.size(); + if(escaped_string.compare(0, 3, "B\"(") == 0 && escaped_string.compare(ssize - 2, 2, ")\"") == 0) { + start = 3; + tail = 2; + } else if(escaped_string.compare(0, 4, "'B\"(") == 0 && escaped_string.compare(ssize - 3, 3, ")\"'") == 0) { + start = 4; + tail = 3; + } + + if(start == 0) { + return escaped_string; + } + std::string outstring; + + outstring.reserve(ssize - start - tail); + std::size_t loc = start; + while(loc < ssize - tail) { + // ssize-2 to skip )" at the end + if(escaped_string[loc] == '\\' && (escaped_string[loc + 1] == 'x' || escaped_string[loc + 1] == 'X')) { + auto c1 = escaped_string[loc + 2]; + auto c2 = escaped_string[loc + 3]; + + std::uint32_t res1 = hexConvert(c1); + std::uint32_t res2 = hexConvert(c2); + if(res1 <= 0x0F && res2 <= 0x0F) { + loc += 4; + outstring.push_back(static_cast(res1 * 16 + res2)); + continue; + } + } + outstring.push_back(escaped_string[loc]); + ++loc; + } + return outstring; +} + +CLI11_INLINE void remove_quotes(std::vector &args) { + for(auto &arg : args) { + if(arg.front() == '\"' && arg.back() == '\"') { + remove_quotes(arg); + // only remove escaped for string arguments not literal strings + arg = remove_escaped_characters(arg); + } else { + remove_quotes(arg); + } + } +} + +CLI11_INLINE bool process_quoted_string(std::string &str, char string_char, char literal_char) { + if(str.size() <= 1) { + return false; + } + if(detail::is_binary_escaped_string(str)) { + str = detail::extract_binary_string(str); + return true; + } + if(str.front() == string_char && str.back() == string_char) { + detail::remove_outer(str, string_char); + if(str.find_first_of('\\') != std::string::npos) { + str = detail::remove_escaped_characters(str); + } + return true; + } + if((str.front() == literal_char || str.front() == '`') && str.back() == str.front()) { + detail::remove_outer(str, str.front()); + return true; + } + return false; } std::string get_environment_value(const std::string &env_name) { @@ -1113,6 +1341,9 @@ class BadNameString : public ConstructionError { return BadNameString("Long names strings require 2 dashes " + name); } static BadNameString BadLongName(std::string name) { return BadNameString("Bad long name: " + name); } + static BadNameString BadPositionalName(std::string name) { + return BadNameString("Invalid positional Name: " + name); + } static BadNameString DashesOnly(std::string name) { return BadNameString("Must have a name, not just dashes: " + name); } @@ -1220,22 +1451,22 @@ class RequiredError : public ParseError { if((min_option == 1) && (max_option == 1) && (used == 0)) return RequiredError("Exactly 1 option from [" + option_list + "]"); if((min_option == 1) && (max_option == 1) && (used > 1)) { - return {"Exactly 1 option from [" + option_list + "] is required and " + std::to_string(used) + + return {"Exactly 1 option from [" + option_list + "] is required but " + std::to_string(used) + " were given", ExitCodes::RequiredError}; } if((min_option == 1) && (used == 0)) return RequiredError("At least 1 option from [" + option_list + "]"); if(used < min_option) { - return {"Requires at least " + std::to_string(min_option) + " options used and only " + - std::to_string(used) + "were given from [" + option_list + "]", + return {"Requires at least " + std::to_string(min_option) + " options used but only " + + std::to_string(used) + " were given from [" + option_list + "]", ExitCodes::RequiredError}; } if(max_option == 1) return {"Requires at most 1 options be given from [" + option_list + "]", ExitCodes::RequiredError}; - return {"Requires at most " + std::to_string(max_option) + " options be used and " + std::to_string(used) + - "were given from [" + option_list + "]", + return {"Requires at most " + std::to_string(max_option) + " options be used but " + std::to_string(used) + + " were given from [" + option_list + "]", ExitCodes::RequiredError}; } }; @@ -1402,6 +1633,23 @@ template <> struct IsMemberType { using type = std::string; }; +namespace adl_detail { +/// Check for existence of user-supplied lexical_cast. +/// +/// This struct has to be in a separate namespace so that it doesn't see our lexical_cast overloads in CLI::detail. +/// Standard says it shouldn't see them if it's defined before the corresponding lexical_cast declarations, but this +/// requires a working implementation of two-phase lookup, and not all compilers can boast that (msvc, ahem). +template class is_lexical_castable { + template + static auto test(int) -> decltype(lexical_cast(std::declval(), std::declval()), std::true_type()); + + template static auto test(...) -> std::false_type; + + public: + static constexpr bool value = decltype(test(0))::value; +}; +} // namespace adl_detail + namespace detail { // These are utilities for IsMember and other transforming objects @@ -1483,7 +1731,7 @@ template class is_direct_constructible { #pragma diag_suppress 2361 #endif #endif - TT{std::declval()} + TT{std::declval()} #ifdef __CUDACC__ #ifdef __NVCC_DIAG_PRAGMA_SUPPORT__ #pragma nv_diag_default 2361 @@ -1491,8 +1739,8 @@ template class is_direct_constructible { #pragma diag_default 2361 #endif #endif - , - std::is_move_assignable()); + , + std::is_move_assignable()); template static auto test(int, std::false_type) -> std::false_type; @@ -2179,7 +2427,7 @@ bool integral_conversion(const std::string &input, T &output) noexcept { if(input.empty() || input.front() == '-') { return false; } - char *val = nullptr; + char *val{nullptr}; errno = 0; std::uint64_t output_ll = std::strtoull(input.c_str(), &val, 0); if(errno == ERANGE) { @@ -2195,6 +2443,33 @@ bool integral_conversion(const std::string &input, T &output) noexcept { output = (output_sll < 0) ? static_cast(0) : static_cast(output_sll); return (static_cast(output) == output_sll); } + // remove separators + if(input.find_first_of("_'") != std::string::npos) { + std::string nstring = input; + nstring.erase(std::remove(nstring.begin(), nstring.end(), '_'), nstring.end()); + nstring.erase(std::remove(nstring.begin(), nstring.end(), '\''), nstring.end()); + return integral_conversion(nstring, output); + } + if(input.compare(0, 2, "0o") == 0) { + val = nullptr; + errno = 0; + output_ll = std::strtoull(input.c_str() + 2, &val, 8); + if(errno == ERANGE) { + return false; + } + output = static_cast(output_ll); + return (val == (input.c_str() + input.size()) && static_cast(output) == output_ll); + } + if(input.compare(0, 2, "0b") == 0) { + val = nullptr; + errno = 0; + output_ll = std::strtoull(input.c_str() + 2, &val, 2); + if(errno == ERANGE) { + return false; + } + output = static_cast(output_ll); + return (val == (input.c_str() + input.size()) && static_cast(output) == output_ll); + } return false; } @@ -2219,11 +2494,38 @@ bool integral_conversion(const std::string &input, T &output) noexcept { output = static_cast(1); return true; } + // remove separators + if(input.find_first_of("_'") != std::string::npos) { + std::string nstring = input; + nstring.erase(std::remove(nstring.begin(), nstring.end(), '_'), nstring.end()); + nstring.erase(std::remove(nstring.begin(), nstring.end(), '\''), nstring.end()); + return integral_conversion(nstring, output); + } + if(input.compare(0, 2, "0o") == 0) { + val = nullptr; + errno = 0; + output_ll = std::strtoll(input.c_str() + 2, &val, 8); + if(errno == ERANGE) { + return false; + } + output = static_cast(output_ll); + return (val == (input.c_str() + input.size()) && static_cast(output) == output_ll); + } + if(input.compare(0, 2, "0b") == 0) { + val = nullptr; + errno = 0; + output_ll = std::strtoll(input.c_str() + 2, &val, 2); + if(errno == ERANGE) { + return false; + } + output = static_cast(output_ll); + return (val == (input.c_str() + input.size()) && static_cast(output) == output_ll); + } return false; } -/// Convert a flag into an integer value typically binary flags -inline std::int64_t to_flag_value(std::string val) { +/// Convert a flag into an integer value typically binary flags sets errno to nonzero if conversion failed +inline std::int64_t to_flag_value(std::string val) noexcept { static const std::string trueString("true"); static const std::string falseString("false"); if(val == trueString) { @@ -2251,7 +2553,8 @@ inline std::int64_t to_flag_value(std::string val) { ret = 1; break; default: - throw std::invalid_argument("unrecognized character"); + errno = EINVAL; + return -1; } return ret; } @@ -2260,7 +2563,11 @@ inline std::int64_t to_flag_value(std::string val) { } else if(val == falseString || val == "off" || val == "no" || val == "disable") { ret = -1; } else { - ret = std::stoll(val); + char *loc_ptr{nullptr}; + ret = std::strtoll(val.c_str(), &loc_ptr, 0); + if(loc_ptr != (val.c_str() + val.size()) && errno == 0) { + errno = EINVAL; + } } return ret; } @@ -2289,18 +2596,16 @@ bool lexical_cast(const std::string &input, T &output) { template ::value == object_category::boolean_value, detail::enabler> = detail::dummy> bool lexical_cast(const std::string &input, T &output) { - try { - auto out = to_flag_value(input); + errno = 0; + auto out = to_flag_value(input); + if(errno == 0) { output = (out > 0); - return true; - } catch(const std::invalid_argument &) { - return false; - } catch(const std::out_of_range &) { - // if the number is out of the range of a 64 bit value then it is still a number and for this purpose is still - // valid all we care about the sign + } else if(errno == ERANGE) { output = (input[0] != '-'); - return true; + } else { + return false; } + return true; } /// Floats @@ -2313,7 +2618,17 @@ bool lexical_cast(const std::string &input, T &output) { char *val = nullptr; auto output_ld = std::strtold(input.c_str(), &val); output = static_cast(output_ld); - return val == (input.c_str() + input.size()); + if(val == (input.c_str() + input.size())) { + return true; + } + // remove separators + if(input.find_first_of("_'") != std::string::npos) { + std::string nstring = input; + nstring.erase(std::remove(nstring.begin(), nstring.end(), '_'), nstring.end()); + nstring.erase(std::remove(nstring.begin(), nstring.end(), '\''), nstring.end()); + return lexical_cast(nstring, output); + } + return false; } /// complex @@ -2495,13 +2810,24 @@ bool lexical_cast(const std::string &input, T &output) { /// Non-string parsable by a stream template ::value == object_category::other && !std::is_assignable::value, + enable_if_t::value == object_category::other && !std::is_assignable::value && + is_istreamable::value, detail::enabler> = detail::dummy> bool lexical_cast(const std::string &input, T &output) { - static_assert(is_istreamable::value, + return from_stream(input, output); +} + +/// Fallback overload that prints a human-readable error for types that we don't recognize and that don't have a +/// user-supplied lexical_cast overload. +template ::value == object_category::other && !std::is_assignable::value && + !is_istreamable::value && !adl_detail::is_lexical_castable::value, + detail::enabler> = detail::dummy> +bool lexical_cast(const std::string & /*input*/, T & /*output*/) { + static_assert(!std::is_same::value, // Can't just write false here. "option object type must have a lexical cast overload or streaming input operator(>>) defined, if it " "is convertible from another type use the add_option(...) with XC being the known type"); - return from_stream(input, output); + return false; } /// Assign a value through lexical cast operations @@ -2634,9 +2960,7 @@ bool lexical_conversion(const std::vector &strings, AssignTo &outp FirstType v1; SecondType v2; bool retval = lexical_assign(strings[0], v1); - if(strings.size() > 1) { - retval = retval && lexical_assign(strings[1], v2); - } + retval = retval && lexical_assign((strings.size() > 1) ? strings[1] : std::string{}, v2); if(retval) { output = AssignTo{v1, v2}; } @@ -2956,12 +3280,13 @@ inline std::string sum_string_vector(const std::vector &values) { double tv{0.0}; auto comp = lexical_cast(arg, tv); if(!comp) { - try { - tv = static_cast(detail::to_flag_value(arg)); - } catch(const std::exception &) { - fail = true; + errno = 0; + auto fv = detail::to_flag_value(arg); + fail = (errno != 0); + if(fail) { break; } + tv = static_cast(fv); } val += tv; } @@ -3091,7 +3416,6 @@ get_names(const std::vector &input) { std::vector short_names; std::vector long_names; std::string pos_name; - for(std::string name : input) { if(name.length() == 0) { continue; @@ -3112,12 +3436,15 @@ get_names(const std::vector &input) { } else if(name == "-" || name == "--") { throw BadNameString::DashesOnly(name); } else { - if(pos_name.length() > 0) + if(!pos_name.empty()) throw BadNameString::MultiPositionalNames(name); - pos_name = name; + if(valid_name_string(name)) { + pos_name = name; + } else { + throw BadNameString::BadPositionalName(name); + } } } - return std::make_tuple(short_names, long_names, pos_name); } @@ -3134,7 +3461,6 @@ struct ConfigItem { /// This is the name std::string name{}; - /// Listing of inputs std::vector inputs{}; @@ -3197,8 +3523,8 @@ class ConfigBase : public Config { char valueDelimiter = '='; /// the character to use around strings char stringQuote = '"'; - /// the character to use around single characters - char characterQuote = '\''; + /// the character to use around single characters and literal strings + char literalQuote = '\''; /// the maximum number of layers to allow uint8_t maximumLayers{255}; /// the separator used to separator parent layers @@ -3234,10 +3560,10 @@ class ConfigBase : public Config { valueDelimiter = vSep; return this; } - /// Specify the quote characters used around strings and characters - ConfigBase *quoteCharacter(char qString, char qChar) { + /// Specify the quote characters used around strings and literal strings + ConfigBase *quoteCharacter(char qString, char literalChar) { stringQuote = qString; - characterQuote = qChar; + literalQuote = literalChar; return this; } /// Specify the maximum number of parents @@ -3469,6 +3795,11 @@ class IPV4Validator : public Validator { IPV4Validator(); }; +class EscapedStringTransformer : public Validator { + public: + EscapedStringTransformer(); +}; + } // namespace detail // Static is not needed here, because global const implies static. @@ -3488,6 +3819,9 @@ const detail::NonexistentPathValidator NonexistentPath; /// Check for an IP4 address const detail::IPV4Validator ValidIPV4; +/// convert escaped characters into their associated values +const detail::EscapedStringTransformer EscapedString; + /// Validate the input as a particular type template class TypeValidator : public Validator { public: @@ -4247,7 +4581,7 @@ CLI11_INLINE path_type check_path(const char *file) noexcept { switch(stat.type()) { case std::filesystem::file_type::none: // LCOV_EXCL_LINE case std::filesystem::file_type::not_found: - return path_type::nonexistent; + return path_type::nonexistent; // LCOV_EXCL_LINE case std::filesystem::file_type::directory: return path_type::directory; case std::filesystem::file_type::symlink: @@ -4341,10 +4675,29 @@ CLI11_INLINE IPV4Validator::IPV4Validator() : Validator("IPV4") { return std::string("Each IP number must be between 0 and 255 ") + var; } } - return std::string(); + return std::string{}; }; } +CLI11_INLINE EscapedStringTransformer::EscapedStringTransformer() { + func_ = [](std::string &str) { + try { + if(str.size() > 1 && (str.front() == '\"' || str.front() == '\'' || str.front() == '`') && + str.front() == str.back()) { + process_quoted_string(str); + } else if(str.find_first_of('\\') != std::string::npos) { + if(detail::is_binary_escaped_string(str)) { + str = detail::extract_binary_string(str); + } else { + str = remove_escaped_characters(str); + } + } + return std::string{}; + } catch(const std::invalid_argument &ia) { + return std::string(ia.what()); + } + }; +} } // namespace detail CLI11_INLINE FileOnDefaultPath::FileOnDefaultPath(std::string default_path, bool enableErrorReturn) @@ -4643,7 +4996,8 @@ enum class MultiOptionPolicy : char { TakeFirst, //!< take only the first Expected number of arguments Join, //!< merge all the arguments together into a single string via the delimiter character default('\n') TakeAll, //!< just get all the passed argument regardless - Sum //!< sum all the arguments together if numerical or concatenate directly without delimiter + Sum, //!< sum all the arguments together if numerical or concatenate directly without delimiter + Reverse, //!< take only the last Expected number of arguments in reverse order }; /// This is the CRTP base class for Option and OptionDefaults. It was designed this way @@ -5151,12 +5505,12 @@ class Option : public OptionBase