From 7ae5fcb4f0c617baef4a115cb7ce5256c622bef9 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 17 Jun 2025 14:09:35 -0400 Subject: [PATCH 01/48] Preps for actual OSut methods --- src/osut/osut.py | 10 +--------- tests/test_osut.py | 1 + 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index fdd36a9..7a6f4d7 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -27,14 +27,8 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +import openstudio from oslg import oslg - -# DBG = oslg.CN.DEBUG -# INF = oslg.CN.INFO -# WRN = oslg.CN.WARN -# ERR = oslg.CN.ERROR -# FTL = oslg.CN.FATAL - from dataclasses import dataclass @dataclass(frozen=True) @@ -47,7 +41,5 @@ class _CN: NS = "nameString" CN = _CN() -import openstudio - def instantiate_new_osm(): return openstudio.model.Model() diff --git a/tests/test_osut.py b/tests/test_osut.py index 491c29a..2c00644 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -39,6 +39,7 @@ WRN = osut.CN.WRN ERR = osut.CN.ERR FTL = osut.CN.FTL +NS = osut.CN.NS class TestOSutModuleMethods(unittest.TestCase): def test00_oslg_constants(self): From d414a3fa866be44122095b0fd7cbf875547fb8e8 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 17 Jun 2025 18:13:29 -0400 Subject: [PATCH 02/48] Tests OSut tuples & dicts --- src/osut/osut.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++ tests/test_osut.py | 18 ++++++++- 2 files changed, 109 insertions(+), 1 deletion(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 7a6f4d7..3651fed 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -41,5 +41,97 @@ class _CN: NS = "nameString" CN = _CN() +# General surface orientations (see 'facets' method). +_sidz = ("bottom", "top", "north", "east", "south", "west") + +# This first set of utilities support OpenStudio materials, constructions, +# construction sets, etc. If relying on default StandardOpaqueMaterial: +# - roughness (rgh) : "Smooth" +# - thickness : 0.1 m +# - thermal conductivity (k ) : 0.1 W/m.K +# - density (rho) : 0.1 kg/m3 +# - specific heat (cp ) : 1400.0 J/kg•K +# +# https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ +# OpenStudio-3.6.1-doc/model/html/ +# classopenstudio_1_1model_1_1_standard_opaque_material.html + +# ... apart from surface roughness, rarely would these material properties be +# suitable - and are therefore explicitly set below. On roughness: +# - "Very Rough" : stucco +# - "Rough" : brick +# - "Medium Rough" : concrete +# - "Medium Smooth" : clear pine +# - "Smooth" : smooth plaster +# - "Very Smooth" : glass + +# Thermal mass categories (e.g. exterior cladding, interior finish, framing). +# - "none" : token for 'no user selection', resort to defaults +# - "light" : e.g. 16mm drywall interior +# - "medium" : e.g. 100mm brick cladding +# - "heavy" : e.g. 200mm poured concrete +_mass = ("none", "light", "medium", "heavy") + +# Basic materials (StandardOpaqueMaterials only). +_mats = dict( + material = {}, # generic, e.g. lightweight cladding over furring, fibreboard + sand = {}, + concrete = {}, + brick = {}, + drywall = {}, # e.g. finished drywall, intermediate sheating + mineral = {}, # e.g. light, semi-rigid rock wool insulation + polyiso = {}, # e.g. polyisocyanurate panel (or similar) + cellulose = {}, # e.g. blown, dry/stabilized fibre + door = {} # single composite material (45mm insulated steel door) + ) + +# Default inside + outside air film resistances (m2.K/W). +_film = dict( + shading = 0.000, # NA + partition = 0.150, # uninsulated wood- or steel-framed wall + wall = 0.150, # un/insulated wall + roof = 0.140, # un/insulated roof + floor = 0.190, # un/insulated (exposed) floor + basement = 0.120, # un/insulated basement wall + slab = 0.160, # un/insulated basement slab or slab-on-grade + door = 0.150, # standard, 45mm insulated steel (opaque) door + window = 0.150, # vertical fenestration, e.g. glazed doors, windows + skylight = 0.140 # e.g. domed 4' x 4' skylight + ) + +# Default (~1980s) envelope Uo (W/m2•K), based on surface type. +_uo = dict( + shading = None, # N/A + partition = None, # N/A + wall = 0.384, # rated R14.8 hr•ft2F/Btu + roof = 0.327, # rated R17.6 hr•ft2F/Btu + floor = 0.317, # rated R17.9 hr•ft2F/Btu (exposed floor) + basement = None, + slab = None, + door = 1.800, # insulated, unglazed steel door (single layer) + window = 2.800, # e.g. patio doors (simple glazing) + skylight = 3.500 # all skylight technologies + ) + +def sidz(): + """Returns available 'sidz' keyword tuple.""" + return _sidz + +def mass(): + """Returns available 'mass' keyword tuple.""" + return _mass + +def mats(): + """Returns stored materials dictionary.""" + return _mats + +def film(): + """Returns inside + outside air film resistance dictionary.""" + return _film + +def uo(): + """Returns (surface type-specific) Uo dictionary.""" + return _uo + def instantiate_new_osm(): return openstudio.model.Model() diff --git a/tests/test_osut.py b/tests/test_osut.py index 2c00644..3d79e54 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -45,9 +45,25 @@ class TestOSutModuleMethods(unittest.TestCase): def test00_oslg_constants(self): self.assertEqual(DBG, 1) - def test01_open_osm(self): + def test01_osm_instantiation(self): model = osut.instantiate_new_osm() print(model) + def test02_tuples(self): + self.assertEqual(len(osut.sidz()), 6) + self.assertEqual(len(osut.mass()), 4) + self.assertEqual(osut.sidz()[5], "west") + self.assertEqual(osut.mass()[1], "light") + + def test03_dictionaries(self): + self.assertEqual(len(osut.mats()),9) + self.assertEqual(len(osut.film()),10) + self.assertEqual(len(osut.uo()),10) + self.assertTrue("concrete" in osut.mats()) + self.assertTrue("skylight" in osut.film()) + self.assertTrue("skylight" in osut.uo()) + self.assertEqual(osut.film().keys(), osut.uo().keys()) + + if __name__ == "__main__": unittest.main() From a96ce6fe5ea70d927251f4becd3f05c32c43aad1 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 18 Jun 2025 07:55:35 -0400 Subject: [PATCH 03/48] Tests OSut dictionary keys --- src/osut/osut.py | 26 ++++++++++++++++++++++++++ tests/test_osut.py | 10 ++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/osut/osut.py b/src/osut/osut.py index 3651fed..b4938a6 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -113,6 +113,32 @@ class _CN: skylight = 3.500 # all skylight technologies ) +# Standard opaque materials, taken from a variety of sources (e.g. energy +# codes, NREL's BCL). +# - sand +# - concrete +# - brick +# +# Material properties remain largely constant between projects. What does +# tend to vary (between projects) are thicknesses. Actual OpenStudio opaque +# material objects can be (re)set in more than one way by class methods. +# In genConstruction, OpenStudio object identifiers are later suffixed with +# actual material thicknesses, in mm, e.g.: +# - "concrete200" : 200mm concrete slab +# - "drywall13" : 1/2" gypsum board +# - "drywall16" : 5/8" gypsum board +# +# Surface absorptances are also defaulted in OpenStudio: +# - thermal, long-wave (thm) : 90% +# - solar (sol) : 70% +# - visible (vis) : 70% +# +# These can also be explicitly set (see :sand). +_mats["material"]["rgh"] = "MediumSmooth" +_mats["material"]["k" ] = 0.115 +_mats["material"]["rho"] = 540.000 +_mats["material"]["cp" ] = 1200.000 + def sidz(): """Returns available 'sidz' keyword tuple.""" return _sidz diff --git a/tests/test_osut.py b/tests/test_osut.py index 3d79e54..6aa17e3 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -64,6 +64,16 @@ def test03_dictionaries(self): self.assertTrue("skylight" in osut.uo()) self.assertEqual(osut.film().keys(), osut.uo().keys()) + def test04_materials(self): + self.assertTrue("rgh" in osut.mats()["material"]) + self.assertTrue("k" in osut.mats()["material"]) + self.assertTrue("rho" in osut.mats()["material"]) + self.assertTrue("cp" in osut.mats()["material"]) + +# _mats["material"]["rgh"] = "MediumSmooth" +# _mats["material"]["k "] = 0.115 +# _mats["material"]["rho"] = 540.000 +# _mats["material"]["cp "] = 1200.000 if __name__ == "__main__": unittest.main() From a3dac5f34766646d6bd487df86e04cad03ccff38 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 07:49:28 -0400 Subject: [PATCH 04/48] uv-based setup --- .gitignore | 71 +++----------------------------------------------- pyproject.toml | 19 +++++--------- 2 files changed, 9 insertions(+), 81 deletions(-) diff --git a/.gitignore b/.gitignore index d398be7..7b9468e 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ parts/ sdist/ var/ wheels/ +pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg @@ -51,7 +52,6 @@ coverage.xml *.py,cover .hypothesis/ .pytest_cache/ -cover/ # Translations *.mo @@ -74,7 +74,6 @@ instance/ docs/_build/ # PyBuilder -.pybuilder/ target/ # Jupyter Notebook @@ -85,9 +84,7 @@ profile_default/ ipython_config.py # pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version +.python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -96,30 +93,7 @@ ipython_config.py # install all needed dependencies. #Pipfile.lock -# UV -# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -#uv.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/latest/usage/project/#working-with-version-control -.pdm.toml -.pdm-python -.pdm-build/ - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +# PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ # Celery stuff @@ -155,42 +129,3 @@ dmypy.json # Pyre type checker .pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -# Abstra -# Abstra is an AI-powered process automation framework. -# Ignore directories containing user credentials, local state, and settings. -# Learn more at https://abstra.io/docs -.abstra/ - -# Visual Studio Code -# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore -# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore -# and can be added to the global gitignore or merged into this file. However, if you prefer, -# you could uncomment the following to ignore the enitre vscode folder -# .vscode/ - -# Ruff stuff: -.ruff_cache/ - -# PyPI configuration file -.pypirc - -# Cursor -# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to -# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data -# refer to https://docs.cursor.com/context/ignore-files -.cursorignore -.cursorindexingignore diff --git a/pyproject.toml b/pyproject.toml index ae8199d..8b1db87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,19 +1,12 @@ -[build-system] -requires = ["hatchling"] -build-backend = "hatchling.build" - [project] name = "osut" version = "0.6.0a1" -requires-python = ">=3.2" -authors = [ - {name = "Denis Bourgeois", email = "denis@rd2.ca"} -] -maintainers = [ - {name = "Denis Bourgeois", email = "denis@rd2.ca"} -] description = "OpenStudio SDK utilities for Python" readme = "README.md" +requires-python = ">=3.2" +authors = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] +maintainers = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] +dependencies = [] license = "BSD-3-Clause" license-files = ["LICENSE"] classifiers = [ @@ -28,5 +21,5 @@ keywords = ["openstudio", "utilities"] "Homepage" = "https://github.com/rd2/pyOSut" "Bug Tracker" = "https://github.com/rd2/pyOSut/issues" -[tool.hatch.build.targets.wheel] -packages = ["src/osut"] +[tool.uv] +package = true From 377efcbf109f60487d3e46d312b4fac7eeb67d17 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 07:59:00 -0400 Subject: [PATCH 05/48] Imports oslg from PyPi --- pyproject.toml | 2 +- tests/test_osut.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8b1db87..98e8982 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ readme = "README.md" requires-python = ">=3.2" authors = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] maintainers = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] -dependencies = [] +dependencies = ["oslg"] license = "BSD-3-Clause" license-files = ["LICENSE"] classifiers = [ diff --git a/tests/test_osut.py b/tests/test_osut.py index 6aa17e3..85cf864 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -29,7 +29,7 @@ import sys sys.path.append("./src/osut") -sys.path.append("./src/osut/oslg") +# sys.path.append("./src/osut/oslg") import unittest import osut From 2bf41149e903409d80837e0974a4e466a7a542de Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 08:36:58 -0400 Subject: [PATCH 06/48] Deletes oslg static files --- .gitignore | 3 + pyproject.toml | 9 +- src/osut/oslg/__init__.py | 0 src/osut/oslg/oslg.py | 322 -------------------------------------- tests/test_osut.py | 3 +- 5 files changed, 10 insertions(+), 327 deletions(-) delete mode 100644 src/osut/oslg/__init__.py delete mode 100644 src/osut/oslg/oslg.py diff --git a/.gitignore b/.gitignore index 7b9468e..87eebea 100644 --- a/.gitignore +++ b/.gitignore @@ -93,6 +93,9 @@ ipython_config.py # install all needed dependencies. #Pipfile.lock +# Not sure about the uv.lock ... +uv.lock + # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ diff --git a/pyproject.toml b/pyproject.toml index 98e8982..6581e41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,14 +3,17 @@ name = "osut" version = "0.6.0a1" description = "OpenStudio SDK utilities for Python" readme = "README.md" -requires-python = ">=3.2" +requires-python = ">=3.7.1" authors = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] maintainers = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] -dependencies = ["oslg"] +dependencies = [ + "oslg", + "openstudio>=3.6.1", +] license = "BSD-3-Clause" license-files = ["LICENSE"] classifiers = [ - "Programming Language :: Python :: 3.2", + "Programming Language :: Python :: 3.7.1", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules", "Operating System :: OS Independent", diff --git a/src/osut/oslg/__init__.py b/src/osut/oslg/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/osut/oslg/oslg.py b/src/osut/oslg/oslg.py deleted file mode 100644 index cb7b6f7..0000000 --- a/src/osut/oslg/oslg.py +++ /dev/null @@ -1,322 +0,0 @@ -# BSD 3-Clause License -# -# Copyright (c) 2022-2025, rd2 -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import inspect - -from dataclasses import dataclass - -@dataclass(frozen=True) -class _CN: - DEBUG = 1 - INFO = 2 - WARN = 3 - ERROR = 4 - FATAL = 5 -CN = _CN() - -_tag = ("", - "DEBUG", - "INFO", - "WARNING", - "ERROR", - "FATAL") - -_msg = ("", - "Debugging ...", - "Success! No errors, no warnings", - "Partial success, raised non-fatal warnings", - "Partial success, encountered non-fatal errors", - "Failure, triggered fatal errors") - -_logs = [] -_level = CN.INFO -_status = 0 - - -def logs(): - """Returns the logs list.""" - return _logs - - -def level(): - """Returns current log level.""" - return _level - - -def status(): - """Returns current log status.""" - return _status - - -def is_debug(): - """Returns whether current status is DEBUG.""" - return bool(_status == CN.DEBUG) - - -def is_info(): - """Returns whether current status is INFO.""" - return bool(_status == CN.INFO) - - -def is_warn(): - """Returns whether current status is WARNING.""" - return bool(_status == CN.WARNING) - - -def is_error(): - """Returns whether current status is ERROR.""" - return bool(_status == CN.ERROR) - - -def is_fatal(): - """Returns whether current status is FATAL.""" - return bool(_status == CN.FATAL) - - -def tag(lvl=_level): - """Returns preset OSlg string that matches log level.""" - try: - lvl = int(lvl) - except ValueError as e: - return _tag[0] - - if not 0 <= lvl < len(_tag): - return _tag[0] - - return _tag[lvl] - - -def msg(stat=_status): - """Returns preset OSlg message that matches log status.""" - try: - stat = int(stat) - except ValueError as e: - return _msg[0] - - if not 0 <= stat < len(_msg): - return _msg[0] - - return _msg[stat] - - -def trim(txt="", length=60): - """Converts object to String - trims if necessary.""" - try: - length = int(length) - except ValueError as e: - length = 60 - - try: - txt = str(txt).strip()[:length] - except UnicodeEncodeError: - txt = "" - except Exception as e: - txt = "" - - return txt - - -def reset(lvl=CN.DEBUG): - """Resets level, if lvl (input) is within accepted range.""" - global _level - - try: - lvl = int(lvl) - except ValueError as e: - return _level - - if CN.DEBUG <= lvl <= CN.FATAL: - _level = lvl - - return _level - - -def log(lvl=CN.DEBUG, message=""): - """Logs a new entry, if provided arguments are valid.""" - global _status - global _logs - - try: - lvl = int(lvl) - except ValueError as e: - return _status - - message = trim(message) - - if not message or lvl < CN.DEBUG or lvl > CN.FATAL or lvl < _level: - return _status - - if lvl > _status: - _status = lvl - - _logs.append(dict(level=lvl, message=message)) - - return _status - - -def invalid(id="", mth="", ord=0, lvl=CN.DEBUG, res=None): - """Logs template 'invalid object' message (~60chars), if valid arguments.""" - id = trim(id) - mth = trim(mth) - - try: - ord = int(ord) - except ValueError as e: - return res - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - msg = "Invalid '%s' " % (id) - - if ord > 0: - msg += "arg #%d " % (ord) - - msg += "(%s)" % (mth) - log(lvl, msg) - - return res - - -def mismatch(id="", obj=None, cl=None, mth="", lvl=CN.DEBUG, res=None): - """Logs template 'instance/class mismatch' message, if valid arguments.""" - - id = trim(id) - mth = trim(mth) - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not inspect.isclass(cl) or isinstance(obj, cl): - return res - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - msg = "'%s' %s? " % (id, type(obj).__name__) - msg += "expecting %s (%s)" % (cl.__name__, mth) - log(lvl, msg) - - return res - - -def hashkey(id="", dct={}, key="", mth="", lvl=CN.DEBUG, res=None): - """Logs template 'missing hash key' message, if valid arguments.""" - - id = trim(id) - mth = trim(mth) - ky = trim(key) - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not isinstance(dct, dict) or key in dct: - return res - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - log(lvl, "Missing '%s' key in %s (%s)" % (ky, id, mth)) - - return res - - -def empty(id="", mth="", lvl=CN.DEBUG, res=None): - """Logs template 'empty' message, if provided arguments are valid.""" - - id = trim(id) - mth = trim(mth) - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - log(lvl, "Empty '%s' (%s)" % (id, mth)) - - res - - -def zero(id="", mth="", lvl=CN.DEBUG, res=None): - """Logs template 'zero' value message, if provided arguments are valid.""" - - id = trim(id) - mth = trim(mth) - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - log(lvl, "Zero '%s' (%s)" % (id, mth)) - - return res - - -def negative(id="", mth="", lvl=CN.DEBUG, res=None): - """Logs template 'negative' message, if provided arguments are valid.""" - - id = trim(id) - mth = trim(mth) - - try: - lvl = int(lvl) - except ValueError as e: - return res - - if not id or not mth or lvl < CN.DEBUG or lvl > CN.FATAL: - return res - - log(lvl, "Negative '%s' (%s)" % (id, mth)) - - return res - - -def clean(): - """Resets log status and entries.""" - global _status - global _logs - - _status = 0 - _logs = [] - - return _level diff --git a/tests/test_osut.py b/tests/test_osut.py index 85cf864..a2ec20e 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -29,10 +29,9 @@ import sys sys.path.append("./src/osut") -# sys.path.append("./src/osut/oslg") import unittest -import osut +from osut import osut DBG = osut.CN.DBG INF = osut.CN.INF From cca6516f35a9c1fc51bd0d29e0315c7f3713175b Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 08:38:55 -0400 Subject: [PATCH 07/48] Adapts GitHub Action yaml file for oslg --- .github/workflows/pull_request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8c48da6..2c2b78b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -19,7 +19,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: python -m pip install --upgrade pip setuptools wheel openstudio + run: python -m pip install --upgrade pip setuptools wheel openstudio oslg - name: Run unit tests run: python -m unittest @@ -37,6 +37,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install dependencies - run: python -m pip install --upgrade pip setuptools wheel openstudio + run: python -m pip install --upgrade pip setuptools wheel openstudio oslg - name: Run unit tests run: python -m unittest From 4a41d813f0c4765e3a02e1b65892a286856bf851 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 08:41:44 -0400 Subject: [PATCH 08/48] Reverts oslg package/module import --- tests/test_osut.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index a2ec20e..ff117e3 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -31,7 +31,7 @@ sys.path.append("./src/osut") import unittest -from osut import osut +import osut DBG = osut.CN.DBG INF = osut.CN.INF From c273d8c76e23b568370094c60e8b66b3f64c0c73 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 08:55:46 -0400 Subject: [PATCH 09/48] Tests material (dict) floating point values --- tests/test_osut.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/test_osut.py b/tests/test_osut.py index ff117e3..364f897 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -68,6 +68,12 @@ def test04_materials(self): self.assertTrue("k" in osut.mats()["material"]) self.assertTrue("rho" in osut.mats()["material"]) self.assertTrue("cp" in osut.mats()["material"]) + self.assertTrue(osut.mats()["material"]["rgh"], "MediumSmooth") + self.assertTrue(round(osut.mats()["material"]["k" ], 3), 0.115) + self.assertTrue(round(osut.mats()["material"]["rho"], 3), 540.000) + self.assertTrue(round(osut.mats()["material"]["cp" ], 3), 1200.000) + + # _mats["material"]["rgh"] = "MediumSmooth" # _mats["material"]["k "] = 0.115 From f72ed4f1db96d424988d4de0fc838e5207f8c6e9 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 21 Jun 2025 10:45:32 -0400 Subject: [PATCH 10/48] Completes initial material unittests --- src/osut/osut.py | 50 +++++++++++++++++++++++++++++++++++++++++----- tests/test_osut.py | 20 +++++++++---------- 2 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index b4938a6..ef964ce 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -133,11 +133,51 @@ class _CN: # - solar (sol) : 70% # - visible (vis) : 70% # -# These can also be explicitly set (see :sand). -_mats["material"]["rgh"] = "MediumSmooth" -_mats["material"]["k" ] = 0.115 -_mats["material"]["rho"] = 540.000 -_mats["material"]["cp" ] = 1200.000 +# These can also be explicitly set (see "sand"). +_mats["material" ]["rgh"] = "MediumSmooth" +_mats["material" ]["k" ] = 0.115 +_mats["material" ]["rho"] = 540.000 +_mats["material" ]["cp" ] = 1200.000 + +_mats["sand" ]["rgh"] = "Rough" +_mats["sand" ]["k" ] = 1.290 +_mats["sand" ]["rho"] = 2240.000 +_mats["sand" ]["cp" ] = 830.000 +_mats["sand" ]["thm"] = 0.900 +_mats["sand" ]["sol"] = 0.700 +_mats["sand" ]["vis"] = 0.700 + +_mats["concrete" ]["rgh"] = "MediumRough" +_mats["concrete" ]["k" ] = 1.730 +_mats["concrete" ]["rho"] = 2240.000 +_mats["concrete" ]["cp" ] = 830.000 + +_mats["brick" ]["rgh"] = "Rough" +_mats["brick" ]["k" ] = 0.675 +_mats["brick" ]["rho"] = 1600.000 +_mats["brick" ]["cp" ] = 790.000 + +_mats["drywall" ]["k" ] = 0.160 +_mats["drywall" ]["rho"] = 785.000 +_mats["drywall" ]["cp" ] = 1090.000 + +_mats["mineral" ]["k" ] = 0.050 +_mats["mineral" ]["rho"] = 19.000 +_mats["mineral" ]["cp" ] = 960.000 + +_mats["polyiso" ]["k" ] = 0.025 +_mats["polyiso" ]["rho"] = 25.000 +_mats["polyiso" ]["cp" ] = 1590.000 + +_mats["cellulose"]["rgh"] = "VeryRough" +_mats["cellulose"]["k" ] = 0.050 +_mats["cellulose"]["rho"] = 80.000 +_mats["cellulose"]["cp" ] = 835.000 + +_mats["door" ]["rgh"] = "MediumSmooth" +_mats["door" ]["k" ] = 0.080 +_mats["door" ]["rho"] = 600.000 +_mats["door" ]["cp" ] = 1000.000 def sidz(): """Returns available 'sidz' keyword tuple.""" diff --git a/tests/test_osut.py b/tests/test_osut.py index 364f897..6239d1e 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -68,17 +68,17 @@ def test04_materials(self): self.assertTrue("k" in osut.mats()["material"]) self.assertTrue("rho" in osut.mats()["material"]) self.assertTrue("cp" in osut.mats()["material"]) - self.assertTrue(osut.mats()["material"]["rgh"], "MediumSmooth") - self.assertTrue(round(osut.mats()["material"]["k" ], 3), 0.115) - self.assertTrue(round(osut.mats()["material"]["rho"], 3), 540.000) - self.assertTrue(round(osut.mats()["material"]["cp" ], 3), 1200.000) + self.assertTrue("thm" in osut.mats()["sand"]) + self.assertTrue("sol" in osut.mats()["sand"]) + self.assertTrue("vis" in osut.mats()["sand"]) + self.assertEqual(osut.mats()["material"]["rgh"], "MediumSmooth") + self.assertEqual(round(osut.mats()["material"]["k" ], 3), 0.115) + self.assertEqual(round(osut.mats()["material"]["rho" ], 3), 540.000) + self.assertEqual(round(osut.mats()["material"]["cp" ], 3), 1200.000) + self.assertEqual(round(osut.mats()["sand" ]["thm" ], 3), 0.900) + self.assertEqual(round(osut.mats()["sand" ]["sol" ], 3), 0.700) + self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) - -# _mats["material"]["rgh"] = "MediumSmooth" -# _mats["material"]["k "] = 0.115 -# _mats["material"]["rho"] = 540.000 -# _mats["material"]["cp "] = 1200.000 - if __name__ == "__main__": unittest.main() From 464c4a0c3261cb2c8b94b13be4c4d0ac5d09e90a Mon Sep 17 00:00:00 2001 From: brgix Date: Sun, 22 Jun 2025 12:31:42 -0400 Subject: [PATCH 11/48] Tests oslg log retrieval --- src/osut/osut.py | 12 ++++++++++++ tests/test_osut.py | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index ef964ce..9777b20 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -201,3 +201,15 @@ def uo(): def instantiate_new_osm(): return openstudio.model.Model() + +def genConstruction(model=None, specs=dict()): + mth = "OSut::genConstruction" + cl1 = openstudio.model.Model + cl2 = dict + + if not isinstance(model, openstudio.model.Model): + return oslg.mismatch("model", model, cl1, mth, CN.DBG) + if not isinstance(specs, cl2): + return oslg.mismatch("specs", specs, cl2, mth, CN.DBG) + + return None diff --git a/tests/test_osut.py b/tests/test_osut.py index 6239d1e..b0fe0a3 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -30,6 +30,7 @@ import sys sys.path.append("./src/osut") +import openstudio import unittest import osut @@ -46,7 +47,8 @@ def test00_oslg_constants(self): def test01_osm_instantiation(self): model = osut.instantiate_new_osm() - print(model) + self.assertTrue(isinstance(model, openstudio.model.Model)) + del(model) def test02_tuples(self): self.assertEqual(len(osut.sidz()), 6) @@ -79,6 +81,19 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["sol" ], 3), 0.700) self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) + def test05_genConstruction(self): + self.assertEqual(osut.oslg.status(), 0) + self.assertEqual(osut.oslg.level(), INF) + self.assertEqual(osut.oslg.reset(DBG), DBG) + self.assertEqual(osut.oslg.level(), DBG) + model = osut.instantiate_new_osm() + self.assertEqual(osut.genConstruction(model, dict()), None) + self.assertEqual(len(osut.oslg.logs()),0) + self.assertEqual(osut.genConstruction(float, dict()), None) + self.assertEqual(len(osut.oslg.logs()),1) + print(osut.oslg.logs()) + del(model) + if __name__ == "__main__": unittest.main() From 6d52ce77b770560b7cddf66b21d21070b1d97c31 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 24 Jun 2025 07:05:47 -0400 Subject: [PATCH 12/48] Tests oslg log retrieval (2) --- src/osut/osut.py | 2 +- tests/test_osut.py | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 9777b20..3f7dda6 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -209,7 +209,7 @@ def genConstruction(model=None, specs=dict()): if not isinstance(model, openstudio.model.Model): return oslg.mismatch("model", model, cl1, mth, CN.DBG) - if not isinstance(specs, cl2): + if not isinstance(specs, type(cl2)): return oslg.mismatch("specs", specs, cl2, mth, CN.DBG) return None diff --git a/tests/test_osut.py b/tests/test_osut.py index b0fe0a3..ca9f02f 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -82,16 +82,21 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) def test05_genConstruction(self): - self.assertEqual(osut.oslg.status(), 0) - self.assertEqual(osut.oslg.level(), INF) - self.assertEqual(osut.oslg.reset(DBG), DBG) - self.assertEqual(osut.oslg.level(), DBG) + o = osut.oslg + + self.assertEqual(o.status(), 0) + self.assertEqual(o.level(), INF) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) model = osut.instantiate_new_osm() self.assertEqual(osut.genConstruction(model, dict()), None) - self.assertEqual(len(osut.oslg.logs()),0) + self.assertEqual(len(o.logs()),0) self.assertEqual(osut.genConstruction(float, dict()), None) - self.assertEqual(len(osut.oslg.logs()),1) - print(osut.oslg.logs()) + self.assertEqual(len(o.logs()),1) + self.assertEqual(o.logs()[0]["level"], DBG) + self.assertTrue("Model (OSut::genConstruction)" in o.logs()[0]["message"]) + self.assertTrue(o.clean(), DBG) + self.assertEqual(len(o.logs()),0) del(model) From d4215380762563d9a1bd51d937a1f965d83161f7 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 24 Jun 2025 15:01:29 -0400 Subject: [PATCH 13/48] Tests oslg log retrieval (3) --- tests/test_osut.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index ca9f02f..6c839b9 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -82,8 +82,9 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) def test05_genConstruction(self): + m1 = "'model' type? expecting Model (OSut::genConstruction)" + m2 = "'specs' type? expecting dict (OSut::genConstruction)" o = osut.oslg - self.assertEqual(o.status(), 0) self.assertEqual(o.level(), INF) self.assertEqual(o.reset(DBG), DBG) @@ -94,7 +95,13 @@ def test05_genConstruction(self): self.assertEqual(osut.genConstruction(float, dict()), None) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) - self.assertTrue("Model (OSut::genConstruction)" in o.logs()[0]["message"]) + self.assertEqual(m1, o.logs()[0]["message"]) + self.assertTrue(o.clean(), DBG) + self.assertEqual(len(o.logs()),0) + self.assertEqual(osut.genConstruction(model, 1000), None) + self.assertEqual(len(o.logs()),1) + self.assertEqual(o.logs()[0]["level"], DBG) + self.assertTrue(m2, o.logs()[0]["message"]) self.assertTrue(o.clean(), DBG) self.assertEqual(len(o.logs()),0) del(model) From 9725a7911459f9fdf9e55d10043024a79e9bdec8 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 25 Jun 2025 18:04:16 -0400 Subject: [PATCH 14/48] Fixes genConstruction error logging --- src/osut/osut.py | 30 ++++++++++++++---------------- tests/test_osut.py | 22 +++++++++++----------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 3f7dda6..bca41bb 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -179,37 +179,35 @@ class _CN: _mats["door" ]["rho"] = 600.000 _mats["door" ]["cp" ] = 1000.000 -def sidz(): - """Returns available 'sidz' keyword tuple.""" +def sidz() -> tuple: + """Returns available 'sidz' keywords.""" return _sidz -def mass(): - """Returns available 'mass' keyword tuple.""" +def mass() -> tuple: + """Returns available 'mass' keywords.""" return _mass -def mats(): +def mats() -> dict: """Returns stored materials dictionary.""" return _mats -def film(): +def film() -> dict: """Returns inside + outside air film resistance dictionary.""" return _film -def uo(): +def uo() -> dict: """Returns (surface type-specific) Uo dictionary.""" return _uo -def instantiate_new_osm(): - return openstudio.model.Model() - def genConstruction(model=None, specs=dict()): - mth = "OSut::genConstruction" - cl1 = openstudio.model.Model - cl2 = dict + mth = "osut.genConstruction" if not isinstance(model, openstudio.model.Model): - return oslg.mismatch("model", model, cl1, mth, CN.DBG) - if not isinstance(specs, type(cl2)): - return oslg.mismatch("specs", specs, cl2, mth, CN.DBG) + oslg.mismatch("model", model, openstudio.model.Model, mth, CN.DBG) + return None + if not isinstance(specs, dict): + oslg.mismatch("specs", specs, dict, mth, CN.DBG) + return None + # mismatch("dictionary", [], dict, "index", ERR), None) return None diff --git a/tests/test_osut.py b/tests/test_osut.py index 6c839b9..b6d9ccc 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -46,7 +46,7 @@ def test00_oslg_constants(self): self.assertEqual(DBG, 1) def test01_osm_instantiation(self): - model = osut.instantiate_new_osm() + model = openstudio.model.Model() self.assertTrue(isinstance(model, openstudio.model.Model)) del(model) @@ -82,26 +82,26 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) def test05_genConstruction(self): - m1 = "'model' type? expecting Model (OSut::genConstruction)" - m2 = "'specs' type? expecting dict (OSut::genConstruction)" - o = osut.oslg + m1 = "'specs' list? expecting dict (osut.genConstruction)" + m2 = "'model' str? expecting Model (osut.genConstruction)" + o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.level(), INF) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) - model = osut.instantiate_new_osm() + model = openstudio.model.Model() self.assertEqual(osut.genConstruction(model, dict()), None) - self.assertEqual(len(o.logs()),0) - self.assertEqual(osut.genConstruction(float, dict()), None) + self.assertFalse(o.logs()) + self.assertEqual(osut.genConstruction(model, []), None) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) - self.assertEqual(m1, o.logs()[0]["message"]) + self.assertEqual(o.logs()[0]["message"], m1) self.assertTrue(o.clean(), DBG) - self.assertEqual(len(o.logs()),0) - self.assertEqual(osut.genConstruction(model, 1000), None) + self.assertFalse(o.logs()) + self.assertEqual(osut.genConstruction("model", dict()), None) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) - self.assertTrue(m2, o.logs()[0]["message"]) + self.assertTrue(o.logs()[0]["message"], m2) self.assertTrue(o.clean(), DBG) self.assertEqual(len(o.logs()),0) del(model) From ff2c387e3412c6d97fc4b2be61690f51fb401623 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 25 Jun 2025 18:06:00 -0400 Subject: [PATCH 15/48] Fixes genConstruction error logging (2) --- src/osut/osut.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index bca41bb..67d7959 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -208,6 +208,5 @@ def genConstruction(model=None, specs=dict()): if not isinstance(specs, dict): oslg.mismatch("specs", specs, dict, mth, CN.DBG) return None - # mismatch("dictionary", [], dict, "index", ERR), None) return None From adbb507056b64120eef4c636b0f1d1e53bab2cf5 Mon Sep 17 00:00:00 2001 From: brgix Date: Thu, 26 Jun 2025 08:34:50 -0400 Subject: [PATCH 16/48] Extends genConstruction (1) --- src/osut/osut.py | 204 +++++++++++++++++++++++++++++++++++++++++++++ tests/test_osut.py | 4 +- 2 files changed, 206 insertions(+), 2 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 67d7959..3dfad6a 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -209,4 +209,208 @@ def genConstruction(model=None, specs=dict()): oslg.mismatch("specs", specs, dict, mth, CN.DBG) return None + if "type" not in specs: specs["type"] = "wall" + if "id" not in specs: specs["id" ] = "" + + id = oslg.trim(specs["id"]) + if not id: id = "OSut.CON." + specs["type"] + + if specs["type"] not in uo(): + return oslg.invalid("surface type", mth, 2, CN.ERR) + + if "uo" not in specs: specs["uo"] = uo()[ specs["type"] ] + u = specs["uo"] + + if u: + try: + u = float(u) + except ValueError as e: + return oslg.mismatch(id + " Uo", u, float, mth, CN.ERR) + + if u < 0: + return oslg.negative(id + " Uo", mth, CN.ERR) + if u > 5.678: + return oslg.invalid(id + " Uo (> 5.678)", mth, 2, CN.ERR) + + # Optional specs. Log/reset if invalid. + if "clad" not in specs: specs["clad" ] = "light" # exterior + if "frame" not in specs: specs["frame" ] = "light" + if "finish" not in specs: specs["finish"] = "light" # interior + if specs["clad" ] not in mass(): oslg.log(CN.WRN, "Reset to light cladding") + if specs["frame" ] not in mass(): oslg.log(CN.WRN, "Reset to light framing") + if specs["finish"] not in mass(): oslg.log(CN.WRN, "Reset to light finish") + if specs["clad" ] not in mass(): specs["clad" ] = "light" + if specs["frame" ] not in mass(): specs["frame" ] = "light" + if specs["frame" ] not in mass(): specs["finish"] = "light" + + flm = film()[ specs["type"] ] + + # Layered assembly (max 4 layers): + # - cladding + # - intermediate sheathing + # - composite insulating/framing + # - interior finish + a = dict(clad={}, sheath={}, compo={}, finish={}, glazing={}) + + if specs["type"] == "shading": + mt = "material" + d = 0.015 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "partition": + if not specs["clad"]: + mt = "drywall" + d = 0.015 + a["clad"]["mat"] = mats()[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "concrete" + d = 0.015 + if specs["frame"] == "light": mt = "material" + if u: mt = "mineral" + if specs["frame"] == "medium": d = 0.100 + if specs["frame"] == "heavy": d = 0.200 + if u: d = 0.100 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "drywall" + d = 0.015 + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "wall": + if not specs["clad"]: + mt = "material" + d = 0.100 + if specs["clad"] == "medium": mt = "brick" + if specs["clad"] == "heavy": mt = "concrete" + if specs["clad"] == "light": d = 0.015 + a["clad"]["mat"] = mats()[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "drywall" + d = 0.100 + if specs["frame"] == "medium": mt = "mineral" + if specs["frame"] == "heavy": mt = "polyiso" + if specs["frame"] == "light": d = 0.015 + a["sheath"]["mat"] = mats()[mt] + a["sheath"]["d" ] = d + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "mineral" + d = 0.100 + if specs["frame"] == "medium": mt = "cellulose" + if specs["frame"] == "heavy": mt = "concrete" + if not u: mt = "material" + if specs["frame"] == "heavy": d = 0.200 + if not u: d = 0.015 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "concrete" + d = 0.015 + if specs["finish"] == "light": mt = "drywall" + if specs["finish"] == "medium": d = 0.100 + if specs["finish"] == "heavy": d = 0.200 + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "roof": + if not specs["clad"]: + mt = "concrete" + d = 0.015 + if specs["clad"] == "light": mt = "material" + if specs["clad"] == "medium": d = 0.100 # e.g. terrace + if specs["clad"] == "heavy": d = 0.200 # e.g. parking garage + a["clad"]["mat"] = mats()[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "mineral" + d = 0.100 + if specs["frame"] == "medium": mt = "polyiso" + if specs["frame"] == "heavy": mt = "cellulose" + if not u: mt = "material" + if not u: d = 0.015 + a["compo"][:"mat"] = mats()[mt] + a["compo"][:"d" ] = d + a["compo"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "concrete" + d = 0.015 + if specs["finish"] == "light": mt = "drywall" + if specs["finish"] == "medium": d = 0.100 # proxy for steel decking + if specs["finish"] == "heavy": d = 0.200 + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "floor": + if not specs["clad"]: + mt = "material" + d = 0.015 + a["clad"]["mat"] = mats()[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "mineral" + d = 0.100 + if specs["frame"] == "medium": mt = "polyiso" + if specs["frame"] == "heavy": mt = "cellulose" + if not u: mt = "material" + if not u: d = 0.015 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "concrete" + d = 0.015 + if specs["finish"] == "light": mt = "material" + if specs["finish"] == "medium": d = 0.100 + if specs["finish"] == "heavy": d = 0.200 + a["finish"][:"mat"] = mats()[mt] + a["finish"][:"d" ] = d + a["finish"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "slab": + mt = "sand" + d = 0.100 + a["clad"]["mat"] = mats()[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["frame"]: + mt = "polyiso" + d = 0.025 + a["sheath"]["mat"] = mats()[mt] + a["sheath"]["d" ] = d + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "concrete" + d = 0.100 + if specs["frame"] == "heavy": d = 0.200 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "material" + d = 0.015 + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + return None diff --git a/tests/test_osut.py b/tests/test_osut.py index b6d9ccc..b0ee5c8 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -90,8 +90,6 @@ def test05_genConstruction(self): self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) model = openstudio.model.Model() - self.assertEqual(osut.genConstruction(model, dict()), None) - self.assertFalse(o.logs()) self.assertEqual(osut.genConstruction(model, []), None) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) @@ -104,6 +102,8 @@ def test05_genConstruction(self): self.assertTrue(o.logs()[0]["message"], m2) self.assertTrue(o.clean(), DBG) self.assertEqual(len(o.logs()),0) + self.assertEqual(osut.genConstruction(model, dict()), None) + self.assertFalse(o.logs()) del(model) From b55d1f0a53f72abcb52b754699b9c4af4a4741f2 Mon Sep 17 00:00:00 2001 From: brgix Date: Thu, 26 Jun 2025 13:43:00 -0400 Subject: [PATCH 17/48] Completes conditional materials logic --- src/osut/osut.py | 104 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/src/osut/osut.py b/src/osut/osut.py index 3dfad6a..26e2b88 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -413,4 +413,108 @@ def genConstruction(model=None, specs=dict()): a["finish"]["d" ] = d a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + elif specs["type"] == "basement": + if not specs["clad"]: + mt = "concrete" + d = 0.100 + if specs["clad"] == "light": mt = "material" + if specs["clad"] == "light": d = 0.015 + a["clad"][:"mat"] = mats[mt] + a["clad"][:"d" ] = d + a["clad"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "polyiso" + d = 0.025 + a["sheath"]["mat"] = mats()[mt] + a["sheath"]["d" ] = d + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "concrete" + d = 0.200 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + else: + mt = "concrete" + d = 0.200 + a["sheath"]["mat"] = mats()[mt] + a["sheath"]["d" ] = d + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + if not specs["finish"]: + mt = "mineral" + d = 0.075 + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + mt = "drywall" + d = 0.015 + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "door": + mt = "door" + d = 0.045 + a["compo" ]["mat" ] = mats()[mt] + a["compo" ]["d" ] = d + a["compo" ]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + + elif specs["type"] == "window": + a["glazing"]["u" ] = specs["uo"] + a["glazing"]["id" ] = "OSut.window" + a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] + a["glazing"]["id" ] += ".SHGC%d" % a["glazing"]["shgc"]*100 + a["glazing"]["shgc"] = 0.450 + if "shgc" in specs: a["glazing"]["shgc"] = specs["shgc"] + + elif specs["type"] == "skylight": + a["glazing"]["u" ] = specs["uo"] + a["glazing"]["id" ] = "OSut.skylight" + a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] + a["glazing"]["id" ] += ".SHGC%d" % a["glazing"]["shgc"]*100 + a["glazing"]["shgc"] = 0.450 + if "shgc" in specs: a["glazing"]["shgc"] = specs["shgc"] + + if bool(a["glazing"]): + layers = openstudio.model.FenestrationMaterialVector() + + u = a["glazing"]["u" ] + shgc = a["glazing"]["shgc"] + lyr = model.getSimpleGlazingByName(a["glazing"]["id"]) + + # if lyr.empty? + # lyr = OpenStudio::Model::SimpleGlazing.new(model, u, shgc) + # lyr.setName(a[:glazing][:id]) + # else + # lyr = lyr.get + # + # layers << lyr + else: + layers = openstudio.model.OpaqueMaterialVector() + + # Loop through each layer spec, and generate construction. + # a.each do |i, l| + # next if l.empty? + # + # lyr = model.getStandardOpaqueMaterialByName(l["id"]) + # + # if lyr.empty? + # lyr = OpenStudio::Model::StandardOpaqueMaterial.new(model) + # lyr.setName(l[:id]) + # lyr.setThickness(l[:d]) + # lyr.setRoughness( l[:mat][:rgh]) if l[:mat].key?(:rgh) + # lyr.setConductivity( l[:mat][:k ]) if l[:mat].key?(:k ) + # lyr.setDensity( l[:mat][:rho]) if l[:mat].key?(:rho) + # lyr.setSpecificHeat( l[:mat][:cp ]) if l[:mat].key?(:cp ) + # lyr.setThermalAbsorptance(l[:mat][:thm]) if l[:mat].key?(:thm) + # lyr.setSolarAbsorptance( l[:mat][:sol]) if l[:mat].key?(:sol) + # lyr.setVisibleAbsorptance(l[:mat][:vis]) if l[:mat].key?(:vis) + # else: + # lyr = lyr.get + # + # layers << lyr + + return None From a6890c0b7e54cb13ba38077b0067c001d698c3df Mon Sep 17 00:00:00 2001 From: brgix Date: Fri, 27 Jun 2025 14:37:04 -0400 Subject: [PATCH 18/48] First true tests of genConstruction - OK --- src/osut/osut.py | 290 +++++++++++++++++++++++++++++++++++++++------ tests/test_osut.py | 3 +- 2 files changed, 258 insertions(+), 35 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 26e2b88..a878c43 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -179,32 +179,202 @@ class _CN: _mats["door" ]["rho"] = 600.000 _mats["door" ]["cp" ] = 1000.000 + def sidz() -> tuple: """Returns available 'sidz' keywords.""" return _sidz + def mass() -> tuple: """Returns available 'mass' keywords.""" return _mass + def mats() -> dict: """Returns stored materials dictionary.""" return _mats + def film() -> dict: """Returns inside + outside air film resistance dictionary.""" return _film + def uo() -> dict: """Returns (surface type-specific) Uo dictionary.""" return _uo + +def rsi(lc=None, film=0.0, t=0.0) -> float: + """ + Returns a construction's 'standard calc' thermal resistance (m2•K/W), which + includes air film resistances. It excludes insulating effects of shades, + screens, etc. in the case of fenestrated constructions. Adapted from BTAP's + 'Material' Module "get_conductance" (P. Lopez). + + Args: + lc: + an OpenStudio layered construction + film: + thermal resistance of surface air films (m2•K/W) + t: + gas temperature (°C) (optional) + + Returns: + Layered construction's thermal resistance (0 if invalid input, see logs). + + """ + mth = "osut.rsi" + cl1 = openstudio.model.LayeredConstruction + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = lc.nameString() + + if not isinstance(lc, cl1): + return oslg.mismatch(id, lc, cl1, mth, CN.DBG, 0.0) + + try: + film = float(film) + except ValueError as e: + return oslg.mismatch(id + " film", film, float, mth, CN.DBG, 0.0) + + try: + t = float(t) + except ValueError as e: + return oslg.mismatch(id + " temp K", t, float, mth, CN.DBG, 0.0) + + t += 273.0 # °C to K + + if t < 0: + return oslg.negative(id + " temp K", mth, CN.ERR, 0.0) + + if film < 0: + return oslg.negative(id + " film", mth, ERR, 0.0) + + rsi = film + + for m in lc.layers(): + if m.to_SimpleGlazing(): + return 1 / m.to_SimpleGlazing().get().uFactor() + elif m.to_StandardGlazing(): + rsi += m.to_StandardGlazing().get().thermalResistance() + elif m.to_RefractionExtinctionGlazing(): + rsi += m.to_RefractionExtinctionGlazing().get().thermalResistance() + elif m.to_Gas(): + rsi += m.to_Gas().get().getThermalResistance(t) + elif m.to_GasMixture(): + rsi += m.to_GasMixture().get().getThermalResistance(t) + + # Opaque materials next. + if m.to_StandardOpaqueMaterial(): + rsi += m.to_StandardOpaqueMaterial().get().thermalResistance() + elif m.to_MasslessOpaqueMaterial(): + rsi += m.to_MasslessOpaqueMaterial() + elif m.to_RoofVegetation(): + rsi += m.to_RoofVegetation().get().thermalResistance() + elif m.to_AirGap(): + rsi += m.to_AirGap().get().thermalResistance() + + return rsi + + +def insulatingLayer(lc=None) -> dict: + """ + Identifies a layered construction's (opaque) insulating layer. Returns an + insulating-layer dictionary: + "index": insulating layer index [0, n layers) within construction + "type" : layer material type ("standard" or "massless") + "r" : material thermal resistance in m2•K/W. + If unsuccessful, DEBUG errors are logged. Dictionary is voided as follows: + "index": None + "type" : None + "r" : 0.0 + + Args: + lc: + [openStudio.model.LayeredConstruction] a layered construction + + Returns: + Insulating layer dictionary. + + """ + mth = "osut.insulatingLayer" + cl = openstudio.model.LayeredConstruction + res = dict(index=None, type=None, r=0.0) + i = 0 # iterator + if not hasattr(lc, CN.NS): return oslg.invalid("lc", mth, 1, DBG, res) + id = lc.nameString() + if not isinstance(lc, cl): return oslg.mismatch(id, lc, cl, mth, DBG, res) + + for m in lc.layers(): + if m.to_MasslessOpaqueMaterial(): + m = m.to_MasslessOpaqueMaterial().get() + + if m.thermalResistance() < 0.001 or m.thermalResistance() < res["r"]: + i += 1 + continue + else: + res["r" ] = m.thermalResistance() + res["index"] = i + res["type" ] = "massless" + + if m.to_StandardOpaqueMaterial(): + m = m.to_StandardOpaqueMaterial().get() + k = m.thermalConductivity() + d = m.thickness() + + if (d < 0.003) or (k > 3.0) or (d / k < res["r"]): + i += 1 + continue + else: + res["r" ] = d / k + res["index"] = i + res["type" ] = "standard" + + i += 1 + + return res + +## + # Generates an OpenStudio multilayered construction, + materials if needed. + # + # @param model [OpenStudio::Model::Model] a model + # @param [Hash] specs OpenStudio construction specifications + # @option specs [#to_s] :id ("") construction identifier + # @option specs [Symbol] :type (:wall), see @@uo + # @option specs [Numeric] :uo assembly clear-field Uo, in W/m2•K, see @@uo + # @option specs [Symbol] :clad (:light) exterior cladding, see @@mass + # @option specs [Symbol] :frame (:light) assembly framing, see @@mass + # @option specs [Symbol] :finish (:light) interior finishing, see @@mass + # + # @return [OpenStudio::Model::Construction] generated construction + # @return [nil] if invalid inputs (see logs) def genConstruction(model=None, specs=dict()): + """ + Generates an OpenStudio multilayered construction, + materials if needed. + + Args: + lc: dict + A dictionary holding multilayered construction parameters: + - "id": construction identifier + - "type": surface type - see OSut 'uo()' + - "uo": assembly clear-field Uo, in W/m2•K - see OSut 'uo()' + - "clad": exterior cladding - see OSut 'mass()' + - "frame": assembly framing - see OSut 'mass()' + - "finish": interior finish - see OSut 'mass()' + + Returns: + Generated construction, or None if invalid inputs (see logs). + + """ mth = "osut.genConstruction" if not isinstance(model, openstudio.model.Model): oslg.mismatch("model", model, openstudio.model.Model, mth, CN.DBG) return None + if not isinstance(specs, dict): oslg.mismatch("specs", specs, dict, mth, CN.DBG) return None @@ -213,12 +383,14 @@ def genConstruction(model=None, specs=dict()): if "id" not in specs: specs["id" ] = "" id = oslg.trim(specs["id"]) + if not id: id = "OSut.CON." + specs["type"] if specs["type"] not in uo(): return oslg.invalid("surface type", mth, 2, CN.ERR) if "uo" not in specs: specs["uo"] = uo()[ specs["type"] ] + u = specs["uo"] if u: @@ -236,9 +408,9 @@ def genConstruction(model=None, specs=dict()): if "clad" not in specs: specs["clad" ] = "light" # exterior if "frame" not in specs: specs["frame" ] = "light" if "finish" not in specs: specs["finish"] = "light" # interior - if specs["clad" ] not in mass(): oslg.log(CN.WRN, "Reset to light cladding") - if specs["frame" ] not in mass(): oslg.log(CN.WRN, "Reset to light framing") - if specs["finish"] not in mass(): oslg.log(CN.WRN, "Reset to light finish") + if specs["clad" ] not in mass(): oslg.log(CN.WRN, "Reset: light cladding") + if specs["frame" ] not in mass(): oslg.log(CN.WRN, "Reset: light framing") + if specs["finish"] not in mass(): oslg.log(CN.WRN, "Reset: light finish") if specs["clad" ] not in mass(): specs["clad" ] = "light" if specs["frame" ] not in mass(): specs["frame" ] = "light" if specs["frame" ] not in mass(): specs["finish"] = "light" @@ -477,44 +649,94 @@ def genConstruction(model=None, specs=dict()): a["glazing"]["shgc"] = 0.450 if "shgc" in specs: a["glazing"]["shgc"] = specs["shgc"] - if bool(a["glazing"]): + if a["glazing"]: layers = openstudio.model.FenestrationMaterialVector() u = a["glazing"]["u" ] shgc = a["glazing"]["shgc"] lyr = model.getSimpleGlazingByName(a["glazing"]["id"]) - # if lyr.empty? - # lyr = OpenStudio::Model::SimpleGlazing.new(model, u, shgc) - # lyr.setName(a[:glazing][:id]) - # else - # lyr = lyr.get - # - # layers << lyr + if lyr: + lyr = lyr.get() + else: + lyr = openstudio.model.SimpleGlazing(model, u, shgc) + lyr.setName(a["glazing"]["id"]) + + layers.append(lyr) else: layers = openstudio.model.OpaqueMaterialVector() # Loop through each layer spec, and generate construction. - # a.each do |i, l| - # next if l.empty? - # - # lyr = model.getStandardOpaqueMaterialByName(l["id"]) - # - # if lyr.empty? - # lyr = OpenStudio::Model::StandardOpaqueMaterial.new(model) - # lyr.setName(l[:id]) - # lyr.setThickness(l[:d]) - # lyr.setRoughness( l[:mat][:rgh]) if l[:mat].key?(:rgh) - # lyr.setConductivity( l[:mat][:k ]) if l[:mat].key?(:k ) - # lyr.setDensity( l[:mat][:rho]) if l[:mat].key?(:rho) - # lyr.setSpecificHeat( l[:mat][:cp ]) if l[:mat].key?(:cp ) - # lyr.setThermalAbsorptance(l[:mat][:thm]) if l[:mat].key?(:thm) - # lyr.setSolarAbsorptance( l[:mat][:sol]) if l[:mat].key?(:sol) - # lyr.setVisibleAbsorptance(l[:mat][:vis]) if l[:mat].key?(:vis) - # else: - # lyr = lyr.get - # - # layers << lyr - - - return None + for i, l in a.items(): + if not l: continue + + lyr = model.getStandardOpaqueMaterialByName(l["id"]) + + if lyr: + lyr = lyr.get() + else: + lyr = openstudio.model.StandardOpaqueMaterial(model) + lyr.setName(l["id"]) + lyr.setThickness(l["d"]) + if "rgh" in l["mat"]: lyr.setRoughness(l["mat"]["rgh"]) + if "k" in l["mat"]: lyr.setConductivity(l["mat"]["k"]) + if "rho" in l["mat"]: lyr.setDensity(l["mat"]["rho"]) + if "cp" in l["mat"]: lyr.setSpecificHeat(l["mat"]["cp" ]) + if "thm" in l["mat"]: lyr.setThermalAbsorptance(l["mat"]["thm"]) + if "sol" in l["mat"]: lyr.setSolarAbsorptance(l["mat"]["sol"]) + if "vis" in l["mat"]: lyr.setVisibleAbsorptance(l["mat"]["vis"]) + + layers.append(lyr) + + c = openstudio.model.Construction(layers) + c.setName("id") + + # Adjust insulating layer thickness or conductivity to match requested Uo. + if not a["glazing"]: + ro = 1 / specs["uo"] - film()[specs["type"]] if specs["uo"] else 0 + + if specs["type"] == "door": # 1x layer, adjust conductivity + layer = c.getLayer(0).to_StandardOpaqueMaterial() + + if not layer: + return oslg.invalid(id + " standard material?", mth, 0) + + layer = layer.get() + k = layer.thickness() / ro + layer.setConductivity(k) + + elif ro > 0: # multiple layers, adjust insulating layer thickness + lyr = insulatingLayer(c) + + if not lyr["index"] or not lyr["type"] or not lyr["r"]: + return oslg.invalid(id + " construction", mth, 0) + + index = lyr["index"] + layer = c.getLayer(index).to_StandardOpaqueMaterial() + + if not layer: + return oslg.invalid(id + " material %d" % index, mth, 0) + + layer = layer.get() + k = layer.conductivity() + d = (ro - rsi(c) + lyr["r"]) * k + + if d < 0.03: + return oslg.invalid(id + " adjusted material thickness", mth, 0) + + nom = "osut." + # nom += layer.nameString.gsub(/[^a-z]/i, "").gsub("OSut", "") + # nom += "|" + # nom += format("%03d", d*1000)[-3..-1] + # "OSut|concrete|100" + # + # nom = "OSut|" + # nom += layer.nameString.gsub(/[^a-z]/i, "").gsub("OSut", "") + # nom += "|" + # nom += format("%03d", d*1000)[-3..-1] + + if not model.getStandardOpaqueMaterialByName(nom): + layer.setName(nom) + layer.setThickness(d) + + return c diff --git a/tests/test_osut.py b/tests/test_osut.py index b0ee5c8..3a84651 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -102,7 +102,8 @@ def test05_genConstruction(self): self.assertTrue(o.logs()[0]["message"], m2) self.assertTrue(o.clean(), DBG) self.assertEqual(len(o.logs()),0) - self.assertEqual(osut.genConstruction(model, dict()), None) + c = osut.genConstruction(model, dict()) + self.assertTrue(isinstance(c, openstudio.model.Construction)) self.assertFalse(o.logs()) del(model) From f9e667c3d74dc19e3f31755d4f32a49861b5941f Mon Sep 17 00:00:00 2001 From: brgix Date: Sun, 29 Jun 2025 07:17:45 -0400 Subject: [PATCH 19/48] Completes material id assignment --- src/osut/osut.py | 104 ++++++++++++++++++++------------------------- tests/test_osut.py | 30 ++++++++++++- 2 files changed, 73 insertions(+), 61 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index a878c43..77a0e92 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -27,6 +27,7 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +import re import openstudio from oslg import oslg from dataclasses import dataclass @@ -304,9 +305,14 @@ def insulatingLayer(lc=None) -> dict: cl = openstudio.model.LayeredConstruction res = dict(index=None, type=None, r=0.0) i = 0 # iterator - if not hasattr(lc, CN.NS): return oslg.invalid("lc", mth, 1, DBG, res) - id = lc.nameString() - if not isinstance(lc, cl): return oslg.mismatch(id, lc, cl, mth, DBG, res) + + if not hasattr(lc, CN.NS): + return oslg.invalid("lc", mth, 1, CN.DBG, res) + + id = lc.nameString() + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, res) for m in lc.layers(): if m.to_MasslessOpaqueMaterial(): @@ -337,26 +343,13 @@ def insulatingLayer(lc=None) -> dict: return res -## - # Generates an OpenStudio multilayered construction, + materials if needed. - # - # @param model [OpenStudio::Model::Model] a model - # @param [Hash] specs OpenStudio construction specifications - # @option specs [#to_s] :id ("") construction identifier - # @option specs [Symbol] :type (:wall), see @@uo - # @option specs [Numeric] :uo assembly clear-field Uo, in W/m2•K, see @@uo - # @option specs [Symbol] :clad (:light) exterior cladding, see @@mass - # @option specs [Symbol] :frame (:light) assembly framing, see @@mass - # @option specs [Symbol] :finish (:light) interior finishing, see @@mass - # - # @return [OpenStudio::Model::Construction] generated construction - # @return [nil] if invalid inputs (see logs) + def genConstruction(model=None, specs=dict()): """ Generates an OpenStudio multilayered construction, + materials if needed. Args: - lc: dict + specs: A dictionary holding multilayered construction parameters: - "id": construction identifier - "type": surface type - see OSut 'uo()' @@ -370,14 +363,13 @@ def genConstruction(model=None, specs=dict()): """ mth = "osut.genConstruction" + cl = openstudio.model.Model - if not isinstance(model, openstudio.model.Model): - oslg.mismatch("model", model, openstudio.model.Model, mth, CN.DBG) - return None + if not isinstance(model, cl): + return oslg.mismatch("model", model, cl, mth, CN.DBG) if not isinstance(specs, dict): - oslg.mismatch("specs", specs, dict, mth, CN.DBG) - return None + return oslg.mismatch("specs", specs, dict, mth, CN.DBG) if "type" not in specs: specs["type"] = "wall" if "id" not in specs: specs["id" ] = "" @@ -429,7 +421,7 @@ def genConstruction(model=None, specs=dict()): d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "partition": if not specs["clad"]: @@ -437,7 +429,7 @@ def genConstruction(model=None, specs=dict()): d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "concrete" d = 0.015 @@ -448,14 +440,14 @@ def genConstruction(model=None, specs=dict()): if u: d = 0.100 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "drywall" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "wall": if not specs["clad"]: @@ -466,7 +458,7 @@ def genConstruction(model=None, specs=dict()): if specs["clad"] == "light": d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "drywall" d = 0.100 @@ -475,7 +467,7 @@ def genConstruction(model=None, specs=dict()): if specs["frame"] == "light": d = 0.015 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -486,7 +478,7 @@ def genConstruction(model=None, specs=dict()): if not u: d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "concrete" @@ -496,7 +488,7 @@ def genConstruction(model=None, specs=dict()): if specs["finish"] == "heavy": d = 0.200 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "roof": if not specs["clad"]: @@ -507,7 +499,7 @@ def genConstruction(model=None, specs=dict()): if specs["clad"] == "heavy": d = 0.200 # e.g. parking garage a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -517,7 +509,7 @@ def genConstruction(model=None, specs=dict()): if not u: d = 0.015 a["compo"][:"mat"] = mats()[mt] a["compo"][:"d" ] = d - a["compo"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "concrete" @@ -527,7 +519,7 @@ def genConstruction(model=None, specs=dict()): if specs["finish"] == "heavy": d = 0.200 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "floor": if not specs["clad"]: @@ -535,7 +527,7 @@ def genConstruction(model=None, specs=dict()): d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -545,7 +537,7 @@ def genConstruction(model=None, specs=dict()): if not u: d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "concrete" @@ -555,35 +547,35 @@ def genConstruction(model=None, specs=dict()): if specs["finish"] == "heavy": d = 0.200 a["finish"][:"mat"] = mats()[mt] a["finish"][:"d" ] = d - a["finish"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "slab": mt = "sand" d = 0.100 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["frame"]: mt = "polyiso" d = 0.025 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "concrete" d = 0.100 if specs["frame"] == "heavy": d = 0.200 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "material" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "basement": if not specs["clad"]: @@ -593,45 +585,45 @@ def genConstruction(model=None, specs=dict()): if specs["clad"] == "light": d = 0.015 a["clad"][:"mat"] = mats[mt] a["clad"][:"d" ] = d - a["clad"][:"id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["clad"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "polyiso" d = 0.025 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "concrete" d = 0.200 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) else: mt = "concrete" d = 0.200 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) if not specs["finish"]: mt = "mineral" d = 0.075 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) mt = "drywall" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "door": mt = "door" d = 0.045 a["compo" ]["mat" ] = mats()[mt] a["compo" ]["d" ] = d - a["compo" ]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) + a["compo" ]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) elif specs["type"] == "window": a["glazing"]["u" ] = specs["uo"] @@ -689,7 +681,7 @@ def genConstruction(model=None, specs=dict()): layers.append(lyr) c = openstudio.model.Construction(layers) - c.setName("id") + c.setName(id) # Adjust insulating layer thickness or conductivity to match requested Uo. if not a["glazing"]: @@ -724,16 +716,10 @@ def genConstruction(model=None, specs=dict()): if d < 0.03: return oslg.invalid(id + " adjusted material thickness", mth, 0) - nom = "osut." - # nom += layer.nameString.gsub(/[^a-z]/i, "").gsub("OSut", "") - # nom += "|" - # nom += format("%03d", d*1000)[-3..-1] - # "OSut|concrete|100" - # - # nom = "OSut|" - # nom += layer.nameString.gsub(/[^a-z]/i, "").gsub("OSut", "") - # nom += "|" - # nom += format("%03d", d*1000)[-3..-1] + print(layer.nameString()) # OSut.mineral100 + nom = re.sub(r'[^a-zA-Z]', '', layer.nameString()) + nom = re.sub(r'OSut', '', nom) + nom = "osut." + nom + "%03d" % int(d * 1000) if not model.getStandardOpaqueMaterialByName(nom): layer.setName(nom) diff --git a/tests/test_osut.py b/tests/test_osut.py index 3a84651..4e44055 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -89,24 +89,50 @@ def test05_genConstruction(self): self.assertEqual(o.level(), INF) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) model = openstudio.model.Model() + + # 1. Unsuccessful try: 2nd argument not a 'dict' (see 'm1'). self.assertEqual(osut.genConstruction(model, []), None) + self.assertEqual(o.status(), DBG) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) self.assertEqual(o.logs()[0]["message"], m1) self.assertTrue(o.clean(), DBG) self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + + # 2. Unsuccessful try: 1st argument not a model (see 'm2'). self.assertEqual(osut.genConstruction("model", dict()), None) + self.assertEqual(o.status(), DBG) self.assertEqual(len(o.logs()),1) self.assertEqual(o.logs()[0]["level"], DBG) self.assertTrue(o.logs()[0]["message"], m2) self.assertTrue(o.clean(), DBG) - self.assertEqual(len(o.logs()),0) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + + # 3. Successful try: defaulted specs (2nd argument). c = osut.genConstruction(model, dict()) - self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(o.status(), 0) self.assertFalse(o.logs()) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.wall") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 2) + l1 = c.layers()[0] + l2 = c.layers()[1] + print(l1) + print(l2) del(model) + # OS:Construction, + # {118a4bad-fe74-4e7e-a2fa-65fe40af04e1}, !- Handle + # OSut.CON.wall, !- Name + # , !- Surface Rendering Name + # {a654be16-2b34-4a85-9a56-0f4cf98e6045}, !- Layer 1 + # {d2b0c635-bacf-41c1-871f-4e5092e83266}; !- Layer 2 + if __name__ == "__main__": unittest.main() From ab6b34a6c37f21d710cdb2617e23aa0d8235af2a Mon Sep 17 00:00:00 2001 From: brgix Date: Sun, 29 Jun 2025 07:48:46 -0400 Subject: [PATCH 20/48] Adds RSI vs UO tests --- tests/test_osut.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index 4e44055..f372ff4 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -122,17 +122,13 @@ def test05_genConstruction(self): self.assertEqual(len(c.layers()), 2) l1 = c.layers()[0] l2 = c.layers()[1] - print(l1) - print(l2) + self.assertEqual(l1.nameString(), "OSut.drywall015") + self.assertEqual(l2.nameString(), "osut.mineral118") + r = osut.rsi(c, osut.film()["wall"]) + u = osut.uo()["wall"] + self.assertEqual(round(r, 3), round(1/u, 3)) + print(osut.rsi(c, osut.film()["wall"])) del(model) - # OS:Construction, - # {118a4bad-fe74-4e7e-a2fa-65fe40af04e1}, !- Handle - # OSut.CON.wall, !- Name - # , !- Surface Rendering Name - # {a654be16-2b34-4a85-9a56-0f4cf98e6045}, !- Layer 1 - # {d2b0c635-bacf-41c1-871f-4e5092e83266}; !- Layer 2 - - if __name__ == "__main__": unittest.main() From cd30085e617c6d74a30762267912b9a93d02dc2c Mon Sep 17 00:00:00 2001 From: brgix Date: Sun, 29 Jun 2025 16:00:16 -0400 Subject: [PATCH 21/48] Completes genConstruction unit tests --- src/osut/osut.py | 101 +++++---- tests/test_osut.py | 539 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 578 insertions(+), 62 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 77a0e92..c69122b 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -421,15 +421,15 @@ def genConstruction(model=None, specs=dict()): d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "partition": - if not specs["clad"]: + if not specs["clad"] == "none": mt = "drywall" d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "concrete" d = 0.015 @@ -440,17 +440,17 @@ def genConstruction(model=None, specs=dict()): if u: d = 0.100 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "drywall" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "wall": - if not specs["clad"]: + if not specs["clad"] == "none": mt = "material" d = 0.100 if specs["clad"] == "medium": mt = "brick" @@ -458,7 +458,7 @@ def genConstruction(model=None, specs=dict()): if specs["clad"] == "light": d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "drywall" d = 0.100 @@ -467,7 +467,7 @@ def genConstruction(model=None, specs=dict()): if specs["frame"] == "light": d = 0.015 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -478,9 +478,9 @@ def genConstruction(model=None, specs=dict()): if not u: d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "concrete" d = 0.015 if specs["finish"] == "light": mt = "drywall" @@ -488,10 +488,10 @@ def genConstruction(model=None, specs=dict()): if specs["finish"] == "heavy": d = 0.200 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "roof": - if not specs["clad"]: + if not specs["clad"] == "none": mt = "concrete" d = 0.015 if specs["clad"] == "light": mt = "material" @@ -499,7 +499,7 @@ def genConstruction(model=None, specs=dict()): if specs["clad"] == "heavy": d = 0.200 # e.g. parking garage a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -507,11 +507,11 @@ def genConstruction(model=None, specs=dict()): if specs["frame"] == "heavy": mt = "cellulose" if not u: mt = "material" if not u: d = 0.015 - a["compo"][:"mat"] = mats()[mt] - a["compo"][:"d" ] = d - a["compo"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["mat"] = mats()[mt] + a["compo"]["d" ] = d + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "concrete" d = 0.015 if specs["finish"] == "light": mt = "drywall" @@ -519,15 +519,15 @@ def genConstruction(model=None, specs=dict()): if specs["finish"] == "heavy": d = 0.200 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "floor": - if not specs["clad"]: + if not specs["clad"] == "none": mt = "material" d = 0.015 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "mineral" d = 0.100 @@ -537,109 +537,109 @@ def genConstruction(model=None, specs=dict()): if not u: d = 0.015 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "concrete" d = 0.015 if specs["finish"] == "light": mt = "material" if specs["finish"] == "medium": d = 0.100 if specs["finish"] == "heavy": d = 0.200 - a["finish"][:"mat"] = mats()[mt] - a["finish"][:"d" ] = d - a["finish"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["mat"] = mats()[mt] + a["finish"]["d" ] = d + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "slab": mt = "sand" d = 0.100 a["clad"]["mat"] = mats()[mt] a["clad"]["d" ] = d - a["clad"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["frame"]: + if not specs["frame"] == "none": mt = "polyiso" d = 0.025 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "concrete" d = 0.100 if specs["frame"] == "heavy": d = 0.200 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "material" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "basement": - if not specs["clad"]: + if not specs["clad"] == "none": mt = "concrete" d = 0.100 if specs["clad"] == "light": mt = "material" if specs["clad"] == "light": d = 0.015 - a["clad"][:"mat"] = mats[mt] - a["clad"][:"d" ] = d - a["clad"][:"id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["clad"]["mat"] = mats[mt] + a["clad"]["d" ] = d + a["clad"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "polyiso" d = 0.025 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "concrete" d = 0.200 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) else: mt = "concrete" d = 0.200 a["sheath"]["mat"] = mats()[mt] a["sheath"]["d" ] = d - a["sheath"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["sheath"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) - if not specs["finish"]: + if not specs["finish"] == "none": mt = "mineral" d = 0.075 a["compo"]["mat"] = mats()[mt] a["compo"]["d" ] = d - a["compo"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) mt = "drywall" d = 0.015 a["finish"]["mat"] = mats()[mt] a["finish"]["d" ] = d - a["finish"]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["finish"]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "door": mt = "door" d = 0.045 a["compo" ]["mat" ] = mats()[mt] a["compo" ]["d" ] = d - a["compo" ]["id" ] = "OSut." + mt + "%03d" % int(d * 1000) + a["compo" ]["id" ] = "OSut." + mt + ".%03d" % int(d * 1000) elif specs["type"] == "window": a["glazing"]["u" ] = specs["uo"] - a["glazing"]["id" ] = "OSut.window" - a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] - a["glazing"]["id" ] += ".SHGC%d" % a["glazing"]["shgc"]*100 a["glazing"]["shgc"] = 0.450 if "shgc" in specs: a["glazing"]["shgc"] = specs["shgc"] + a["glazing"]["id" ] = "OSut.window" + a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] + a["glazing"]["id" ] += ".SHGC%d" % (a["glazing"]["shgc"]*100) elif specs["type"] == "skylight": a["glazing"]["u" ] = specs["uo"] - a["glazing"]["id" ] = "OSut.skylight" - a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] - a["glazing"]["id" ] += ".SHGC%d" % a["glazing"]["shgc"]*100 a["glazing"]["shgc"] = 0.450 if "shgc" in specs: a["glazing"]["shgc"] = specs["shgc"] + a["glazing"]["id" ] = "OSut.skylight" + a["glazing"]["id" ] += ".U%.1f" % a["glazing"]["u"] + a["glazing"]["id" ] += ".SHGC%d" % (a["glazing"]["shgc"]*100) if a["glazing"]: layers = openstudio.model.FenestrationMaterialVector() @@ -716,10 +716,9 @@ def genConstruction(model=None, specs=dict()): if d < 0.03: return oslg.invalid(id + " adjusted material thickness", mth, 0) - print(layer.nameString()) # OSut.mineral100 nom = re.sub(r'[^a-zA-Z]', '', layer.nameString()) nom = re.sub(r'OSut', '', nom) - nom = "osut." + nom + "%03d" % int(d * 1000) + nom = "OSut." + nom + ".%03d" % int(d * 1000) if not model.getStandardOpaqueMaterialByName(nom): layer.setName(nom) diff --git a/tests/test_osut.py b/tests/test_osut.py index f372ff4..b06fc09 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -90,9 +90,9 @@ def test05_genConstruction(self): self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) - model = openstudio.model.Model() - # 1. Unsuccessful try: 2nd argument not a 'dict' (see 'm1'). + # Unsuccessful try: 2nd argument not a 'dict' (see 'm1'). + model = openstudio.model.Model() self.assertEqual(osut.genConstruction(model, []), None) self.assertEqual(o.status(), DBG) self.assertEqual(len(o.logs()),1) @@ -101,8 +101,10 @@ def test05_genConstruction(self): self.assertTrue(o.clean(), DBG) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) + del(model) - # 2. Unsuccessful try: 1st argument not a model (see 'm2'). + # Unsuccessful try: 1st argument not a model (see 'm2'). + model = openstudio.model.Model() self.assertEqual(osut.genConstruction("model", dict()), None) self.assertEqual(o.status(), DBG) self.assertEqual(len(o.logs()),1) @@ -111,23 +113,538 @@ def test05_genConstruction(self): self.assertTrue(o.clean(), DBG) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) + del(model) - # 3. Successful try: defaulted specs (2nd argument). - c = osut.genConstruction(model, dict()) + # Defaulted specs (2nd argument). + specs = dict() + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) self.assertEqual(o.status(), 0) self.assertFalse(o.logs()) + self.assertTrue(c) self.assertTrue(isinstance(c, openstudio.model.Construction)) self.assertEqual(c.nameString(), "OSut.CON.wall") self.assertTrue(c.layers()) - self.assertEqual(len(c.layers()), 2) - l1 = c.layers()[0] - l2 = c.layers()[1] - self.assertEqual(l1.nameString(), "OSut.drywall015") - self.assertEqual(l2.nameString(), "osut.mineral118") + self.assertEqual(len(c.layers()), 4) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[2].nameString(), "OSut.mineral.106") + self.assertEqual(c.layers()[3].nameString(), "OSut.drywall.015") r = osut.rsi(c, osut.film()["wall"]) u = osut.uo()["wall"] self.assertEqual(round(r, 3), round(1/u, 3)) - print(osut.rsi(c, osut.film()["wall"])) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Typical uninsulated, framed cavity wall - suitable for light + # interzone assemblies (i.e. symmetrical, 3-layer construction). + specs = dict(type="partition") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.partition") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(specs["uo"], None) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Alternative to (uninsulated) partition (more inputs, same outcome). + specs = dict(type="wall", clad="none", uo=None) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.wall") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(specs["uo"], None) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Insulated partition variant. + specs = dict(type="partition", uo=0.214) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.partition") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.216") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["partition"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Alternative to (insulated) partition (more inputs, similar outcome). + specs = dict(type="wall", uo=0.214, clad="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.wall") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.216") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["wall"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # A wall inherits a 4th (cladding) layer, by default. + specs = dict(type="wall", uo=0.214) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.wall") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 4) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[2].nameString(), "OSut.mineral.210") + self.assertEqual(c.layers()[3].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["wall"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Otherwise, a wall has a minimum of 2 layers. + specs = dict(type="wall", uo=0.214, clad="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.wall") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 2) + self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.221") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["wall"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Default shading material. + specs = dict(type="shading") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.shading") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # A single-layered, 5/8" partition (alternative: "shading"). + specs = dict(type="partition", clad="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.partition") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # A single-layered 4" concrete partition. + specs = dict(type="partition", clad="none", finish="none", frame="medium") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.partition") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.100") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # A single-layered 8" concrete partition. + specs = dict(type="partition", clad="none", finish="none", frame="heavy") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.partition") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.200") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # A light (1x layer), uninsulated attic roof (alternative: "shading"). + specs = dict(type="roof", uo=None, clad="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.roof") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Insulated, cathredral ceiling construction. + specs = dict(type="roof", uo=0.214) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.roof") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.215") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["roof"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Insulated, unfinished outdoor-facing plenum roof (polyiso + 4" slab). + specs = dict(type="roof", uo=0.214, frame="medium", finish="medium") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.roof") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.108") + self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["roof"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Insulated (conditioned), parking garage roof (polyiso under 8" slab). + specs = dict(type="roof", uo=0.214, clad="heavy", frame="medium", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.roof") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 2) + self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.200") + self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.110") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["roof"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Uninsulated plenum ceiling tiles (alternative: "shading"). + specs = dict(type="roof", uo=None, clad="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.roof") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Unfinished, insulated, framed attic floor (blown cellulose). + specs = dict(type="floor", uo=0.214, frame="heavy", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.floor") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 2) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.cellulose.217") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["floor"]) + self.assertEqual(round(r, 3), round(1/0.214, 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Finished, insulated exposed floor (e.g. wood-framed, residential). + specs = dict(type="floor", uo=0.214) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.floor") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.211") + self.assertEqual(c.layers()[2].nameString(), "OSut.material.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["floor"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Finished, insulated exposed floor (e.g. 4" slab, steel web joists). + specs = dict(type="floor", uo=0.214, finish="medium") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.floor") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.214") + self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["floor"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Uninsulated slab-on-grade. + specs = dict(type="slab", frame="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.slab") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 2) + self.assertEqual(c.layers()[0].nameString(), "OSut.sand.100") + self.assertEqual(c.layers()[1].nameString(), "OSut.concrete.100") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Insulated slab-on-grade. + specs = dict(type="slab", uo=0.214, finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.slab") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.sand.100") + self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.109") + self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.214) + r = osut.rsi(c, osut.film()["slab"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # 8" uninsulated basement wall. + specs = dict(type="basement", clad="none", finish="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.basement") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.200") + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # 8" interior-insulated, finished basement wall. + specs = dict(type="basement", uo=0.428, clad="none") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.basement") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 3) + self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.200") + self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.100") + self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.428) + r = osut.rsi(c, osut.film()["basement"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Standard, insulated steel door (default Uo = 1.8 W/K•m). + specs = dict(type="door") + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.door") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.door.045") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), osut.uo()["door"]) + r = osut.rsi(c, osut.film()["door"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + # Better-insulated door, window & skylight. + specs = dict(type="door", uo=0.900) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.door") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.door.045") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.900) + r = osut.rsi(c, osut.film()["door"]) + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + specs = dict(type="window", uo=0.900, shgc=0.35) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.window") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.window.U0.9.SHGC35") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.900) + r = osut.rsi(c) # not necessary to specify film + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) + del(model) + + specs = dict(type="skylight", uo=0.900) + model = openstudio.model.Model() + c = osut.genConstruction(model, specs) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + self.assertTrue(c) + self.assertTrue(isinstance(c, openstudio.model.Construction)) + self.assertEqual(c.nameString(), "OSut.CON.skylight") + self.assertTrue(c.layers()) + self.assertEqual(len(c.layers()), 1) + self.assertEqual(c.layers()[0].nameString(), "OSut.skylight.U0.9.SHGC45") + self.assertTrue("uo" in specs) + self.assertEqual(round(specs["uo"], 3), 0.900) + r = osut.rsi(c) # not necessary to specify film + self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertFalse(o.logs()) + self.assertEqual(o.status(), 0) del(model) if __name__ == "__main__": From 5075f30a2af0bddd74af6ee6bc61d213df8559df Mon Sep 17 00:00:00 2001 From: brgix Date: Mon, 30 Jun 2025 09:04:42 -0400 Subject: [PATCH 22/48] Tests OSM file open/read --- src/osut/osut.py | 167 +- tests/files/osms/in/seb.osm | 5305 +++++++++++++++++++++++++++++++++++ tests/test_osut.py | 296 +- 3 files changed, 5764 insertions(+), 4 deletions(-) create mode 100644 tests/files/osms/in/seb.osm diff --git a/src/osut/osut.py b/src/osut/osut.py index c69122b..4622da8 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -206,6 +206,68 @@ def uo() -> dict: return _uo +def are_standardOpaqueLayers(lc=None) -> bool: + """ + Validates if every material in a layered construction is standard & opaque. + + Args: + lc: + an OpenStudio layered construction + + Returns: + Whether all layers are valid. False if invalid inputs (see logs). + + """ + mth = "osut.are_standardOpaqueLayers" + cl = openstudio.model.LayeredConstruction + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = lc.nameString() + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) + + for m in lc.layers(): + if not m.to_StandardOpaqueMaterial(): return False + + return True + + +def thickness(lc=None) -> float: + """ + Returns total (standard opaque) layered construction thickness (m). + + Args: + lc: + an OpenStudio layered construction + + Returns: + Construction thickness. 0.0 if invalid inputs (see logs). + + """ + mth = "osut.thickness" + cl = openStudio.model.LayeredConstruction + d = 0.0 + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = lc.nameString() + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) + + if not osut.are_standardOpaqueLayers(lc): + log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) + return d + + for m in lc.layers(): d += m.thickness() + + return d + + def rsi(lc=None, film=0.0, t=0.0) -> float: """ Returns a construction's 'standard calc' thermal resistance (m2•K/W), which @@ -307,7 +369,7 @@ def insulatingLayer(lc=None) -> dict: i = 0 # iterator if not hasattr(lc, CN.NS): - return oslg.invalid("lc", mth, 1, CN.DBG, res) + return oslg.invalid("layered construction", mth, 1, CN.DBG, res) id = lc.nameString() @@ -725,3 +787,106 @@ def genConstruction(model=None, specs=dict()): layer.setThickness(d) return c + + +def genShade(subs=openstudio.model.SubSurfaceVector()) -> bool: + """ + Generates solar shade(s) (e.g. roller, textile) for glazed OpenStudio + SubSurfaces (v321+), controlled to minimize overheating in cooling months + (May to October in Northern Hemisphere), when outdoor dry bulb temperature + is above 18°C and impinging solar radiation is above 100 W/m2. + + Args: + subs: + A list of sub surfaces. + + Returns: + Whether successfully generated. False if invalid input (see logs). + + """ + # Filter OpenStudio warnings for ShadingControl: + # ref: https://github.com/NREL/OpenStudio/issues/4911 + # str = ".*(?MCDB, !- Name + 3.9, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + 3.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 12.2, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 12, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:SizingPeriod:DesignDay, + {35eec8c1-71f9-41cb-a0c8-760dc377c307}, !- Handle + Denver Centennial Golden N Ann Clg .4% Condns DP=>MDB, !- Name + 20.2, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 16.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Dewpoint, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.424, !- ASHRAE Taub {dimensionless} + 2.025; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {3993ba8f-9201-4ba3-a191-f8ec7e4d8d33}, !- Handle + Denver Centennial Golden N Ann Hum_n 99.6% Condns DP=>MCDB, !- Name + -10.9, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -21.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 12, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Dewpoint, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:SizingPeriod:DesignDay, + {a3856223-c2b4-4728-9855-d975703d699a}, !- Handle + Denver Centennial Golden N Ann Clg .4% Condns WB=>MDB, !- Name + 27.3, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 18.4, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.424, !- ASHRAE Taub {dimensionless} + 2.025; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {218a4deb-f92c-4ef3-918a-1b5e57d36328}, !- Handle + Denver Centennial Golden N Ann Htg 99.6% Condns DB, !- Name + -18.8, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -18.8, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 12, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:SizingPeriod:DesignDay, + {cc6557cf-9e2c-4ab9-b15c-3bddeebc6b49}, !- Handle + Denver Centennial Golden N Ann Clg .4% Condns DB=>MWB, !- Name + 33, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 15.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.424, !- ASHRAE Taub {dimensionless} + 2.025; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {feb8002e-d7b6-4aae-a9ad-9220a0e2bf53}, !- Handle + Denver Centennial Golden N Ann Clg .4% Condns Enth=>MDB, !- Name + 27.3, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 59700, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 81198, !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Enthalpy, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.424, !- ASHRAE Taub {dimensionless} + 2.025; !- ASHRAE Taud {dimensionless} + +OS:Schedule:Day, + {1313d4aa-f5da-4988-9dc4-f8def96641e8}, !- Handle + Schedule Day 7, !- Name + {7ff33d4a-ae5b-414f-8917-18110c7f1996}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.3; !- Value Until Time 1 + +OS:AirLoopHVAC:OutdoorAirSystem, + {3345a6bd-c06d-4df4-917e-d62f6391a25d}, !- Handle + Air Loop HVAC Outdoor Air System 1, !- Name + {121e66c7-f9ca-4eb8-96fe-812385f2f9ae}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {3d43f35d-d9d3-47d3-8022-7c301d0c0d1b}, !- Mixed Air Node Name + {38e41bcb-b081-463f-8f10-62789dd4e3fd}, !- Outdoor Air Stream Node Name + {62e5966f-7335-43d7-9ad7-b8adb7168c7b}, !- Relief Air Stream Node Name + {e5a338ca-66c3-46f9-a530-f8242e34c0b4}; !- Return Air Stream Node Name + +OS:Controller:OutdoorAir, + {121e66c7-f9ca-4eb8-96fe-812385f2f9ae}, !- Handle + Controller Outdoor Air 1, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + , !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {59c2125e-89c7-4893-b2e5-82865f483d75}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenOAFlowGreaterThanMinimum; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {59c2125e-89c7-4893-b2e5-82865f483d75}, !- Handle + Controller Mechanical Ventilation 1, !- Name + {cef4d0b8-0e58-4db8-a90b-c5b4006baa6d}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:Node, + {5896bd3e-e184-4ddc-b1a7-8240bcd71413}, !- Handle + Node 20, !- Name + , !- Inlet Port + {38e41bcb-b081-463f-8f10-62789dd4e3fd}; !- Outlet Port + +OS:Connection, + {38e41bcb-b081-463f-8f10-62789dd4e3fd}, !- Handle + {9ec9e6c5-029a-42f7-9fce-a89f434b432a}, !- Name + {5896bd3e-e184-4ddc-b1a7-8240bcd71413}, !- Source Object + 3, !- Outlet Port + {3345a6bd-c06d-4df4-917e-d62f6391a25d}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {41174a92-090c-49e5-a61c-6bb047ee2626}, !- Handle + Node 21, !- Name + {62e5966f-7335-43d7-9ad7-b8adb7168c7b}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {62e5966f-7335-43d7-9ad7-b8adb7168c7b}, !- Handle + {e7bcb0d9-be49-4987-bf57-195e3db247a0}, !- Name + {3345a6bd-c06d-4df4-917e-d62f6391a25d}, !- Source Object + 7, !- Outlet Port + {41174a92-090c-49e5-a61c-6bb047ee2626}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {bb738227-2909-4c4d-87dc-48a8d9074044}, !- Handle + Mixed Air, !- Name + {3d43f35d-d9d3-47d3-8022-7c301d0c0d1b}, !- Inlet Port + {2ab9b169-1af2-4fe9-8f1c-b08291808dbe}; !- Outlet Port + +OS:Connection, + {e5a338ca-66c3-46f9-a530-f8242e34c0b4}, !- Handle + {4492673b-e7e5-4154-9573-5881fb60de45}, !- Name + {d8f8c1b2-36dc-41c2-bcb8-4f674600e9df}, !- Source Object + 3, !- Outlet Port + {3345a6bd-c06d-4df4-917e-d62f6391a25d}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {3d43f35d-d9d3-47d3-8022-7c301d0c0d1b}, !- Handle + {e73280d7-3837-450a-81d9-ffcb4418efd4}, !- Name + {3345a6bd-c06d-4df4-917e-d62f6391a25d}, !- Source Object + 5, !- Outlet Port + {bb738227-2909-4c4d-87dc-48a8d9074044}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {2ab9b169-1af2-4fe9-8f1c-b08291808dbe}, !- Handle + {32e2a459-72b5-407d-8aec-9c0e2d538069}, !- Name + {bb738227-2909-4c4d-87dc-48a8d9074044}, !- Source Object + 3, !- Outlet Port + {2b1069ac-3425-4f7d-8b9f-5d4e0bdb9f7a}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {5dd3b25a-27a7-4ee4-933a-5cd0ac7ec442}, !- Handle + {71f2d57e-68c4-4006-abae-acc332a312b4}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Lights, + {68246042-675c-4dea-aafc-a002a18aa445}, !- Handle + Lights 2, !- Name + {d37916a2-51b3-491a-aae6-df6df0d5955e}, !- Lights Definition Name + {2ddcd1b5-a439-4b2a-a4db-57f098875981}; !- Space or SpaceType Name + +OS:Lights, + {3c8eeabe-7ac7-4d01-bffe-1b104056990c}, !- Handle + Lights 3, !- Name + {6a8499ce-0508-4e35-bff9-abe262dbce80}, !- Lights Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}; !- Space or SpaceType Name + +OS:People, + {1decb3ba-2b87-4421-b63b-76a8ebab5f21}, !- Handle + People 2, !- Name + {fb45132d-1356-4016-81b2-e752b6ea0e4f}, !- People Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}, !- Space or SpaceType Name + , !- Number of People Schedule Name + , !- Activity Level Schedule Name + , !- Surface Name/Angle Factor List Name + , !- Work Efficiency Schedule Name + , !- Clothing Insulation Schedule Name + , !- Air Velocity Schedule Name + 4; !- Multiplier + +OS:ElectricEquipment, + {dee77a95-0cf5-4d41-b753-da423a03022e}, !- Handle + Electric Equipment 1, !- Name + {01052f98-02ba-4f16-8af4-79afee332a89}, !- Electric Equipment Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}, !- Space or SpaceType Name + , !- Schedule Name + 2; !- Multiplier + +OS:ElectricEquipment, + {c78ab3d8-d694-4c16-9af6-244beb291b32}, !- Handle + Electric Equipment 3, !- Name + {71b91b96-a94f-4620-a617-18f7a6858b7e}, !- Electric Equipment Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}, !- Space or SpaceType Name + , !- Schedule Name + 6; !- Multiplier + +OS:ElectricEquipment, + {bc17f0fa-7c61-4a40-afd6-71836a3f5623}, !- Handle + Electric Equipment 4, !- Name + {51543306-0d91-44c8-ab12-bcbf4b58133f}, !- Electric Equipment Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}; !- Space or SpaceType Name + +OS:ElectricEquipment, + {90793064-4491-4d69-b2ad-89c6abde4982}, !- Handle + Electric Equipment 5, !- Name + {575a3153-7218-4ac2-a8cf-79258619ca6e}, !- Electric Equipment Definition Name + {efd80541-2fb1-4057-82a0-d497b2e416c4}; !- Space or SpaceType Name + +OS:ElectricEquipment, + {efc3c47e-351f-4034-bbd1-0f22ab9877ea}, !- Handle + Electric Equipment 6, !- Name + {5bfdab30-f2f5-4334-ba39-7bd1a2148f87}, !- Electric Equipment Definition Name + {efd80541-2fb1-4057-82a0-d497b2e416c4}; !- Space or SpaceType Name + +OS:ElectricEquipment, + {44b597f0-865a-495f-a71d-a44004e67341}, !- Handle + Electric Equipment 7, !- Name + {e7e220d6-3649-4d77-980c-13ccf20a1aa5}, !- Electric Equipment Definition Name + {efd80541-2fb1-4057-82a0-d497b2e416c4}; !- Space or SpaceType Name + +OS:ElectricEquipment, + {429c6976-c915-442e-8ebb-2da6cc14a19f}, !- Handle + Electric Equipment 2, !- Name + {5e30cc47-906d-4de0-bf68-d75ad9bb3bad}, !- Electric Equipment Definition Name + {437675c8-33a9-48fd-ad6c-a95e35efd97e}; !- Space or SpaceType Name + +OS:ElectricEquipment, + {63e881f3-0ae3-42ac-93cd-f729f1a20ac3}, !- Handle + Electric Equipment 8, !- Name + {c426ee9b-103d-432f-b121-7663701be5b1}, !- Electric Equipment Definition Name + {0d292db3-9fa1-4a16-994a-7b581ff2c395}; !- Space or SpaceType Name + +OS:Lights, + {b7a82c4b-a78b-4e59-adc5-b8f44d68bda6}, !- Handle + Lights 1, !- Name + {dac7d218-8798-485a-93ba-133009140508}, !- Lights Definition Name + {0d292db3-9fa1-4a16-994a-7b581ff2c395}; !- Space or SpaceType Name + +OS:Lights, + {874f3b06-d26a-4d27-a340-85122cefe559}, !- Handle + Lights 4, !- Name + {d37916a2-51b3-491a-aae6-df6df0d5955e}, !- Lights Definition Name + {efd80541-2fb1-4057-82a0-d497b2e416c4}; !- Space or SpaceType Name + +OS:Output:Variable, + {1e353f85-11a8-4495-a2ed-be20a1a827a1}, !- Handle + Output Variable 1, !- Name + *, !- Key Value + Zone Air Temperature, !- Variable Name + Hourly; !- Reporting Frequency + +OS:Node, + {fb981971-f19a-49c7-8466-838db0bae7c4}, !- Handle + Diffuser Outlet, !- Name + {0869ac10-3230-4867-96f6-f4c5ad0da45f}, !- Inlet Port + {3356df19-d3ee-4b70-9a55-c4a1faa72a9c}; !- Outlet Port + +OS:Node, + {6c20ce29-938b-48bb-b8d0-ebda3a986fc9}, !- Handle + Node 10, !- Name + {6f0e98ee-afb4-4b8c-844c-5281215cf1e7}, !- Inlet Port + {5e430aca-2d9a-48d5-bc01-d63408b6a591}; !- Outlet Port + +OS:Connection, + {3356df19-d3ee-4b70-9a55-c4a1faa72a9c}, !- Handle + {fce70bcd-172e-4637-a85e-6b90e71bb445}, !- Name + {fb981971-f19a-49c7-8466-838db0bae7c4}, !- Source Object + 3, !- Outlet Port + {1483d093-00cf-4411-a8db-204168f831d7}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {6f0e98ee-afb4-4b8c-844c-5281215cf1e7}, !- Handle + {04418a88-83b8-4fa8-9b01-13e7fa0a8e83}, !- Name + {62523a5c-b2fe-498f-b36c-5e31dceee4cf}, !- Source Object + 12, !- Outlet Port + {6c20ce29-938b-48bb-b8d0-ebda3a986fc9}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {5e430aca-2d9a-48d5-bc01-d63408b6a591}, !- Handle + {df27d844-a2f8-4880-9bec-d57175459a1e}, !- Name + {6c20ce29-938b-48bb-b8d0-ebda3a986fc9}, !- Source Object + 3, !- Outlet Port + {068c7c24-47dc-4405-afe0-b6ccc076d155}, !- Target Object + 3; !- Inlet Port + +OS:Output:Variable, + {cdbdd780-91f3-4717-8766-823b62e4426e}, !- Handle + Output Variable 2, !- Name + *, !- Key Value + Zone Electric Equipment Electric Power, !- Variable Name + Hourly; !- Reporting Frequency + +OS:ShadingSurfaceGroup, + {8c620f39-2d0f-4e6d-89ee-264479ae3e86}, !- Handle + Shading Surface Group 2, !- Name + Space, !- Shading Surface Type + {7ac41e7b-9d41-4e7b-b15e-c4f0bbc4b4fd}, !- Space Name + -0, !- Direction of Relative North {deg} + 4.5517885588319, !- X Origin {m} + 3.12873898197307, !- Y Origin {m} + 3.3528, !- Z Origin {m} + ; !- Shaded Object Name + +OS:ShadingSurface, + {3a311468-ee59-4a54-9827-54f82e6a473e}, !- Handle + Shading Surface 2, !- Name + , !- Construction Name + {8c620f39-2d0f-4e6d-89ee-264479ae3e86}, !- Shading Surface Group Name + , !- Transmittance Schedule Name + , !- Number of Vertices + 0, 0, 0.6096, !- X,Y,Z Vertex 1 {m} + 1.21133278763375, 2.33404597320226, 0.6096, !- X,Y,Z Vertex 2 {m} + -0.97080444949059, 3.46654053963048, 0.6096; !- X,Y,Z Vertex 3 {m} + +OS:ShadingSurface, + {33680a35-2d61-4cda-afa6-891975027756}, !- Handle + Shading Surface 3, !- Name + , !- Construction Name + {8c620f39-2d0f-4e6d-89ee-264479ae3e86}, !- Shading Surface Group Name + , !- Transmittance Schedule Name + , !- Number of Vertices + 0, 0, 0.6096, !- X,Y,Z Vertex 1 {m} + 0, 0, -0.6437376, !- X,Y,Z Vertex 2 {m} + 1.21133278763375, 2.33404597320226, -0.6437376, !- X,Y,Z Vertex 3 {m} + 1.21133278763375, 2.33404597320226, 0.6096; !- X,Y,Z Vertex 4 {m} + +OS:ShadingSurface, + {d3461e9a-7d95-4746-b5cc-c42003f25303}, !- Handle + Shading Surface 4, !- Name + , !- Construction Name + {8c620f39-2d0f-4e6d-89ee-264479ae3e86}, !- Shading Surface Group Name + , !- Transmittance Schedule Name + , !- Number of Vertices + -0.97080444949059, 3.46654053963048, 0.6096, !- X,Y,Z Vertex 1 {m} + -0.97080444949059, 3.46654053963048, 0, !- X,Y,Z Vertex 2 {m} + -8.68957136015247e-017, -2.43351388629693e-017, 0, !- X,Y,Z Vertex 3 {m} + -8.68957136015247e-017, -2.43351388629693e-017, 0.6096; !- X,Y,Z Vertex 4 {m} + +OS:ShadingSurface, + {3cfd2082-1844-4470-93e8-7b7b603dd7f9}, !- Handle + Shading Surface 5, !- Name + , !- Construction Name + {8c620f39-2d0f-4e6d-89ee-264479ae3e86}, !- Shading Surface Group Name + , !- Transmittance Schedule Name + , !- Number of Vertices + 1.21133278763375, 2.33404597320226, 0.6096, !- X,Y,Z Vertex 1 {m} + 1.21133278763375, 2.33404597320226, -0.6437376, !- X,Y,Z Vertex 2 {m} + -0.97080444949059, 3.46654053963048, -0.6437376, !- X,Y,Z Vertex 3 {m} + -0.97080444949059, 3.46654053963048, 0.6096; !- X,Y,Z Vertex 4 {m} + +OS:Schedule:Ruleset, + {766fe8da-7465-4153-b73c-fffc2f53fac9}, !- Handle + Core Zone Occupancy, !- Name + {c7a7a0af-8911-4250-aff1-a898c3d2f8ad}, !- Schedule Type Limits Name + {10201aa0-5737-4d38-b64a-17430ef8bb7f}; !- Default Day Schedule Name + +OS:Schedule:Day, + {10201aa0-5737-4d38-b64a-17430ef8bb7f}, !- Handle + Schedule Day 6, !- Name + {c7a7a0af-8911-4250-aff1-a898c3d2f8ad}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0.100000001490116, !- Value Until Time 1 + 16, !- Hour 2 + 0, !- Minute 2 + 0.300000011920929, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0.100000001490116; !- Value Until Time 3 + +OS:Schedule:Rule, + {91ac28e6-6034-4df1-ae8e-365239b098b1}, !- Handle + Schedule Rule 1, !- Name + {766fe8da-7465-4153-b73c-fffc2f53fac9}, !- Schedule Ruleset Name + 0, !- Rule Order + {00e344a8-29cb-40bc-8b82-d5fbbaffff89}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes; !- Apply Saturday + +OS:Schedule:Day, + {00e344a8-29cb-40bc-8b82-d5fbbaffff89}, !- Handle + Schedule Day 8, !- Name + {c7a7a0af-8911-4250-aff1-a898c3d2f8ad}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:People, + {f00efb12-f4e8-4654-94c1-5bb1cc2cb3c6}, !- Handle + People 1, !- Name + {fb45132d-1356-4016-81b2-e752b6ea0e4f}, !- People Definition Name + {efd80541-2fb1-4057-82a0-d497b2e416c4}, !- Space or SpaceType Name + {766fe8da-7465-4153-b73c-fffc2f53fac9}; !- Number of People Schedule Name + +OS:People, + {2cb44cf6-81e2-49ab-bdb8-0c73fe5a9117}, !- Handle + People 3, !- Name + {fb45132d-1356-4016-81b2-e752b6ea0e4f}, !- People Definition Name + {0d292db3-9fa1-4a16-994a-7b581ff2c395}, !- Space or SpaceType Name + {766fe8da-7465-4153-b73c-fffc2f53fac9}; !- Number of People Schedule Name + +OS:ShadingSurfaceGroup, + {c69cc47d-99c0-4561-9ad2-48bb8cd1cc23}, !- Handle + Shading Surface Group 1, !- Name + Space, !- Shading Surface Type + {bedc97d7-4ca5-45bf-bea5-f3c47c53eb60}, !- Space Name + -0, !- Direction of Relative North {deg} + -0.81299265208014, !- X Origin {m} + -1.36744419439558, !- Y Origin {m} + 1.91529774586845, !- Z Origin {m} + ; !- Shaded Object Name + +OS:ShadingSurface, + {06205f83-2528-4fdc-8913-da527cb005f5}, !- Handle + Shading Surface 1, !- Name + , !- Construction Name + {c69cc47d-99c0-4561-9ad2-48bb8cd1cc23}, !- Shading Surface Group Name + , !- Transmittance Schedule Name + , !- Number of Vertices + 0.209136413022984, -0.822809593371087, -3.60955709766131e-016, !- X,Y,Z Vertex 1 {m} + 3.94227976401192, 0.126056603640204, 3.60955709766131e-016, !- X,Y,Z Vertex 2 {m} + 3.73314335098894, 0.948866197011291, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 0; !- X,Y,Z Vertex 4 {m} + +OS:Material, + {9f6dc75a-8f6a-45e1-baba-3d17d6c58858}, !- Handle + Stuco, !- Name + Rough, !- Roughness + 0.013, !- Thickness {m} + 0.721139, !- Conductivity {W/m-K} + 2659, !- Density {kg/m3} + 837, !- Specific Heat {J/kg-K} + 0.5, !- Thermal Absorptance + 0.5, !- Solar Absorptance + 0.5; !- Visible Absorptance + +OS:ZoneHVAC:Baseboard:Convective:Electric, + {3df70275-a1f6-4e4b-9e0c-8bccbbf5371f}, !- Handle + Elec Baseboard, !- Name + {cef4d0b8-0e58-4db8-a90b-c5b4006baa6d}, !- Availability Schedule + 1500, !- Nominal Capacity {W} + 0.9; !- Efficiency + +OS:AirTerminal:SingleDuct:Uncontrolled, + {1df59d29-3f7a-48da-8c92-ec5dd26f5651}, ! Handle + OS:AirTerminal:SingleDuct:Uncontrolled 1, ! Name + {cef4d0b8-0e58-4db8-a90b-c5b4006baa6d}, ! Availability Schedule Name + {fa0f9880-cf59-4f71-a358-fe01c0ba1792}, ! Inlet Air Node Name + {0869ac10-3230-4867-96f6-f4c5ad0da45f}, ! Zone Supply Air Node Name + Autosize; ! Maximum Air Flow Rate {m3/s} + +OS:Connection, + {fa0f9880-cf59-4f71-a358-fe01c0ba1792}, !- Handle + {60684cee-c30b-430f-9288-b88c0b502ba6}, !- Name + {fbcad5af-8be9-48f9-a7b2-0ed4d64bf868}, !- Source Object + 3, !- Outlet Port + {1df59d29-3f7a-48da-8c92-ec5dd26f5651}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {0869ac10-3230-4867-96f6-f4c5ad0da45f}, !- Handle + {6d87f614-333d-4d49-b469-f72442f72270}, !- Name + {1df59d29-3f7a-48da-8c92-ec5dd26f5651}, !- Source Object + 4, !- Outlet Port + {fb981971-f19a-49c7-8466-838db0bae7c4}, !- Target Object + 2; !- Inlet Port diff --git a/tests/test_osut.py b/tests/test_osut.py index b06fc09..d72605a 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -30,8 +30,9 @@ import sys sys.path.append("./src/osut") -import openstudio +import os import unittest +import openstudio import osut DBG = osut.CN.DBG @@ -81,12 +82,149 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["sol" ], 3), 0.700) self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) - def test05_genConstruction(self): + def test05_construction_thickness(self): + o = osut.oslg + v = int("".join(openstudio.openStudioVersion().split("."))) + self.assertEqual(o.status(), 0) + self.assertEqual(o.level(), INF) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + translator = openstudio.osversion.VersionTranslator() + + # The v1.11.5 (2016) seb.osm, shipped with OpenStudio, holds (what + # would now be considered as deprecated) a definition of plenum floors + # (i.e. ceiling tiles) generating several warnings with more recent + # OpenStudio versions. + path = openstudio.path("./tests/files/osms/in/seb.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + # "Shading Surface 4" is overlapping with a plenum exterior wall. + sh4 = model.getShadingSurfaceByName("Shading Surface 4") + self.assertTrue(sh4) + sh4 = sh4.get() + sh4.remove() + + plenum = model.getSpaceByName("Level 0 Ceiling Plenum") + self.assertTrue(plenum) + plenum = plenum.get() + + thzone = plenum.thermalZone() + self.assertTrue(thzone) + thzone = thzone.get() + + # Before the fix. + if v >= 350: + self.assertTrue(plenum.isEnclosedVolume()) + self.assertTrue(plenum.isVolumeDefaulted()) + self.assertTrue(plenum.isVolumeAutocalculated()) + + if 350 < v < 370: + self.assertEqual(round(plenum.volume(), 0), 234) + else: + self.assertEqual(round(plenum.volume(), 0), 0) + + + def test06_insulatingLayer(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + # it "checks (opaque) insulating layers within a layered construction" do + # translator = OpenStudio::OSVersion::VersionTranslator.new + # expect(mod1.clean!).to eq(DBG) + # + # file = File.join(__dir__, "files/osms/out/seb2.osm") + # path = OpenStudio::Path.new(file) + # model = translator.loadModel(path) + # expect(model).to_not be_empty + # model = model.get + # + # m = "OSut::insulatingLayer" + # m1 = "Invalid 'lc' arg #1 (#{m})" + # + # model.getLayeredConstructions.each do |lc| + # lyr = mod1.insulatingLayer(lc) + # expect(lyr).to be_a(Hash) + # expect(lyr).to have_key(:index) + # expect(lyr).to have_key(:type ) + # expect(lyr).to have_key(:r) + # + # if lc.isFenestration + # expect(mod1.status).to be_zero + # expect(lyr[:index]).to be_nil + # expect(lyr[:type ]).to be_nil + # expect(lyr[:r ]).to be_zero + # next + # end + # + # unless [:standard, :massless].include?(lyr[:type]) # air wall mat + # expect(mod1.status).to be_zero + # expect(lyr[:index]).to be_nil + # expect(lyr[:type ]).to be_nil + # expect(lyr[:r ]).to be_zero + # next + # end + # + # expect(lyr[:index] < lc.numLayers).to be true + # + # case lc.nameString + # when "EXTERIOR-ROOF" + # expect(lyr[:index]).to eq(2) + # expect(lyr[:r ]).to be_within(TOL).of(5.08) + # when "EXTERIOR-WALL" + # expect(lyr[:index]).to eq(2) + # expect(lyr[:r ]).to be_within(TOL).of(1.47) + # when "Default interior ceiling" + # expect(lyr[:index]).to be_zero + # expect(lyr[:r ]).to be_within(TOL).of(0.12) + # when "INTERIOR-WALL" + # expect(lyr[:index]).to eq(1) + # expect(lyr[:r ]).to be_within(TOL).of(0.24) + # else + # expect(lyr[:index]).to be_zero + # expect(lyr[:r ]).to be_within(TOL).of(0.29) + # end + # end + # + # lyr = mod1.insulatingLayer(nil) + # expect(mod1.debug?).to be true + # expect(lyr[:index]).to be_nil + # expect(lyr[:type ]).to be_nil + # expect(lyr[:r ]).to be_zero + # expect(mod1.debug?).to be true + # expect(mod1.logs.size).to eq(1) + # expect(mod1.logs.first[:message]).to eq(m1) + # + # expect(mod1.clean!).to eq(DBG) + # lyr = mod1.insulatingLayer("") + # expect(mod1.debug?).to be true + # expect(lyr[:index]).to be_nil + # expect(lyr[:type ]).to be_nil + # expect(lyr[:r ]).to be_zero + # expect(mod1.debug?).to be true + # expect(mod1.logs.size).to eq(1) + # expect(mod1.logs.first[:message]).to eq(m1) + # + # expect(mod1.clean!).to eq(DBG) + # lyr = mod1.insulatingLayer(model) + # expect(mod1.debug?).to be true + # expect(lyr[:index]).to be_nil + # expect(lyr[:type ]).to be_nil + # expect(lyr[:r ]).to be_zero + # expect(mod1.debug?).to be true + # expect(mod1.logs.size).to eq(1) + # expect(mod1.logs.first[:message]).to eq(m1) + + def test07_genConstruction(self): m1 = "'specs' list? expecting dict (osut.genConstruction)" m2 = "'model' str? expecting Model (osut.genConstruction)" o = osut.oslg self.assertEqual(o.status(), 0) - self.assertEqual(o.level(), INF) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) @@ -647,5 +785,157 @@ def test05_genConstruction(self): self.assertEqual(o.status(), 0) del(model) + def test08_genShade(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + translator = openstudio.osversion.VersionTranslator() + + # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") + # path = OpenStudio::Path.new(file) + # model = translator.loadModel(path) + # expect(model).to_not be_empty + # model = model.get + # spaces = model.getSpaces + # + # slanted = mod1.facets(spaces, "Outdoors", "RoofCeiling", [:top, :north]) + # expect(slanted.size).to eq(1) + # slanted = slanted.first + # expect(slanted.nameString).to eq("Openarea slanted roof") + # skylights = slanted.subSurfaces + # + # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) + # expect(tilted.size).to eq(1) + # tilted = tilted.first + # expect(tilted.nameString).to eq("Openarea tilted wall") + # windows = tilted.subSurfaces + # + # # 2x control groups: + # # - 3x windows as a single control group + # # - 3x skylight as another single control group + # skies = OpenStudio::Model::SubSurfaceVector.new + # wins = OpenStudio::Model::SubSurfaceVector.new + # skylights.each { |sub| skies << sub } + # windows.each { |sub| wins << sub } + # + # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 + # expect(mod1.genShade(skies)).to be false + # expect(mod1.status).to be_zero + # else + # expect(mod1.genShade(skies)).to be true + # expect(mod1.genShade(wins)).to be true + # expect(mod1.status).to be_zero + # ctls = model.getShadingControls + # expect(ctls.size).to eq(2) + # + # ctls.each do |ctl| + # expect(ctl.shadingType).to eq("InteriorShade") + # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" + # expect(ctl.shadingControlType).to eq(type) + # expect(ctl.isControlTypeValueNeedingSetpoint1).to be true + # expect(ctl.isControlTypeValueNeedingSetpoint2).to be true + # expect(ctl.isControlTypeValueAllowingSchedule).to be true + # expect(ctl.isControlTypeValueRequiringSchedule).to be false + # spt1 = ctl.setpoint + # spt2 = ctl.setpoint2 + # expect(spt1).to_not be_empty + # expect(spt2).to_not be_empty + # spt1 = spt1.get + # spt2 = spt2.get + # expect(spt1).to be_within(TOL).of(18) + # expect(spt2).to be_within(TOL).of(100) + # expect(ctl.multipleSurfaceControlType).to eq("Group") + # + # ctl.subSurfaces.each do |sub| + # surface = sub.surface + # expect(surface).to_not be_empty + # surface = surface.get + # expect([slanted, tilted]).to include(surface) + # end + # end + # end + # + # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") + # model.save(file, true) + + def test09_internal_mass(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + ratios = dict(entrance=0.1, lobby=0.3, meeting=1.0) + model = openstudio.model.Model() + entrance = openstudio.model.Space(model) + lobby = openstudio.model.Space(model) + meeting = openstudio.model.Space(model) + offices = openstudio.model.Space(model) + + entrance.setName("Entrance") + lobby.setName("Lobby") + meeting.setName("Meeting") + offices.setName("Offices") + + for space in model.getSpaces(): + name = space.nameString().lower() + ratio = None + + if name in ratios: + ratio = ratios[name] + sps = openstudio.model.SpaceVector() + sps.append(space) + # if ratio: + # self.assertTrue(osut.genMass(sps, ratio)) + # else: + # self.assertTrue(osut.genMass(sps)) + + # construction = nil + # material = nil + # + # model.getInternalMasss.each do |m| + # d = m.internalMassDefinition + # expect(d.designLevelCalculationMethod).to eq("SurfaceArea/Area") + # + # ratio = d.surfaceAreaperSpaceFloorArea + # expect(ratio).to_not be_empty + # ratio = ratio.get + # + # case ratio + # when 0.1 + # expect(d.nameString).to eq("OSut|InternalMassDefinition|0.10") + # expect(m.nameString.downcase).to include("entrance") + # when 0.3 + # expect(d.nameString).to eq("OSut|InternalMassDefinition|0.30") + # expect(m.nameString.downcase).to include("lobby") + # when 1.0 + # expect(d.nameString).to eq("OSut|InternalMassDefinition|1.00") + # expect(m.nameString.downcase).to include("meeting") + # else + # expect(d.nameString).to eq("OSut|InternalMassDefinition|2.00") + # expect(ratio).to eq(2.0) + # end + # + # c = d.construction + # expect(c).to_not be_empty + # c = c.get.to_Construction + # expect(c).to_not be_empty + # c = c.get + # + # construction = c if construction.nil? + # expect(construction).to eq(c) + # expect(c.nameString).to eq("OSut|MASS|Construction") + # expect(c.numLayers).to eq(1) + # + # m = c.layers.first + # + # material = m if material.nil? + # expect(material).to eq(m) + del(model) + + if __name__ == "__main__": unittest.main() From 9006151c0e70371f5025109dfc4632c4d0b7bb75 Mon Sep 17 00:00:00 2001 From: brgix Date: Mon, 30 Jun 2025 09:23:54 -0400 Subject: [PATCH 23/48] Tests OSM file open/read (2) --- tests/test_osut.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/test_osut.py b/tests/test_osut.py index d72605a..a1d5062 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -127,6 +127,34 @@ def test05_construction_thickness(self): else: self.assertEqual(round(plenum.volume(), 0), 0) + self.assertTrue(thzone.isVolumeDefaulted()) + self.assertTrue(thzone.isVolumeAutocalculated()) + self.assertFalse(thzone.volume()) + + for s in plenum.surfaces(): + if s.outsideBoundaryCondition().lower() == "outdoors": continue + + # If a SEB plenum surface isn't facing outdoors, it's 1 of 4 "floor" + # surfaces (each facing a ceiling surface below). + adj = s.adjacentSurface() + self.assertTrue(adj) + adj = adj.get() + self.assertEqual(len(adj.vertices()), len(s.vertices())) + + # Same vertex sequence? Should be in reverse order. + # for i, vertex in enumerate(adj.vertices()): + # self.assertTrue(mod1.same?(vertex, s.vertices.at(i))).to be true + # + # expect(adj.surfaceType).to eq("RoofCeiling") + # expect(s.surfaceType).to eq("RoofCeiling") + # expect(s.setSurfaceType("Floor")).to be true + # expect(s.setVertices(s.vertices.reverse)).to be true + # + # # Vertices now in reverse order. + # adj.vertices.reverse.each_with_index do |vertex, i| + # expect(mod1.same?(vertex, s.vertices.at(i))).to be true + + def test06_insulatingLayer(self): o = osut.oslg From 409133640234cdf1dcfe2cd61cedf44e8eda6086 Mon Sep 17 00:00:00 2001 From: brgix Date: Mon, 30 Jun 2025 14:58:39 -0400 Subject: [PATCH 24/48] Tests basic point3D methods --- src/osut/osut.py | 304 +++++++++++++++++++++++++++++++++++++-------- tests/test_osut.py | 14 ++- 2 files changed, 263 insertions(+), 55 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 4622da8..2a56e2e 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -28,18 +28,22 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import re +import math +import collections import openstudio from oslg import oslg from dataclasses import dataclass @dataclass(frozen=True) class _CN: - DBG = oslg.CN.DEBUG - INF = oslg.CN.INFO - WRN = oslg.CN.WARN - ERR = oslg.CN.ERROR - FTL = oslg.CN.FATAL - NS = "nameString" + DBG = oslg.CN.DEBUG + INF = oslg.CN.INFO + WRN = oslg.CN.WARN + ERR = oslg.CN.ERROR + FTL = oslg.CN.FATAL + NS = "nameString" + TOL = 0.01 # default distance tolerance (m) + TOL2 = TOL * TOL # default area tolerance (m2) CN = _CN() # General surface orientations (see 'facets' method). @@ -207,15 +211,15 @@ def uo() -> dict: def are_standardOpaqueLayers(lc=None) -> bool: - """ - Validates if every material in a layered construction is standard & opaque. + """Validates if every material in a layered construction is standard & opaque. Args: - lc: + lc (openstudio.model.LayeredConstruction): an OpenStudio layered construction Returns: - Whether all layers are valid. False if invalid inputs (see logs). + True: If all layers are valid (standard & opaque). + False: If invalid inputs (see logs). """ mth = "osut.are_standardOpaqueLayers" @@ -236,15 +240,15 @@ def are_standardOpaqueLayers(lc=None) -> bool: def thickness(lc=None) -> float: - """ - Returns total (standard opaque) layered construction thickness (m). + """Returns total (standard opaque) layered construction thickness (m). Args: - lc: + lc (openstudio.model.LayeredConstruction): an OpenStudio layered construction Returns: - Construction thickness. 0.0 if invalid inputs (see logs). + float: A standard opaque construction thickness. + 0.0: If invalid inputs (see logs). """ mth = "osut.thickness" @@ -269,22 +273,22 @@ def thickness(lc=None) -> float: def rsi(lc=None, film=0.0, t=0.0) -> float: - """ - Returns a construction's 'standard calc' thermal resistance (m2•K/W), which - includes air film resistances. It excludes insulating effects of shades, - screens, etc. in the case of fenestrated constructions. Adapted from BTAP's - 'Material' Module "get_conductance" (P. Lopez). + """Returns a construction's 'standard calc' thermal resistance (m2•K/W), + which includes air film resistances. It excludes insulating effects of + shades, screens, etc. in the case of fenestrated constructions. Adapted + from BTAP's 'Material' Module "get_conductance" (P. Lopez). Args: - lc: + lc (openstudio.model.LayeredConstruction): an OpenStudio layered construction - film: + film (float): thermal resistance of surface air films (m2•K/W) - t: + t (float): gas temperature (°C) (optional) Returns: - Layered construction's thermal resistance (0 if invalid input, see logs). + float: A layered construction's thermal resistance. + 0.0: If invalid input (see logs). """ mth = "osut.rsi" @@ -344,23 +348,21 @@ def rsi(lc=None, film=0.0, t=0.0) -> float: def insulatingLayer(lc=None) -> dict: - """ - Identifies a layered construction's (opaque) insulating layer. Returns an - insulating-layer dictionary: - "index": insulating layer index [0, n layers) within construction - "type" : layer material type ("standard" or "massless") - "r" : material thermal resistance in m2•K/W. - If unsuccessful, DEBUG errors are logged. Dictionary is voided as follows: - "index": None - "type" : None - "r" : 0.0 + """Identifies a layered construction's (opaque) insulating layer. Args: - lc: - [openStudio.model.LayeredConstruction] a layered construction + lc (openStudio.model.LayeredConstruction): + an OpenStudio layered construction Returns: - Insulating layer dictionary. + An insulating-layer dictionary: + - "index" (int): construction's insulating layer index [0, n layers) + - "type" (str): layer material type ("standard" or "massless") + - "r" (float): material thermal resistance in m2•K/W. + If unsuccessful, dictionary is voided as follows (see logs): + "index": None + "type": None + "r": 0.0 """ mth = "osut.insulatingLayer" @@ -407,21 +409,21 @@ def insulatingLayer(lc=None) -> dict: def genConstruction(model=None, specs=dict()): - """ - Generates an OpenStudio multilayered construction, + materials if needed. + """Generates an OpenStudio multilayered construction, + materials if needed. Args: specs: A dictionary holding multilayered construction parameters: - - "id": construction identifier - - "type": surface type - see OSut 'uo()' - - "uo": assembly clear-field Uo, in W/m2•K - see OSut 'uo()' - - "clad": exterior cladding - see OSut 'mass()' - - "frame": assembly framing - see OSut 'mass()' - - "finish": interior finish - see OSut 'mass()' + - "id" (str): construction identifier + - "type" (str): surface type - see OSut 'uo()' + - "uo" (float): assembly clear-field Uo, in W/m2•K - see OSut 'uo()' + - "clad" (str): exterior cladding - see OSut 'mass()' + - "frame" (str): assembly framing - see OSut 'mass()' + - "finish" (str): interior finish - see OSut 'mass()' Returns: - Generated construction, or None if invalid inputs (see logs). + openstudio.model.Construction: A generated construction. + None: If invalid inputs (see logs). """ mth = "osut.genConstruction" @@ -789,9 +791,8 @@ def genConstruction(model=None, specs=dict()): return c -def genShade(subs=openstudio.model.SubSurfaceVector()) -> bool: - """ - Generates solar shade(s) (e.g. roller, textile) for glazed OpenStudio +def genShade(subs=[]) -> bool: + """Generates solar shade(s) (e.g. roller, textile) for glazed OpenStudio SubSurfaces (v321+), controlled to minimize overheating in cooling months (May to October in Northern Hemisphere), when outdoor dry bulb temperature is above 18°C and impinging solar radiation is above 100 W/m2. @@ -801,7 +802,8 @@ def genShade(subs=openstudio.model.SubSurfaceVector()) -> bool: A list of sub surfaces. Returns: - Whether successfully generated. False if invalid input (see logs). + True: If successfully generated shade. + False: if invalid input (see logs). """ # Filter OpenStudio warnings for ShadingControl: @@ -890,3 +892,207 @@ def genShade(subs=openstudio.model.SubSurfaceVector()) -> bool: ctl.setSubSurfaces(subs) return True + + +def transforms(group=None) -> dict: + """"Returns OpenStudio site/space transformation & rotation angle. + + Args: + group: + A site or space PlanarSurfaceGroup object. + + Returns: + A transformation + rotation dictionary: + - t (openstudio.Transformation): site/space transformation. + None: if invalid inputs (see logs). + - r (float): Site/space rotation angle [0,2PI) radians. + None: if invalid inputs (see logs). + + """ + mth = "osut.transforms" + res = dict(t=None, r=None) + cl = openstudio.model.PlanarSurfaceGroup + + if not hasattr(group, CN.NS): + return oslg.invalid("group", mth, 0, CN.DBG, res) + + id = group.nameString() + mdl = group.model() + + if isinstance(group, cl): + return oslg.mismatch(id, group, cl, mth, CN.DBG, res) + + res["t"] = group.siteTransformation() + res["r"] = group.directionofRelativeNorth() + mdl.getBuilding().northAxis() + + return res + + +def trueNormal(s=None, r=0): + """Returns the site/true outward normal vector of a surface. + + Args: + s (OpenStudio::Model::PlanarSurface): + An OpenStudio Planar Surface. + r (float): + a group/site rotation angle [0,2PI) radians + + Returns: + openstudio.Vector3d: A surface's true normal vector. + None : If invalid input (see logs). + + """ + mth = "osut.trueNormal" + cl = openstudio.model.PlanarSurface + + if not isinstance(s, cl): + return oslg.mismatch("surface", s, cl, mth) + + try: + r = float(r) + except ValueError as e: + return oslg.mismatch("rotation", r, float, mth) + + r = float(-r) * math.pi / 180.0 + + vx = s.outwardNormal().x * math.cos(r) - s.outwardNormal().y * math.sin(r) + vy = s.outwardNormal().x * math.sin(r) + s.outwardNormal().y * math.cos(r) + vz = s.outwardNormal().z + + return openstudio.Point3d(vx, vy, vz) - openstudio.Point3d(0, 0, 0) + + +def scalar(v=None, m=0) -> openstudio.Vector3d: + """Returns scalar product of an OpenStudio Vector3d. + + Args: + v (OpenStudio::Vector3d): + An OpenStudio vector. + m (float): + A scalar. + + Returns: + (openstudio.Vector3d) scaled points (see logs if (0,0,0)). + + """ + mth = "osut.scalar" + cl = openstudio.Vector3d + v0 = openstudio.Vector3d() + + if not isinstance(v, cl): + return oslg.mismatch("vector", v, cl, mth, CN.DBG, v0) + + try: + m = float(m) + except ValueError as e: + return oslg.mismatch("scalar", m, float, mth, CN.DBG, v0) + + v0 = openstudio.Vector3d(m * v.x(), m * v.y(), m * v.z()) + + return v0 + + +def to_p3Dv(pts=None) -> openstudio.Point3dVector: + """Returns OpenStudio 3D points as an OpenStudio point vector, validating + points in the process. + + Args: + pts (list): OpenStudio 3D points. + + Returns: + openstudio.Point3dVector: Vector of 3D points (see logs if empty). + + """ + mth = "osut.to_p3Dv" + cl = openstudio.Point3d + v = openstudio.Point3dVector() + + if isinstance(pts, cl): + v.append(pts) + return v + elif isinstance(pts, openstudio.Point3dVector): + return pts + elif isinstance(pts, openstudio.model.PlanarSurface): + return pts.vertices() + + try: + pts = list(pts) + except ValueError as e: + return oslg.mismatch("points", pts, list, mth, CN.DBG, v) + + for pt in pts: + if not isinstance(pt, cl): + return oslg.mismatch("point", pt, cl, mth, CN.DBG, v) + + for pt in pts: + v.append(openstudio.Point3d(pt.x(), pt.y(), pt.z())) + + return v + + +def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: + """Returns True if 2 sets of OpenStudio 3D points are nearly equal. + + Args: + s1: + 1st set of OpenStudio 3D points + s2: + 2nd set of OpenStudio 3D points + indexed (bool): + whether to attempt to harmonize vertex sequence + + Returns: + bool: Whether sets are nearly equal (within TOL). + False: If invalid input (see logs). + + """ + try: + s1 = list(s1) + except ValueError as e: + return False + + try: + s2 = list(s2) + except ValueError as e: + return False + + if len(s1) != len(s2): + return False + + if indexed not in [True, False]: + indexed = True + + if indexed: + xOK = abs(s1[0].x() - s2[0].x()) < CN.TOL + yOK = abs(s1[0].y() - s2[0].y()) < CN.TOL + zOK = abs(s1[0].z() - s2[0].z()) < CN.TOL + + if xOK and yOK and zOK and len(s1) == 1: + return True + else: + indx = None + + for i, pt in enumerate(s2): + if indx: break + + xOK = abs(s1[0].x() - s2[i].x()) < CN.TOL + yOK = abs(s1[0].y() - s2[i].y()) < CN.TOL + zOK = abs(s1[0].z() - s2[i].z()) < CN.TOL + + if xOK and yOK and zOK: indx = i + + if not indx: return False + + s2 = collections.deque(s2) + s2.rotate(indx) + s2 = list(s2) + + # openstudio.isAlmostEqual3dPt(p1, p2, TOL) # ... from v350 onwards. + for i in range(len(s1)): + xOK = abs(s1[i].x() - s2[i].x()) < CN.TOL + yOK = abs(s1[i].y() - s2[i].y()) < CN.TOL + zOK = abs(s1[i].z() - s2[i].z()) < CN.TOL + + if not xOK or not yOK or not zOK: return False + + return True diff --git a/tests/test_osut.py b/tests/test_osut.py index a1d5062..505a562 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -35,12 +35,14 @@ import openstudio import osut -DBG = osut.CN.DBG -INF = osut.CN.INF -WRN = osut.CN.WRN -ERR = osut.CN.ERR -FTL = osut.CN.FTL -NS = osut.CN.NS +DBG = osut.CN.DBG +INF = osut.CN.INF +WRN = osut.CN.WRN +ERR = osut.CN.ERR +FTL = osut.CN.FTL +NS = osut.CN.NS +TOL = osut.CN.TOL +TOL2 = osut.CN.TOL2 class TestOSutModuleMethods(unittest.TestCase): def test00_oslg_constants(self): From 81a24cc24c90add2128645649b25cb6179375da1 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 07:27:05 -0400 Subject: [PATCH 25/48] Tests Point3dVector as tuple --- src/osut/osut.py | 21 ++++++--------------- tests/test_osut.py | 38 ++++++++++++++++++++++++-------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 2a56e2e..947dc3e 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1046,21 +1046,12 @@ def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: False: If invalid input (see logs). """ - try: - s1 = list(s1) - except ValueError as e: - return False - - try: - s2 = list(s2) - except ValueError as e: - return False - - if len(s1) != len(s2): - return False - - if indexed not in [True, False]: - indexed = True + s1 = list(to_p3Dv(s1)) + s2 = list(to_p3Dv(s2)) + if not s1: return False + if not s2: return False + if len(s1) != len(s2): return False + if indexed not in [True, False]: indexed = True if indexed: xOK = abs(s1[0].x() - s2[0].x()) < CN.TOL diff --git a/tests/test_osut.py b/tests/test_osut.py index 505a562..1a7dfd1 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -86,13 +86,13 @@ def test04_materials(self): def test05_construction_thickness(self): o = osut.oslg - v = int("".join(openstudio.openStudioVersion().split("."))) self.assertEqual(o.status(), 0) self.assertEqual(o.level(), INF) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) + version = int("".join(openstudio.openStudioVersion().split("."))) translator = openstudio.osversion.VersionTranslator() # The v1.11.5 (2016) seb.osm, shipped with OpenStudio, holds (what @@ -119,12 +119,12 @@ def test05_construction_thickness(self): thzone = thzone.get() # Before the fix. - if v >= 350: + if version >= 350: self.assertTrue(plenum.isEnclosedVolume()) self.assertTrue(plenum.isVolumeDefaulted()) self.assertTrue(plenum.isVolumeAutocalculated()) - if 350 < v < 370: + if 350 < version < 370: self.assertEqual(round(plenum.volume(), 0), 234) else: self.assertEqual(round(plenum.volume(), 0), 0) @@ -144,18 +144,28 @@ def test05_construction_thickness(self): self.assertEqual(len(adj.vertices()), len(s.vertices())) # Same vertex sequence? Should be in reverse order. - # for i, vertex in enumerate(adj.vertices()): - # self.assertTrue(mod1.same?(vertex, s.vertices.at(i))).to be true - # - # expect(adj.surfaceType).to eq("RoofCeiling") - # expect(s.surfaceType).to eq("RoofCeiling") - # expect(s.setSurfaceType("Floor")).to be true - # expect(s.setVertices(s.vertices.reverse)).to be true - # - # # Vertices now in reverse order. - # adj.vertices.reverse.each_with_index do |vertex, i| - # expect(mod1.same?(vertex, s.vertices.at(i))).to be true + for i, vtx in enumerate(adj.vertices()): + self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) + self.assertEqual(adj.surfaceType(), "RoofCeiling") + self.assertEqual(s.surfaceType(), "RoofCeiling") + self.assertTrue(s.setSurfaceType("Floor")) + vtx = list(s.vertices()) + vtx.reverse() + self.assertTrue(s.setVertices(vtx)) + + # Vertices now in reverse order. + rvtx = list(adj.vertices()) + rvtx.reverse() + + for i, vtx in enumerate(rvtx): + self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) + + # After the fix. + if version >= 350: + self.assertTrue(plenum.isEnclosedVolume()) + self.assertTrue(plenum.isVolumeDefaulted()) + self.assertTrue(plenum.isVolumeAutocalculated()) def test06_insulatingLayer(self): From 0b8a1ea0a6cc9fd347112781eecfa276e2976848 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 08:07:26 -0400 Subject: [PATCH 26/48] Completes construction thickness test --- .gitignore | 2 + src/osut/osut.py | 10 +- tests/files/osms/out/.gitkeep | 0 tests/test_osut.py | 224 +++++++++++++++++++++------------- 4 files changed, 143 insertions(+), 93 deletions(-) create mode 100644 tests/files/osms/out/.gitkeep diff --git a/.gitignore b/.gitignore index 87eebea..59b63ed 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ __pycache__/ .DS_Store +tests/files/osms/out/*.osm + # Distribution / packaging .Python build/ diff --git a/src/osut/osut.py b/src/osut/osut.py index 947dc3e..92422f0 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -228,7 +228,7 @@ def are_standardOpaqueLayers(lc=None) -> bool: if not hasattr(lc, CN.NS): return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - id = lc.nameString() + id = oslg.trim(lc.nameString()) if not isinstance(lc, cl): return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) @@ -252,19 +252,19 @@ def thickness(lc=None) -> float: """ mth = "osut.thickness" - cl = openStudio.model.LayeredConstruction + cl = openstudio.model.LayeredConstruction d = 0.0 if not hasattr(lc, CN.NS): return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - id = lc.nameString() + id = oslg.trim(lc.nameString()) if not isinstance(lc, cl): return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) - if not osut.are_standardOpaqueLayers(lc): - log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) + if not are_standardOpaqueLayers(lc): + oslg.log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) return d for m in lc.layers(): d += m.thickness() diff --git a/tests/files/osms/out/.gitkeep b/tests/files/osms/out/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_osut.py b/tests/test_osut.py index 1a7dfd1..6054e40 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -167,6 +167,53 @@ def test05_construction_thickness(self): self.assertTrue(plenum.isVolumeDefaulted()) self.assertTrue(plenum.isVolumeAutocalculated()) + self.assertEqual(round(plenum.volume(), 0), 50) # right answer + self.assertTrue(thzone.isVolumeDefaulted()) + self.assertTrue(thzone.isVolumeAutocalculated()) + self.assertFalse(thzone.volume()) + + model.save("./tests/files/osms/out/seb2.osm", True) + # End of cleanup. + + for c in model.getConstructions(): + if not c.to_LayeredConstruction(): continue + + c = c.to_LayeredConstruction().get() + id = c.nameString() + + # OSut 'thickness' method can only process layered constructions + # built up with standard opaque layers, which exclude: + # + # - "Air Wall"-based construction + # - "Double pane"-based construction + # + # The method returns '0' in such cases, logging ERROR messages. + th = osut.thickness(c) + + if "Air Wall" in id or "Double pane" in id: + self.assertEqual(round(th, 0), 0) + continue + + self.assertTrue(th > 0) + + self.assertTrue(o.is_error()) + self.assertTrue(o.clean(), DBG) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + for c in model.getConstructions(): + if c.to_LayeredConstruction(): continue + + c = c.to_LayeredConstruction().get() + id = c.nameString() + if "Air Wall" in id or "Double pane" in id: continue + + th = osut.thickness(c) + self.assertTrue(th > 0) + + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + def test06_insulatingLayer(self): o = osut.oslg @@ -176,12 +223,12 @@ def test06_insulatingLayer(self): self.assertEqual(o.status(), 0) # it "checks (opaque) insulating layers within a layered construction" do # translator = OpenStudio::OSVersion::VersionTranslator.new - # expect(mod1.clean!).to eq(DBG) + # self.assertTrue(mod1.clean!).to eq(DBG) # # file = File.join(__dir__, "files/osms/out/seb2.osm") # path = OpenStudio::Path.new(file) # model = translator.loadModel(path) - # expect(model).to_not be_empty + # self.assertTrue(model).to_not be_empty # model = model.get # # m = "OSut::insulatingLayer" @@ -189,76 +236,76 @@ def test06_insulatingLayer(self): # # model.getLayeredConstructions.each do |lc| # lyr = mod1.insulatingLayer(lc) - # expect(lyr).to be_a(Hash) - # expect(lyr).to have_key(:index) - # expect(lyr).to have_key(:type ) - # expect(lyr).to have_key(:r) + # self.assertTrue(lyr).to be_a(Hash) + # self.assertTrue(lyr).to have_key(:index) + # self.assertTrue(lyr).to have_key(:type ) + # self.assertTrue(lyr).to have_key(:r) # # if lc.isFenestration - # expect(mod1.status).to be_zero - # expect(lyr[:index]).to be_nil - # expect(lyr[:type ]).to be_nil - # expect(lyr[:r ]).to be_zero + # self.assertTrue(mod1.status).to be_zero + # self.assertTrue(lyr[:index]).to be_nil + # self.assertTrue(lyr[:type ]).to be_nil + # self.assertTrue(lyr[:r ]).to be_zero # next # end # # unless [:standard, :massless].include?(lyr[:type]) # air wall mat - # expect(mod1.status).to be_zero - # expect(lyr[:index]).to be_nil - # expect(lyr[:type ]).to be_nil - # expect(lyr[:r ]).to be_zero + # self.assertTrue(mod1.status).to be_zero + # self.assertTrue(lyr[:index]).to be_nil + # self.assertTrue(lyr[:type ]).to be_nil + # self.assertTrue(lyr[:r ]).to be_zero # next # end # - # expect(lyr[:index] < lc.numLayers).to be true + # self.assertTrue(lyr[:index] < lc.numLayers).to be true # # case lc.nameString # when "EXTERIOR-ROOF" - # expect(lyr[:index]).to eq(2) - # expect(lyr[:r ]).to be_within(TOL).of(5.08) + # self.assertTrue(lyr[:index]).to eq(2) + # self.assertTrue(lyr[:r ]).to be_within(TOL).of(5.08) # when "EXTERIOR-WALL" - # expect(lyr[:index]).to eq(2) - # expect(lyr[:r ]).to be_within(TOL).of(1.47) + # self.assertTrue(lyr[:index]).to eq(2) + # self.assertTrue(lyr[:r ]).to be_within(TOL).of(1.47) # when "Default interior ceiling" - # expect(lyr[:index]).to be_zero - # expect(lyr[:r ]).to be_within(TOL).of(0.12) + # self.assertTrue(lyr[:index]).to be_zero + # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.12) # when "INTERIOR-WALL" - # expect(lyr[:index]).to eq(1) - # expect(lyr[:r ]).to be_within(TOL).of(0.24) + # self.assertTrue(lyr[:index]).to eq(1) + # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.24) # else - # expect(lyr[:index]).to be_zero - # expect(lyr[:r ]).to be_within(TOL).of(0.29) + # self.assertTrue(lyr[:index]).to be_zero + # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.29) # end # end # # lyr = mod1.insulatingLayer(nil) - # expect(mod1.debug?).to be true - # expect(lyr[:index]).to be_nil - # expect(lyr[:type ]).to be_nil - # expect(lyr[:r ]).to be_zero - # expect(mod1.debug?).to be true - # expect(mod1.logs.size).to eq(1) - # expect(mod1.logs.first[:message]).to eq(m1) + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(lyr[:index]).to be_nil + # self.assertTrue(lyr[:type ]).to be_nil + # self.assertTrue(lyr[:r ]).to be_zero + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(mod1.logs.size).to eq(1) + # self.assertTrue(mod1.logs.first[:message]).to eq(m1) # - # expect(mod1.clean!).to eq(DBG) + # self.assertTrue(mod1.clean!).to eq(DBG) # lyr = mod1.insulatingLayer("") - # expect(mod1.debug?).to be true - # expect(lyr[:index]).to be_nil - # expect(lyr[:type ]).to be_nil - # expect(lyr[:r ]).to be_zero - # expect(mod1.debug?).to be true - # expect(mod1.logs.size).to eq(1) - # expect(mod1.logs.first[:message]).to eq(m1) + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(lyr[:index]).to be_nil + # self.assertTrue(lyr[:type ]).to be_nil + # self.assertTrue(lyr[:r ]).to be_zero + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(mod1.logs.size).to eq(1) + # self.assertTrue(mod1.logs.first[:message]).to eq(m1) # - # expect(mod1.clean!).to eq(DBG) + # self.assertTrue(mod1.clean!).to eq(DBG) # lyr = mod1.insulatingLayer(model) - # expect(mod1.debug?).to be true - # expect(lyr[:index]).to be_nil - # expect(lyr[:type ]).to be_nil - # expect(lyr[:r ]).to be_zero - # expect(mod1.debug?).to be true - # expect(mod1.logs.size).to eq(1) - # expect(mod1.logs.first[:message]).to eq(m1) + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(lyr[:index]).to be_nil + # self.assertTrue(lyr[:type ]).to be_nil + # self.assertTrue(lyr[:r ]).to be_zero + # self.assertTrue(mod1.debug?).to be true + # self.assertTrue(mod1.logs.size).to eq(1) + # self.assertTrue(mod1.logs.first[:message]).to eq(m1) def test07_genConstruction(self): m1 = "'specs' list? expecting dict (osut.genConstruction)" @@ -837,20 +884,20 @@ def test08_genShade(self): # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") # path = OpenStudio::Path.new(file) # model = translator.loadModel(path) - # expect(model).to_not be_empty + # self.assertTrue(model).to_not be_empty # model = model.get # spaces = model.getSpaces # # slanted = mod1.facets(spaces, "Outdoors", "RoofCeiling", [:top, :north]) - # expect(slanted.size).to eq(1) + # self.assertTrue(slanted.size).to eq(1) # slanted = slanted.first - # expect(slanted.nameString).to eq("Openarea slanted roof") + # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") # skylights = slanted.subSurfaces # # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) - # expect(tilted.size).to eq(1) + # self.assertTrue(tilted.size).to eq(1) # tilted = tilted.first - # expect(tilted.nameString).to eq("Openarea tilted wall") + # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") # windows = tilted.subSurfaces # # # 2x control groups: @@ -862,38 +909,38 @@ def test08_genShade(self): # windows.each { |sub| wins << sub } # # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 - # expect(mod1.genShade(skies)).to be false - # expect(mod1.status).to be_zero + # self.assertTrue(mod1.genShade(skies)).to be false + # self.assertTrue(mod1.status).to be_zero # else - # expect(mod1.genShade(skies)).to be true - # expect(mod1.genShade(wins)).to be true - # expect(mod1.status).to be_zero + # self.assertTrue(mod1.genShade(skies)).to be true + # self.assertTrue(mod1.genShade(wins)).to be true + # self.assertTrue(mod1.status).to be_zero # ctls = model.getShadingControls - # expect(ctls.size).to eq(2) + # self.assertTrue(ctls.size).to eq(2) # # ctls.each do |ctl| - # expect(ctl.shadingType).to eq("InteriorShade") + # self.assertTrue(ctl.shadingType).to eq("InteriorShade") # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" - # expect(ctl.shadingControlType).to eq(type) - # expect(ctl.isControlTypeValueNeedingSetpoint1).to be true - # expect(ctl.isControlTypeValueNeedingSetpoint2).to be true - # expect(ctl.isControlTypeValueAllowingSchedule).to be true - # expect(ctl.isControlTypeValueRequiringSchedule).to be false + # self.assertTrue(ctl.shadingControlType).to eq(type) + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true + # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true + # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false # spt1 = ctl.setpoint # spt2 = ctl.setpoint2 - # expect(spt1).to_not be_empty - # expect(spt2).to_not be_empty + # self.assertTrue(spt1).to_not be_empty + # self.assertTrue(spt2).to_not be_empty # spt1 = spt1.get # spt2 = spt2.get - # expect(spt1).to be_within(TOL).of(18) - # expect(spt2).to be_within(TOL).of(100) - # expect(ctl.multipleSurfaceControlType).to eq("Group") + # self.assertTrue(spt1).to be_within(TOL).of(18) + # self.assertTrue(spt2).to be_within(TOL).of(100) + # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") # # ctl.subSurfaces.each do |sub| # surface = sub.surface - # expect(surface).to_not be_empty + # self.assertTrue(surface).to_not be_empty # surface = surface.get - # expect([slanted, tilted]).to include(surface) + # self.assertTrue([slanted, tilted]).to include(surface) # end # end # end @@ -903,6 +950,7 @@ def test08_genShade(self): def test09_internal_mass(self): o = osut.oslg + print(o.logs()) self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) @@ -938,42 +986,42 @@ def test09_internal_mass(self): # # model.getInternalMasss.each do |m| # d = m.internalMassDefinition - # expect(d.designLevelCalculationMethod).to eq("SurfaceArea/Area") + # self.assertTrue(d.designLevelCalculationMethod).to eq("SurfaceArea/Area") # # ratio = d.surfaceAreaperSpaceFloorArea - # expect(ratio).to_not be_empty + # self.assertTrue(ratio).to_not be_empty # ratio = ratio.get # # case ratio # when 0.1 - # expect(d.nameString).to eq("OSut|InternalMassDefinition|0.10") - # expect(m.nameString.downcase).to include("entrance") + # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|0.10") + # self.assertTrue(m.nameString.downcase).to include("entrance") # when 0.3 - # expect(d.nameString).to eq("OSut|InternalMassDefinition|0.30") - # expect(m.nameString.downcase).to include("lobby") + # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|0.30") + # self.assertTrue(m.nameString.downcase).to include("lobby") # when 1.0 - # expect(d.nameString).to eq("OSut|InternalMassDefinition|1.00") - # expect(m.nameString.downcase).to include("meeting") + # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|1.00") + # self.assertTrue(m.nameString.downcase).to include("meeting") # else - # expect(d.nameString).to eq("OSut|InternalMassDefinition|2.00") - # expect(ratio).to eq(2.0) + # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|2.00") + # self.assertTrue(ratio).to eq(2.0) # end # # c = d.construction - # expect(c).to_not be_empty + # self.assertTrue(c).to_not be_empty # c = c.get.to_Construction - # expect(c).to_not be_empty + # self.assertTrue(c).to_not be_empty # c = c.get # # construction = c if construction.nil? - # expect(construction).to eq(c) - # expect(c.nameString).to eq("OSut|MASS|Construction") - # expect(c.numLayers).to eq(1) + # self.assertTrue(construction).to eq(c) + # self.assertTrue(c.nameString).to eq("OSut|MASS|Construction") + # self.assertTrue(c.numLayers).to eq(1) # # m = c.layers.first # # material = m if material.nil? - # expect(material).to eq(m) + # self.assertTrue(material).to eq(m) del(model) From 7920640b4302940e795e409167f6093f44a6981c Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 08:57:28 -0400 Subject: [PATCH 27/48] Completes insulating layer test --- src/osut/osut.py | 2 +- tests/test_osut.py | 166 +++++++++++++++++++++------------------------ 2 files changed, 80 insertions(+), 88 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 92422f0..413d48f 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -371,7 +371,7 @@ def insulatingLayer(lc=None) -> dict: i = 0 # iterator if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, CN.DBG, res) + return oslg.invalid("lc", mth, 1, CN.DBG, res) id = lc.nameString() diff --git a/tests/test_osut.py b/tests/test_osut.py index 6054e40..1bb13cc 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -214,98 +214,91 @@ def test05_construction_thickness(self): self.assertEqual(o.status(), 0) self.assertFalse(o.logs()) - def test06_insulatingLayer(self): o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) - # it "checks (opaque) insulating layers within a layered construction" do - # translator = OpenStudio::OSVersion::VersionTranslator.new - # self.assertTrue(mod1.clean!).to eq(DBG) - # - # file = File.join(__dir__, "files/osms/out/seb2.osm") - # path = OpenStudio::Path.new(file) - # model = translator.loadModel(path) - # self.assertTrue(model).to_not be_empty - # model = model.get - # - # m = "OSut::insulatingLayer" - # m1 = "Invalid 'lc' arg #1 (#{m})" - # - # model.getLayeredConstructions.each do |lc| - # lyr = mod1.insulatingLayer(lc) - # self.assertTrue(lyr).to be_a(Hash) - # self.assertTrue(lyr).to have_key(:index) - # self.assertTrue(lyr).to have_key(:type ) - # self.assertTrue(lyr).to have_key(:r) - # - # if lc.isFenestration - # self.assertTrue(mod1.status).to be_zero - # self.assertTrue(lyr[:index]).to be_nil - # self.assertTrue(lyr[:type ]).to be_nil - # self.assertTrue(lyr[:r ]).to be_zero - # next - # end - # - # unless [:standard, :massless].include?(lyr[:type]) # air wall mat - # self.assertTrue(mod1.status).to be_zero - # self.assertTrue(lyr[:index]).to be_nil - # self.assertTrue(lyr[:type ]).to be_nil - # self.assertTrue(lyr[:r ]).to be_zero - # next - # end - # - # self.assertTrue(lyr[:index] < lc.numLayers).to be true - # - # case lc.nameString - # when "EXTERIOR-ROOF" - # self.assertTrue(lyr[:index]).to eq(2) - # self.assertTrue(lyr[:r ]).to be_within(TOL).of(5.08) - # when "EXTERIOR-WALL" - # self.assertTrue(lyr[:index]).to eq(2) - # self.assertTrue(lyr[:r ]).to be_within(TOL).of(1.47) - # when "Default interior ceiling" - # self.assertTrue(lyr[:index]).to be_zero - # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.12) - # when "INTERIOR-WALL" - # self.assertTrue(lyr[:index]).to eq(1) - # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.24) - # else - # self.assertTrue(lyr[:index]).to be_zero - # self.assertTrue(lyr[:r ]).to be_within(TOL).of(0.29) - # end - # end - # - # lyr = mod1.insulatingLayer(nil) - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(lyr[:index]).to be_nil - # self.assertTrue(lyr[:type ]).to be_nil - # self.assertTrue(lyr[:r ]).to be_zero - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(mod1.logs.size).to eq(1) - # self.assertTrue(mod1.logs.first[:message]).to eq(m1) - # - # self.assertTrue(mod1.clean!).to eq(DBG) - # lyr = mod1.insulatingLayer("") - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(lyr[:index]).to be_nil - # self.assertTrue(lyr[:type ]).to be_nil - # self.assertTrue(lyr[:r ]).to be_zero - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(mod1.logs.size).to eq(1) - # self.assertTrue(mod1.logs.first[:message]).to eq(m1) - # - # self.assertTrue(mod1.clean!).to eq(DBG) - # lyr = mod1.insulatingLayer(model) - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(lyr[:index]).to be_nil - # self.assertTrue(lyr[:type ]).to be_nil - # self.assertTrue(lyr[:r ]).to be_zero - # self.assertTrue(mod1.debug?).to be true - # self.assertTrue(mod1.logs.size).to eq(1) - # self.assertTrue(mod1.logs.first[:message]).to eq(m1) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + m0 = "Invalid 'lc' arg #1 (osut.insulatingLayer)" + + for lc in model.getLayeredConstructions(): + id = lc.nameString() + lyr = osut.insulatingLayer(lc) + + self.assertTrue(isinstance(lyr, dict)) + self.assertTrue("index" in lyr) + self.assertTrue("type" in lyr) + self.assertTrue("r" in lyr) + + if lc.isFenestration(): + self.assertEqual(o.status(), 0) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(lyr["r"], 0) + continue + + if lyr["type"] not in ["standard", "massless"]: # air wall material + self.assertEqual(o.status(), 0) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(lyr["r"], 0) + continue + + self.assertTrue(lyr["index"] < lc.numLayers()) + + if id == "EXTERIOR-ROOF": + self.assertEqual(lyr["index"], 2) + self.assertEqual(round(lyr["r"], 2), 5.08) + elif id == "EXTERIOR-WALL": + self.assertEqual(lyr["index"], 2) + self.assertEqual(round(lyr["r"], 2), 1.47) + elif id == "Default interior ceiling": + self.assertEqual(lyr["index"], 0) + self.assertEqual(round(lyr["r"], 2), 0.12) + elif id == "INTERIOR-WALL": + self.assertEqual(lyr["index"], 1) + self.assertEqual(round(lyr["r"], 2), 0.24) + else: + self.assertEqual(lyr["index"], 0) + self.assertEqual(round(lyr["r"], 2), 0.29) + + # Final stress tests. + lyr = osut.insulatingLayer(None) + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m0) + self.assertEqual(o.clean(), DBG) + + lyr = osut.insulatingLayer("") + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertTrue(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m0) + self.assertEqual(o.clean(), DBG) + + lyr = osut.insulatingLayer(model) + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertTrue(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m0) + self.assertEqual(o.clean(), DBG) def test07_genConstruction(self): m1 = "'specs' list? expecting dict (osut.genConstruction)" @@ -950,7 +943,6 @@ def test08_genShade(self): def test09_internal_mass(self): o = osut.oslg - print(o.logs()) self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) From 7c121ccd2134af5b546991717ba59c2960039fbe Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 10:14:29 -0400 Subject: [PATCH 28/48] Completes internal mass test --- src/osut/osut.py | 87 +++++++++++++++++++++++++++++++- tests/test_osut.py | 121 ++++++++++++++++++++++++--------------------- 2 files changed, 152 insertions(+), 56 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 413d48f..0c62416 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -791,7 +791,7 @@ def genConstruction(model=None, specs=dict()): return c -def genShade(subs=[]) -> bool: +def genShade(subs=None) -> bool: """Generates solar shade(s) (e.g. roller, textile) for glazed OpenStudio SubSurfaces (v321+), controlled to minimize overheating in cooling months (May to October in Northern Hemisphere), when outdoor dry bulb temperature @@ -894,6 +894,91 @@ def genShade(subs=[]) -> bool: return True +def genMass(sps=None, ratio=2.0) -> bool: + """ Generates an internal mass definition and instances for target spaces. + This is largely adapted from OpenStudio-Standards: + https://github.com/NREL/openstudio-standards/blob/ + eac3805a65be060b39ecaf7901c908f8ed2c051b/lib/openstudio-standards/ + prototypes/common/objects/Prototype.Model.rb#L572 + + Args: + sps (OpenStudio::Model::SpaceVector): + Target spaces. + ratio (float): + Ratio of internal mass surface area to floor surface area. + + Returns: + bool: Whether successfully generated. + False: If invalid inputs (see logs). + + """ + mth = "osut.genMass" + cl = openstudio.model.SpaceVector + + if not isinstance(sps, cl): + return oslg.mismatch("spaces", sps, cl, mth, CN.DBG, False) + + try: + ratio = float(ratio) + except ValueError as e: + return oslg.mismatch("ratio", ratio, float, mth, CN.DBG, False) + + if not sps: + return oslg.empty("spaces", mth, CN.DBG, False) + if ratio < 0: + return oslg.negative("ratio", mth, CN.ERR, False) + + # A single material. + mdl = sps[0].model() + id = "OSut.MASS.Material" + mat = mdl.getOpaqueMaterialByName(id) + + if mat: + mat = mat.get() + else: + mat = openstudio.model.StandardOpaqueMaterial(mdl) + mat.setName(id) + mat.setRoughness("MediumRough") + mat.setThickness(0.15) + mat.setConductivity(1.12) + mat.setDensity(540) + mat.setSpecificHeat(1210) + mat.setThermalAbsorptance(0.9) + mat.setSolarAbsorptance(0.7) + mat.setVisibleAbsorptance(0.17) + + # A single, 1x layered construction. + id = "OSut.MASS.Construction" + con = mdl.getConstructionByName(id) + + if con: + con = con.get() + else: + con = openstudio.model.Construction(mdl) + con.setName(id) + layers = openstudio.model.MaterialVector() + layers.append(mat) + con.setLayers(layers) + + id = "OSut.InternalMassDefinition.%.2f" % ratio + df = mdl.getInternalMassDefinitionByName(id) + + if df: + df = df.get + else: + df = openstudio.model.InternalMassDefinition(mdl) + df.setName(id) + df.setConstruction(con) + df.setSurfaceAreaperSpaceFloorArea(ratio) + + for sp in sps: + mass = openstudio.model.InternalMass(df) + mass.setName("OSut.InternalMass.%s" % sp.nameString()) + mass.setSpace(sp) + + return True + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. diff --git a/tests/test_osut.py b/tests/test_osut.py index 1bb13cc..ddeba89 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -872,17 +872,25 @@ def test08_genShade(self): self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) + version = int("".join(openstudio.openStudioVersion().split("."))) translator = openstudio.osversion.VersionTranslator() + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + spaces = model.getSpaces() + # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") # path = OpenStudio::Path.new(file) # model = translator.loadModel(path) # self.assertTrue(model).to_not be_empty # model = model.get # spaces = model.getSpaces - # - # slanted = mod1.facets(spaces, "Outdoors", "RoofCeiling", [:top, :north]) - # self.assertTrue(slanted.size).to eq(1) + + # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) + # self.assertEqual(len(slanted), 1) + # slanted = slanted.first # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") # skylights = slanted.subSurfaces @@ -960,60 +968,63 @@ def test09_internal_mass(self): meeting.setName("Meeting") offices.setName("Offices") + m1 = "OSut.InternalMassDefinition.0.10" + m2 = "OSut.InternalMassDefinition.0.30" + m3 = "OSut.InternalMassDefinition.1.00" + m4 = "OSut.InternalMassDefinition.2.00" + for space in model.getSpaces(): name = space.nameString().lower() - ratio = None - - if name in ratios: - ratio = ratios[name] - sps = openstudio.model.SpaceVector() - sps.append(space) - # if ratio: - # self.assertTrue(osut.genMass(sps, ratio)) - # else: - # self.assertTrue(osut.genMass(sps)) - - # construction = nil - # material = nil - # - # model.getInternalMasss.each do |m| - # d = m.internalMassDefinition - # self.assertTrue(d.designLevelCalculationMethod).to eq("SurfaceArea/Area") - # - # ratio = d.surfaceAreaperSpaceFloorArea - # self.assertTrue(ratio).to_not be_empty - # ratio = ratio.get - # - # case ratio - # when 0.1 - # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|0.10") - # self.assertTrue(m.nameString.downcase).to include("entrance") - # when 0.3 - # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|0.30") - # self.assertTrue(m.nameString.downcase).to include("lobby") - # when 1.0 - # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|1.00") - # self.assertTrue(m.nameString.downcase).to include("meeting") - # else - # self.assertTrue(d.nameString).to eq("OSut|InternalMassDefinition|2.00") - # self.assertTrue(ratio).to eq(2.0) - # end - # - # c = d.construction - # self.assertTrue(c).to_not be_empty - # c = c.get.to_Construction - # self.assertTrue(c).to_not be_empty - # c = c.get - # - # construction = c if construction.nil? - # self.assertTrue(construction).to eq(c) - # self.assertTrue(c.nameString).to eq("OSut|MASS|Construction") - # self.assertTrue(c.numLayers).to eq(1) - # - # m = c.layers.first - # - # material = m if material.nil? - # self.assertTrue(material).to eq(m) + ratio = ratios[name] if name in ratios else None + sps = openstudio.model.SpaceVector() + sps.append(space) + + if ratio: + self.assertTrue(osut.genMass(sps, ratio)) + else: + self.assertTrue(osut.genMass(sps)) + + self.assertEqual(o.status(), 0) + + construction = None + material = None + + for m in model.getInternalMasss(): + d = m.internalMassDefinition() + self.assertTrue(d.designLevelCalculationMethod(), "SurfaceArea/Area") + + ratio = d.surfaceAreaperSpaceFloorArea() + self.assertTrue(ratio) + ratio = ratio.get() + + if round(ratio, 1) == 0.1: + self.assertEqual(d.nameString(), m1) + self.assertTrue("entrance" in m.nameString().lower()) + elif round(ratio, 1) == 0.3: + self.assertEqual(d.nameString(), m2) + self.assertTrue("lobby" in m.nameString().lower()) + elif round(ratio, 1) == 1.0: + self.assertEqual(d.nameString(), m3) + self.assertTrue("meeting" in m.nameString().lower()) + else: + self.assertEqual(d.nameString(), m4) + self.assertEqual(round(ratio, 1), 2.00) + + c = d.construction() + self.assertTrue(c) + c = c.get().to_Construction() + self.assertTrue(c) + c = c.get() + + if not construction: construction = c + self.assertEqual(construction, c) + self.assertTrue("OSut.MASS.Construction" in c.nameString()) + self.assertEqual(c.numLayers(), 1) + m = c.layers()[0] + + if not material: material = m + self.assertEqual(material, m) + del(model) From 72cfcd394b81b169d35c24ddea4ebef54dfc457d Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 14:45:43 -0400 Subject: [PATCH 29/48] Completes holds construction test --- src/osut/osut.py | 74 + tests/files/osms/in/5ZoneNoHVAC.osm | 13369 ++++++++++++++++++++++++++ tests/test_osut.py | 79 +- 3 files changed, 13520 insertions(+), 2 deletions(-) create mode 100644 tests/files/osms/in/5ZoneNoHVAC.osm diff --git a/src/osut/osut.py b/src/osut/osut.py index 0c62416..1238706 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -979,6 +979,80 @@ def genMass(sps=None, ratio=2.0) -> bool: return True +def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): + """Validates whether a default construction set holds an opaque base + construction. + + Args: + set (openstudio.model.DefaultConstructionSet): + A default construction set. + bse (openstudio.model.ConstructionBase): + A construction base. + gr (bool): + Whether ground-facing surface. + ex (bool): + Whether exterior-facing surface. + tp: + A surface type ("Wall", "Floor", "RoofCeiling"). + + Returns: + bool: Whether default set holds construction. + False: If invalid input (see logs). + + """ + mth = "osut.holdsConstruction" + cl1 = openstudio.model.DefaultConstructionSet + cl2 = openstudio.model.ConstructionBase + + if not isinstance(set, cl1): + return oslg.invalid("set" , mth, 1, CN.DBG, False) + if not isinstance(bse, cl2): + return oslg.invalid("base", mth, 2, CN.DBG, False) + if gr not in [True, False]: + return oslg.invalid("ground", mth, 3, CN.DBG, False) + if ex not in [True, False]: + return oslg.invalid("exterior", mth, 4, CN.DBG, False) + + try: + tp = str(tp) + except ValueError as e: + return oslg.mismatch("surface type", tp, str, mth, CN.DBG, False) + + type = tp.lower() + + if tp not in ["floor", "wall", "roofceiling"]: + return oslg.invalid("surface type", mth, 5, CN.DBG, False) + + constructions = None + + if gr: + if set.defaultGroundContactSurfaceConstructions(): + constructions = set.defaultGroundContactSurfaceConstructions().get() + elif ex: + if set.defaultExteriorSurfaceConstructions(): + constructions = set.defaultExteriorSurfaceConstructions().get() + else: + if set.defaultInteriorSurfaceConstructions(): + constructions = set.defaultInteriorSurfaceConstructions().get() + + if not constructions: return False + + if type == "roofceiling": + if constructions.roofCeilingConstruction(): + construction = constructions.roofCeilingConstruction().get() + if construction == bse: return True + elif type == "floor": + if constructions.floorConstruction(): + construction = constructions.floorConstruction().get() + if construction == bse: return True + else: + if constructions.wallConstruction(): + construction = constructions.wallConstruction().get() + if construction == bse: return True + + return False + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. diff --git a/tests/files/osms/in/5ZoneNoHVAC.osm b/tests/files/osms/in/5ZoneNoHVAC.osm new file mode 100644 index 0000000..b9bee61 --- /dev/null +++ b/tests/files/osms/in/5ZoneNoHVAC.osm @@ -0,0 +1,13369 @@ + +OS:Version, + {ca7118ad-5891-4a12-8e85-c39333041b19}, !- Handle + 2.2.1; !- Version Identifier + +OS:Schedule:Constant, + {cbae3349-f243-4796-a1cb-45c1100f2d2d}, !- Handle + Always On Discrete, !- Name + {d23a0215-1959-43c6-8323-c90266ba5d6f}, !- Schedule Type Limits Name + 1; !- Value + +OS:ScheduleTypeLimits, + {d23a0215-1959-43c6-8323-c90266ba5d6f}, !- Handle + Always On Discrete Limits, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Construction, + {b1842204-3a9d-4470-8256-10ef88e1cc58}, ! Handle + 000 AtticRoof ClimateZone 1-8, ! Name + {88bc2cee-29bd-40d0-831b-41bf88d876a7}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 2 + +OS:Construction, + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Handle + 000 ExtSlabCarpet 4in ClimateZone 1-8, ! Name + {1e6df20a-a232-472a-a33b-aa546bd30609}, ! Surface Rendering Name + {bd7c36c6-366a-4037-a37e-c3821f01a4ba}, ! Layer 1 + {6d48131d-e51a-45c6-9ef4-2f3111c0d744}; ! Layer 2 + +OS:Construction, + {b6efdc79-56db-4be7-bd69-ac4387bf2fb5}, ! Handle + 000 ExtSlabCarpet 8in ClimateZone 1-8, ! Name + {477b69c3-7359-492d-bbd7-55c9cda46e17}, ! Surface Rendering Name + {ca6ae5e9-7c2c-4ff6-804e-4fdd87faf429}, ! Layer 1 + {6d48131d-e51a-45c6-9ef4-2f3111c0d744}; ! Layer 2 + +OS:Construction, + {b66bc3bc-7965-41d0-a29f-cda677a84a89}, ! Handle + 000 ExtSlab 4in ClimateZone 1-8, ! Name + {67a70ce2-1479-47f8-8ae1-ac7efffb9996}, ! Surface Rendering Name + {bd7c36c6-366a-4037-a37e-c3821f01a4ba}; ! Layer 1 + +OS:Construction, + {0c31bbea-7a06-486d-a0a7-78e1292d8a82}, ! Handle + 000 ExtSlab 8in ClimateZone 1-8, ! Name + {fc33f31e-d539-4d9f-969e-d8b8aa636c27}, ! Surface Rendering Name + {ca6ae5e9-7c2c-4ff6-804e-4fdd87faf429}; ! Layer 1 + +OS:Construction, + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Handle + 000 Exterior Door, ! Name + {fd5f6384-4bd6-4a16-aaf2-e2e57c7ac5e3}, ! Surface Rendering Name + {6e535b8c-5f4e-49b4-9c8c-53def4ee5b3e}, ! Layer 1 + {83088629-4598-4a88-9e3c-cbedee5e2f96}; ! Layer 2 + +OS:Construction, + {deef944c-116a-41a6-b6dd-55bf6c6ecd69}, ! Handle + 000 Exterior Floor, ! Name + {c7641f83-059b-4f6f-a97a-42cfeca18a4c}, ! Surface Rendering Name + {fd9ae786-e7ac-429c-a672-def9489f8880}, ! Layer 1 + {bd3b90fd-22d8-4c5a-9751-f885d724acc0}; ! Layer 2 + +OS:Construction, + {60dd54cb-05f9-4d78-8f5f-5029ba4c42f3}, ! Handle + 000 Exterior Roof, ! Name + {30fa1143-b745-4268-8187-9afb8b2c3e62}, ! Surface Rendering Name + {c7fc9b61-e684-4d74-a461-b4e1255f8c7b}, ! Layer 1 + {2babb5aa-f8cd-449e-8f9c-d68bce8aeaef}, ! Layer 2 + {3742782d-7a70-4ab1-b3f6-faa686ea3795}; ! Layer 3 + +OS:Construction, + {13d96bf7-5b84-4454-8e17-142ec1823615}, ! Handle + 000 Exterior Wall, ! Name + {e1a0f797-17e6-42c5-88d8-091707edf1bd}, ! Surface Rendering Name + {db11e827-6185-4587-9ec0-ccc086ecf0e9}, ! Layer 1 + {bd3b90fd-22d8-4c5a-9751-f885d724acc0}, ! Layer 2 + {fd9ae786-e7ac-429c-a672-def9489f8880}, ! Layer 3 + {95c60f16-f983-44bf-ba48-52f499a7db6a}, ! Layer 4 + {0a52dda1-7b56-44d0-8861-bd7459f92e78}; ! Layer 5 + +OS:Construction, + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Handle + 000 Exterior Window, ! Name + {0d772e52-57b3-433d-a810-d666d506e21d}, ! Surface Rendering Name + {4c514103-937e-4b44-9baf-bdaa13709d85}, ! Layer 1 + {9fce564f-9a88-493d-8d8e-8f3d6330946e}, ! Layer 2 + {4c514103-937e-4b44-9baf-bdaa13709d85}; ! Layer 3 + +OS:Construction, + {2e321670-4a1c-46ac-a21e-a291cff9bf26}, ! Handle + 000 Interior Ceiling, ! Name + {173caa2b-e0ac-404f-886e-766ae013f4f1}, ! Surface Rendering Name + {c7fc9b61-e684-4d74-a461-b4e1255f8c7b}, ! Layer 1 + {2babb5aa-f8cd-449e-8f9c-d68bce8aeaef}, ! Layer 2 + {3742782d-7a70-4ab1-b3f6-faa686ea3795}; ! Layer 3 + +OS:Construction, + {62cd9cd4-fff8-4556-a4fe-a1f9e7d75d74}, ! Handle + 000 Interior Door, ! Name + {5d65483c-aa10-4916-a8a8-e14640ecce6c}, ! Surface Rendering Name + {37d4d4d7-9b56-4ed4-a862-c8f587759f06}; ! Layer 1 + +OS:Construction, + {9351c31f-ad24-4cad-805b-1da48072bb45}, ! Handle + 000 Interior Floor, ! Name + {bdbb08d5-898f-4638-a23c-ceaf6b43db05}, ! Surface Rendering Name + {3742782d-7a70-4ab1-b3f6-faa686ea3795}, ! Layer 1 + {2babb5aa-f8cd-449e-8f9c-d68bce8aeaef}, ! Layer 2 + {c7fc9b61-e684-4d74-a461-b4e1255f8c7b}; ! Layer 3 + +OS:Construction, + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Handle + 000 Interior Partition, ! Name + {76e5ce0c-f6ef-4151-a469-8174efb167c2}, ! Surface Rendering Name + {37d4d4d7-9b56-4ed4-a862-c8f587759f06}; ! Layer 1 + +OS:Construction, + {f1bc2e18-140d-414f-802c-871f19a7f8d6}, ! Handle + 000 Interior Wall, ! Name + {6fae52d8-46a4-4448-8783-fc3b43e20534}, ! Surface Rendering Name + {0a52dda1-7b56-44d0-8861-bd7459f92e78}, ! Layer 1 + {95c60f16-f983-44bf-ba48-52f499a7db6a}, ! Layer 2 + {0a52dda1-7b56-44d0-8861-bd7459f92e78}; ! Layer 3 + +OS:Construction, + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Handle + 000 Interior Window, ! Name + {4116b397-f71d-41f8-aba7-bf1f7460e468}, ! Surface Rendering Name + {4c514103-937e-4b44-9baf-bdaa13709d85}; ! Layer 1 + +OS:Construction, + {038d7cea-f583-45b2-a299-b20319ae4014}, ! Handle + ASHRAE 189.1-2009 AtticFloor ClimateZone 1-8, ! Name + {5c983eaf-a53c-4ce0-b4e1-44980d09d88b}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {3abd39e7-db00-4317-9662-ee4980ad7966}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {5da9bf47-edfc-4bf5-adb0-48d0e61c9c11}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 1, ! Name + {6b540428-2e60-4e86-8fb3-61915d919ee1}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {2ce0b8ea-9c08-4335-80f0-eebc31d68310}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {7db656c8-34d8-488e-8181-27beec5f738d}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 2-5, ! Name + {effd9abb-ec36-4c50-bc6b-e74947592e49}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {675b3bf7-30eb-4ff0-8ac3-939ef89adb8e}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {0cb6bb43-65f1-4998-839d-4fe3c69f4d98}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 6, ! Name + {335a31e6-1e3a-4cbc-88be-2298a603fb11}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {ed10a837-0834-4990-aa4d-d9b41d148c7c}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {b64bcac2-791e-4ca2-91e7-799c914ae00f}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 7-8, ! Name + {ccba9b23-2704-4802-981a-db22e41adc9f}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {e557ae47-dfab-42ae-9f08-204608b08def}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {3b88e271-8ae9-4bac-b696-a4a4b4754ed2}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 1, ! Name + {849037e0-7f63-49cb-9aa0-4e799999a28e}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {1a46635b-1af8-47b8-9839-9b7f44736116}; ! Layer 2 + +OS:Construction, + {e52d4737-c9f3-47c4-9fdd-52490c34d3f7}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 2-5, ! Name + {333c517a-d5d1-4750-9b62-da3476a4543f}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {0ee1274c-8b77-44e9-8371-871685e356d7}; ! Layer 2 + +OS:Construction, + {ef279216-3fca-4756-a196-b9f1f20b56ca}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 6, ! Name + {f189ee04-0ffb-4583-bad8-785df8788ea9}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {84406085-1f05-4496-94d1-5b0214376c09}; ! Layer 2 + +OS:Construction, + {a55e26f7-ab80-45b9-bf31-e949528509a1}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 7-8, ! Name + {c0178f5c-c521-41ee-a7c5-9d34b062788f}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {a437216f-900c-4107-a6c3-9c91ceb571a9}; ! Layer 2 + +OS:Construction, + {9891723f-0108-43d5-87b2-0771507e91fe}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 1, ! Name + {93bafe0f-5a21-4c4d-bcb5-fa3176877f92}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {f9c98b88-6047-4d6a-842b-b37ac8debd7e}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2ceb298a-c68f-4557-b3f6-7e45e507b4a5}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 2, ! Name + {119c0ba1-3d7a-42c7-ab26-e7d4565e6860}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {a1e74e96-1549-49f7-9a98-9c85bd4b93b8}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {8cead91e-2c06-4b7d-ab2b-12413fb48a54}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 3, ! Name + {c0fbd45e-fa23-4f3d-ae55-c545b4406db1}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {e4a8521a-c5e5-4d7c-bedb-77efdc74bdcc}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {6e1ea055-9c9a-4a34-b944-ccb83a0c6f36}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 4, ! Name + {8cddac25-6638-44ca-935d-56d660ab32be}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {ae52f53f-2ebb-4f0a-bc0c-d03c3afed615}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {71fc821a-a0a0-4a71-a8cd-fabd047baaba}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 5, ! Name + {b881e62d-49c8-48a3-830c-4dbac951eaf7}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {8bc3b583-3d71-4bfc-9e85-f8afbd9da9b3}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {ea155f1f-d9d9-4bda-aca2-5a2dcba0853f}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 6, ! Name + {4a5fbabb-aa83-4511-8e67-ebf59a9fac2a}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {3c150716-117e-4d21-acb5-d080c06a5803}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {56c4e536-897c-4a6a-8db5-fe89f72bcd36}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 7-8, ! Name + {69b10ed9-090e-4a38-a209-0093b349cdf8}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {e3a04909-c395-4866-9b8c-46362bc2ba02}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {d36f4c77-c617-4cdc-b875-b3ced6a7ca2c}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 1, ! Name + {7f9dc5e8-3772-4355-addf-058aef144132}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {a1e74e96-1549-49f7-9a98-9c85bd4b93b8}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {a4e31fe0-5ad8-49af-9162-aa0b29edf904}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 2, ! Name + {4615e728-629a-4bd4-b5b3-00b87d66c0e8}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {e4a8521a-c5e5-4d7c-bedb-77efdc74bdcc}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {0c6b0229-3cfc-447a-aa5e-406c1f98d0a2}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 3, ! Name + {011743f8-a031-48e8-a9cd-287e989ef2d4}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {ae52f53f-2ebb-4f0a-bc0c-d03c3afed615}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {fbee9b4e-a7ec-4221-9cfd-885529c6501e}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 4, ! Name + {55e33ebc-e505-43d1-978d-85fa4c74e3a9}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {8bc3b583-3d71-4bfc-9e85-f8afbd9da9b3}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {0ccfaed0-962e-40af-89d5-b9c70df29f7a}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 5, ! Name + {cb50b924-c90c-4b88-9db1-b071126d52bc}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {3c150716-117e-4d21-acb5-d080c06a5803}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {7888a90e-7f9b-4b72-b1ef-43ae75af9487}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 6, ! Name + {c1e9c38e-102a-4c68-8e0a-60342f02dcbb}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {e3a04909-c395-4866-9b8c-46362bc2ba02}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {0be923be-60ad-4a5c-aa33-49dc605d7efc}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 7, ! Name + {f8c9c18b-f0e4-4145-94b9-775e646e540c}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {e3a04909-c395-4866-9b8c-46362bc2ba02}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {421bfa74-8ca6-4ca8-b542-c34e1e21f2d1}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 8, ! Name + {967b306c-1e49-4ea0-8327-f6660aae580e}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Layer 2 + {186eab42-90d4-4e71-aafe-eedb7ec34f04}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {dd852541-9228-41ef-bb67-7c2d03c3566d}, ! Handle + ASHRAE 189.1-2009 ExtWall Metal ClimateZone 1-3, ! Name + {5c7ff0a0-847d-4a2b-9318-0e1ab9527676}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {90f04158-e773-4256-9c5a-57ea2521c6b8}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {e064d673-1ebf-4c42-b6e1-714de209400c}, ! Handle + ASHRAE 189.1-2009 ExtWall Metal ClimateZone 4-8, ! Name + {709d4935-158b-4256-bbbb-ec4c02aceb89}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {665f1008-76ba-4df3-a89d-a0cb3009b6b3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {da0ba53d-4ecb-4012-8e86-b845d45ad94c}, ! Handle + ASHRAE 189.1-2009 ExtWall SteelFrame ClimateZone 1-3, ! Name + {06b44a8c-7dfa-41d0-bfe0-c165d3e22a90}, ! Surface Rendering Name + {18500b0b-6e4d-4a07-97d6-5354561581a3}, ! Layer 1 + {cba19a56-e741-4a94-8d08-aecc13ceed76}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2f506cec-0ad4-4f15-a721-dc81052f09c3}, ! Handle + ASHRAE 189.1-2009 ExtWall SteelFrame ClimateZone 4-8, ! Name + {ad3a9208-eb6c-414e-9dfd-e5d9651ae0c1}, ! Surface Rendering Name + {18500b0b-6e4d-4a07-97d6-5354561581a3}, ! Layer 1 + {622b339e-da2b-493c-9822-99eba6be292e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f215acac-83ba-459c-9fdf-15438ecfd0df}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 1-4, ! Name + {5cd91ad2-5d32-458c-8115-9395659d5f82}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {d8dc517a-2522-43c1-9a98-d4dd00457e6a}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {0c333582-bceb-48ae-a58e-4c934e3008fa}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 5, ! Name + {593b5e59-7cec-495f-a00a-e7e5b2b387bb}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {48641f8f-f958-44a6-bbc7-aece5052a151}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f9ecd35a-873c-439f-8c2f-0290622ea898}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 6-8, ! Name + {a7606b4c-8fce-479a-bfde-67facc481b27}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {5a1cfb48-4c6b-4de5-8596-f6caa5fb32f5}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {be6d18fc-a9f7-406d-a7cf-fbf8f0271a4d}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 1, ! Name + {c203336d-731b-49d5-9ba3-c882d2e5f9bc}, ! Surface Rendering Name + {1e4bfa79-c0de-4d00-b547-ef34c6224794}; ! Layer 1 + +OS:Construction, + {dd61f600-cba1-40d0-906e-87b58459fe54}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 2, ! Name + {38e63ac4-ad88-45b1-9e57-5aad06bf6f3e}, ! Surface Rendering Name + {96e6891f-9edc-4b0d-82bc-853a9559ed17}; ! Layer 1 + +OS:Construction, + {fb12c003-ed66-4961-b04c-24808b70c2d4}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 3, ! Name + {049283a0-6dd3-4a52-850b-dbdfe1b690bf}, ! Surface Rendering Name + {aa5c5fb4-5466-464f-bd8b-e93dd23b4bc5}; ! Layer 1 + +OS:Construction, + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 4-5, ! Name + {7b765030-b6c1-469a-b743-a5671c940bf8}, ! Surface Rendering Name + {00f65efe-2803-4ce4-9c98-c2e5df290808}; ! Layer 1 + +OS:Construction, + {8f75cc03-5336-4256-8c65-40f7ba765ac0}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 6, ! Name + {60c7ddb8-2f8f-4884-851b-fcf14c10e0d1}, ! Surface Rendering Name + {457ea523-ad7a-477d-9710-eb5f588d471c}; ! Layer 1 + +OS:Construction, + {f51b9824-639c-40e9-a163-b58b5633723e}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 7-8, ! Name + {ec19caa3-a296-4613-a366-11d27922adbc}, ! Surface Rendering Name + {7bc65a4c-e445-44d6-95cb-0870e2668362}; ! Layer 1 + +OS:Construction, + {5fa767d7-cc34-4f11-8188-01c59e207828}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone alt-res 4-5, ! Name + {19ce0129-1ebb-427a-99c7-6f0cb303ef5f}, ! Surface Rendering Name + {457ea523-ad7a-477d-9710-eb5f588d471c}; ! Layer 1 + +OS:Construction, + {af28e15b-7a3f-435d-80c4-d7343dd0fa4c}, ! Handle + ASHRAE 90.1-2004 AtticFloor ClimateZone 1-5, ! Name + {42c1741f-e245-4507-80e9-913c663f986d}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {8b631329-3676-4170-985f-d6011db1a63f}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {1a41001d-b63d-4379-94a2-200dc74ea0da}, ! Handle + ASHRAE 90.1-2004 AtticFloor ClimateZone 6-8, ! Name + {1c8599ca-0341-42eb-97e3-c4d256b1fce4}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {d8bca767-2e8f-427f-863b-d3a4811e7232}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 1-4, ! Name + {4d53852b-81e7-456a-8770-448c8a1ed846}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {9678d402-6c08-4cb5-9702-8385222fba65}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {682b4713-b8b8-47d5-8081-635419d0e9c2}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 5-6, ! Name + {72f54dec-5800-4cb5-9865-3a9b65fb5085}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {64c8ae98-3b12-4ea6-8077-1d430a100c05}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {7fec2da9-16cd-4a08-8da1-af3225845321}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 7, ! Name + {e0c4d35c-29d6-42ac-90c1-938f604325bf}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {9678d402-6c08-4cb5-9702-8385222fba65}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {aac95d38-f409-497d-9216-9c05fb2a5207}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 8, ! Name + {28992ab7-7cd7-4304-ace1-02ef727d5efe}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {9037b711-37be-442d-b30c-72b89d553e70}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {2e5300b1-4145-4c66-abd8-a70d1ea83ee4}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 1, ! Name + {f0364547-99d5-48b1-bf07-0c4ad1860b77}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}; ! Layer 1 + +OS:Construction, + {a561ac6a-7c62-4cfa-ba84-da6c93aea16c}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 2, ! Name + {9d88b25b-dc5f-4872-b97f-f6cf1cb3f806}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {74c178fd-0d40-4017-9362-43405deb126d}; ! Layer 2 + +OS:Construction, + {08141c1d-3989-4ab4-aa7a-ccbfcb1e5d6f}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 3-4, ! Name + {2fb483ec-27d7-4b28-8dd0-a4883b074212}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {80b2e3ec-69a9-49a1-9793-7f1d0e532921}; ! Layer 2 + +OS:Construction, + {54be85cf-6dcd-4ab6-8642-d69d8562add1}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 5-6, ! Name + {55e177df-2ea4-4d96-aef5-f45f03b36ae3}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {ae17dcb4-6fa1-4cce-8d2d-1eecc31a1d2c}; ! Layer 2 + +OS:Construction, + {556ddb33-f7fe-4779-b39e-f73c228aab60}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 7, ! Name + {8c5a8978-ee82-4fc9-88c1-59aa8f8dd7ca}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {80b2e3ec-69a9-49a1-9793-7f1d0e532921}; ! Layer 2 + +OS:Construction, + {5d67d707-dd00-426d-859f-9d43e04d0b52}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 8, ! Name + {cf7eed47-1f0a-47ba-b22d-c301f599bcce}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {bc4621a8-bee8-402c-a136-52e753af2ce0}; ! Layer 2 + +OS:Construction, + {daae073b-5b6a-4eab-9c37-1f5478553ecb}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 1-2, ! Name + {08c75c4f-c344-451e-928d-882e6c82911b}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d062460b-883c-4218-85ea-0572987e81d8}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 3-4, ! Name + {53ce77c3-d4f4-46fc-9a12-62510d74849d}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {99cb8625-3006-4803-88bd-d8c133119bbd}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {12e35b55-2f45-4623-a7c4-835751a6bcb9}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 5, ! Name + {4081fe48-5975-4695-9b51-794e1b5d464b}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {507639c5-51b4-441e-a06f-ab1aeb78cb2e}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {4305f663-3413-4c5a-88bb-3582bc2b4737}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 6, ! Name + {15da472e-0b88-4551-be76-0c78809539e4}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {b1f84594-87bd-4d3e-8db8-93465b75acca}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {3e61609c-da4e-442b-a2c3-8ce608116f39}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 7, ! Name + {3fd56130-5438-40b7-9036-d4e967461285}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {1389a1a2-7505-47c9-8223-4dca599994b9}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {f63fc01e-b028-4239-89cf-15f7538914a5}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 8, ! Name + {a26edd37-dce3-44f3-aff2-67c1ba966951}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {78b7b95f-9ce0-44dc-87c6-b9c7de34e775}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {35c2b18e-9bbf-464d-9bc4-dc0b6db96010}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 1-2, ! Name + {86d885e0-b8dc-4864-bb4b-e93ffc6e56de}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {99cb8625-3006-4803-88bd-d8c133119bbd}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2b247104-34a3-4dfa-bdbc-84bdd6d83408}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 3, ! Name + {8556284f-07c4-4feb-b870-f9b58faca153}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {507639c5-51b4-441e-a06f-ab1aeb78cb2e}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {81a69226-adcb-4250-a9ee-6d43ac0beca5}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 4, ! Name + {5d781f89-7b21-4ebc-8465-f7cb72cdad14}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {b1f84594-87bd-4d3e-8db8-93465b75acca}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {63829d57-1648-4ca7-b003-631013a942e3}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 5-6, ! Name + {5efc9f46-81a6-4d27-bb67-872ed401f45b}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {1389a1a2-7505-47c9-8223-4dca599994b9}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {b4ed03e6-7c25-47fc-b8bd-2e7da6b0402c}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 7, ! Name + {6730a332-1207-4a0f-bb23-c3d8f8e6a9e0}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {78b7b95f-9ce0-44dc-87c6-b9c7de34e775}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {5e2d2fe9-81e8-47ab-a5d8-945ea59ac01b}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 8, ! Name + {a31bda59-ed80-4895-8269-ba9b0dd8a872}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {6bc88261-3dc2-453d-a10e-d55872bda8aa}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {af3f9728-8508-4f00-b4a2-3c2795cf8c25}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 1, ! Name + {89db3308-ef11-4161-845d-d8104e7e4e4b}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 2 + +OS:Construction, + {8272d738-83c0-4395-a4f3-5c712152b20c}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 2-3, ! Name + {e4c61e9f-89f3-44bd-9c35-ca6c30644ad4}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {94b7127c-10a1-4419-824e-51f81119da1b}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {5c0b6888-6b92-4e5f-b4cd-b322d3a309b4}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 4, ! Name + {8f99080f-83b4-401e-94e5-9a5be3533ed8}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {a32cd8ed-d7e2-4651-accf-387739c4a130}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {e978a86e-6b65-4c11-9bf6-ea1654515135}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 5, ! Name + {e1035dcf-af05-467b-9b45-b33ab4d73ea1}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {c703bb29-7f9e-46c2-b30e-f219dacbb8c0}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {0f7905ce-5dc9-4664-baa0-4bc01cf613a7}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 6-8, ! Name + {dd1ecc57-1227-4cfd-92d0-ea15c6335f35}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {576fcd01-e02d-41e8-adb2-8261ecb52db5}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {43826cc3-a974-4260-b992-d3dce843c64e}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 1-4, ! Name + {99e74abe-9439-49b3-8e2a-dd2c9b8d50ff}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {41759e2f-72a6-4fca-a9aa-05ad1695bc31}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {36cf36ce-7784-429a-8e85-e6adfd7e7a68}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 5-6, ! Name + {4e123ecd-ba69-4c7a-8a61-c224c1c852d6}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {7b1baf7a-5284-488e-a616-cd7a0e78eba0}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2239eb43-be0d-40f9-9371-4572f034b6a1}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 7-8, ! Name + {977519c3-daab-4c7f-a431-dbe2c46bd6a4}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {f55ad287-8d44-412b-936a-2bd21ec3c091}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {0d344c92-4957-43db-ba1f-fa4530731c3e}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 3, ! Name + {47edc650-2961-4979-9ad6-9de6b7e7cefa}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {7b1baf7a-5284-488e-a616-cd7a0e78eba0}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {61ed89a3-e128-4e4f-8a0c-4ff2f5aa17fb}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 4-6, ! Name + {ace07439-98a2-49d8-8146-6a4615827f1a}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {f55ad287-8d44-412b-936a-2bd21ec3c091}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {7089168a-67d3-42ce-87e5-96ea0ef5d558}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 8, ! Name + {1992821b-fe90-4b47-9b3f-85d5c45441c0}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {6d8b7e72-723f-48a0-b636-c662b76a1580}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {06c3223d-e5e6-45aa-b68b-df90233cbafa}, ! Handle + ASHRAE 90.1-2004 ExtWall WoodFrame ClimateZone 1-7, ! Name + {ebe868ec-e204-439d-8ec6-f1ce5ae51a0c}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {2eaf7613-1aac-47eb-8045-4a170a0872f4}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {c9b7085a-d129-472e-a245-544f44535cb9}, ! Handle + ASHRAE 90.1-2004 ExtWall WoodFrame ClimateZone 8, ! Name + {f27e3475-c9f1-43ea-a541-ad0ea26c1bc1}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {b3565d69-8bb3-4138-ba7d-e8763beec286}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ab4c5ff1-9c4a-4f4e-8dc4-e3cb8bf26806}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 1-2, ! Name + {841a4154-5197-4adb-8f1c-012422458b89}, ! Surface Rendering Name + {7f374163-eb1a-448f-b9ce-3a64653055b9}; ! Layer 1 + +OS:Construction, + {3204b780-9e1c-409d-9649-f71d6cf80a7e}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 3a-3b, ! Name + {b6586427-ef4e-4b4d-9442-478c3afbee14}, ! Surface Rendering Name + {9b210e9e-0158-4ce8-a634-bf8adac8c81a}; ! Layer 1 + +OS:Construction, + {bb1323de-f624-47ba-91f5-82f1481b3634}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 3c, ! Name + {e5ca3b4a-e163-4070-a6a1-3596a4427542}, ! Surface Rendering Name + {a403f61c-9313-4b66-8628-1d1aec766e81}; ! Layer 1 + +OS:Construction, + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 4-6, ! Name + {6c129171-e885-4203-80bd-b7c97e7e47a5}, ! Surface Rendering Name + {116edbe1-5b60-418c-8ad9-10bbdb47aec0}; ! Layer 1 + +OS:Construction, + {2453e249-ae1c-460b-aa60-7eb898f6a254}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 7, ! Name + {6d7ca9ba-00a9-44b1-b193-935f18855328}, ! Surface Rendering Name + {e91982eb-8bd6-406c-b6b3-6a09de39a71c}; ! Layer 1 + +OS:Construction, + {18e06bd3-eb1d-4777-ad41-d8f703dc759a}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 8, ! Name + {4503e770-051a-4cde-969c-3757cdfb5457}, ! Surface Rendering Name + {a608edf3-33c2-4c8b-b9a9-65bdf1c5b6d7}; ! Layer 1 + +OS:Construction, + {cb2f878d-8d21-4b38-827f-13cd602257d0}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 3c, ! Name + {b03034c8-ddb8-4269-9fde-d700d40473db}, ! Surface Rendering Name + {3382b253-a54b-4d9f-8d4d-2264467816b6}; ! Layer 1 + +OS:Construction, + {0e81d457-94ce-4e91-ac22-5310cceb6e9a}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 4-6, ! Name + {b8288b89-8fb4-49bc-818d-d935a96ec56c}, ! Surface Rendering Name + {e61bd81b-2c14-4e06-bf77-aea511b22e09}; ! Layer 1 + +OS:Construction, + {06ad9acd-8854-4b6e-8583-73f499cea18e}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 7, ! Name + {7bd1cd53-b811-4f26-9251-f17435772e9a}, ! Surface Rendering Name + {a89adccd-c2d5-49a9-8b1f-db2ef9ce9b20}; ! Layer 1 + +OS:Construction, + {f11c92cb-f897-47e7-9be6-0b90c6f1a9ec}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 8, ! Name + {4602e984-b1aa-4870-8f67-67242227487c}, ! Surface Rendering Name + {d55663d0-6f58-473b-be76-02e9c5b26de9}; ! Layer 1 + +OS:Construction, + {0066da78-26a9-4f5c-854f-d1ae374fe7b4}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-resA 3a-3b, ! Name + {57f1122b-02b9-478a-b51c-c79648eeaacd}, ! Surface Rendering Name + {e61bd81b-2c14-4e06-bf77-aea511b22e09}; ! Layer 1 + +OS:Construction, + {8359ac61-563d-47e8-b3c3-31dd372cb7c3}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-resH 3a-3b, ! Name + {6745aabc-fea4-41f5-9f15-6bf722c1bb22}, ! Surface Rendering Name + {116edbe1-5b60-418c-8ad9-10bbdb47aec0}; ! Layer 1 + +OS:Construction, + {18c8bfa1-c3f1-4dc9-bc26-89add6109bcb}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-ware 1-8, ! Name + {48484f33-0338-4a5d-bc40-ef6a5941f855}, ! Surface Rendering Name + {dc7cc868-8241-43c9-8c61-bebd3fcd861d}; ! Layer 1 + +OS:Construction, + {bec28989-f033-4c43-8136-7188711452ed}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 1, ! Name + {aa7b5b62-5f83-4d8b-badd-9f1966f804a7}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {47550165-0294-4c04-b5f1-16f83f496643}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {6ad70edf-d21a-4412-bc1a-ed4241c7e01a}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 2a, ! Name + {9e7ab4d1-085d-4df2-919f-6dd1c2aa4294}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {ad759fb0-bcb6-418a-8a1f-416a0437e43b}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2fa39521-aa6d-4f63-96cd-b204e218fbd8}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 2b, ! Name + {ba5d5ebf-70e0-4a92-b0a8-5575ce8401a4}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {ed5b48d4-c625-4146-9858-00a493f1f9b5}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {786ea298-b54c-4b7c-9261-ff0bc94433cd}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3a, ! Name + {0f18973f-5d06-46b5-a051-4f518b322feb}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {30764fc6-f8f9-4256-b34e-8c93586ecd97}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {af53cfa8-f6be-4310-a096-257c6afd3f7f}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3b LAS, ! Name + {ffc87d83-4d14-4078-b8df-c6639fcd729f}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {cc27009f-bd09-465f-8e28-fcd24f62cb42}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {16a579c2-0c2b-4abc-bcae-b76d2aea8091}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3b LAX, ! Name + {1fc3848e-bfda-416f-83e4-78b8a42068d8}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {40d18374-172e-45d2-9242-8adeec900424}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {fd116904-4b29-4329-a874-3c59b81dc575}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3c, ! Name + {79869e16-29fb-4683-8c46-04449c205bbb}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {856e6c66-1481-4c35-8ac6-16bc3a0cf9d9}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {8c91a1df-6d1c-4bf2-a9a3-913459fe9444}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4a, ! Name + {5837a2a0-0b8c-4b77-add6-903e4f68a5cb}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {611b095f-a00c-4c25-9b10-a75bfa0d68f3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {76769547-9c81-4bbf-9f2d-2cecfc59a70b}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4b, ! Name + {e4f4f990-afc8-4320-a9dc-fab81e3e150d}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {712c0657-5cf4-4727-9876-8067a8ab2d52}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {a087a9a4-6104-4821-9b8a-a27bbd48935c}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4c, ! Name + {dbbc77e3-f3d8-4871-8dd1-f496965643aa}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {5cb894d1-2000-4b38-be1a-5e242227443f}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {c935925d-6e6f-4bfc-aa38-94a4f1663841}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 5a, ! Name + {a8a5d110-e649-4262-9567-37a9419f759f}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {1526da99-8dd6-4d70-a4ea-ff56fea7b322}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {4e86956f-d871-4501-9327-ec0c1d0d265e}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 5b, ! Name + {5eb19d7f-da8e-4606-b48f-43068f85ccbd}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {0fe5da5d-c981-489a-b65c-94d1f55fa902}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d3f8ba79-b3d9-49ce-81e5-14f3af4d6cf5}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 6a, ! Name + {df4e65b0-2e70-4b4d-a8aa-ce90661f887b}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {57e0e90f-829b-4442-b945-9c912d2fcdeb}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {b12c800e-1c27-4b65-bb31-186f12a13be6}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 6b, ! Name + {de9231d4-288a-4205-a3a1-586e7541fa0c}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {4cea9621-cd12-4584-9d39-b53c8fd35ccf}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {5a88eebd-7acb-4418-9e0f-74c8870ee754}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 7, ! Name + {60189538-2935-4be6-a1d5-e9e6e2bd0b10}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {bc3711a2-af11-43c4-b16f-cf95f09915fb}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {4633407f-29f4-4668-8e74-ee62c5606f8f}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 8, ! Name + {a1627db2-6aa5-4d0f-888e-72932bdf7634}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {79b46406-c92d-4a92-b340-038c4e963e57}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d8d60798-7e75-4d4c-ac6b-ee65b1089c43}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 1, ! Name + {d6f3192c-3510-49cc-be66-64885ca833e7}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {90ac59bd-1fa3-448c-952d-33ec4d1fc21e}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {6f096622-fde6-4ee1-a796-f215fede3a87}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 2a, ! Name + {67f8fa77-d847-4b5d-8fdb-22b14a97ac90}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {0f7ec2e7-bf94-4a22-a7bc-4e76b4f93ca3}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {8fddf617-4223-4f1a-89f0-c3cf2cff2c91}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 2b, ! Name + {6de5e6ad-b402-4b5e-a8b3-6cfb04d57f50}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {fb3b9696-9ad5-4848-80be-7aedfe68d70b}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {2d626ab3-f818-48f3-9875-348b89541a0e}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3a, ! Name + {f9f63d91-3e96-4271-a61a-631d3cd3b5b9}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {669033f3-0d50-445b-96a0-2732ad078ff3}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {08adbeab-e303-4813-91ff-1e6a502afeec}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3b LAS, ! Name + {39d5f91a-d2a3-411f-849b-7bb61888eaa9}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {e7beb317-ec91-4fa3-b090-a95bcc7e39e0}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {da20368e-7d0d-482f-a2d5-4594a6f07f95}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3b LAX, ! Name + {b96c5a2b-9e71-45ff-9276-1a3155653bb2}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {bab7fb45-4b4b-48e9-bcd5-89b6eec2e946}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {8b31dcf8-a3df-4a61-910a-fe74e8c2705a}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3c, ! Name + {a32616a8-bfa2-453c-9894-a5cc350ce387}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {3798feef-e040-46d8-8383-4edbd7247e03}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {59f81c33-d11b-41c0-ab16-231277612ad2}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4a, ! Name + {b9838d1a-a3d7-4922-a0d7-e5661228ac79}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {0722fc37-55b7-4ea2-8dd4-c82ff31342a0}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {d23a6655-5e1f-4dbe-bde9-94663990aa72}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4b, ! Name + {57da4b1c-30ff-4bf7-b070-f0dc72545055}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {7f9d9a25-3a06-4085-8e56-163a6b258511}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {f9237654-1cd8-41da-8bf2-34d05bb66e2f}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4c, ! Name + {1b5d9de2-02f9-4bc9-9ce9-0c83286e342b}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {768a136f-c767-4347-9c50-942c41532c56}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {981e11d7-0cfa-4e3e-a3f3-daf296178568}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 5a, ! Name + {d7de8a6e-ef6c-4895-87d9-7bca243b53e8}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {0fcb5a4c-aafc-4147-ae58-ad4ed080327e}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {bb1c2a17-dad4-4490-9b1d-4d325fa57b8b}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 5b, ! Name + {1ee804b6-daeb-4ea4-9b8a-b1159686dd76}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {cc644156-c0c5-4345-94d5-80fc25b00407}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {6afde2c2-12f3-4316-8386-45ce533e1d6b}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 6a, ! Name + {b6d98b8e-6ba4-417d-a70d-0bfc0ddcfbc8}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {1a1268c0-4792-4f9a-87b6-d8639ea9e27a}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {01832895-ded1-42d5-a406-508271d00d85}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 6b, ! Name + {af0cc4e0-a05a-4fa5-88b1-83780e9145cc}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {d96dbd4f-81b7-46d0-9df1-f158d095908f}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {26f40f8f-15d2-454f-9375-e6a4c4947744}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 7, ! Name + {270abb00-2c0a-4875-9611-096acb6c8fef}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {6cda1240-0a9d-440a-bc4a-3157f4d1f257}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {bf9eae5f-0699-4eda-9bac-ca2de10990aa}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 8, ! Name + {e3a4947b-2024-4918-930b-aa67b81254c7}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {6b566f4c-9961-4329-bd18-69b251702006}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {b849113c-659f-4fa0-9724-1f278f1643ea}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 1, ! Name + {c85f373b-1cc5-4d48-82fb-9d4b6808e383}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {2ab3fd95-296e-40e3-bb23-11b3ba00151b}; ! Layer 2 + +OS:Construction, + {e8fdad99-e540-4bca-ba54-6717662224d9}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 2a, ! Name + {5ee699d2-d983-4b46-a9b1-8b750f049667}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {1f2080a8-6656-439e-9cb4-0cfebde43406}; ! Layer 2 + +OS:Construction, + {973c7925-0437-4d92-8d3b-2d021d1db2a8}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 2b, ! Name + {e32f703a-97d2-4ea3-b120-c5c6403a6a09}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {913f2de0-98e5-4bb0-bdf3-bd733e3a7853}; ! Layer 2 + +OS:Construction, + {12e09187-cfd6-4f81-a0e1-6274a1fa1903}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3a, ! Name + {e84650e2-b5c0-481b-9ec5-d84dedb246ec}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {38bf144d-5e68-44a4-af41-d7498ae39982}; ! Layer 2 + +OS:Construction, + {310c8ddd-463d-44ad-91f1-7496b038f869}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3b LAS, ! Name + {a664a920-43a1-4805-96d2-95910269791e}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {a0924b43-97ac-4adc-a37b-c41997c61175}; ! Layer 2 + +OS:Construction, + {10cedc0a-bfb0-492d-a47d-6c95c6132f20}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3b LAX, ! Name + {ad0afe3d-54e6-4e3b-9194-5996327d4729}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {d9a702c4-c534-424c-9bc3-b5d7bf39870f}; ! Layer 2 + +OS:Construction, + {0a695406-26ac-424b-9d22-3e4a9190741b}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3c, ! Name + {c7257bb6-75c1-4ba1-abd8-b531eb182e80}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {0f5e9c3e-35e1-48a8-b655-91bb9fde843e}; ! Layer 2 + +OS:Construction, + {c1bc10b2-c86d-4bb4-8ed8-31ebcaec9fe4}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4a, ! Name + {9a96da2b-0f89-4d12-ab07-47957dc69a20}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {039aaef0-a65d-4334-8d93-8316f187c740}; ! Layer 2 + +OS:Construction, + {e9f190c2-fcfd-4804-924a-d8bc6bff3b0d}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4b, ! Name + {953d7050-1f51-4508-8d1d-69b7d8662822}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {c0195120-6c7d-4481-9075-d8c974d36fb0}; ! Layer 2 + +OS:Construction, + {b6865a52-4eeb-416e-a79c-a852086d633a}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4c, ! Name + {f83662f6-a819-469d-a568-d4cc1b68ed81}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {9c26cc1e-a78b-46d1-9f8e-069033302b76}; ! Layer 2 + +OS:Construction, + {2c80df77-ab3c-4105-b83d-b80435285ca3}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 5a, ! Name + {b165250d-2a4e-4cde-a8c4-686421ea2397}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {b85a45ca-c02a-4605-b817-8e6579bc86df}; ! Layer 2 + +OS:Construction, + {f3866942-92b2-495c-8c09-2042d7ec8e90}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 5b, ! Name + {aeb3ad72-d6a5-486e-af6c-a637f467dd11}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {b85a45ca-c02a-4605-b817-8e6579bc86df}; ! Layer 2 + +OS:Construction, + {9daacbbb-94ed-47b3-a12c-184df6f9fa6c}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 6a, ! Name + {23bd0c45-6584-4d96-bd68-68f5c21d5edc}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {60008ac1-d4ee-4ee2-8542-a2c652b4a2fc}; ! Layer 2 + +OS:Construction, + {939c0e13-906f-41a7-958d-c2e1e0cfb6ae}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 6b, ! Name + {c8cc31ba-b263-494d-acfc-8ed5e3f7d627}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {f88cd590-2a73-4a9c-b890-b72075a785b9}; ! Layer 2 + +OS:Construction, + {4a98993b-3f72-4d7f-9482-43cb2eac29f0}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 7, ! Name + {8a2157b0-4511-4d90-b8fa-a7ae9161c105}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {7b1f2f18-b035-40ca-9837-4de4e5200c12}; ! Layer 2 + +OS:Construction, + {9541fd62-7565-4546-9a33-153e16123849}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 8, ! Name + {fe19cd7f-2b44-45c2-aeb9-893289986110}, ! Surface Rendering Name + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Layer 1 + {84915ad3-2a9a-48cd-a706-b797e85900dd}; ! Layer 2 + +OS:Construction, + {fb6c3304-4070-48f2-81f3-a887a088f7d4}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 1, ! Name + {04795018-7974-40c7-92c6-b1ecb18cfaef}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {943b8763-308b-4e37-94b0-b49824e855c1}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 2a, ! Name + {d1f58173-6e23-4706-ab02-b94a097348d2}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {fae3439f-eff2-498e-9932-8aab0b48374d}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {1b03fd4d-7c18-417f-bc3f-3c4a231577bf}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 2b, ! Name + {1e6da59a-7376-4c3a-81f4-5661107443cb}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {90e4e6bd-fc4a-4103-8813-87f951f6a4b8}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {a6cf43c9-c979-4a90-be60-82ef5610a225}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3a, ! Name + {d7be95fe-f9c1-49dc-b5b1-6b3514e62509}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e4631c87-dda8-493f-97b4-c6db2cb6dff4}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {6e5454ed-6b69-4292-8129-2fe82ac13668}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3b LAS, ! Name + {f2a6544a-d5d0-486a-8b98-4b162c8a3102}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {8a3846a1-93f5-4520-831f-ec7a4a41dd38}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3b LAX, ! Name + {33a87c12-1cb9-48b9-891b-d75178c6097c}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e4631c87-dda8-493f-97b4-c6db2cb6dff4}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {6602d9ac-c8a8-45a5-9351-1578477dec3c}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3c, ! Name + {721144ef-9c5e-41ff-a4cb-e62957179808}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {8b984ee3-caee-43ca-9ae0-bfb6ab7e9e77}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4a, ! Name + {4552100b-77e8-49d4-afb5-e0ce6f2a04a9}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {cf002c97-4be5-4ad9-a778-f2dda4f10437}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {586f1db6-48af-4c26-a107-4bf2935b1272}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4b, ! Name + {67fd4e3d-3d6a-4780-9975-f7198d8b89e7}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {6e34a290-d46e-4857-acc4-a8633d9a4132}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {c0c8a043-d913-4d04-a9b9-c35530422810}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4c-5a, ! Name + {f4181da6-aaf6-4664-a351-dc0e71899cbe}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {9dfe3a75-f347-4e9d-953c-b8ef940d2211}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {bbd4dcfc-de7a-4231-9d67-b5717024f26d}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 5b, ! Name + {b9f5593e-3409-498b-9b9c-70dc82c9acba}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {c693c3a0-ef7d-4029-adb5-d3e1c72f1abe}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {d132f1b9-bb9b-4f5d-9fa3-504dd7d64a47}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 6a, ! Name + {cbae6f4c-2cff-43e4-a482-10a6600b3918}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {6bc88261-3dc2-453d-a10e-d55872bda8aa}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {1d4b6987-fba4-4226-8597-34f1b53e714f}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 6b, ! Name + {33fb78e8-8ac4-4f16-9e9d-720086876531}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {573954b3-a148-43de-b588-4b32a9692d10}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {7dce1af4-9cea-4aac-b5e7-d16944c5f94f}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 7, ! Name + {a7440715-ddaa-412d-a012-0318866321bc}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {90e38fb9-1179-4372-870c-87eef6c3fdd1}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2bc78f1d-a291-4253-8e84-fab9554b03be}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 8, ! Name + {ccb62cf2-e4a9-4b2a-869f-63e947662704}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {7edfbf18-0ec5-47eb-9293-bab785d767f5}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {7b62572c-8b6d-419c-be9a-69b285f3cb20}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 1, ! Name + {91e37b45-5512-4d61-b3c4-8e2db9c00525}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 2 + +OS:Construction, + {98317850-8a75-45f7-a738-9adc3904a45a}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 2a, ! Name + {630a42b4-aeb1-4eeb-92b0-a64efb9f66d5}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {ef5a273e-d59a-47ad-b451-6e0daac704fa}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {dd2b1185-7369-43cd-95d0-13dd0243dc43}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 2b, ! Name + {b730543d-74a1-41df-b435-211e37780052}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {1ace4b46-f9a6-4b57-bf98-85fdfb395d1a}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {68ada42e-da1a-452c-928c-85754bff621e}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3a, ! Name + {4f5d6401-f281-4157-8850-7eac5d1ae58e}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {8c6e0c46-5eaf-435a-912e-beb3b78fd823}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ca136b8d-1591-4a09-a215-ab7406496e5d}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3b LAS, ! Name + {33e77f5f-5341-4563-b409-5435ed3903b6}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {c645d3c0-aa53-4872-8f6b-41a6b7046518}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {e27a20f3-2c6d-455f-80d2-b4ca3476e354}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3b LAX, ! Name + {80809cd6-a03e-4ea7-aa91-a43138a288a2}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {251ae3d9-3a4d-40d6-a4b3-75b3c7dea768}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {e2ddbbd2-349f-4ce2-91ce-edbab7c1638f}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3c, ! Name + {366f5b21-dbd1-472b-b7d8-39190b2c82f9}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {8c6e0c46-5eaf-435a-912e-beb3b78fd823}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {93ec5ec1-fe7c-455f-a6af-1a60f1c2c9a7}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4a, ! Name + {096fc0ad-85e6-4a94-9abe-7ac937f2f9da}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {6459360a-39ae-45e3-bb7e-f31f7e4c3a26}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {da773a3e-5098-4022-b781-1da98e71181a}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4b, ! Name + {e48ff0c3-936f-4858-8c99-c4c44231c1c1}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {7fcaccc0-2813-4b61-b406-de3a4bec33ee}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2b78a540-2896-42c9-88f8-1429b77ab0fb}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4c, ! Name + {47d7230d-675b-4370-985e-091728084ce9}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {1eca6359-8ed8-41c5-b576-efab8e5fcb3d}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ea8476c2-45cc-4ed4-a6ad-aea710690c18}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 5, ! Name + {8e893e58-049f-481d-8b48-e20d8508dc6b}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {b1624cb3-2cfc-4b99-9e42-3ce14abf69cd}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2d85e5ee-c941-4741-8c38-d9c86a8b0f88}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 6a, ! Name + {e5d1f17e-e9da-484a-89da-091941a55a3d}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {352e28a8-b570-493a-8996-1ef906425be7}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {4ba843e6-bd47-4025-90d1-a0d1ae6ccd72}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 6b, ! Name + {04fffacd-c0e7-4a8d-a281-d9437174a2ac}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {838fcc23-f739-4644-a761-77a891780368}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {b4a6c3fb-04e7-42ed-90a7-f1afc8ca3242}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 7, ! Name + {fc7e60d8-9ace-431f-bccc-f74d02c4733c}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {0582ccce-da08-4018-b265-81fb3ac2a162}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {51883d9a-dc3a-4004-a29c-db245a28da64}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 8, ! Name + {48fcd2a0-9a58-400c-afa6-32be350a5f16}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {5237a014-0a24-4c35-b581-be0bfae0158b}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {967dc359-58c0-4935-a00f-c59bc49a8407}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 1, ! Name + {5f640dd1-4891-4839-abc4-c6c94a9910b8}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 2 + +OS:Construction, + {da8c3473-844d-4d9b-8588-02dee8b807d8}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 2a, ! Name + {b66203a6-08f9-4d79-ae5a-ed3d3575be26}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {466646b2-5dde-4034-87a5-71ddeaba4d17}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {bde9509c-dc94-4806-b3ec-7388ba721335}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 2b, ! Name + {af4136d2-eccc-4536-b7ee-8845613bf115}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {f45c2bda-12b7-4954-983b-160c768bd608}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {116e2dd1-b5da-46bc-abf2-68bf727f9d8f}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3a, ! Name + {eeac063a-8ac8-4291-9edf-8f64a94fee94}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {3283864e-de5b-496b-88ec-0a5b8f38e5dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f21d6227-bebc-4cf3-a9a7-56a1d4f637f6}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3b LAS, ! Name + {a6e3e623-7be3-4e10-8443-b98b5f817ff3}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {f9280099-8a49-43b8-bf0a-dcca29ccbb95}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {03da5c02-ea05-4288-aba8-7c78cb37f5e3}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3b LAX, ! Name + {2f4bb91d-36a2-4a10-aaf2-b51d99f2b596}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {b0d7091b-dfa7-481a-ba77-9ece60b34434}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {45fb3ed8-736f-4917-8da1-66729810499b}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3c, ! Name + {eb0c8c2a-ac17-4d4c-a960-bd1e013303ce}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {3283864e-de5b-496b-88ec-0a5b8f38e5dc}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2e7d6ea0-3a5d-4344-a646-dd597011b02e}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4a, ! Name + {822fdfd2-816f-49fc-92f8-ad61caabea1d}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {1e06a9c5-20f2-439a-969f-02caf3bc2add}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {3cf16b7d-fe63-4419-ad11-5be27842d922}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4b, ! Name + {17a648b8-233a-47d0-9c32-c41355b2c77e}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {9601ee66-15ef-4677-bd72-b4360495fd5c}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {554df0fb-ac73-4667-ad48-cb0c9ceea9ce}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4c, ! Name + {54f01c01-5d34-45b1-a11f-6e05800f548e}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {0551f43c-d056-42bd-8571-6ccf8ada30bb}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {c883b933-f9eb-4848-baf1-3e602a7668c8}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 5, ! Name + {57bd4b51-02c1-49ed-b6f9-bc2509bb8c8b}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {dffa7b1a-e94c-48c9-92d3-cb71258ba1a3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d717f9eb-1507-41ef-804a-5631ff7f92b3}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 6a, ! Name + {3fefc1cf-b75b-4a7d-936c-841cc2c8f8c4}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {5ea43ffa-d77d-45d4-87ca-09e4891fa817}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {61ceda32-f6d0-4706-8559-3d21c312ffd6}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 6b, ! Name + {88b85769-546b-4edf-9b3f-acde5b32b4af}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {9d6cf257-e9bb-46eb-85fe-4be3cec28625}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {25760b38-3c52-4244-a95b-a249b612add5}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 7, ! Name + {6dfc5e81-aed8-490d-bb76-b7519b632e0c}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {e9e3dc76-9715-48e1-a8f1-eb0e0fcc1768}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {4b680e5e-03f1-4a58-9c53-2677d80908ec}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 8, ! Name + {02babf4c-69d7-4c8d-bc60-1c0f97612a3a}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {8bce72e5-a883-448e-8f2c-f32333efc0f9}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {229fe07a-4743-4bf7-b04f-c512f231891a}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 1, ! Name + {b4d19da2-3ce8-4a2c-a13f-9391da35d3ac}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 2 + +OS:Construction, + {890cbe88-1144-4305-b239-58770e428075}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 2a, ! Name + {f0176bdc-bc71-44a1-8df3-fb8c359ba779}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {fc6c0b3d-bad2-4fd2-87fe-e62b941dc03d}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {0f0156ef-a494-473e-8640-5f0d884cbb4c}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 2b, ! Name + {c1f1e0d7-c5f2-4ab9-a915-e5326feab7fa}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {5dee128b-d7ca-4940-9405-1e2673b368d8}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {99ce40c9-e898-451a-8dce-b039ece97a3c}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3a, ! Name + {b2d720d5-4ad4-4c98-9050-288157880bfa}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {2d62cbe5-356f-40d3-9c14-873aedd01656}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {577cb6f9-d3dc-40a5-a29c-35642cfa479d}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3b LAS, ! Name + {addc2887-5514-48a7-8d22-35f2e297d89a}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {a7bdbd48-1a2c-4b77-ac2e-1b72c4bce037}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {c1ae9550-361c-4bb0-a84e-ac6b41c9f162}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3b LAX, ! Name + {e34a36e3-f86e-4808-b129-c791a6441979}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {403cfab3-e6c6-4c25-8b9c-0a03a2b4829d}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {87bdb3d7-967c-4ff5-b451-0f8cc8204348}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3c, ! Name + {95f5b17a-b2a7-4023-af71-1e24ca8ab456}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {2d62cbe5-356f-40d3-9c14-873aedd01656}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {cab40bf1-dbb4-4c48-814b-7d450f19ad55}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4a, ! Name + {54b3e8f7-aed9-42ab-812f-5f22506f8fdf}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {2eaf7613-1aac-47eb-8045-4a170a0872f4}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {945ade3a-95e7-40ab-a143-6b06da24f13c}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4b, ! Name + {d64c1cb1-a99a-4bb7-8f2a-a6ee335c82cb}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {36af3e7f-b317-4c1b-b27c-1df122751208}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {8d4bdeea-7187-4db5-a21e-7a7f538667e3}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4c, ! Name + {532d220c-210d-4bc1-a2a0-1f05769937c9}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {267950c2-3d78-4ff0-bf40-9cb056395b5e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {700dd7d3-d8b2-4f85-943a-36af791c1a6d}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 5, ! Name + {742a16a5-e1d7-4a2e-b4b6-5cd003b00f76}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {acca82d0-c40f-4bfd-a589-cfcaf7a0ca1e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {b30104b0-7d85-4e98-b1b7-048be9d13edc}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 6a, ! Name + {673ec014-903e-42a5-be40-2b043edc4ddd}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {595128f1-45cc-4562-9c3f-6e6f22a45619}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {699b3530-fb2a-46fc-b17a-abdb65f5611c}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 6b, ! Name + {15cec624-dfee-4837-985b-8e50f8588d4a}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {fae863d9-5570-4c00-a97b-8a237473c89e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {48b17c18-d74b-4952-9614-26d7d5cdbec7}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 7, ! Name + {c0486b41-29c8-45a6-ade1-cdd15782b3a5}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {285c755e-83ad-4008-aab9-aaabfb52220a}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {bfcf9cfd-6417-4f95-9398-59defaf81251}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 8, ! Name + {920ed0ef-8cdb-4cb4-bff3-f1a3e1ecbc36}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {5207ff92-bd6c-47c7-b97c-7272707c1e50}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 1-2, ! Name + {1192fed6-7e67-46fd-99f3-be286d189815}, ! Surface Rendering Name + {7f374163-eb1a-448f-b9ce-3a64653055b9}; ! Layer 1 + +OS:Construction, + {5022aca7-70a1-47d5-8448-87946c2c0d9e}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3a, ! Name + {45e2749c-14a4-403e-9f1e-fdaf4ef35fce}, ! Surface Rendering Name + {cb0a7ea7-ede4-4d0a-878c-4ecb7a1a910b}; ! Layer 1 + +OS:Construction, + {58e22e56-6c65-4a81-b37d-32864713c067}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3b LAS, ! Name + {66903d01-a7f1-4282-a661-3df053f94b6a}, ! Surface Rendering Name + {7f374163-eb1a-448f-b9ce-3a64653055b9}; ! Layer 1 + +OS:Construction, + {b18208ba-f4a1-43a8-9334-a433d4cc596e}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3b LAX, ! Name + {536e9797-c087-4744-b62c-ca9a860d8dfa}, ! Surface Rendering Name + {e0af98b1-73c9-49d7-8fb1-e34644fbea86}; ! Layer 1 + +OS:Construction, + {9b817e38-7248-4c31-be6c-c4abec136789}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3c, ! Name + {ec72c20c-a24c-4181-8a45-0311b5cef97b}, ! Surface Rendering Name + {c5b2393c-7c58-4654-8461-17424cb40558}; ! Layer 1 + +OS:Construction, + {76ae8b32-9a9b-45e2-a2ed-2a41e6747243}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4a, ! Name + {8d91c078-2b06-4c43-9eeb-c3f7148c9177}, ! Surface Rendering Name + {3742ba59-f4b8-4476-9327-1374b76ae341}; ! Layer 1 + +OS:Construction, + {11f729f7-29a6-473f-8514-bfb89ec5f065}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4b, ! Name + {35cfa893-1c82-4916-9f5d-4ec1232ee745}, ! Surface Rendering Name + {a6f43e42-c214-4d58-a48d-fa098c744db5}; ! Layer 1 + +OS:Construction, + {8385b02b-b035-414b-9c0e-e2483fea2627}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4c, ! Name + {734f5361-9d15-4060-90c3-cc79828e423a}, ! Surface Rendering Name + {c5b2393c-7c58-4654-8461-17424cb40558}; ! Layer 1 + +OS:Construction, + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 5, ! Name + {36d1d5ec-cbb2-4669-afd2-af527365ff5c}, ! Surface Rendering Name + {f929ac95-3f64-452b-a231-c13da7165cd7}; ! Layer 1 + +OS:Construction, + {08100b54-380e-435a-994f-9e2ffa617833}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 6, ! Name + {a3de3fcc-6a9b-4886-99be-d141d23cdb44}, ! Surface Rendering Name + {487907f9-e900-4ee0-acff-8e287b84fd16}; ! Layer 1 + +OS:Construction, + {823bb33c-58ec-4be8-a182-071aa7c28e77}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 7, ! Name + {73aec14d-4471-4341-b912-5b67cd8a27b4}, ! Surface Rendering Name + {1ff58fe6-710e-42db-91b9-c04b2783021f}; ! Layer 1 + +OS:Construction, + {fed678a4-65fc-42d6-8a3d-5298af0c87cc}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 8, ! Name + {0e643def-d2de-49d8-b3b0-ac03d38e5a22}, ! Surface Rendering Name + {e8caa103-647d-4c53-b40e-a2f52eaee991}; ! Layer 1 + +OS:Construction, + {f1c3b110-fbab-4dbd-b389-3a77d1182860}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone alt-lrgoff hosp 1-8, ! Name + {fd5f718e-926d-4b6b-b6a4-1513de2099a7}, ! Surface Rendering Name + {7f374163-eb1a-448f-b9ce-3a64653055b9}; ! Layer 1 + +OS:Construction, + {40a263cc-e7bc-4121-a356-b790201c1971}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 1-3, ! Name + {a84d2977-c1c4-41aa-8925-580d9f41c983}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {40d18374-172e-45d2-9242-8adeec900424}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {faf4e3e4-04fe-42fa-ae39-8b2957eb75d2}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4a, ! Name + {8477198c-0b4f-49e4-b8b9-b7de9e307d84}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {75e6df43-8bdd-41f4-b584-1565fa1eaa92}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {b366dba4-4560-4706-97c9-89dc11f20d25}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4b, ! Name + {bc9cc366-b75a-46da-ae33-d91d0b338871}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {a0217633-61e7-427b-ad78-1f3594ef66c3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {4b98e947-c75b-4035-bc28-64d008ae900b}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4c, ! Name + {95340f09-acbb-4b73-a956-085e76096c67}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {dea13a44-db8c-460b-974f-f0f996d767f3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {29a77cbd-2c26-4be4-8b73-024d7a11ce90}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 5a, ! Name + {5bf283f9-768a-4d75-ab2f-03ab92969e7c}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {a9ac601d-ce75-4502-bd68-7c736c9cf8b3}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ecf20084-8b50-4aac-a0ce-f0223323f084}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 5b, ! Name + {555927c2-0228-452f-b0e3-a431f27b6e0b}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {1f8a756e-75d3-4ba0-a56a-2fc63005f5de}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {9becd718-9e5c-4652-9892-f0f365da3d1b}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 6, ! Name + {1795b0bd-a949-4621-9cf9-bdae3247e406}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {712c0657-5cf4-4727-9876-8067a8ab2d52}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {3aee06a8-195c-4d70-8ad8-413cdd12a1e8}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 7, ! Name + {e208ff98-f12c-4179-80c6-b7adfc824cbb}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {fabf9ece-7afb-4152-b53b-c168ecf0ae77}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {104bde1c-5ed8-492b-ba79-4f7c0b989084}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 8, ! Name + {a46b715a-9d96-4656-9290-487b855a99ac}, ! Surface Rendering Name + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Layer 1 + {712c0657-5cf4-4727-9876-8067a8ab2d52}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {8db0fa48-aeac-40f3-a3d6-5071380806cd}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 1-3, ! Name + {722efaca-3d20-48f5-b6df-593b6d0f8a8f}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {bab7fb45-4b4b-48e9-bcd5-89b6eec2e946}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {64f15765-f991-48a0-9ce5-8f8b356cfe37}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4a, ! Name + {d9965666-9201-434a-993a-a11710cbd6d6}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {2df227ba-c555-4563-9ee6-1ca7f5daa477}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {c4811841-8a0e-4240-bfb1-1258b6953631}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4b, ! Name + {a01dfdc3-1050-4c78-ac10-6f5a8e9e59e1}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {a0217633-61e7-427b-ad78-1f3594ef66c3}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {78dc9de4-824c-4a33-8487-ab56b8a8b387}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4c, ! Name + {c40b8821-046e-4ab7-a111-45af2e5d0189}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {dea13a44-db8c-460b-974f-f0f996d767f3}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {f67e8807-8eb8-48a6-b543-f104f23a9857}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 5a, ! Name + {e8bff628-4157-477a-b784-23746e92c96b}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {a9ac601d-ce75-4502-bd68-7c736c9cf8b3}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {8b47647d-1403-463f-b6dc-99511a6518bd}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 5b, ! Name + {87f6ea76-47d4-438d-9510-2c598408b674}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {c33c674a-38e0-48b8-9815-248e025dffc2}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {b9148d14-0982-44e3-a597-0ab667f7ef42}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 6, ! Name + {2701c0b3-bcc8-46f5-9425-f1678d528b05}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {7f9d9a25-3a06-4085-8e56-163a6b258511}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {3b21468b-c925-45ae-ab07-223778b83323}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 7, ! Name + {f8dfec4e-0fea-4436-9431-5193feceb58b}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {bbd88dab-e1a0-44fe-862d-2c761df769bd}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {9963262d-c087-46e4-b628-8e4ec9945054}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 8, ! Name + {f0f02d97-e6ef-4469-9673-375ecd16b3c9}, ! Surface Rendering Name + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Layer 1 + {7f9d9a25-3a06-4085-8e56-163a6b258511}, ! Layer 2 + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; ! Layer 3 + +OS:Construction, + {9c5e01f4-5b9c-4ceb-9476-7669780e522b}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 1-2, ! Name + {092ebdf8-8bb9-4685-9f13-e38e75d5b5dd}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {8f503dad-bcbe-435d-884c-19aef92e9aef}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2ebd3dda-1382-4da5-8989-78b613316d0b}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3a, ! Name + {c17cc628-027c-46ea-81b1-bab8370dcb8b}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {b5fff6ff-ceb4-455b-a317-2d6559ce68c7}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {5468c83f-b03f-4d18-a523-ac5b1ea1e9c6}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3b, ! Name + {15026108-7ff6-4d0a-9176-5365251e6e77}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {8f503dad-bcbe-435d-884c-19aef92e9aef}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {83878fe1-cb57-4fea-8a35-f6bde8a197ba}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3c, ! Name + {48a95547-4b52-47b3-95e7-839f72dbdec7}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {72275a73-e28f-4918-b3a0-84e006345cd1}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {a91c7699-1206-4273-89fc-8f76b9a3f3c3}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4a, ! Name + {b9d40028-c02a-46c7-b8ed-41c576337e3d}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {4edd9dae-6bbc-451f-bedf-af0a3fa48913}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {e1e7c8e0-4fcc-4f85-99fd-739c71e34bb3}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4b, ! Name + {46922dfb-0af0-4d95-909c-4f81c589a23f}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {40186e99-548a-4aa7-aa6e-dbd360f94a46}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {3c6f13cc-3935-4610-a6c1-614ef2d44ded}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4c, ! Name + {d9e0533c-a8f1-47a5-a1c1-50b17c6dc90d}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {d3021724-86f8-448c-85a9-731666ee2d20}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2f5b9fc8-1bf3-49f8-9d1b-694ec6020681}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 5a, ! Name + {0b57c1d5-6f81-4d4f-9003-37d3d3ba9657}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {709d09ee-eb77-48f4-a25d-789c1c2f6f3e}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {f0754399-c24f-4bf8-a207-c5de50825dac}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 5b, ! Name + {618171b8-5d52-46a0-9881-9a337ce86635}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {af41df9c-17d9-4722-bff9-31e6e7c27755}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {2c3cf52e-4fb9-4c48-941f-e9119d43aa27}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 6, ! Name + {edd21dba-0054-4784-b0ca-52ec1f7d83a0}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {7843db8a-1cea-41c1-aff4-4262ec063824}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {46a50861-4755-4d78-879b-77227ae4f0f5}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 7, ! Name + {2843a0bb-6a89-49c7-9f0c-4d80941d6d4e}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {808b6180-2f7b-4809-a027-bb4746344e2d}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {88583124-3da5-474f-b8c8-af9358646da4}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 8, ! Name + {5905730d-aa4c-4cf0-be04-5d374f0dfcf7}, ! Surface Rendering Name + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Layer 1 + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Layer 2 + {9d955538-7f87-41b3-bfe3-974a2718d941}, ! Layer 3 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 4 + +OS:Construction, + {6ae908d7-a764-4f19-b9b5-e132a0534541}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 1-2, ! Name + {6de5fb37-9303-4c34-96ca-55e93cb8a71a}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {fbc3249d-2131-4727-aa01-fdf67749c734}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ea7408c1-eb40-4f39-bf5c-eced4c5bf92d}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3a, ! Name + {a64a5bb4-6879-43e7-a014-e1db231cf88e}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {667ac566-3d51-47ec-89ee-102f3bdd0f81}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ce753f80-0674-44ac-b7f1-3792a561f554}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3b, ! Name + {9271adc6-3e7e-4c0a-a923-1ffa5399e0a9}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {fbc3249d-2131-4727-aa01-fdf67749c734}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {b5dae480-0a99-45bb-b698-0ec24e6afd9a}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3c, ! Name + {34aa1b83-9368-4b33-a513-bb4bdbd1e1db}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {667ac566-3d51-47ec-89ee-102f3bdd0f81}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {27f6750f-61e9-44c1-98a5-3bec8870aaee}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4a, ! Name + {ada76177-41ce-4389-b16b-8cd25c7722f4}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {c7b18a52-4ef4-4a4f-86dc-e65807b1267d}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {2d2a5257-191a-4faa-bf05-2b8a9e356cad}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4b, ! Name + {23300d0c-3b0a-48b4-afb9-13f35f47510c}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {94b7127c-10a1-4419-824e-51f81119da1b}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {a6591ec7-426d-4b3f-a63c-c363f8f99853}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4c, ! Name + {1df4131c-3f7c-472f-a6ab-ad594cdc47a8}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {3ea07875-b6e2-4a1d-b5e0-fdf334dac5a4}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {521959d3-cf0c-4898-ba0d-e8ad5f099c9e}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 5a, ! Name + {94478bf0-b87f-4178-a3b0-49e52d8d64bd}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {3bd3e906-e4a8-4f83-b54f-b535ba015e8f}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f117d116-5a6c-445e-bdac-34a2f70e2df1}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 5b, ! Name + {29ce1979-08fb-4550-a5e1-b146a1063999}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {1fb27356-6254-4715-b9e7-26c729e5dd14}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d8b1d0c0-66f0-4a0e-bc7d-abc8fda31c29}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 6, ! Name + {dbf92329-9028-4733-8274-202f098dba48}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {bc451e37-ab96-4e32-85b8-060b14dd1ffa}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {250127bc-804c-4e2d-a1a8-a3728b1381a5}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 7, ! Name + {e82bff6c-4726-4522-a291-7095c8edc6bc}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {872e448f-5384-458a-8a1a-e53ec084beb2}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {9d8ec867-1956-4dde-9d06-7bda0ce993a7}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 8, ! Name + {60f9450a-42e5-4888-89bc-0751428c4fc0}, ! Surface Rendering Name + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Layer 1 + {5d87f774-1ae9-44e8-b865-03d9d452ab4e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {02e814f7-3428-47ab-a542-9baf6b227307}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 1-3b, ! Name + {5c109be4-dc96-4400-ab6c-1f7a6234745b}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {8019b5f5-adde-4511-9e5e-6b281149013f}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {c7c5ff93-c3b7-41cc-9f08-79fa3978a81a}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 3c, ! Name + {03de152c-4617-441c-8931-a09e588d35e7}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {108df802-fee3-43e4-aa70-30afe6ce5034}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {f678c0f3-adc9-41a6-b8ce-5efc546d74c4}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4a, ! Name + {2d4db0f1-37c0-4911-8820-0fac97e64cc1}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {ccaf9ff5-0fb0-4f5f-a8bc-fd76d841a11c}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {374a6bb5-714d-4439-93c2-ca71d2319bda}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4b, ! Name + {71fa4986-617d-480e-8ec7-9a3a1e400192}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {adc7c349-18e0-4477-b281-793bae7bf70c}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {6203b789-b4b1-44ff-97b6-625c9291cfcf}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4c, ! Name + {21438f39-813a-41d4-824c-c2867ec32aac}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {b84226dc-387a-4788-ab5a-47a5230a5bc7}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {526c9223-e9e0-4e16-8740-d0ba25ad2757}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 5a, ! Name + {554daac7-d404-4408-bb10-21b8cbf3e440}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {5d572caf-cc14-4989-a3dd-bb5c75394398}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {21aca9fa-48bc-4136-8993-2012f9ffbb47}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 5b, ! Name + {9bbf43be-fca7-4079-99da-a6ebb3f910ee}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {ec09d094-ecf7-46e5-a3e0-ee0d17bea43e}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {953bc5c4-589f-4139-8cf4-d0acc3f80060}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 6, ! Name + {f61caac8-8620-43ee-97a1-93f8724516ff}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {cc0c49e9-fe73-4fad-86b0-bc260b9d209c}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {d8d888bb-0b8f-45ab-8039-ac7cf86c1ab1}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 7, ! Name + {bc39c14a-1b36-4e90-9907-6e19c2995621}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {0d33d654-5b1b-4758-a3f6-80ff27f2c230}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {ae0e1fc9-3aca-4e2b-bc23-a9d40dbdef20}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 8, ! Name + {d029bd65-ec08-4f58-993f-2cb5f6d10417}, ! Surface Rendering Name + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Layer 1 + {2e2e1999-2af3-4929-92a5-5f99011c3f83}, ! Layer 2 + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; ! Layer 3 + +OS:Construction, + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone 1-4, ! Name + {068c6547-ce03-417e-8504-86e25e50f04f}, ! Surface Rendering Name + {80d35209-1fc3-4c27-9b04-ea75e1ffd844}; ! Layer 1 + +OS:Construction, + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone 5-8, ! Name + {cc5dcf26-9254-4bbd-908f-ffcb82d1acb5}, ! Surface Rendering Name + {3a8c7593-79fe-4bf3-91e6-e49840760f51}; ! Layer 1 + +OS:Construction, + {dbe21b8d-3043-47d9-b10e-563516c9a626}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone alt-lrgoff hosp 1-8, ! Name + {909048c0-99d0-4943-8713-886024da6609}, ! Surface Rendering Name + {80d35209-1fc3-4c27-9b04-ea75e1ffd844}; ! Layer 1 + +OS:DefaultConstructionSet, + {1e3df5bf-f4d9-43f2-ba6a-e11cb0e37ec1}, ! Handle + 000 Default Constructions ConstSet, ! Name + {a04cd717-0da9-4021-a76e-44a645d16661}, ! Default Exterior Surface Constructions Name + {7a8c6b2e-7b58-4e76-9af6-7d943cd2d16f}, ! Default Interior Surface Constructions Name + {ec3b28bc-5228-43ef-8b99-7a1ce0c9766b}, ! Default Ground Contact Surface Constructions Name + {317ea942-d88e-45c1-8cb9-558405b3f3d3}, ! Default Exterior SubSurface Constructions Name + {771dfa2e-64c7-4847-931a-6db8d0c2b75f}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {fb01b1ef-8fcd-424d-a3f9-e1de9a9ea43e}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1 (smoff) ConstSet, ! Name + {ff4478aa-5673-4cb8-a9c7-23eda1926439}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {276835a8-827b-4ecf-9ba7-a466c820b50d}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {536105f1-a656-445d-9a59-f86e321719f7}, ! Handle + ASHRAE 189.1-2009 ClimateZone 2 (smoff) ConstSet, ! Name + {c09ead2e-ac21-4795-a5df-d9d069940a0d}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {af6ed6b5-32fd-4fbf-b929-98187fdf8b37}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {70a06181-911c-4a43-ad4f-e44028331d40}, ! Handle + ASHRAE 189.1-2009 ClimateZone 3 (smoff) ConstSet, ! Name + {13e76810-371a-42cb-805d-8da4a383b88b}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {754e0f70-d716-4d62-9f5f-3d2ec83495fb}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {f17433c7-61b6-4a62-a021-924bebb19750}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4 (smoff) ConstSet, ! Name + {d35b3eb9-aaa2-4082-b345-585935ec55d2}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {b04343d5-c5fc-4527-b632-9096af9ad167}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {925fd388-6014-4483-bdc7-1a24eab0db75}, ! Handle + ASHRAE 189.1-2009 ClimateZone 5 (smoff) ConstSet, ! Name + {5e9f5d8c-aa44-49e4-b460-90dedd58d633}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {21ae1074-7d6b-4f68-a5c4-ae65a1ecccce}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {1af6fd15-13b1-4cda-8dca-50b5de80b7ec}, ! Handle + ASHRAE 189.1-2009 ClimateZone 6 (smoff) ConstSet, ! Name + {82709787-f5b0-46c9-abbe-1659f3281246}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {78ecbc45-cdaf-4c0a-9b74-287f1d0b9085}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {3f6c63c0-d4f3-4c91-b3a2-795a5998e665}, ! Handle + ASHRAE 189.1-2009 ClimateZone 7-8 (smoff) ConstSet, ! Name + {ae60d8e3-fbb5-423b-83fd-283df54e6b38}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {019cfbf0-2373-4b4d-8700-d4e8511d56ff}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {2424e8b5-f0e3-458d-8c1d-642d03d2a724}, ! Handle + ASHRAE 90.1-2004 ClimateZone 1-2 (smoff) ConstSet, ! Name + {794a6817-4b32-4755-94d0-ce7f443b62ee}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {ec03dba8-89b2-4ef1-aeb8-5f9175e32fba}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {9bb561ed-0577-474b-ae53-196fbd9037e4}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3a-3b (smoff) ConstSet, ! Name + {623e4ed6-073f-4bf5-94a0-5e28b36565cd}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {3ecc6d89-4488-43cd-96c0-35b1181302e5}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {03a7bf06-d5a9-42d7-ae7f-8b18ab10812d}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3c (smoff) ConstSet, ! Name + {559d0209-0154-43aa-9829-3c2e689d4427}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {872699cd-b0f8-4b97-a3cb-b9639aa285ef}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {09f5a1c2-087e-4361-83cc-2acdbeccf50d}, ! Handle + ASHRAE 90.1-2004 ClimateZone 4 (smoff) ConstSet, ! Name + {6227ab46-2c54-4e11-8204-90707e24aeec}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {1fbf7d60-8c32-4a3c-9e5f-1c262412f33d}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {c9ce067a-ae64-4aac-970d-052ed4f71d0c}, ! Handle + ASHRAE 90.1-2004 ClimateZone 5 (smoff) ConstSet, ! Name + {6a47330a-b1e4-41a4-aad8-97b1d3db6ba2}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {2c184dc3-ea52-4ba1-b998-83a28ed1a39a}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {0bdc45f0-d255-4ab6-8bb0-c4b31176d825}, ! Handle + ASHRAE 90.1-2004 ClimateZone 6 (smoff) ConstSet, ! Name + {0530bff5-9a3e-42e5-912b-6ab823f2f3fd}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {68ec0cf9-1d59-4f8c-9895-e82ff8143d9a}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {821603ec-8dfe-4bca-9676-63f5621e926c}, ! Handle + ASHRAE 90.1-2004 ClimateZone 7 (smoff) ConstSet, ! Name + {bb73e0c3-7623-4225-8b41-36f21bcd64d9}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {c636430f-983d-48fb-8986-1403e714f8b4}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {a5e5b7b7-95b4-4464-bb68-3db427d78250}, ! Handle + ASHRAE 90.1-2004 ClimateZone 8 (smoff) ConstSet, ! Name + {fb7e46b6-b25e-4a48-bb07-ba9922c34d3e}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {268b20cd-32af-44d3-9410-e8d9748fccea}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {f8eb007e-da18-4c38-ab78-5dd0f555484f}, ! Handle + CBECS 1980-2004 ClimateZone 1 (smoff) ConstSet, ! Name + {441a2ab8-4700-417e-accc-7e3cce96ebfc}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {724e2bdf-2478-4799-82bc-8a0e8c54020f}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {91d30731-4420-4b28-8a4a-aeb199b2aa7e}, ! Handle + CBECS 1980-2004 ClimateZone 2a (smoff) ConstSet, ! Name + {6b81c6ef-2f18-4a5c-98ed-80487a68a1bc}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {0b7e640d-9100-48dd-9472-8224f53abe45}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {1e065543-ff1c-4d9b-8dc4-9d9f01c90916}, ! Handle + CBECS 1980-2004 ClimateZone 2b (smoff) ConstSet, ! Name + {55d0fa48-4d1b-4d7a-85df-faf80808b253}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {75c6444a-781c-4fcb-9478-941be9a4bf66}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {bfcdf55c-04e9-4777-a1e1-c51b27474f20}, ! Handle + CBECS 1980-2004 ClimateZone 3a (smoff) ConstSet, ! Name + {d7d502c3-f3c7-4220-b6e2-61b47abe3914}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {53a94b66-dc4f-418a-b857-981c7a1065a1}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {efa0fcae-1a9b-4d0b-9dd5-8de531af0a6a}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAS (smoff) ConstSet, ! Name + {e993a3cd-ddb5-4508-8fe7-efc1bec7ecd0}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {350c1529-1bed-4efe-8a2e-497fc4298850}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {acb777da-6520-4567-9d66-7ed268ab9403}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAX (smoff) ConstSet, ! Name + {96253922-ea1c-4e45-82c0-daad8b2f4bef}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {bad65e7b-be4b-40b5-b419-e6977445057a}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {a8617e62-7473-4c12-ab73-9fbed22739ce}, ! Handle + CBECS 1980-2004 ClimateZone 3c (smoff) ConstSet, ! Name + {a1e609cf-1a70-4144-8b58-be88e67e02ce}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {0d62972d-dc25-4ff9-a134-a0b925d28b24}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {0371d383-63e1-413a-a876-c44a129ef95a}, ! Handle + CBECS 1980-2004 ClimateZone 4a (smoff) ConstSet, ! Name + {8f5740d3-5c83-4687-9419-8ab3a829d3e7}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {e87e257d-fd32-4370-8d03-dca2916edd99}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {c1324633-688f-4924-b5a6-1337850f6fc8}, ! Handle + CBECS 1980-2004 ClimateZone 4b (smoff) ConstSet, ! Name + {1bc945bf-fdea-4f0b-83d7-828bc6f19eb8}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {14bb4049-e036-4139-91a9-ec1165c42677}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {461dd7b8-1faf-43a5-b998-9ab54d473afc}, ! Handle + CBECS 1980-2004 ClimateZone 4c (smoff) ConstSet, ! Name + {e1333d4a-e7cb-4c5f-aecb-1af0a98d6502}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {9319d63b-974b-4d4b-8617-43890bcc1dbb}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {85cd8001-075b-4be5-8107-cc0904023904}, ! Handle + CBECS 1980-2004 ClimateZone 5a (smoff) ConstSet, ! Name + {39d2217e-9d76-4dd6-82f6-056087ce8a7b}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {80e68467-3bbd-4cb0-8c96-926f8b249490}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {576cc7be-85f0-4de9-b76c-12784bda33c6}, ! Handle + CBECS 1980-2004 ClimateZone 5b (smoff) ConstSet, ! Name + {88b708fc-8c64-4909-8156-d27fd60411ce}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {4b54c33f-45da-4067-a8e4-40ab52eb5415}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {40d0f6dd-05d4-4eab-a33d-6ea54ab5bf69}, ! Handle + CBECS 1980-2004 ClimateZone 6a (smoff) ConstSet, ! Name + {31fe4df1-ecda-4aaa-90a8-5f6b66462f47}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {38af4979-ce5e-4fa0-aed2-91fdb8e31944}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {0637b223-c988-44e0-82d0-20e4f3038b2e}, ! Handle + CBECS 1980-2004 ClimateZone 6b (smoff) ConstSet, ! Name + {1e347b29-187d-4e7a-b378-3367186adc88}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {e433321f-d259-4de0-bafc-3cc9fd0df42f}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {6d25a96b-e768-4493-8453-bbaf3e993a64}, ! Handle + CBECS 1980-2004 ClimateZone 7 (smoff) ConstSet, ! Name + {621c5027-bdc1-440e-aadf-c82ac58db2fd}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {646aba4b-7bff-49ef-892a-5fba0a449240}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {bdf8217a-d284-44ae-8dc9-ef807d131ecb}, ! Handle + CBECS 1980-2004 ClimateZone 8 (smoff) ConstSet, ! Name + {e5384b46-6c29-4493-83c3-564fd5e91339}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {328ece35-a43d-49e5-b9d1-433378cde5b8}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {75dbd87d-fcf1-41ae-8462-d0d98d72ee3c}, ! Handle + CBECS Before-1980 ClimateZone 1-2 (smoff) ConstSet, ! Name + {59bd8053-7c8e-4c8e-8c8e-8503224abc59}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {62f0cd2d-e58b-47d2-8eb1-2cfffc2975f9}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {8e5f4925-dd89-4952-b55c-ce584f2b6ced}, ! Handle + CBECS Before-1980 ClimateZone 3a (smoff) ConstSet, ! Name + {d2f0c3d2-6369-411c-99b0-13c8efd6b6b8}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {e0bce860-5078-4405-807d-362c14e1e1d9}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {473baef8-d788-468d-9478-99ef5b3640c9}, ! Handle + CBECS Before-1980 ClimateZone 3b (smoff) ConstSet, ! Name + {529a30fb-62e8-4795-b957-c506eb929d32}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {07d08fc7-b13d-4ad2-ae0d-2fa5a8b6ccf5}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {f729fff8-318f-4c67-8a3a-ea72fa1c1c14}, ! Handle + CBECS Before-1980 ClimateZone 3c (smoff) ConstSet, ! Name + {99aa1305-d301-4f5f-aa42-a2823ce4296a}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {d8da618c-4bb2-474c-a178-e7aadd6cadfb}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {5bf9b7dc-ee76-4e84-b263-1a75faed1353}, ! Handle + CBECS Before-1980 ClimateZone 4a (smoff) ConstSet, ! Name + {1ada2941-4056-40f7-8282-a8e638769409}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {826d8184-3a04-481b-8684-abfcbfd80382}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {003e69d1-c2ae-4633-aa00-5fbb5d7ac41c}, ! Handle + CBECS Before-1980 ClimateZone 4b (smoff) ConstSet, ! Name + {c4252034-2751-4f41-9770-4d8d84627787}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {82db6124-7dba-439c-89be-637684c36758}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {370cb787-7887-451b-b8bf-f0d1b213b32a}, ! Handle + CBECS Before-1980 ClimateZone 4c (smoff) ConstSet, ! Name + {3433821f-c156-4123-b174-22a592651b39}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {8530e8f7-1e94-48f2-ab49-a29d8de5742e}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {95377296-71be-4a9a-80f3-4b1bfa43cc0b}, ! Handle + CBECS Before-1980 ClimateZone 5a (smoff) ConstSet, ! Name + {89602183-c874-409d-b9f3-33e149df723b}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {241148f1-aac7-4aca-906d-49e91cee630b}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {a307571e-7377-4d42-89d2-fe64daff5215}, ! Handle + CBECS Before-1980 ClimateZone 5b (smoff) ConstSet, ! Name + {4b6e1363-4ad3-4613-aad3-2d6044012df8}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {f959f080-67d7-4acd-bd3b-35d621a029d4}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {8aa31f07-f3fa-4b4c-a790-8f568b09a923}, ! Handle + CBECS Before-1980 ClimateZone 6 (smoff) ConstSet, ! Name + {df550089-4847-40f6-a095-9a3fa9c93c6c}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {b0a9950c-2814-4c80-9bb5-6ad4a7e0099c}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {ae799866-8eb1-44ae-9d2b-30dfadb3fcad}, ! Handle + CBECS Before-1980 ClimateZone 7 (smoff) ConstSet, ! Name + {f9a7ccfb-d9ec-4ad3-9f1c-ff113dd08062}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {db2fdf12-b43b-4fdf-9ac1-788d3979e8e1}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultConstructionSet, + {7fe666e9-4b1f-4877-aa92-749c423eb54b}, ! Handle + CBECS Before-1980 ClimateZone 8 (smoff) ConstSet, ! Name + {1300f237-a74c-4e7a-adf5-7e77da0402fd}, ! Default Exterior Surface Constructions Name + {599f8339-0543-41a3-ae72-28794a884709}, ! Default Interior Surface Constructions Name + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Default Ground Contact Surface Constructions Name + {147080a9-5203-4917-aaa8-e84d32bdd4b6}, ! Default Exterior SubSurface Constructions Name + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Default Interior SubSurface Constructions Name + {fb09dc21-5f26-4a7e-be80-823fdad7349a}, ! Interior Partition Construction Name + , ! Space Shading Construction Name + , ! Building Shading Construction Name + ; ! Site Shading Construction Name + +OS:DefaultScheduleSet, + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Handle + SmallOffice Schedules, ! Name + , ! Hours of Operation Schedule Name + {a76670a4-3a89-478b-b908-34a0c325274d}, ! Number of People Schedule Name + {2b3ee2b7-9257-408a-b123-99bf2bb7fd46}, ! People Activity Level Schedule Name + {ed19c3cf-007b-4627-8a08-d27a5b36d4fb}, ! Lighting Schedule Name + {45eacd8e-cf25-4cb4-9824-1693f2305e9d}, ! Electric Equipment Schedule Name + , ! Gas Equipment Schedule Name + , ! Hot Water Equipment Schedule Name + {8996260a-4a1f-4b42-be3a-74e730840476}, ! Infiltration Schedule Name + , ! Steam Equipment Schedule Name + ; ! Other Equipment Schedule Name + +OS:DefaultScheduleSet, + {0573c707-777e-4c73-ad4e-c6f7a5289f10}, ! Handle + Attic Schedules, ! Name + , ! Hours of Operation Schedule Name + , ! Number of People Schedule Name + , ! People Activity Level Schedule Name + , ! Lighting Schedule Name + , ! Electric Equipment Schedule Name + , ! Gas Equipment Schedule Name + , ! Hot Water Equipment Schedule Name + {c4b41fbe-a465-4952-9165-991f522eb156}, ! Infiltration Schedule Name + , ! Steam Equipment Schedule Name + ; ! Other Equipment Schedule Name + +OS:DefaultSubSurfaceConstructions, + {317ea942-d88e-45c1-8cb9-558405b3f3d3}, ! Handle + 000 Exterior DefSubCons, ! Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Fixed Window Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {24e5f720-69af-4910-b0aa-7152cf9ef533}, ! Handle + 000 Interior DefSubCons, ! Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Fixed Window Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Operable Window Construction Name + {62cd9cd4-fff8-4556-a4fe-a1f9e7d75d74}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {276835a8-827b-4ecf-9ba7-a466c820b50d}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1 (smoff) Exterior DefSubCons, ! Name + {be6d18fc-a9f7-406d-a7cf-fbf8f0271a4d}, ! Fixed Window Construction Name + {be6d18fc-a9f7-406d-a7cf-fbf8f0271a4d}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {af6ed6b5-32fd-4fbf-b929-98187fdf8b37}, ! Handle + ASHRAE 189.1-2009 ClimateZone 2 (smoff) Exterior DefSubCons, ! Name + {dd61f600-cba1-40d0-906e-87b58459fe54}, ! Fixed Window Construction Name + {dd61f600-cba1-40d0-906e-87b58459fe54}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {754e0f70-d716-4d62-9f5f-3d2ec83495fb}, ! Handle + ASHRAE 189.1-2009 ClimateZone 3 (smoff) Exterior DefSubCons, ! Name + {fb12c003-ed66-4961-b04c-24808b70c2d4}, ! Fixed Window Construction Name + {fb12c003-ed66-4961-b04c-24808b70c2d4}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {b04343d5-c5fc-4527-b632-9096af9ad167}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4 (smoff) Exterior DefSubCons, ! Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Fixed Window Construction Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {21ae1074-7d6b-4f68-a5c4-ae65a1ecccce}, ! Handle + ASHRAE 189.1-2009 ClimateZone 5 (smoff) Exterior DefSubCons, ! Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Fixed Window Construction Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {78ecbc45-cdaf-4c0a-9b74-287f1d0b9085}, ! Handle + ASHRAE 189.1-2009 ClimateZone 6 (smoff) Exterior DefSubCons, ! Name + {8f75cc03-5336-4256-8c65-40f7ba765ac0}, ! Fixed Window Construction Name + {8f75cc03-5336-4256-8c65-40f7ba765ac0}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {019cfbf0-2373-4b4d-8700-d4e8511d56ff}, ! Handle + ASHRAE 189.1-2009 ClimateZone 7-8 (smoff) Exterior DefSubCons, ! Name + {f51b9824-639c-40e9-a163-b58b5633723e}, ! Fixed Window Construction Name + {f51b9824-639c-40e9-a163-b58b5633723e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {ec03dba8-89b2-4ef1-aeb8-5f9175e32fba}, ! Handle + ASHRAE 90.1-2004 ClimateZone 1-2 (smoff) Exterior DefSubCons, ! Name + {ab4c5ff1-9c4a-4f4e-8dc4-e3cb8bf26806}, ! Fixed Window Construction Name + {ab4c5ff1-9c4a-4f4e-8dc4-e3cb8bf26806}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {3ecc6d89-4488-43cd-96c0-35b1181302e5}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3a-3b (smoff) Exterior DefSubCons, ! Name + {3204b780-9e1c-409d-9649-f71d6cf80a7e}, ! Fixed Window Construction Name + {3204b780-9e1c-409d-9649-f71d6cf80a7e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {872699cd-b0f8-4b97-a3cb-b9639aa285ef}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3c (smoff) Exterior DefSubCons, ! Name + {bb1323de-f624-47ba-91f5-82f1481b3634}, ! Fixed Window Construction Name + {bb1323de-f624-47ba-91f5-82f1481b3634}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {1fbf7d60-8c32-4a3c-9e5f-1c262412f33d}, ! Handle + ASHRAE 90.1-2004 ClimateZone 4 (smoff) Exterior DefSubCons, ! Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Fixed Window Construction Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {2c184dc3-ea52-4ba1-b998-83a28ed1a39a}, ! Handle + ASHRAE 90.1-2004 ClimateZone 5 (smoff) Exterior DefSubCons, ! Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Fixed Window Construction Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {68ec0cf9-1d59-4f8c-9895-e82ff8143d9a}, ! Handle + ASHRAE 90.1-2004 ClimateZone 6 (smoff) Exterior DefSubCons, ! Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Fixed Window Construction Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {c636430f-983d-48fb-8986-1403e714f8b4}, ! Handle + ASHRAE 90.1-2004 ClimateZone 7 (smoff) Exterior DefSubCons, ! Name + {2453e249-ae1c-460b-aa60-7eb898f6a254}, ! Fixed Window Construction Name + {2453e249-ae1c-460b-aa60-7eb898f6a254}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {268b20cd-32af-44d3-9410-e8d9748fccea}, ! Handle + ASHRAE 90.1-2004 ClimateZone 8 (smoff) Exterior DefSubCons, ! Name + {18e06bd3-eb1d-4777-ad41-d8f703dc759a}, ! Fixed Window Construction Name + {18e06bd3-eb1d-4777-ad41-d8f703dc759a}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {724e2bdf-2478-4799-82bc-8a0e8c54020f}, ! Handle + CBECS 1980-2004 ClimateZone 1 (smoff) Exterior DefSubCons, ! Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Fixed Window Construction Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {0b7e640d-9100-48dd-9472-8224f53abe45}, ! Handle + CBECS 1980-2004 ClimateZone 2a (smoff) Exterior DefSubCons, ! Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Fixed Window Construction Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {75c6444a-781c-4fcb-9478-941be9a4bf66}, ! Handle + CBECS 1980-2004 ClimateZone 2b (smoff) Exterior DefSubCons, ! Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Fixed Window Construction Name + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {53a94b66-dc4f-418a-b857-981c7a1065a1}, ! Handle + CBECS 1980-2004 ClimateZone 3a (smoff) Exterior DefSubCons, ! Name + {5022aca7-70a1-47d5-8448-87946c2c0d9e}, ! Fixed Window Construction Name + {5022aca7-70a1-47d5-8448-87946c2c0d9e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {350c1529-1bed-4efe-8a2e-497fc4298850}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAS (smoff) Exterior DefSubCons, ! Name + {58e22e56-6c65-4a81-b37d-32864713c067}, ! Fixed Window Construction Name + {58e22e56-6c65-4a81-b37d-32864713c067}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {bad65e7b-be4b-40b5-b419-e6977445057a}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAX (smoff) Exterior DefSubCons, ! Name + {b18208ba-f4a1-43a8-9334-a433d4cc596e}, ! Fixed Window Construction Name + {b18208ba-f4a1-43a8-9334-a433d4cc596e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {0d62972d-dc25-4ff9-a134-a0b925d28b24}, ! Handle + CBECS 1980-2004 ClimateZone 3c (smoff) Exterior DefSubCons, ! Name + {9b817e38-7248-4c31-be6c-c4abec136789}, ! Fixed Window Construction Name + {9b817e38-7248-4c31-be6c-c4abec136789}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {e87e257d-fd32-4370-8d03-dca2916edd99}, ! Handle + CBECS 1980-2004 ClimateZone 4a (smoff) Exterior DefSubCons, ! Name + {76ae8b32-9a9b-45e2-a2ed-2a41e6747243}, ! Fixed Window Construction Name + {76ae8b32-9a9b-45e2-a2ed-2a41e6747243}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {14bb4049-e036-4139-91a9-ec1165c42677}, ! Handle + CBECS 1980-2004 ClimateZone 4b (smoff) Exterior DefSubCons, ! Name + {11f729f7-29a6-473f-8514-bfb89ec5f065}, ! Fixed Window Construction Name + {11f729f7-29a6-473f-8514-bfb89ec5f065}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {9319d63b-974b-4d4b-8617-43890bcc1dbb}, ! Handle + CBECS 1980-2004 ClimateZone 4c (smoff) Exterior DefSubCons, ! Name + {8385b02b-b035-414b-9c0e-e2483fea2627}, ! Fixed Window Construction Name + {8385b02b-b035-414b-9c0e-e2483fea2627}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {80e68467-3bbd-4cb0-8c96-926f8b249490}, ! Handle + CBECS 1980-2004 ClimateZone 5a (smoff) Exterior DefSubCons, ! Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Fixed Window Construction Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {4b54c33f-45da-4067-a8e4-40ab52eb5415}, ! Handle + CBECS 1980-2004 ClimateZone 5b (smoff) Exterior DefSubCons, ! Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Fixed Window Construction Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {38af4979-ce5e-4fa0-aed2-91fdb8e31944}, ! Handle + CBECS 1980-2004 ClimateZone 6a (smoff) Exterior DefSubCons, ! Name + {08100b54-380e-435a-994f-9e2ffa617833}, ! Fixed Window Construction Name + {08100b54-380e-435a-994f-9e2ffa617833}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {e433321f-d259-4de0-bafc-3cc9fd0df42f}, ! Handle + CBECS 1980-2004 ClimateZone 6b (smoff) Exterior DefSubCons, ! Name + {08100b54-380e-435a-994f-9e2ffa617833}, ! Fixed Window Construction Name + {08100b54-380e-435a-994f-9e2ffa617833}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {646aba4b-7bff-49ef-892a-5fba0a449240}, ! Handle + CBECS 1980-2004 ClimateZone 7 (smoff) Exterior DefSubCons, ! Name + {823bb33c-58ec-4be8-a182-071aa7c28e77}, ! Fixed Window Construction Name + {823bb33c-58ec-4be8-a182-071aa7c28e77}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {328ece35-a43d-49e5-b9d1-433378cde5b8}, ! Handle + CBECS 1980-2004 ClimateZone 8 (smoff) Exterior DefSubCons, ! Name + {fed678a4-65fc-42d6-8a3d-5298af0c87cc}, ! Fixed Window Construction Name + {fed678a4-65fc-42d6-8a3d-5298af0c87cc}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {62f0cd2d-e58b-47d2-8eb1-2cfffc2975f9}, ! Handle + CBECS Before-1980 ClimateZone 1-2 (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {e0bce860-5078-4405-807d-362c14e1e1d9}, ! Handle + CBECS Before-1980 ClimateZone 3a (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {07d08fc7-b13d-4ad2-ae0d-2fa5a8b6ccf5}, ! Handle + CBECS Before-1980 ClimateZone 3b (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {d8da618c-4bb2-474c-a178-e7aadd6cadfb}, ! Handle + CBECS Before-1980 ClimateZone 3c (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {826d8184-3a04-481b-8684-abfcbfd80382}, ! Handle + CBECS Before-1980 ClimateZone 4a (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {82db6124-7dba-439c-89be-637684c36758}, ! Handle + CBECS Before-1980 ClimateZone 4b (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {8530e8f7-1e94-48f2-ab49-a29d8de5742e}, ! Handle + CBECS Before-1980 ClimateZone 4c (smoff) Exterior DefSubCons, ! Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Fixed Window Construction Name + {07f90d8e-6fab-4130-9723-a7c68c65581e}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {241148f1-aac7-4aca-906d-49e91cee630b}, ! Handle + CBECS Before-1980 ClimateZone 5a (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {f959f080-67d7-4acd-bd3b-35d621a029d4}, ! Handle + CBECS Before-1980 ClimateZone 5b (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {b0a9950c-2814-4c80-9bb5-6ad4a7e0099c}, ! Handle + CBECS Before-1980 ClimateZone 6 (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {db2fdf12-b43b-4fdf-9ac1-788d3979e8e1}, ! Handle + CBECS Before-1980 ClimateZone 7 (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {147080a9-5203-4917-aaa8-e84d32bdd4b6}, ! Handle + CBECS Before-1980 ClimateZone 8 (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {7cfa0183-2df3-4dd5-8ead-1212419b038a}, ! Handle + example ASHRAE 189.1-2009 ClimateZone 5a AtticConstructionSet (smoff) Exterior DefSubCons, ! Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Fixed Window Construction Name + {e802aada-f9bd-458f-b313-158e6fdb7f82}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {b160c58c-e984-4139-8399-10fe4c561343}, ! Handle + example ASHRAE 90.1-2004 ClimateZone 5a AtticConstructionSet (smoff) Exterior DefSubCons, ! Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Fixed Window Construction Name + {cd191120-0915-48ac-93ab-49540cb6b089}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {6c0a8ba5-138d-4f00-9de3-4794f73a0a27}, ! Handle + example CBECS 1980-2004 ClimateZone 5a AtticConstructionSet (smoff) Exterior DefSubCons, ! Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Fixed Window Construction Name + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {3cd70fca-7f3a-41c2-b13b-5efc07c58c30}, ! Handle + example CBECS Before-1980 ClimateZone 5a AtticConstructionSet (smoff) Exterior DefSubCons, ! Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Fixed Window Construction Name + {f12d78e3-af93-46fb-82de-36cf2cb73efe}, ! Operable Window Construction Name + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:DefaultSurfaceConstructions, + {a04cd717-0da9-4021-a76e-44a645d16661}, ! Handle + 000 Exterior DefSurfCons, ! Name + {deef944c-116a-41a6-b6dd-55bf6c6ecd69}, ! Floor Construction Name + {13d96bf7-5b84-4454-8e17-142ec1823615}, ! Wall Construction Name + {60dd54cb-05f9-4d78-8f5f-5029ba4c42f3}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {0e71e15d-b4f3-4127-b48c-f40df602c697}, ! Handle + 000 Ground DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Wall Construction Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {599f8339-0543-41a3-ae72-28794a884709}, ! Handle + 000 Interior DefSurfCons, ! Name + {9351c31f-ad24-4cad-805b-1da48072bb45}, ! Floor Construction Name + {f1bc2e18-140d-414f-802c-871f19a7f8d6}, ! Wall Construction Name + {2e321670-4a1c-46ac-a21e-a291cff9bf26}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {ff4478aa-5673-4cb8-a9c7-23eda1926439}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {9891723f-0108-43d5-87b2-0771507e91fe}, ! Wall Construction Name + {5da9bf47-edfc-4bf5-adb0-48d0e61c9c11}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {c09ead2e-ac21-4795-a5df-d9d069940a0d}, ! Handle + ASHRAE 189.1-2009 ClimateZone 2 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {2ceb298a-c68f-4557-b3f6-7e45e507b4a5}, ! Wall Construction Name + {7db656c8-34d8-488e-8181-27beec5f738d}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {13e76810-371a-42cb-805d-8da4a383b88b}, ! Handle + ASHRAE 189.1-2009 ClimateZone 3 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {8cead91e-2c06-4b7d-ab2b-12413fb48a54}, ! Wall Construction Name + {7db656c8-34d8-488e-8181-27beec5f738d}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {d35b3eb9-aaa2-4082-b345-585935ec55d2}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {6e1ea055-9c9a-4a34-b944-ccb83a0c6f36}, ! Wall Construction Name + {7db656c8-34d8-488e-8181-27beec5f738d}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {5e9f5d8c-aa44-49e4-b460-90dedd58d633}, ! Handle + ASHRAE 189.1-2009 ClimateZone 5 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {71fc821a-a0a0-4a71-a8cd-fabd047baaba}, ! Wall Construction Name + {7db656c8-34d8-488e-8181-27beec5f738d}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {82709787-f5b0-46c9-abbe-1659f3281246}, ! Handle + ASHRAE 189.1-2009 ClimateZone 6 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {ea155f1f-d9d9-4bda-aca2-5a2dcba0853f}, ! Wall Construction Name + {ef279216-3fca-4756-a196-b9f1f20b56ca}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {ae60d8e3-fbb5-423b-83fd-283df54e6b38}, ! Handle + ASHRAE 189.1-2009 ClimateZone 7-8 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {56c4e536-897c-4a6a-8db5-fe89f72bcd36}, ! Wall Construction Name + {b64bcac2-791e-4ca2-91e7-799c914ae00f}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {794a6817-4b32-4755-94d0-ce7f443b62ee}, ! Handle + ASHRAE 90.1-2004 ClimateZone 1-2 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {daae073b-5b6a-4eab-9c37-1f5478553ecb}, ! Wall Construction Name + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {623e4ed6-073f-4bf5-94a0-5e28b36565cd}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3a-3b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {d062460b-883c-4218-85ea-0572987e81d8}, ! Wall Construction Name + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {559d0209-0154-43aa-9829-3c2e689d4427}, ! Handle + ASHRAE 90.1-2004 ClimateZone 3c (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {d062460b-883c-4218-85ea-0572987e81d8}, ! Wall Construction Name + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {6227ab46-2c54-4e11-8204-90707e24aeec}, ! Handle + ASHRAE 90.1-2004 ClimateZone 4 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {d062460b-883c-4218-85ea-0572987e81d8}, ! Wall Construction Name + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {6a47330a-b1e4-41a4-aad8-97b1d3db6ba2}, ! Handle + ASHRAE 90.1-2004 ClimateZone 5 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {12e35b55-2f45-4623-a7c4-835751a6bcb9}, ! Wall Construction Name + {682b4713-b8b8-47d5-8081-635419d0e9c2}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {0530bff5-9a3e-42e5-912b-6ab823f2f3fd}, ! Handle + ASHRAE 90.1-2004 ClimateZone 6 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {4305f663-3413-4c5a-88bb-3582bc2b4737}, ! Wall Construction Name + {682b4713-b8b8-47d5-8081-635419d0e9c2}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {bb73e0c3-7623-4225-8b41-36f21bcd64d9}, ! Handle + ASHRAE 90.1-2004 ClimateZone 7 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {3e61609c-da4e-442b-a2c3-8ce608116f39}, ! Wall Construction Name + {7fec2da9-16cd-4a08-8da1-af3225845321}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {fb7e46b6-b25e-4a48-bb07-ba9922c34d3e}, ! Handle + ASHRAE 90.1-2004 ClimateZone 8 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {f63fc01e-b028-4239-89cf-15f7538914a5}, ! Wall Construction Name + {aac95d38-f409-497d-9216-9c05fb2a5207}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {441a2ab8-4700-417e-accc-7e3cce96ebfc}, ! Handle + CBECS 1980-2004 ClimateZone 1 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {fb6c3304-4070-48f2-81f3-a887a088f7d4}, ! Wall Construction Name + {d8d60798-7e75-4d4c-ac6b-ee65b1089c43}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {6b81c6ef-2f18-4a5c-98ed-80487a68a1bc}, ! Handle + CBECS 1980-2004 ClimateZone 2a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {943b8763-308b-4e37-94b0-b49824e855c1}, ! Wall Construction Name + {6f096622-fde6-4ee1-a796-f215fede3a87}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {55d0fa48-4d1b-4d7a-85df-faf80808b253}, ! Handle + CBECS 1980-2004 ClimateZone 2b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {1b03fd4d-7c18-417f-bc3f-3c4a231577bf}, ! Wall Construction Name + {8fddf617-4223-4f1a-89f0-c3cf2cff2c91}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {d7d502c3-f3c7-4220-b6e2-61b47abe3914}, ! Handle + CBECS 1980-2004 ClimateZone 3a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {a6cf43c9-c979-4a90-be60-82ef5610a225}, ! Wall Construction Name + {2d626ab3-f818-48f3-9875-348b89541a0e}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {e993a3cd-ddb5-4508-8fe7-efc1bec7ecd0}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAS (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {6e5454ed-6b69-4292-8129-2fe82ac13668}, ! Wall Construction Name + {08adbeab-e303-4813-91ff-1e6a502afeec}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {96253922-ea1c-4e45-82c0-daad8b2f4bef}, ! Handle + CBECS 1980-2004 ClimateZone 3b LAX (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {8a3846a1-93f5-4520-831f-ec7a4a41dd38}, ! Wall Construction Name + {da20368e-7d0d-482f-a2d5-4594a6f07f95}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {a1e609cf-1a70-4144-8b58-be88e67e02ce}, ! Handle + CBECS 1980-2004 ClimateZone 3c (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {6602d9ac-c8a8-45a5-9351-1578477dec3c}, ! Wall Construction Name + {8b31dcf8-a3df-4a61-910a-fe74e8c2705a}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {8f5740d3-5c83-4687-9419-8ab3a829d3e7}, ! Handle + CBECS 1980-2004 ClimateZone 4a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {8b984ee3-caee-43ca-9ae0-bfb6ab7e9e77}, ! Wall Construction Name + {59f81c33-d11b-41c0-ab16-231277612ad2}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {1bc945bf-fdea-4f0b-83d7-828bc6f19eb8}, ! Handle + CBECS 1980-2004 ClimateZone 4b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {586f1db6-48af-4c26-a107-4bf2935b1272}, ! Wall Construction Name + {d23a6655-5e1f-4dbe-bde9-94663990aa72}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {e1333d4a-e7cb-4c5f-aecb-1af0a98d6502}, ! Handle + CBECS 1980-2004 ClimateZone 4c (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {c0c8a043-d913-4d04-a9b9-c35530422810}, ! Wall Construction Name + {f9237654-1cd8-41da-8bf2-34d05bb66e2f}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {39d2217e-9d76-4dd6-82f6-056087ce8a7b}, ! Handle + CBECS 1980-2004 ClimateZone 5a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {c0c8a043-d913-4d04-a9b9-c35530422810}, ! Wall Construction Name + {981e11d7-0cfa-4e3e-a3f3-daf296178568}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {88b708fc-8c64-4909-8156-d27fd60411ce}, ! Handle + CBECS 1980-2004 ClimateZone 5b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {bbd4dcfc-de7a-4231-9d67-b5717024f26d}, ! Wall Construction Name + {bb1c2a17-dad4-4490-9b1d-4d325fa57b8b}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {31fe4df1-ecda-4aaa-90a8-5f6b66462f47}, ! Handle + CBECS 1980-2004 ClimateZone 6a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {d132f1b9-bb9b-4f5d-9fa3-504dd7d64a47}, ! Wall Construction Name + {6afde2c2-12f3-4316-8386-45ce533e1d6b}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {1e347b29-187d-4e7a-b378-3367186adc88}, ! Handle + CBECS 1980-2004 ClimateZone 6b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {1d4b6987-fba4-4226-8597-34f1b53e714f}, ! Wall Construction Name + {01832895-ded1-42d5-a406-508271d00d85}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {621c5027-bdc1-440e-aadf-c82ac58db2fd}, ! Handle + CBECS 1980-2004 ClimateZone 7 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {7dce1af4-9cea-4aac-b5e7-d16944c5f94f}, ! Wall Construction Name + {26f40f8f-15d2-454f-9375-e6a4c4947744}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {e5384b46-6c29-4493-83c3-564fd5e91339}, ! Handle + CBECS 1980-2004 ClimateZone 8 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {2bc78f1d-a291-4253-8e84-fab9554b03be}, ! Wall Construction Name + {bf9eae5f-0699-4eda-9bac-ca2de10990aa}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {59bd8053-7c8e-4c8e-8c8e-8503224abc59}, ! Handle + CBECS Before-1980 ClimateZone 1-2 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {9c5e01f4-5b9c-4ceb-9476-7669780e522b}, ! Wall Construction Name + {8db0fa48-aeac-40f3-a3d6-5071380806cd}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {d2f0c3d2-6369-411c-99b0-13c8efd6b6b8}, ! Handle + CBECS Before-1980 ClimateZone 3a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {2ebd3dda-1382-4da5-8989-78b613316d0b}, ! Wall Construction Name + {8db0fa48-aeac-40f3-a3d6-5071380806cd}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {529a30fb-62e8-4795-b957-c506eb929d32}, ! Handle + CBECS Before-1980 ClimateZone 3b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {5468c83f-b03f-4d18-a523-ac5b1ea1e9c6}, ! Wall Construction Name + {8db0fa48-aeac-40f3-a3d6-5071380806cd}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {99aa1305-d301-4f5f-aa42-a2823ce4296a}, ! Handle + CBECS Before-1980 ClimateZone 3c (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {83878fe1-cb57-4fea-8a35-f6bde8a197ba}, ! Wall Construction Name + {8db0fa48-aeac-40f3-a3d6-5071380806cd}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {1ada2941-4056-40f7-8282-a8e638769409}, ! Handle + CBECS Before-1980 ClimateZone 4a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {a91c7699-1206-4273-89fc-8f76b9a3f3c3}, ! Wall Construction Name + {64f15765-f991-48a0-9ce5-8f8b356cfe37}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {c4252034-2751-4f41-9770-4d8d84627787}, ! Handle + CBECS Before-1980 ClimateZone 4b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {e1e7c8e0-4fcc-4f85-99fd-739c71e34bb3}, ! Wall Construction Name + {c4811841-8a0e-4240-bfb1-1258b6953631}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {3433821f-c156-4123-b174-22a592651b39}, ! Handle + CBECS Before-1980 ClimateZone 4c (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {3c6f13cc-3935-4610-a6c1-614ef2d44ded}, ! Wall Construction Name + {78dc9de4-824c-4a33-8487-ab56b8a8b387}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {89602183-c874-409d-b9f3-33e149df723b}, ! Handle + CBECS Before-1980 ClimateZone 5a (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {2f5b9fc8-1bf3-49f8-9d1b-694ec6020681}, ! Wall Construction Name + {f67e8807-8eb8-48a6-b543-f104f23a9857}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {4b6e1363-4ad3-4613-aad3-2d6044012df8}, ! Handle + CBECS Before-1980 ClimateZone 5b (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {f0754399-c24f-4bf8-a207-c5de50825dac}, ! Wall Construction Name + {8b47647d-1403-463f-b6dc-99511a6518bd}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {df550089-4847-40f6-a095-9a3fa9c93c6c}, ! Handle + CBECS Before-1980 ClimateZone 6 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {2c3cf52e-4fb9-4c48-941f-e9119d43aa27}, ! Wall Construction Name + {b9148d14-0982-44e3-a597-0ab667f7ef42}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {f9a7ccfb-d9ec-4ad3-9f1c-ff113dd08062}, ! Handle + CBECS Before-1980 ClimateZone 7 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {46a50861-4755-4d78-879b-77227ae4f0f5}, ! Wall Construction Name + {3b21468b-c925-45ae-ab07-223778b83323}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {1300f237-a74c-4e7a-adf5-7e77da0402fd}, ! Handle + CBECS Before-1980 ClimateZone 8 (smoff) Exterior DefSurfCons, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {88583124-3da5-474f-b8c8-af9358646da4}, ! Wall Construction Name + {9963262d-c087-46e4-b628-8e4ec9945054}; ! Roof Ceiling Construction Name + +OS:DesignSpecification:OutdoorAir, + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}, ! Handle + SmallOffice Outdoor Air, ! Name + Sum, ! Outdoor Air Method + 0.0107645200000431, ! Outdoor Air Flow per Person + 0.0, ! Outdoor Air Flow per Floor Area + 0, ! Outdoor Air Flow Rate + 0, ! Outdoor Air Flow Air Changes per Hour + ; ! Outdoor Air Flow Rate Fraction Schedule Name + +OS:ElectricEquipment, + {16403340-cc7b-4d2d-a084-7dd91e5c4afa}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice ElecInst, ! Name + {d0fd7fe5-1633-436b-bb50-f0aa0bb03d2d}, ! Electric Equipment Definition Name + {401bf17a-54a5-4a79-aeda-b6bb2a338d25}, ! Space or SpaceType Name + , ! Schedule Name + , ! Multiplier + ElectricEquipment; ! End-Use Subcategory + +OS:ElectricEquipment, + {0a5210c4-8e69-48cc-82f2-1a3c61cd20b9}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice ElecInst, ! Name + {0544074b-3409-4bb9-8421-97a814d0897b}, ! Electric Equipment Definition Name + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}, ! Space or SpaceType Name + , ! Schedule Name + , ! Multiplier + ElectricEquipment; ! End-Use Subcategory + +OS:ElectricEquipment, + {abb53a67-1e60-4281-a30c-8e024268e491}, ! Handle + ASHRAE 90.1-2004 SmallOffice ElecInst, ! Name + {615a0124-4b82-42ac-9681-7548b91c539f}, ! Electric Equipment Definition Name + {c2d10f69-0e74-41d1-bdab-f2bbd1f6d8a1}, ! Space or SpaceType Name + , ! Schedule Name + , ! Multiplier + ElectricEquipment; ! End-Use Subcategory + +OS:ElectricEquipment, + {767abd0a-d832-4e01-82e7-65550982ea3a}, ! Handle + CBECS 1980-2004 SmallOffice ElecInst, ! Name + {fe74151a-a008-43d5-a8f6-9dd07bb92a1b}, ! Electric Equipment Definition Name + {05ba3eb4-a9e5-4807-94e9-fd6d7d749f3e}, ! Space or SpaceType Name + , ! Schedule Name + , ! Multiplier + ElectricEquipment; ! End-Use Subcategory + +OS:ElectricEquipment, + {224aaf2c-a949-440e-9f64-8083d0221f54}, ! Handle + CBECS Before-1980 SmallOffice ElecInst, ! Name + {bf33e709-fcd0-45ec-b454-a3c18bce5d9e}, ! Electric Equipment Definition Name + {213f1f80-1468-4d4c-b914-ede8f8294f7e}, ! Space or SpaceType Name + , ! Schedule Name + , ! Multiplier + ElectricEquipment; ! End-Use Subcategory + +OS:ElectricEquipment:Definition, + {d0fd7fe5-1633-436b-bb50-f0aa0bb03d2d}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice ElecDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Design Level + 5.8125141276385044, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:ElectricEquipment:Definition, + {0544074b-3409-4bb9-8421-97a814d0897b}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice ElecDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Design Level + 5.8125141276385044, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:ElectricEquipment:Definition, + {615a0124-4b82-42ac-9681-7548b91c539f}, ! Handle + ASHRAE 90.1-2004 SmallOffice ElecDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Design Level + 10.763915051182416, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:ElectricEquipment:Definition, + {fe74151a-a008-43d5-a8f6-9dd07bb92a1b}, ! Handle + CBECS 1980-2004 SmallOffice ElecDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Design Level + 10.763915051182416, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:ElectricEquipment:Definition, + {bf33e709-fcd0-45ec-b454-a3c18bce5d9e}, ! Handle + CBECS Before-1980 SmallOffice ElecDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Design Level + 10.763915051182416, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Facility, + {937dd59a-950f-4e7c-ac23-8c2e6076bd7f}; ! Handle + +OS:Lights, + {5c8aef12-1bb5-47aa-a8f1-de8b3c044f09}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice LightsInst, ! Name + {2b35feef-b288-4f1f-8d93-afca54d6512a}, ! Lights Definition Name + {401bf17a-54a5-4a79-aeda-b6bb2a338d25}, ! Space or SpaceType Name + , ! Schedule Name + , ! Fraction Replaceable + , ! Multiplier + Lights; ! End-Use Subcategory + +OS:Lights, + {287170c9-d445-48d3-9e2d-8da94b4358b3}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice LightsInst, ! Name + {6d108b6c-a034-4f94-9e07-2a260253adaf}, ! Lights Definition Name + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}, ! Space or SpaceType Name + , ! Schedule Name + , ! Fraction Replaceable + , ! Multiplier + Lights; ! End-Use Subcategory + +OS:Lights, + {1b738431-8b82-4e58-9831-9e4d4b85cb79}, ! Handle + ASHRAE 90.1-2004 SmallOffice LightsInst, ! Name + {1906001b-eafe-4a0f-8bbd-7689755c273e}, ! Lights Definition Name + {c2d10f69-0e74-41d1-bdab-f2bbd1f6d8a1}, ! Space or SpaceType Name + , ! Schedule Name + , ! Fraction Replaceable + , ! Multiplier + Lights; ! End-Use Subcategory + +OS:Lights, + {480fbfa2-21b0-4322-ab67-da0b2dd69bd5}, ! Handle + CBECS 1980-2004 SmallOffice LightsInst, ! Name + {7153dbbb-3754-467f-b3d9-3c5365c7b36e}, ! Lights Definition Name + {05ba3eb4-a9e5-4807-94e9-fd6d7d749f3e}, ! Space or SpaceType Name + , ! Schedule Name + , ! Fraction Replaceable + , ! Multiplier + Lights; ! End-Use Subcategory + +OS:Lights, + {bf56ad66-613e-4c87-a22b-e6c37daf72a1}, ! Handle + CBECS Before-1980 SmallOffice LightsInst, ! Name + {59a24216-2ee0-4592-8670-097352bdd1dc}, ! Lights Definition Name + {213f1f80-1468-4d4c-b914-ede8f8294f7e}, ! Space or SpaceType Name + , ! Schedule Name + , ! Fraction Replaceable + , ! Multiplier + Lights; ! End-Use Subcategory + +OS:Lights:Definition, + {2b35feef-b288-4f1f-8d93-afca54d6512a}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice LightsDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Lighting Level + 9.687523546064174, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Lights:Definition, + {6d108b6c-a034-4f94-9e07-2a260253adaf}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice LightsDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Lighting Level + 9.687523546064174, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Lights:Definition, + {1906001b-eafe-4a0f-8bbd-7689755c273e}, ! Handle + ASHRAE 90.1-2004 SmallOffice LightsDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Lighting Level + 10.763915051182416, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Lights:Definition, + {7153dbbb-3754-467f-b3d9-3c5365c7b36e}, ! Handle + CBECS 1980-2004 SmallOffice LightsDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Lighting Level + 19.482686242640174, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Lights:Definition, + {59a24216-2ee0-4592-8670-097352bdd1dc}, ! Handle + CBECS Before-1980 SmallOffice LightsDef, ! Name + Watts/Area, ! Design Level Calculation Method + 0, ! Lighting Level + 20.45143859724659, ! Watts per Space Floor Area + ; ! Watts per Person + +OS:Material, + {6e535b8c-5f4e-49b4-9c8c-53def4ee5b3e}, ! Handle + 000 F08 Metal surface, ! Name + Smooth, ! Roughness + 0.00080000000000000004, ! Thickness + 45.280000000000001, ! Conductivity + 7824, ! Density + 500; ! Specific Heat + +OS:Material, + {3742782d-7a70-4ab1-b3f6-faa686ea3795}, ! Handle + 000 F16 Acoustic tile, ! Name + MediumSmooth, ! Roughness + 0.019099999999999999, ! Thickness + 0.059999999999999998, ! Conductivity + 368, ! Density + 590; ! Specific Heat + +OS:Material, + {0a52dda1-7b56-44d0-8861-bd7459f92e78}, ! Handle + 000 G01a 19mm gypsum board, ! Name + MediumSmooth, ! Roughness + 0.019, ! Thickness + 0.16, ! Conductivity + 800, ! Density + 1090; ! Specific Heat + +OS:Material, + {37d4d4d7-9b56-4ed4-a862-c8f587759f06}, ! Handle + 000 G05 25mm wood, ! Name + MediumSmooth, ! Roughness + 0.025399999999999999, ! Thickness + 0.14999999999999999, ! Conductivity + 608, ! Density + 1630; ! Specific Heat + +OS:Material, + {83088629-4598-4a88-9e3c-cbedee5e2f96}, ! Handle + 000 I01 25mm insulation board, ! Name + MediumRough, ! Roughness + 0.025399999999999999, ! Thickness + 0.029999999999999999, ! Conductivity + 43, ! Density + 1210; ! Specific Heat + +OS:Material, + {fd9ae786-e7ac-429c-a672-def9489f8880}, ! Handle + 000 I02 50mm insulation board, ! Name + MediumRough, ! Roughness + 0.050799999999999998, ! Thickness + 0.029999999999999999, ! Conductivity + 43, ! Density + 1210; ! Specific Heat + +OS:Material, + {db11e827-6185-4587-9ec0-ccc086ecf0e9}, ! Handle + 000 M01 100mm brick, ! Name + MediumRough, ! Roughness + 0.1016, ! Thickness + 0.89000000000000001, ! Conductivity + 1920, ! Density + 790; ! Specific Heat + +OS:Material, + {61818b42-ed2d-469b-a939-fca2c0ce56b6}, ! Handle + 000 M05 200mm concrete block, ! Name + MediumRough, ! Roughness + 0.20319999999999999, ! Thickness + 1.1100000000000001, ! Conductivity + 800, ! Density + 920; ! Specific Heat + +OS:Material, + {c7fc9b61-e684-4d74-a461-b4e1255f8c7b}, ! Handle + 000 M11 100mm lightweight concrete, ! Name + MediumRough, ! Roughness + 0.1016, ! Thickness + 0.53000000000000003, ! Conductivity + 1280, ! Density + 840; ! Specific Heat + +OS:Material, + {bd3b90fd-22d8-4c5a-9751-f885d724acc0}, ! Handle + 000 M15 200mm heavyweight concrete, ! Name + MediumRough, ! Roughness + 0.20319999999999999, ! Thickness + 1.95, ! Conductivity + 2240, ! Density + 900; ! Specific Heat + +OS:Material, + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}, ! Handle + 1/2IN Gypsum, ! Name + Smooth, ! Roughness + 0.012699999999999999, ! Thickness + 0.16, ! Conductivity + 784.89999999999998, ! Density + 830, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.92000000000000004, ! Solar Absorptance + 0.92000000000000004; ! Visible Absorptance + +OS:Material, + {36b09411-6f7f-41cf-b929-e410025c0d35}, ! Handle + 1IN Stucco, ! Name + Smooth, ! Roughness + 0.0253, ! Thickness + 0.69179999999999997, ! Conductivity + 1858, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.92000000000000004, ! Solar Absorptance + 0.92000000000000004; ! Visible Absorptance + +OS:Material, + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}, ! Handle + 8IN CONCRETE HW RefBldg, ! Name + Rough, ! Roughness + 0.20319999999999999, ! Thickness + 1.3109999999999999, ! Conductivity + 2240, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c53559c6-bddd-49c5-8e6f-e741e71328a7}, ! Handle + 8IN Concrete HW, ! Name + MediumRough, ! Roughness + 0.20330000000000001, ! Thickness + 1.7296, ! Conductivity + 2243, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.65000000000000002, ! Solar Absorptance + 0.65000000000000002; ! Visible Absorptance + +OS:Material, + {3abd39e7-db00-4317-9662-ee4980ad7966}, ! Handle + AtticFloor Insulation, ! Name + MediumRough, ! Roughness + 0.2379, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {40d18374-172e-45d2-9242-8adeec900424}, ! Handle + AtticFloor NonRes Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.066610119320183195, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {856e6c66-1481-4c35-8ac6-16bc3a0cf9d9}, ! Handle + AtticFloor NonRes Insulation-2.00, ! Name + MediumRough, ! Roughness + 0.078378027354382193, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {47550165-0294-4c04-b5f1-16f83f496643}, ! Handle + AtticFloor NonRes Insulation-2.38, ! Name + MediumRough, ! Roughness + 0.096931035516407596, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {30764fc6-f8f9-4256-b34e-8c93586ecd97}, ! Handle + AtticFloor NonRes Insulation-2.45, ! Name + MediumRough, ! Roughness + 0.100170449639936, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ad759fb0-bcb6-418a-8a1f-416a0437e43b}, ! Handle + AtticFloor NonRes Insulation-2.67, ! Name + MediumRough, ! Roughness + 0.111066660782713, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5cb894d1-2000-4b38-be1a-5e242227443f}, ! Handle + AtticFloor NonRes Insulation-2.75, ! Name + MediumRough, ! Roughness + 0.115152739961254, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {712c0657-5cf4-4727-9876-8067a8ab2d52}, ! Handle + AtticFloor NonRes Insulation-2.99, ! Name + MediumRough, ! Roughness + 0.12657991054531001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {611b095f-a00c-4c25-9b10-a75bfa0d68f3}, ! Handle + AtticFloor NonRes Insulation-3.04, ! Name + MediumRough, ! Roughness + 0.129101768881102, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1526da99-8dd6-4d70-a4ea-ff56fea7b322}, ! Handle + AtticFloor NonRes Insulation-3.32, ! Name + MediumRough, ! Roughness + 0.14581376530235901, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0fe5da5d-c981-489a-b65c-94d1f55fa902}, ! Handle + AtticFloor NonRes Insulation-3.45, ! Name + MediumRough, ! Roughness + 0.152199114340523, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {4cea9621-cd12-4584-9d39-b53c8fd35ccf}, ! Handle + AtticFloor NonRes Insulation-3.59, ! Name + MediumRough, ! Roughness + 0.15910571636139501, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {cc27009f-bd09-465f-8e28-fcd24f62cb42}, ! Handle + AtticFloor NonRes Insulation-3.67, ! Name + MediumRough, ! Roughness + 0.160099610925208, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ed5b48d4-c625-4146-9858-00a493f1f9b5}, ! Handle + AtticFloor NonRes Insulation-3.83, ! Name + MediumRough, ! Roughness + 0.167916458049374, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {57e0e90f-829b-4442-b945-9c912d2fcdeb}, ! Handle + AtticFloor NonRes Insulation-3.91, ! Name + MediumRough, ! Roughness + 0.17476068094203701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bc3711a2-af11-43c4-b16f-cf95f09915fb}, ! Handle + AtticFloor NonRes Insulation-4.40, ! Name + MediumRough, ! Roughness + 0.196057107696372, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8b631329-3676-4170-985f-d6011db1a63f}, ! Handle + AtticFloor NonRes Insulation-5.18, ! Name + MediumRough, ! Roughness + 0.30260955835061898, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {79b46406-c92d-4a92-b340-038c4e963e57}, ! Handle + AtticFloor NonRes Insulation-5.68, ! Name + MediumRough, ! Roughness + 0.261367984993012, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {d8bca767-2e8f-427f-863b-d3a4811e7232}, ! Handle + AtticFloor NonRes Insulation-6.52, ! Name + MediumRough, ! Roughness + 0.30260955835061998, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {75e6df43-8bdd-41f4-b584-1565fa1eaa92}, ! Handle + AtticFloor Res Insulation-2.05, ! Name + MediumRough, ! Roughness + 0.080658629686591293, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1f8a756e-75d3-4ba0-a56a-2fc63005f5de}, ! Handle + AtticFloor Res Insulation-2.37, ! Name + MediumRough, ! Roughness + 0.096537354632839606, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fabf9ece-7afb-4152-b53b-c168ecf0ae77}, ! Handle + AtticFloor Res Insulation-2.93, ! Name + MediumRough, ! Roughness + 0.124142114154045, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bab7fb45-4b4b-48e9-bcd5-89b6eec2e946}, ! Handle + IEAD NonRes Roof Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.073980502979871604, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a0217633-61e7-427b-ad78-1f3594ef66c3}, ! Handle + IEAD NonRes Roof Insulation-1.98, ! Name + MediumRough, ! Roughness + 0.084646546965924593, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {3798feef-e040-46d8-8383-4edbd7247e03}, ! Handle + IEAD NonRes Roof Insulation-2.00, ! Name + MediumRough, ! Roughness + 0.085748411014070505, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {2df227ba-c555-4563-9ee6-1ca7f5daa477}, ! Handle + IEAD NonRes Roof Insulation-2.04, ! Name + MediumRough, ! Roughness + 0.088029013346279605, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {dea13a44-db8c-460b-974f-f0f996d767f3}, ! Handle + IEAD NonRes Roof Insulation-2.07, ! Name + MediumRough, ! Roughness + 0.0892095604358938, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c33c674a-38e0-48b8-9815-248e025dffc2}, ! Handle + IEAD NonRes Roof Insulation-2.37, ! Name + MediumRough, ! Roughness + 0.103907738292528, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {90ac59bd-1fa3-448c-952d-33ec4d1fc21e}, ! Handle + IEAD NonRes Roof Insulation-2.38, ! Name + MediumRough, ! Roughness + 0.1043014191761, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {669033f3-0d50-445b-96a0-2732ad078ff3}, ! Handle + IEAD NonRes Roof Insulation-2.44, ! Name + MediumRough, ! Roughness + 0.10754083329962399, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a9ac601d-ce75-4502-bd68-7c736c9cf8b3}, ! Handle + IEAD NonRes Roof Insulation-2.50, ! Name + MediumRough, ! Roughness + 0.110216071059399, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0f7ec2e7-bf94-4a22-a7bc-4e76b4f93ca3}, ! Handle + IEAD NonRes Roof Insulation-2.67, ! Name + MediumRough, ! Roughness + 0.118437044442401, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {768a136f-c767-4347-9c50-942c41532c56}, ! Handle + IEAD NonRes Roof Insulation-2.75, ! Name + MediumRough, ! Roughness + 0.122523123620942, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9678d402-6c08-4cb5-9702-8385222fba65}, ! Handle + IEAD NonRes Roof Insulation-2.79, ! Name + MediumRough, ! Roughness + 0.12466345080970199, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {64c8ae98-3b12-4ea6-8077-1d430a100c05}, ! Handle + IEAD NonRes Roof Insulation-2.85, ! Name + MediumRough, ! Roughness + 0.127338688569477, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bbd88dab-e1a0-44fe-862d-2c761df769bd}, ! Handle + IEAD NonRes Roof Insulation-2.93, ! Name + MediumRough, ! Roughness + 0.131512497813733, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7f9d9a25-3a06-4085-8e56-163a6b258511}, ! Handle + IEAD NonRes Roof Insulation-2.99, ! Name + MediumRough, ! Roughness + 0.13395029420499899, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0722fc37-55b7-4ea2-8dd4-c82ff31342a0}, ! Handle + IEAD NonRes Roof Insulation-3.03, ! Name + MediumRough, ! Roughness + 0.13647215254079001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0fcb5a4c-aafc-4147-ae58-ad4ed080327e}, ! Handle + IEAD NonRes Roof Insulation-3.38, ! Name + MediumRough, ! Roughness + 0.15318414896204699, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {cc644156-c0c5-4345-94d5-80fc25b00407}, ! Handle + IEAD NonRes Roof Insulation-3.51, ! Name + MediumRough, ! Roughness + 0.159569498000212, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {d96dbd4f-81b7-46d0-9df1-f158d095908f}, ! Handle + IEAD NonRes Roof Insulation-3.65, ! Name + MediumRough, ! Roughness + 0.16647610002108301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {e7beb317-ec91-4fa3-b090-a95bcc7e39e0}, ! Handle + IEAD NonRes Roof Insulation-3.66, ! Name + MediumRough, ! Roughness + 0.167469994584897, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9037b711-37be-442d-b30c-72b89d553e70}, ! Handle + IEAD NonRes Roof Insulation-3.72, ! Name + MediumRough, ! Roughness + 0.17014523234467099, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fb3b9696-9ad5-4848-80be-7aedfe68d70b}, ! Handle + IEAD NonRes Roof Insulation-3.83, ! Name + MediumRough, ! Roughness + 0.175286841709063, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1a1268c0-4792-4f9a-87b6-d8639ea9e27a}, ! Handle + IEAD NonRes Roof Insulation-3.97, ! Name + MediumRough, ! Roughness + 0.18213106460172601, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6cda1240-0a9d-440a-bc4a-3157f4d1f257}, ! Handle + IEAD NonRes Roof Insulation-4.41, ! Name + MediumRough, ! Roughness + 0.20342749135606, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6b566f4c-9961-4329-bd18-69b251702006}, ! Handle + IEAD NonRes Roof Insulation-5.75, ! Name + MediumRough, ! Roughness + 0.26873836865270001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bd7c36c6-366a-4037-a37e-c3821f01a4ba}, ! Handle + MAT-CC05 4 HW CONCRETE, ! Name + Rough, ! Roughness + 0.1016, ! Thickness + 1.3109999999999999, ! Conductivity + 2240, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ca6ae5e9-7c2c-4ff6-804e-4fdd87faf429}, ! Handle + MAT-CC05 8 HW CONCRETE, ! Name + Rough, ! Roughness + 0.20319999999999999, ! Thickness + 1.3109999999999999, ! Conductivity + 2240, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {90e4e6bd-fc4a-4103-8813-87f951f6a4b8}, ! Handle + Mass NonRes Wall Insulation-0.43, ! Name + MediumRough, ! Roughness + 0.00043678142662804302, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fae3439f-eff2-498e-9932-8aab0b48374d}, ! Handle + Mass NonRes Wall Insulation-0.52, ! Name + MediumRough, ! Roughness + 0.0047702530604555003, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {e4631c87-dda8-493f-97b4-c6db2cb6dff4}, ! Handle + Mass NonRes Wall Insulation-0.61, ! Name + MediumRough, ! Roughness + 0.00914641899609407, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8f503dad-bcbe-435d-884c-19aef92e9aef}, ! Handle + Mass NonRes Wall Insulation-0.77, ! Name + MediumRough, ! Roughness + 0.0169093568297486, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b5fff6ff-ceb4-455b-a317-2d6559ce68c7}, ! Handle + Mass NonRes Wall Insulation-0.78, ! Name + MediumRough, ! Roughness + 0.017743153856326299, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {72275a73-e28f-4918-b3a0-84e006345cd1}, ! Handle + Mass NonRes Wall Insulation-0.79, ! Name + MediumRough, ! Roughness + 0.017914380031427101, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6e34a290-d46e-4857-acc4-a8633d9a4132}, ! Handle + Mass NonRes Wall Insulation-0.93, ! Name + MediumRough, ! Roughness + 0.024808486555221599, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {40186e99-548a-4aa7-aa6e-dbd360f94a46}, ! Handle + Mass NonRes Wall Insulation-0.96, ! Name + MediumRough, ! Roughness + 0.026289573378747801, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {4edd9dae-6bbc-451f-bedf-af0a3fa48913}, ! Handle + Mass NonRes Wall Insulation-0.99, ! Name + MediumRough, ! Roughness + 0.027870508752174599, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {d3021724-86f8-448c-85a9-731666ee2d20}, ! Handle + Mass NonRes Wall Insulation-1.01, ! Name + MediumRough, ! Roughness + 0.0287016290627761, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {af41df9c-17d9-4722-bff9-31e6e7c27755}, ! Handle + Mass NonRes Wall Insulation-1.09, ! Name + MediumRough, ! Roughness + 0.032989728056604301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {709d09ee-eb77-48f4-a25d-789c1c2f6f3e}, ! Handle + Mass NonRes Wall Insulation-1.13, ! Name + MediumRough, ! Roughness + 0.034707716435541901, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {99cb8625-3006-4803-88bd-d8c133119bbd}, ! Handle + Mass NonRes Wall Insulation-1.17, ! Name + MediumRough, ! Roughness + 0.036539478879309799, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7843db8a-1cea-41c1-aff4-4262ec063824}, ! Handle + Mass NonRes Wall Insulation-1.22, ! Name + MediumRough, ! Roughness + 0.0389043473584363, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c693c3a0-ef7d-4029-adb5-d3e1c72f1abe}, ! Handle + Mass NonRes Wall Insulation-1.26, ! Name + MediumRough, ! Roughness + 0.041029913670032198, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {808b6180-2f7b-4809-a027-bb4746344e2d}, ! Handle + Mass NonRes Wall Insulation-1.30, ! Name + MediumRough, ! Roughness + 0.042842896700511002, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9d955538-7f87-41b3-bfe3-974a2718d941}, ! Handle + Mass NonRes Wall Insulation-1.41, ! Name + MediumRough, ! Roughness + 0.048426884434385802, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {507639c5-51b4-441e-a06f-ab1aeb78cb2e}, ! Handle + Mass NonRes Wall Insulation-1.43, ! Name + MediumRough, ! Roughness + 0.0495494599433393, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {cf002c97-4be5-4ad9-a778-f2dda4f10437}, ! Handle + Mass NonRes Wall Insulation-1.47, ! Name + MediumRough, ! Roughness + 0.051303484176078898, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b1f84594-87bd-4d3e-8db8-93465b75acca}, ! Handle + Mass NonRes Wall Insulation-1.69, ! Name + MediumRough, ! Roughness + 0.062367329336436898, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9dfe3a75-f347-4e9d-953c-b8ef940d2211}, ! Handle + Mass NonRes Wall Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.065686482884544303, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1389a1a2-7505-47c9-8223-4dca599994b9}, ! Handle + Mass NonRes Wall Insulation-1.96, ! Name + MediumRough, ! Roughness + 0.075275148690188004, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {78b7b95f-9ce0-44dc-87c6-b9c7de34e775}, ! Handle + Mass NonRes Wall Insulation-2.20, ! Name + MediumRough, ! Roughness + 0.087260980947242495, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {573954b3-a148-43de-b588-4b32a9692d10}, ! Handle + Mass NonRes Wall Insulation-2.23, ! Name + MediumRough, ! Roughness + 0.088626455508172705, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6bc88261-3dc2-453d-a10e-d55872bda8aa}, ! Handle + Mass NonRes Wall Insulation-2.48, ! Name + MediumRough, ! Roughness + 0.100934958592615, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {90e38fb9-1179-4372-870c-87eef6c3fdd1}, ! Handle + Mass NonRes Wall Insulation-2.89, ! Name + MediumRough, ! Roughness + 0.120860609077674, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7edfbf18-0ec5-47eb-9293-bab785d767f5}, ! Handle + Mass NonRes Wall Insulation-3.75, ! Name + MediumRough, ! Roughness + 0.16300124010352299, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1ace4b46-f9a6-4b57-bf98-85fdfb395d1a}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.54, ! Name + MediumRough, ! Roughness + 0.0153459874049154, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fbc3249d-2131-4727-aa01-fdf67749c734}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.57, ! Name + MediumRough, ! Roughness + 0.0169093568297486, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {667ac566-3d51-47ec-89ee-102f3bdd0f81}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.59, ! Name + MediumRough, ! Roughness + 0.017743153856326299, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {251ae3d9-3a4d-40d6-a4b3-75b3c7dea768}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.61, ! Name + MediumRough, ! Roughness + 0.0186148507477484, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {94b7127c-10a1-4419-824e-51f81119da1b}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.77, ! Name + MediumRough, ! Roughness + 0.026289573378747801, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c7b18a52-4ef4-4a4f-86dc-e65807b1267d}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.80, ! Name + MediumRough, ! Roughness + 0.027870508752174599, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {3ea07875-b6e2-4a1d-b5e0-fdf334dac5a4}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.81, ! Name + MediumRough, ! Roughness + 0.0287016290627761, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1fb27356-6254-4715-b9e7-26c729e5dd14}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.90, ! Name + MediumRough, ! Roughness + 0.032989728056604301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c645d3c0-aa53-4872-8f6b-41a6b7046518}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.91, ! Name + MediumRough, ! Roughness + 0.033324735790497099, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {3bd3e906-e4a8-4f83-b54f-b535ba015e8f}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.94, ! Name + MediumRough, ! Roughness + 0.034707716435541901, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ef5a273e-d59a-47ad-b451-6e0daac704fa}, ! Handle + Metal Building Semi-Cond Wall Insulation-0.98, ! Name + MediumRough, ! Roughness + 0.036920485467613499, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bc451e37-ab96-4e32-85b8-060b14dd1ffa}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.02, ! Name + MediumRough, ! Roughness + 0.0389043473584363, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {872e448f-5384-458a-8a1a-e53ec084beb2}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.10, ! Name + MediumRough, ! Roughness + 0.042842896700511002, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a32cd8ed-d7e2-4651-accf-387739c4a130}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.12, ! Name + MediumRough, ! Roughness + 0.043789977388074601, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8c6e0c46-5eaf-435a-912e-beb3b78fd823}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.16, ! Name + MediumRough, ! Roughness + 0.045771561595899901, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5d87f774-1ae9-44e8-b865-03d9d452ab4e}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.22, ! Name + MediumRough, ! Roughness + 0.048426884434385802, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c703bb29-7f9e-46c2-b30e-f219dacbb8c0}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.24, ! Name + MediumRough, ! Roughness + 0.0495494599433393, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {576fcd01-e02d-41e8-adb2-8261ecb52db5}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.37, ! Name + MediumRough, ! Roughness + 0.055758395280470899, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7fcaccc0-2813-4b61-b406-de3a4bec33ee}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.57, ! Name + MediumRough, ! Roughness + 0.065686482884544303, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1eca6359-8ed8-41c5-b576-efab8e5fcb3d}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.72, ! Name + MediumRough, ! Roughness + 0.073190656123743703, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6459360a-39ae-45e3-bb7e-f31f7e4c3a26}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.79, ! Name + MediumRough, ! Roughness + 0.076352526870597404, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b1624cb3-2cfc-4b99-9e42-3ce14abf69cd}, ! Handle + Metal Building Semi-Cond Wall Insulation-1.96, ! Name + MediumRough, ! Roughness + 0.084629944598133, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {838fcc23-f739-4644-a761-77a891780368}, ! Handle + Metal Building Semi-Cond Wall Insulation-2.25, ! Name + MediumRough, ! Roughness + 0.099246813204296999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {352e28a8-b570-493a-8996-1ef906425be7}, ! Handle + Metal Building Semi-Cond Wall Insulation-2.52, ! Name + MediumRough, ! Roughness + 0.112154632558048, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0582ccce-da08-4018-b265-81fb3ac2a162}, ! Handle + Metal Building Semi-Cond Wall Insulation-2.85, ! Name + MediumRough, ! Roughness + 0.128178132445463, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5237a014-0a24-4c35-b581-be0bfae0158b}, ! Handle + Metal Building Semi-Cond Wall Insulation-3.72, ! Name + MediumRough, ! Roughness + 0.17116180674662401, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {739dfbbb-38ee-46a0-bc5c-6231462a073e}, ! Handle + Metal Decking, ! Name + MediumSmooth, ! Roughness + 0.0015, ! Thickness + 45.006, ! Conductivity + 7680, ! Density + 418.39999999999998, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.29999999999999999; ! Visible Absorptance + +OS:Material, + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}, ! Handle + Metal Roofing, ! Name + MediumSmooth, ! Roughness + 0.0015, ! Thickness + 45.006, ! Conductivity + 7680, ! Density + 418.39999999999998, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.29999999999999999, ! Solar Absorptance + 0.29999999999999999; ! Visible Absorptance + +OS:Material, + {74c178fd-0d40-4017-9362-43405deb126d}, ! Handle + Metal Semi-Cond Roof Insulation-1.05, ! Name + MediumRough, ! Roughness + 0.042267330190631398, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {d9a702c4-c534-424c-9bc3-b5d7bf39870f}, ! Handle + Metal Semi-Cond Roof Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.076889877979871596, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {80b2e3ec-69a9-49a1-9793-7f1d0e532921}, ! Handle + Metal Semi-Cond Roof Insulation-1.81, ! Name + MediumRough, ! Roughness + 0.079558888049483703, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ae17dcb4-6fa1-4cce-8d2d-1eecc31a1d2c}, ! Handle + Metal Semi-Cond Roof Insulation-1.87, ! Name + MediumRough, ! Roughness + 0.082234125809258193, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0f5e9c3e-35e1-48a8-b655-91bb9fde843e}, ! Handle + Metal Semi-Cond Roof Insulation-2.00, ! Name + MediumRough, ! Roughness + 0.088657786014070594, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {2ab3fd95-296e-40e3-bb23-11b3ba00151b}, ! Handle + Metal Semi-Cond Roof Insulation-2.38, ! Name + MediumRough, ! Roughness + 0.107210794176096, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {38bf144d-5e68-44a4-af41-d7498ae39982}, ! Handle + Metal Semi-Cond Roof Insulation-2.44, ! Name + MediumRough, ! Roughness + 0.110450208299624, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {bc4621a8-bee8-402c-a136-52e753af2ce0}, ! Handle + Metal Semi-Cond Roof Insulation-2.50, ! Name + MediumRough, ! Roughness + 0.113125446059399, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1f2080a8-6656-439e-9cb4-0cfebde43406}, ! Handle + Metal Semi-Cond Roof Insulation-2.67, ! Name + MediumRough, ! Roughness + 0.121346419442401, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9c26cc1e-a78b-46d1-9f8e-069033302b76}, ! Handle + Metal Semi-Cond Roof Insulation-2.75, ! Name + MediumRough, ! Roughness + 0.125432498620942, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {c0195120-6c7d-4481-9075-d8c974d36fb0}, ! Handle + Metal Semi-Cond Roof Insulation-2.99, ! Name + MediumRough, ! Roughness + 0.13685966920499901, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {039aaef0-a65d-4334-8d93-8316f187c740}, ! Handle + Metal Semi-Cond Roof Insulation-3.03, ! Name + MediumRough, ! Roughness + 0.13938152754079, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b85a45ca-c02a-4605-b817-8e6579bc86df}, ! Handle + Metal Semi-Cond Roof Insulation-3.38, ! Name + MediumRough, ! Roughness + 0.15609352396204701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {f88cd590-2a73-4a9c-b890-b72075a785b9}, ! Handle + Metal Semi-Cond Roof Insulation-3.65, ! Name + MediumRough, ! Roughness + 0.169385475021083, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a0924b43-97ac-4adc-a37b-c41997c61175}, ! Handle + Metal Semi-Cond Roof Insulation-3.66, ! Name + MediumRough, ! Roughness + 0.17037936958489699, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {913f2de0-98e5-4bb0-bdf3-bd733e3a7853}, ! Handle + Metal Semi-Cond Roof Insulation-3.83, ! Name + MediumRough, ! Roughness + 0.17819621670906299, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {60008ac1-d4ee-4ee2-8542-a2c652b4a2fc}, ! Handle + Metal Semi-Cond Roof Insulation-3.97, ! Name + MediumRough, ! Roughness + 0.185040439601726, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7b1f2f18-b035-40ca-9837-4de4e5200c12}, ! Handle + Metal Semi-Cond Roof Insulation-4.41, ! Name + MediumRough, ! Roughness + 0.20633686635605999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {84915ad3-2a9a-48cd-a706-b797e85900dd}, ! Handle + Metal Semi-Cond Roof Insulation-5.75, ! Name + MediumRough, ! Roughness + 0.271647743652701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}, ! Handle + Metal Siding, ! Name + Smooth, ! Roughness + 0.0015, ! Thickness + 44.960000000000001, ! Conductivity + 7688.8599999999997, ! Density + 410, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.20000000000000001, ! Solar Absorptance + 0.20000000000000001; ! Visible Absorptance + +OS:Material, + {2ce0b8ea-9c08-4335-80f0-eebc31d68310}, ! Handle + Roof Insulation [18], ! Name + MediumRough, ! Roughness + 0.16930000000000001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1a46635b-1af8-47b8-9839-9b7f44736116}, ! Handle + Roof Insulation [19], ! Name + MediumRough, ! Roughness + 0.18679999999999999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {675b3bf7-30eb-4ff0-8ac3-939ef89adb8e}, ! Handle + Roof Insulation [21], ! Name + MediumRough, ! Roughness + 0.21049999999999999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0ee1274c-8b77-44e9-8371-871685e356d7}, ! Handle + Roof Insulation [22], ! Name + MediumRough, ! Roughness + 0.23580000000000001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ed10a837-0834-4990-aa4d-d9b41d148c7c}, ! Handle + Roof Insulation [24], ! Name + MediumRough, ! Roughness + 0.2601, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {84406085-1f05-4496-94d1-5b0214376c09}, ! Handle + Roof Insulation [25], ! Name + MediumRough, ! Roughness + 0.26300000000000001, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {e557ae47-dfab-42ae-9f08-204608b08def}, ! Handle + Roof Insulation [26], ! Name + MediumRough, ! Roughness + 0.29409999999999997, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a437216f-900c-4107-a6c3-9c91ceb571a9}, ! Handle + Roof Insulation [27], ! Name + MediumRough, ! Roughness + 0.29699999999999999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}, ! Handle + Roof Membrane, ! Name + VeryRough, ! Roughness + 0.0094999999999999998, ! Thickness + 0.16, ! Conductivity + 1121.29, ! Density + 1460, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {f45c2bda-12b7-4954-983b-160c768bd608}, ! Handle + Steel Frame NonRes Wall Insulation-0.73, ! Name + MediumRough, ! Roughness + 0.020278246975300701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8019b5f5-adde-4511-9e5e-6b281149013f}, ! Handle + Steel Frame NonRes Wall Insulation-0.77, ! Name + MediumRough, ! Roughness + 0.021841616400133899, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {108df802-fee3-43e4-aa70-30afe6ce5034}, ! Handle + Steel Frame NonRes Wall Insulation-0.79, ! Name + MediumRough, ! Roughness + 0.0228466396018124, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b0d7091b-dfa7-481a-ba77-9ece60b34434}, ! Handle + Steel Frame NonRes Wall Insulation-0.80, ! Name + MediumRough, ! Roughness + 0.0235471103181338, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {adc7c349-18e0-4477-b281-793bae7bf70c}, ! Handle + Steel Frame NonRes Wall Insulation-0.96, ! Name + MediumRough, ! Roughness + 0.0312218329491331, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ccaf9ff5-0fb0-4f5f-a8bc-fd76d841a11c}, ! Handle + Steel Frame NonRes Wall Insulation-0.99, ! Name + MediumRough, ! Roughness + 0.032802768322560003, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b84226dc-387a-4788-ab5a-47a5230a5bc7}, ! Handle + Steel Frame NonRes Wall Insulation-1.01, ! Name + MediumRough, ! Roughness + 0.033633888633161503, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {ec09d094-ecf7-46e5-a3e0-ee0d17bea43e}, ! Handle + Steel Frame NonRes Wall Insulation-1.09, ! Name + MediumRough, ! Roughness + 0.0379219876269897, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {f9280099-8a49-43b8-bf0a-dcca29ccbb95}, ! Handle + Steel Frame NonRes Wall Insulation-1.10, ! Name + MediumRough, ! Roughness + 0.038256995360882499, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5d572caf-cc14-4989-a3dd-bb5c75394398}, ! Handle + Steel Frame NonRes Wall Insulation-1.13, ! Name + MediumRough, ! Roughness + 0.039639976005927301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {466646b2-5dde-4034-87a5-71ddeaba4d17}, ! Handle + Steel Frame NonRes Wall Insulation-1.17, ! Name + MediumRough, ! Roughness + 0.041852745037998899, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {cc0c49e9-fe73-4fad-86b0-bc260b9d209c}, ! Handle + Steel Frame NonRes Wall Insulation-1.22, ! Name + MediumRough, ! Roughness + 0.0438366069288217, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0d33d654-5b1b-4758-a3f6-80ff27f2c230}, ! Handle + Steel Frame NonRes Wall Insulation-1.30, ! Name + MediumRough, ! Roughness + 0.047775156270896402, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {3283864e-de5b-496b-88ec-0a5b8f38e5dc}, ! Handle + Steel Frame NonRes Wall Insulation-1.36, ! Name + MediumRough, ! Roughness + 0.050703821166285301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {2e2e1999-2af3-4929-92a5-5f99011c3f83}, ! Handle + Steel Frame NonRes Wall Insulation-1.41, ! Name + MediumRough, ! Roughness + 0.053359144004771202, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {41759e2f-72a6-4fca-a9aa-05ad1695bc31}, ! Handle + Steel Frame NonRes Wall Insulation-1.42, ! Name + MediumRough, ! Roughness + 0.053915905200000003, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9601ee66-15ef-4677-bd72-b4360495fd5c}, ! Handle + Steel Frame NonRes Wall Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.070618742454929703, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {0551f43c-d056-42bd-8571-6ccf8ada30bb}, ! Handle + Steel Frame NonRes Wall Insulation-1.92, ! Name + MediumRough, ! Roughness + 0.078122915694129103, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {1e06a9c5-20f2-439a-969f-02caf3bc2add}, ! Handle + Steel Frame NonRes Wall Insulation-1.98, ! Name + MediumRough, ! Roughness + 0.081284786440982706, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {7b1baf7a-5284-488e-a616-cd7a0e78eba0}, ! Handle + Steel Frame NonRes Wall Insulation-2.10, ! Name + MediumRough, ! Roughness + 0.087056455264604496, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {dffa7b1a-e94c-48c9-92d3-cb71258ba1a3}, ! Handle + Steel Frame NonRes Wall Insulation-2.15, ! Name + MediumRough, ! Roughness + 0.089562204168518303, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {9d6cf257-e9bb-46eb-85fe-4be3cec28625}, ! Handle + Steel Frame NonRes Wall Insulation-2.44, ! Name + MediumRough, ! Roughness + 0.104179072774682, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5ea43ffa-d77d-45d4-87ca-09e4891fa817}, ! Handle + Steel Frame NonRes Wall Insulation-2.71, ! Name + MediumRough, ! Roughness + 0.117086892128433, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {f55ad287-8d44-412b-936a-2bd21ec3c091}, ! Handle + Steel Frame NonRes Wall Insulation-2.75, ! Name + MediumRough, ! Roughness + 0.11916136309600101, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {e9e3dc76-9715-48e1-a8f1-eb0e0fcc1768}, ! Handle + Steel Frame NonRes Wall Insulation-3.04, ! Name + MediumRough, ! Roughness + 0.13311039201584801, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {6d8b7e72-723f-48a0-b636-c662b76a1580}, ! Handle + Steel Frame NonRes Wall Insulation-3.21, ! Name + MediumRough, ! Roughness + 0.14122619066011999, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8bce72e5-a883-448e-8f2c-f32333efc0f9}, ! Handle + Steel Frame NonRes Wall Insulation-3.91, ! Name + MediumRough, ! Roughness + 0.17609406631701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {f9c98b88-6047-4d6a-842b-b37ac8debd7e}, ! Handle + Wall Insulation [31], ! Name + MediumRough, ! Roughness + 0.033700000000000001, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {90f04158-e773-4256-9c5a-57ea2521c6b8}, ! Handle + Wall Insulation [32], ! Name + MediumRough, ! Roughness + 0.089700000000000002, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {cba19a56-e741-4a94-8d08-aecc13ceed76}, ! Handle + Wall Insulation [33], ! Name + MediumRough, ! Roughness + 0.078100000000000003, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {d8dc517a-2522-43c1-9a98-d4dd00457e6a}, ! Handle + Wall Insulation [34], ! Name + MediumRough, ! Roughness + 0.1104, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a1e74e96-1549-49f7-9a98-9c85bd4b93b8}, ! Handle + Wall Insulation [35], ! Name + MediumRough, ! Roughness + 0.045199999999999997, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {e4a8521a-c5e5-4d7c-bedb-77efdc74bdcc}, ! Handle + Wall Insulation [36], ! Name + MediumRough, ! Roughness + 0.056599999999999998, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {ae52f53f-2ebb-4f0a-bc0c-d03c3afed615}, ! Handle + Wall Insulation [37], ! Name + MediumRough, ! Roughness + 0.068099999999999994, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {665f1008-76ba-4df3-a89d-a0cb3009b6b3}, ! Handle + Wall Insulation [38], ! Name + MediumRough, ! Roughness + 0.1396, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {622b339e-da2b-493c-9822-99eba6be292e}, ! Handle + Wall Insulation [39], ! Name + MediumRough, ! Roughness + 0.11840000000000001, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {8bc3b583-3d71-4bfc-9e85-f8afbd9da9b3}, ! Handle + Wall Insulation [40], ! Name + MediumRough, ! Roughness + 0.079399999999999998, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {48641f8f-f958-44a6-bbc7-aece5052a151}, ! Handle + Wall Insulation [41], ! Name + MediumRough, ! Roughness + 0.14050000000000001, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {3c150716-117e-4d21-acb5-d080c06a5803}, ! Handle + Wall Insulation [42], ! Name + MediumRough, ! Roughness + 0.091399999999999995, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {5a1cfb48-4c6b-4de5-8596-f6caa5fb32f5}, ! Handle + Wall Insulation [43], ! Name + MediumRough, ! Roughness + 0.1583, ! Thickness + 0.044999999999999998, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {e3a04909-c395-4866-9b8c-46362bc2ba02}, ! Handle + Wall Insulation [44], ! Name + MediumRough, ! Roughness + 0.1104, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {186eab42-90d4-4e71-aafe-eedb7ec34f04}, ! Handle + Wall Insulation [46], ! Name + MediumRough, ! Roughness + 0.16339999999999999, ! Thickness + 0.043200000000000002, ! Conductivity + 91, ! Density + 837, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.5, ! Solar Absorptance + 0.5; ! Visible Absorptance + +OS:Material, + {5dee128b-d7ca-4940-9405-1e2673b368d8}, ! Handle + Wood Frame NonRes Wall Insulation-0.73, ! Name + MediumRough, ! Roughness + 0.020278246975300701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {403cfab3-e6c6-4c25-8b9c-0a03a2b4829d}, ! Handle + Wood Frame NonRes Wall Insulation-0.80, ! Name + MediumRough, ! Roughness + 0.0235471103181338, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {a7bdbd48-1a2c-4b77-ac2e-1b72c4bce037}, ! Handle + Wood Frame NonRes Wall Insulation-1.10, ! Name + MediumRough, ! Roughness + 0.038256995360882499, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fc6c0b3d-bad2-4fd2-87fe-e62b941dc03d}, ! Handle + Wood Frame NonRes Wall Insulation-1.17, ! Name + MediumRough, ! Roughness + 0.041852745037998899, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {2d62cbe5-356f-40d3-9c14-873aedd01656}, ! Handle + Wood Frame NonRes Wall Insulation-1.36, ! Name + MediumRough, ! Roughness + 0.050703821166285301, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {36af3e7f-b317-4c1b-b27c-1df122751208}, ! Handle + Wood Frame NonRes Wall Insulation-1.76, ! Name + MediumRough, ! Roughness + 0.070618742454929703, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {267950c2-3d78-4ff0-bf40-9cb056395b5e}, ! Handle + Wood Frame NonRes Wall Insulation-1.92, ! Name + MediumRough, ! Roughness + 0.078122915694129103, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {2eaf7613-1aac-47eb-8045-4a170a0872f4}, ! Handle + Wood Frame NonRes Wall Insulation-1.98, ! Name + MediumRough, ! Roughness + 0.081284786440982706, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {acca82d0-c40f-4bfd-a589-cfcaf7a0ca1e}, ! Handle + Wood Frame NonRes Wall Insulation-2.15, ! Name + MediumRough, ! Roughness + 0.089562204168518303, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {fae863d9-5570-4c00-a97b-8a237473c89e}, ! Handle + Wood Frame NonRes Wall Insulation-2.44, ! Name + MediumRough, ! Roughness + 0.104179072774682, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {595128f1-45cc-4562-9c3f-6e6f22a45619}, ! Handle + Wood Frame NonRes Wall Insulation-2.71, ! Name + MediumRough, ! Roughness + 0.117086892128433, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {285c755e-83ad-4008-aab9-aaabfb52220a}, ! Handle + Wood Frame NonRes Wall Insulation-3.04, ! Name + MediumRough, ! Roughness + 0.13311039201584801, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {b3565d69-8bb3-4138-ba7d-e8763beec286}, ! Handle + Wood Frame NonRes Wall Insulation-3.45, ! Name + MediumRough, ! Roughness + 0.15353249971549501, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {5207ff92-bd6c-47c7-b97c-7272707c1e50}, ! Handle + Wood Frame NonRes Wall Insulation-3.91, ! Name + MediumRough, ! Roughness + 0.17609406631701, ! Thickness + 0.049000000000000002, ! Conductivity + 265, ! Density + 836.79999999999995, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:Material, + {77f3687b-2f12-492b-b087-07d7e754a74a}, ! Handle + Wood Siding, ! Name + MediumSmooth, ! Roughness + 0.01, ! Thickness + 0.11, ! Conductivity + 544.62, ! Density + 1210, ! Specific Heat + 0.90000000000000002, ! Thermal Absorptance + 0.78000000000000003, ! Solar Absorptance + 0.78000000000000003; ! Visible Absorptance + +OS:Material:AirGap, + {95c60f16-f983-44bf-ba48-52f499a7db6a}, ! Handle + 000 F04 Wall air space resistance, ! Name + 0.14999999999999999; ! Thermal Resistance + +OS:Material:AirGap, + {2babb5aa-f8cd-449e-8f9c-d68bce8aeaef}, ! Handle + 000 F05 Ceiling air space resistance, ! Name + 0.17999999999999999; ! Thermal Resistance + +OS:Material:NoMass, + {6d48131d-e51a-45c6-9ef4-2f3111c0d744}, ! Handle + CP02 CARPET PAD, ! Name + VeryRough, ! Roughness + 0.2165, ! Thermal Resistance + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.80000000000000004; ! Visible Absorptance + +OS:Material:NoMass, + {18500b0b-6e4d-4a07-97d6-5354561581a3}, ! Handle + MAT-SHEATH, ! Name + Rough, ! Roughness + 0.36259999999999998, ! Thermal Resistance + 0.90000000000000002, ! Thermal Absorptance + 0.69999999999999996, ! Solar Absorptance + 0.69999999999999996; ! Visible Absorptance + +OS:People, + {f4673245-e0ef-4395-9205-d0bd344df9bd}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice PeopInst, ! Name + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! People Definition Name + {401bf17a-54a5-4a79-aeda-b6bb2a338d25}; ! Space or SpaceType Name + +OS:People, + {03f21406-b3be-4699-b3eb-7e05d878a7a3}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice PeopInst, ! Name + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! People Definition Name + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}; ! Space or SpaceType Name + +OS:People, + {7fab5b4e-bc1b-4186-b898-cb153fac0f17}, ! Handle + ASHRAE 90.1-2004 SmallOffice PeopInst, ! Name + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! People Definition Name + {c2d10f69-0e74-41d1-bdab-f2bbd1f6d8a1}; ! Space or SpaceType Name + +OS:People, + {e4b51a17-3dc6-44d1-b31b-091efe84e2e6}, ! Handle + CBECS 1980-2004 SmallOffice PeopInst, ! Name + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! People Definition Name + {05ba3eb4-a9e5-4807-94e9-fd6d7d749f3e}; ! Space or SpaceType Name + +OS:People, + {4c81a3fe-6151-4b31-ad50-74fa8f7b498a}, ! Handle + CBECS Before-1980 SmallOffice PeopInst, ! Name + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! People Definition Name + {213f1f80-1468-4d4c-b914-ede8f8294f7e}; ! Space or SpaceType Name + +OS:People:Definition, + {363ee896-ee33-43c8-b6c5-86092126cb6f}, ! Handle + SmallOffice PeopDef, ! Name + People/Area, ! Number of People Calculation Method + 0, ! Number of People + 0.053819575255912078, ! People per Space Floor Area + , ! Space Floor Area per Person + 0.3; ! Fraction Radiant + +OS:Rendering:Color, + {88bc2cee-29bd-40d0-831b-41bf88d876a7}, ! Handle + 000 AtticRoof ClimateZone 1-8 Color, ! Name + 198.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 131.274; ! Rendering Blue Value + +OS:Rendering:Color, + {1e6df20a-a232-472a-a33b-aa546bd30609}, ! Handle + 000 ExtSlabCarpet 4in ClimateZone 1-8 Color, ! Name + 198.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 0.0; ! Rendering Blue Value + +OS:Rendering:Color, + {477b69c3-7359-492d-bbd7-55c9cda46e17}, ! Handle + 000 ExtSlabCarpet 8in ClimateZone 1-8 Color, ! Name + 147.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 0.0; ! Rendering Blue Value + +OS:Rendering:Color, + {67a70ce2-1479-47f8-8ae1-ac7efffb9996}, ! Handle + 000 ExtSlab 4in ClimateZone 1-8 Color, ! Name + 198.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 0.0; ! Rendering Blue Value + +OS:Rendering:Color, + {fc33f31e-d539-4d9f-969e-d8b8aa636c27}, ! Handle + 000 ExtSlab 8in ClimateZone 1-8 Color, ! Name + 147.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 0.0; ! Rendering Blue Value + +OS:Rendering:Color, + {fd5f6384-4bd6-4a16-aaf2-e2e57c7ac5e3}, ! Handle + 000 Exterior Door Color, ! Name + 124.3125, ! Rendering Red Value + 74.5875, ! Rendering Green Value + 89.505; ! Rendering Blue Value + +OS:Rendering:Color, + {c7641f83-059b-4f6f-a97a-42cfeca18a4c}, ! Handle + 000 Exterior Floor Color, ! Name + 255.0, ! Rendering Red Value + 40.8, ! Rendering Green Value + 40.7999999999998; ! Rendering Blue Value + +OS:Rendering:Color, + {30fa1143-b745-4268-8187-9afb8b2c3e62}, ! Handle + 000 Exterior Roof Color, ! Name + 255.0, ! Rendering Red Value + 0.0, ! Rendering Green Value + 0.0; ! Rendering Blue Value + +OS:Rendering:Color, + {e1a0f797-17e6-42c5-88d8-091707edf1bd}, ! Handle + 000 Exterior Wall Color, ! Name + 142.8, ! Rendering Red Value + 201.144, ! Rendering Green Value + 255.0; ! Rendering Blue Value + +OS:Rendering:Color, + {0d772e52-57b3-433d-a810-d666d506e21d}, ! Handle + 000 Exterior Window Color, ! Name + 198.9, ! Rendering Red Value + 0.0, ! Rendering Green Value + 59.6699999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {173caa2b-e0ac-404f-886e-766ae013f4f1}, ! Handle + 000 Interior Ceiling Color, ! Name + 219.096, ! Rendering Red Value + 142.8, ! Rendering Green Value + 255.0; ! Rendering Blue Value + +OS:Rendering:Color, + {5d65483c-aa10-4916-a8a8-e14640ecce6c}, ! Handle + 000 Interior Door Color, ! Name + 168.606, ! Rendering Red Value + 255.0, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {bdbb08d5-898f-4638-a23c-ceaf6b43db05}, ! Handle + 000 Interior Floor Color, ! Name + 255.0, ! Rendering Red Value + 142.8, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {76e5ce0c-f6ef-4151-a469-8174efb167c2}, ! Handle + 000 Interior Partition Color, ! Name + 165.24, ! Rendering Red Value + 142.8, ! Rendering Green Value + 255.0; ! Rendering Blue Value + +OS:Rendering:Color, + {6fae52d8-46a4-4448-8783-fc3b43e20534}, ! Handle + 000 Interior Wall Color, ! Name + 142.8, ! Rendering Red Value + 201.144, ! Rendering Green Value + 255.0; ! Rendering Blue Value + +OS:Rendering:Color, + {4116b397-f71d-41f8-aba7-bf1f7460e468}, ! Handle + 000 Interior Window Color, ! Name + 235.926, ! Rendering Red Value + 255.0, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {5c983eaf-a53c-4ce0-b4e1-44980d09d88b}, ! Handle + ASHRAE 189.1-2009 AtticFloor ClimateZone 1-8 Color, ! Name + 183.9825, ! Rendering Red Value + 14.9175, ! Rendering Green Value + 126.5004; ! Rendering Blue Value + +OS:Rendering:Color, + {70f42ee1-1ec5-40bb-880d-d70c64efe69d}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice Color, ! Name + 120.36, ! Rendering Red Value + 236.64, ! Rendering Green Value + 201.756; ! Rendering Blue Value + +OS:Rendering:Color, + {4015c427-52d4-44ac-aef6-ccd07d845783}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice Color, ! Name + 120.36, ! Rendering Red Value + 236.64, ! Rendering Green Value + 201.756; ! Rendering Blue Value + +OS:Rendering:Color, + {6b540428-2e60-4e86-8fb3-61915d919ee1}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 1 Color, ! Name + 129.8817, ! Rendering Red Value + 14.9175, ! Rendering Green Value + 183.9825; ! Rendering Blue Value + +OS:Rendering:Color, + {effd9abb-ec36-4c50-bc6b-e74947592e49}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 2-5 Color, ! Name + 150.1695, ! Rendering Red Value + 14.9175, ! Rendering Green Value + 183.9825; ! Rendering Blue Value + +OS:Rendering:Color, + {335a31e6-1e3a-4cbc-88be-2298a603fb11}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 6 Color, ! Name + 183.9825, ! Rendering Red Value + 14.9175, ! Rendering Green Value + 106.2126; ! Rendering Blue Value + +OS:Rendering:Color, + {ccba9b23-2704-4802-981a-db22e41adc9f}, ! Handle + ASHRAE 189.1-2009 ExtRoof IEAD ClimateZone 7-8 Color, ! Name + 183.9825, ! Rendering Red Value + 14.9175, ! Rendering Green Value + 96.0687; ! Rendering Blue Value + +OS:Rendering:Color, + {849037e0-7f63-49cb-9aa0-4e799999a28e}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 1 Color, ! Name + 180.6726, ! Rendering Red Value + 56.865, ! Rendering Green Value + 238.935; ! Rendering Blue Value + +OS:Rendering:Color, + {333c517a-d5d1-4750-9b62-da3476a4543f}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 2-5 Color, ! Name + 202.521, ! Rendering Red Value + 56.865, ! Rendering Green Value + 238.935; ! Rendering Blue Value + +OS:Rendering:Color, + {f189ee04-0ffb-4583-bad8-785df8788ea9}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 6 Color, ! Name + 238.935, ! Rendering Red Value + 56.865, ! Rendering Green Value + 155.1828; ! Rendering Blue Value + +OS:Rendering:Color, + {c0178f5c-c521-41ee-a7c5-9d34b062788f}, ! Handle + ASHRAE 189.1-2009 ExtRoof Metal ClimateZone 7-8 Color, ! Name + 238.935, ! Rendering Red Value + 56.865, ! Rendering Green Value + 144.2586; ! Rendering Blue Value + +OS:Rendering:Color, + {93bafe0f-5a21-4c4d-bcb5-fa3176877f92}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 1 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 50.0973, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {119c0ba1-3d7a-42c7-ab26-e7d4565e6860}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 2 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 40.2135, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {c0fbd45e-fa23-4f3d-ae55-c545b4406db1}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 3 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 20.4459, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {8cddac25-6638-44ca-935d-56d660ab32be}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 4 Color, ! Name + 8.91479999999992, ! Rendering Red Value + 7.26749999999999, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {b881e62d-49c8-48a3-830c-4dbac951eaf7}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 5 Color, ! Name + 18.7985999999999, ! Rendering Red Value + 7.26749999999999, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {4a5fbabb-aa83-4511-8e67-ebf59a9fac2a}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 6 Color, ! Name + 28.6823999999999, ! Rendering Red Value + 7.26749999999999, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {69b10ed9-090e-4a38-a209-0093b349cdf8}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone 7-8 Color, ! Name + 33.6242999999999, ! Rendering Red Value + 7.26749999999999, ! Rendering Green Value + 89.6325; ! Rendering Blue Value + +OS:Rendering:Color, + {7f9dc5e8-3772-4355-addf-058aef144132}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 1 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {4615e728-629a-4bd4-b5b3-00b87d66c0e8}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 2 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {011743f8-a031-48e8-a9cd-287e989ef2d4}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 3 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {55e33ebc-e505-43d1-978d-85fa4c74e3a9}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 4 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {cb50b924-c90c-4b88-9db1-b071126d52bc}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 5 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {c1e9c38e-102a-4c68-8e0a-60342f02dcbb}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 6 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {f8c9c18b-f0e4-4145-94b9-775e646e540c}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 7 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {967b306c-1e49-4ea0-8327-f6660aae580e}, ! Handle + ASHRAE 189.1-2009 ExtWall Mass ClimateZone alt-res 8 Color, ! Name + 7.26749999999999, ! Rendering Red Value + 89.6325, ! Rendering Green Value + 79.7487; ! Rendering Blue Value + +OS:Rendering:Color, + {5c7ff0a0-847d-4a2b-9318-0e1ab9527676}, ! Handle + ASHRAE 189.1-2009 ExtWall Metal ClimateZone 1-3 Color, ! Name + 12.24, ! Rendering Red Value + 84.3744, ! Rendering Green Value + 150.96; ! Rendering Blue Value + +OS:Rendering:Color, + {709d4935-158b-4256-bbbb-ec4c02aceb89}, ! Handle + ASHRAE 189.1-2009 ExtWall Metal ClimateZone 4-8 Color, ! Name + 15.0143999999999, ! Rendering Red Value + 12.24, ! Rendering Green Value + 150.96; ! Rendering Blue Value + +OS:Rendering:Color, + {06b44a8c-7dfa-41d0-bfe0-c165d3e22a90}, ! Handle + ASHRAE 189.1-2009 ExtWall SteelFrame ClimateZone 1-3 Color, ! Name + 17.2125, ! Rendering Red Value + 118.6515, ! Rendering Green Value + 212.2875; ! Rendering Blue Value + +OS:Rendering:Color, + {ad3a9208-eb6c-414e-9dfd-e5d9651ae0c1}, ! Handle + ASHRAE 189.1-2009 ExtWall SteelFrame ClimateZone 4-8 Color, ! Name + 21.1139999999998, ! Rendering Red Value + 17.2125, ! Rendering Green Value + 212.2875; ! Rendering Blue Value + +OS:Rendering:Color, + {5cd91ad2-5d32-458c-8115-9395659d5f82}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 1-4 Color, ! Name + 56.865, ! Rendering Red Value + 151.5414, ! Rendering Green Value + 238.935; ! Rendering Blue Value + +OS:Rendering:Color, + {593b5e59-7cec-495f-a00a-e7e5b2b387bb}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 5 Color, ! Name + 82.3547999999998, ! Rendering Red Value + 56.865, ! Rendering Green Value + 238.935; ! Rendering Blue Value + +OS:Rendering:Color, + {a7606b4c-8fce-479a-bfde-67facc481b27}, ! Handle + ASHRAE 189.1-2009 ExtWall WoodFrame ClimateZone 6-8 Color, ! Name + 104.2032, ! Rendering Red Value + 56.865, ! Rendering Green Value + 238.935; ! Rendering Blue Value + +OS:Rendering:Color, + {c203336d-731b-49d5-9ba3-c882d2e5f9bc}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 1 Color, ! Name + 207.9831, ! Rendering Red Value + 238.935, ! Rendering Green Value + 56.865; ! Rendering Blue Value + +OS:Rendering:Color, + {38e63ac4-ad88-45b1-9e57-5aad06bf6f3e}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 2 Color, ! Name + 186.1347, ! Rendering Red Value + 238.935, ! Rendering Green Value + 56.865; ! Rendering Blue Value + +OS:Rendering:Color, + {049283a0-6dd3-4a52-850b-dbdfe1b690bf}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 3 Color, ! Name + 142.4379, ! Rendering Red Value + 238.935, ! Rendering Green Value + 56.865; ! Rendering Blue Value + +OS:Rendering:Color, + {7b765030-b6c1-469a-b743-a5671c940bf8}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 4-5 Color, ! Name + 109.6653, ! Rendering Red Value + 238.935, ! Rendering Green Value + 56.865; ! Rendering Blue Value + +OS:Rendering:Color, + {60c7ddb8-2f8f-4884-851b-fcf14c10e0d1}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 6 Color, ! Name + 65.9684999999999, ! Rendering Red Value + 238.935, ! Rendering Green Value + 56.865; ! Rendering Blue Value + +OS:Rendering:Color, + {ec19caa3-a296-4613-a366-11d27922adbc}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone 7-8 Color, ! Name + 56.865, ! Rendering Red Value + 238.935, ! Rendering Green Value + 58.6857; ! Rendering Blue Value + +OS:Rendering:Color, + {19ce0129-1ebb-427a-99c7-6f0cb303ef5f}, ! Handle + ASHRAE 189.1-2009 ExtWindow ClimateZone alt-res 4-5 Color, ! Name + 56.865, ! Rendering Red Value + 238.935, ! Rendering Green Value + 217.0866; ! Rendering Blue Value + +OS:Rendering:Color, + {42c1741f-e245-4507-80e9-913c663f986d}, ! Handle + ASHRAE 90.1-2004 AtticFloor ClimateZone 1-5 Color, ! Name + 174.0375, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 123.318; ! Rendering Blue Value + +OS:Rendering:Color, + {1c8599ca-0341-42eb-97e3-c4d256b1fce4}, ! Handle + ASHRAE 90.1-2004 AtticFloor ClimateZone 6-8 Color, ! Name + 174.0375, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 24.8624999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {4d53852b-81e7-456a-8770-448c8a1ed846}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 1-4 Color, ! Name + 126.3015, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 174.0375; ! Rendering Blue Value + +OS:Rendering:Color, + {72f54dec-5800-4cb5-9865-3a9b65fb5085}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 5-6 Color, ! Name + 174.0375, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 123.318; ! Rendering Blue Value + +OS:Rendering:Color, + {e0c4d35c-29d6-42ac-90c1-938f604325bf}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 7 Color, ! Name + 174.0375, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 96.4665; ! Rendering Blue Value + +OS:Rendering:Color, + {28992ab7-7cd7-4304-ace1-02ef727d5efe}, ! Handle + ASHRAE 90.1-2004 ExtRoof IEAD ClimateZone 8 Color, ! Name + 174.0375, ! Rendering Red Value + 24.8625, ! Rendering Green Value + 87.516; ! Rendering Blue Value + +OS:Rendering:Color, + {f0364547-99d5-48b1-bf07-0c4ad1860b77}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 1 Color, ! Name + 176.817, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 228.225; ! Rendering Blue Value + +OS:Rendering:Color, + {9d88b25b-dc5f-4872-b97f-f6cf1cb3f806}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 2 Color, ! Name + 196.095, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 228.225; ! Rendering Blue Value + +OS:Rendering:Color, + {2fb483ec-27d7-4b28-8dd0-a4883b074212}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 3-4 Color, ! Name + 228.225, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 221.799; ! Rendering Blue Value + +OS:Rendering:Color, + {55e177df-2ea4-4d96-aef5-f45f03b36ae3}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 5-6 Color, ! Name + 228.225, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 173.604; ! Rendering Blue Value + +OS:Rendering:Color, + {8c5a8978-ee82-4fc9-88c1-59aa8f8dd7ca}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 7 Color, ! Name + 228.225, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 144.687; ! Rendering Blue Value + +OS:Rendering:Color, + {cf7eed47-1f0a-47ba-b22d-c301f599bcce}, ! Handle + ASHRAE 90.1-2004 ExtRoof Metal ClimateZone 8 Color, ! Name + 228.225, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 135.048; ! Rendering Blue Value + +OS:Rendering:Color, + {08c75c4f-c344-451e-928d-882e6c82911b}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 1-2 Color, ! Name + 12.1125, ! Rendering Red Value + 49.9035, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {53ce77c3-d4f4-46fc-9a12-62510d74849d}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 3-4 Color, ! Name + 12.1125, ! Rendering Red Value + 23.7405, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {4081fe48-5975-4695-9b51-794e1b5d464b}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 5 Color, ! Name + 22.2869999999999, ! Rendering Red Value + 12.1125, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {15da472e-0b88-4551-be76-0c78809539e4}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 6 Color, ! Name + 31.0079999999999, ! Rendering Red Value + 12.1125, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {3fd56130-5438-40b7-9036-d4e967461285}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 7 Color, ! Name + 35.3685, ! Rendering Red Value + 12.1125, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {a26edd37-dce3-44f3-aff2-67c1ba966951}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone 8 Color, ! Name + 39.729, ! Rendering Red Value + 12.1125, ! Rendering Green Value + 84.7875; ! Rendering Blue Value + +OS:Rendering:Color, + {86d885e0-b8dc-4864-bb4b-e93ffc6e56de}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 1-2 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {8556284f-07c4-4feb-b870-f9b58faca153}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 3 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {5d781f89-7b21-4ebc-8465-f7cb72cdad14}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 4 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {5efc9f46-81a6-4d27-bb67-872ed401f45b}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 5-6 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {6730a332-1207-4a0f-bb23-c3d8f8e6a9e0}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 7 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {a31bda59-ed80-4895-8269-ba9b0dd8a872}, ! Handle + ASHRAE 90.1-2004 ExtWall Mass ClimateZone alt-res 8 Color, ! Name + 12.1125, ! Rendering Red Value + 84.7875, ! Rendering Green Value + 76.0665; ! Rendering Blue Value + +OS:Rendering:Color, + {89db3308-ef11-4161-845d-d8104e7e4e4b}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 1 Color, ! Name + 20.4, ! Rendering Red Value + 84.048, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {e4c61e9f-89f3-44bd-9c35-ca6c30644ad4}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 2-3 Color, ! Name + 20.4, ! Rendering Red Value + 69.36, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {8f99080f-83b4-401e-94e5-9a5be3533ed8}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 4 Color, ! Name + 22.8479999999999, ! Rendering Red Value + 20.4, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {e1035dcf-af05-467b-9b45-b33ab4d73ea1}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 5 Color, ! Name + 37.5359999999999, ! Rendering Red Value + 20.4, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {dd1ecc57-1227-4cfd-92d0-ea15c6335f35}, ! Handle + ASHRAE 90.1-2004 ExtWall Metal ClimateZone 6-8 Color, ! Name + 52.2239999999999, ! Rendering Red Value + 20.4, ! Rendering Green Value + 142.8; ! Rendering Blue Value + +OS:Rendering:Color, + {99e74abe-9439-49b3-8e2a-dd2c9b8d50ff}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 1-4 Color, ! Name + 28.6875, ! Rendering Red Value + 118.1925, ! Rendering Green Value + 200.8125; ! Rendering Blue Value + +OS:Rendering:Color, + {4e123ecd-ba69-4c7a-8a61-c224c1c852d6}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 5-6 Color, ! Name + 52.7849999999999, ! Rendering Red Value + 28.6875, ! Rendering Green Value + 200.8125; ! Rendering Blue Value + +OS:Rendering:Color, + {977519c3-daab-4c7f-a431-dbe2c46bd6a4}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone 7-8 Color, ! Name + 83.7674999999999, ! Rendering Red Value + 28.6875, ! Rendering Green Value + 200.8125; ! Rendering Blue Value + +OS:Rendering:Color, + {47edc650-2961-4979-9ad6-9de6b7e7cefa}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 3 Color, ! Name + 28.6875, ! Rendering Red Value + 200.8125, ! Rendering Green Value + 180.1575; ! Rendering Blue Value + +OS:Rendering:Color, + {ace07439-98a2-49d8-8146-6a4615827f1a}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 4-6 Color, ! Name + 28.6875, ! Rendering Red Value + 200.8125, ! Rendering Green Value + 180.1575; ! Rendering Blue Value + +OS:Rendering:Color, + {1992821b-fe90-4b47-9b3f-85d5c45441c0}, ! Handle + ASHRAE 90.1-2004 ExtWall SteelFrame ClimateZone alt-res 8 Color, ! Name + 28.6875, ! Rendering Red Value + 200.8125, ! Rendering Green Value + 180.1575; ! Rendering Blue Value + +OS:Rendering:Color, + {ebe868ec-e204-439d-8ec6-f1ce5ae51a0c}, ! Handle + ASHRAE 90.1-2004 ExtWall WoodFrame ClimateZone 1-7 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 151.113, ! Rendering Green Value + 228.225; ! Rendering Blue Value + +OS:Rendering:Color, + {f27e3475-c9f1-43ea-a541-ad0ea26c1bc1}, ! Handle + ASHRAE 90.1-2004 ExtWall WoodFrame ClimateZone 8 Color, ! Name + 128.622, ! Rendering Red Value + 67.5749999999999, ! Rendering Green Value + 228.225; ! Rendering Blue Value + +OS:Rendering:Color, + {841a4154-5197-4adb-8f1c-012422458b89}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 1-2 Color, ! Name + 200.9145, ! Rendering Red Value + 228.225, ! Rendering Green Value + 67.5749999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {b6586427-ef4e-4b4d-9442-478c3afbee14}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 3a-3b Color, ! Name + 143.0805, ! Rendering Red Value + 228.225, ! Rendering Green Value + 67.5749999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {e5ca3b4a-e163-4070-a6a1-3596a4427542}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 3c Color, ! Name + 143.0805, ! Rendering Red Value + 228.225, ! Rendering Green Value + 67.5749999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {6c129171-e885-4203-80bd-b7c97e7e47a5}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 4-6 Color, ! Name + 114.1635, ! Rendering Red Value + 228.225, ! Rendering Green Value + 67.5749999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {6d7ca9ba-00a9-44b1-b193-935f18855328}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 7 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 69.1815; ! Rendering Blue Value + +OS:Rendering:Color, + {4503e770-051a-4cde-969c-3757cdfb5457}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone 8 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 78.8204999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {b03034c8-ddb8-4269-9fde-d700d40473db}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 3c Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {b8288b89-8fb4-49bc-818d-d935a96ec56c}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 4-6 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {7bd1cd53-b811-4f26-9251-f17435772e9a}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 7 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {4602e984-b1aa-4870-8f67-67242227487c}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-res 8 Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {57f1122b-02b9-478a-b51c-c79648eeaacd}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-resA 3a-3b Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {6745aabc-fea4-41f5-9f15-6bf722c1bb22}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-resH 3a-3b Color, ! Name + 67.5749999999999, ! Rendering Red Value + 228.225, ! Rendering Green Value + 208.947; ! Rendering Blue Value + +OS:Rendering:Color, + {48484f33-0338-4a5d-bc40-ef6a5941f855}, ! Handle + ASHRAE 90.1-2004 ExtWindow ClimateZone alt-ware 1-8 Color, ! Name + 200.9145, ! Rendering Red Value + 228.225, ! Rendering Green Value + 67.5749999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {c235f3c0-f3b3-4a02-8c32-0e3e9aa9f707}, ! Handle + ASHRAE 90.1-2004 SmallOffice Color, ! Name + 129.54, ! Rendering Red Value + 227.46, ! Rendering Green Value + 198.084; ! Rendering Blue Value + +OS:Rendering:Color, + {aa7b5b62-5f83-4d8b-badd-9f1966f804a7}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 1 Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 120.1356; ! Rendering Blue Value + +OS:Rendering:Color, + {9e7ab4d1-085d-4df2-919f-6dd1c2aa4294}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 2a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 104.6214; ! Rendering Blue Value + +OS:Rendering:Color, + {ba5d5ebf-70e0-4a92-b0a8-5575ce8401a4}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 2b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 104.6214; ! Rendering Blue Value + +OS:Rendering:Color, + {0f18973f-5d06-46b5-a051-4f518b322feb}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 73.593; ! Rendering Blue Value + +OS:Rendering:Color, + {ffc87d83-4d14-4078-b8df-c6639fcd729f}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3b LAS Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 73.593; ! Rendering Blue Value + +OS:Rendering:Color, + {1fc3848e-bfda-416f-83e4-78b8a42068d8}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3b LAX Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 73.593; ! Rendering Blue Value + +OS:Rendering:Color, + {79869e16-29fb-4683-8c46-04449c205bbb}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 3c Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 73.593; ! Rendering Blue Value + +OS:Rendering:Color, + {5837a2a0-0b8c-4b77-add6-903e4f68a5cb}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 50.3216999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {e4f4f990-afc8-4320-a9dc-fab81e3e150d}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 50.3216999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {dbbc77e3-f3d8-4871-8dd1-f496965643aa}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 4c Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 50.3216999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {a8a5d110-e649-4262-9567-37a9419f759f}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 5a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {5eb19d7f-da8e-4606-b48f-43068f85ccbd}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 5b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {df4e65b0-2e70-4b4d-a8aa-ce90661f887b}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 6a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {de9231d4-288a-4205-a3a1-586e7541fa0c}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 6b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {60189538-2935-4be6-a1d5-e9e6e2bd0b10}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 7 Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {a1627db2-6aa5-4d0f-888e-72932bdf7634}, ! Handle + CBECS 1980-2004 ExtRoof AtticFloor ClimateZone 8 Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 34.8074999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {d6f3192c-3510-49cc-be66-64885ca833e7}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 1 Color, ! Name + 122.7213, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 164.0925; ! Rendering Blue Value + +OS:Rendering:Color, + {67f8fa77-d847-4b5d-8fdb-22b14a97ac90}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 2a Color, ! Name + 138.2355, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 164.0925; ! Rendering Blue Value + +OS:Rendering:Color, + {6de5e6ad-b402-4b5e-a8b3-6cfb04d57f50}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 2b Color, ! Name + 138.2355, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 164.0925; ! Rendering Blue Value + +OS:Rendering:Color, + {f9f63d91-3e96-4271-a61a-631d3cd3b5b9}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 158.9211; ! Rendering Blue Value + +OS:Rendering:Color, + {39d5f91a-d2a3-411f-849b-7bb61888eaa9}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3b LAS Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 158.9211; ! Rendering Blue Value + +OS:Rendering:Color, + {b96c5a2b-9e71-45ff-9276-1a3155653bb2}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3b LAX Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 158.9211; ! Rendering Blue Value + +OS:Rendering:Color, + {a32616a8-bfa2-453c-9894-a5cc350ce387}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 3c Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 158.9211; ! Rendering Blue Value + +OS:Rendering:Color, + {b9838d1a-a3d7-4922-a0d7-e5661228ac79}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 135.6498; ! Rendering Blue Value + +OS:Rendering:Color, + {57da4b1c-30ff-4bf7-b070-f0dc72545055}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 135.6498; ! Rendering Blue Value + +OS:Rendering:Color, + {1b5d9de2-02f9-4bc9-9ce9-0c83286e342b}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 4c Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 135.6498; ! Rendering Blue Value + +OS:Rendering:Color, + {d7de8a6e-ef6c-4895-87d9-7bca243b53e8}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 5a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 120.1356; ! Rendering Blue Value + +OS:Rendering:Color, + {1ee804b6-daeb-4ea4-9b8a-b1159686dd76}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 5b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 120.1356; ! Rendering Blue Value + +OS:Rendering:Color, + {b6d98b8e-6ba4-417d-a70d-0bfc0ddcfbc8}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 6a Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 104.6214; ! Rendering Blue Value + +OS:Rendering:Color, + {af0cc4e0-a05a-4fa5-88b1-83780e9145cc}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 6b Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 104.6214; ! Rendering Blue Value + +OS:Rendering:Color, + {270abb00-2c0a-4875-9611-096acb6c8fef}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 7 Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 96.8643; ! Rendering Blue Value + +OS:Rendering:Color, + {e3a4947b-2024-4918-930b-aa67b81254c7}, ! Handle + CBECS 1980-2004 ExtRoof IEAD ClimateZone 8 Color, ! Name + 164.0925, ! Rendering Red Value + 34.8075, ! Rendering Green Value + 89.1072; ! Rendering Blue Value + +OS:Rendering:Color, + {c85f373b-1cc5-4d48-82fb-9d4b6808e383}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 1 Color, ! Name + 172.9614, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {5ee699d2-d983-4b46-a9b1-8b750f049667}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 2a Color, ! Name + 189.669, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {e32f703a-97d2-4ea3-b120-c5c6403a6a09}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 2b Color, ! Name + 189.669, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {e84650e2-b5c0-481b-9ec5-d84dedb246ec}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3a Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 211.9458; ! Rendering Blue Value + +OS:Rendering:Color, + {a664a920-43a1-4805-96d2-95910269791e}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3b LAS Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 211.9458; ! Rendering Blue Value + +OS:Rendering:Color, + {ad0afe3d-54e6-4e3b-9194-5996327d4729}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3b LAX Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 211.9458; ! Rendering Blue Value + +OS:Rendering:Color, + {c7257bb6-75c1-4ba1-abd8-b531eb182e80}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 3c Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 211.9458; ! Rendering Blue Value + +OS:Rendering:Color, + {9a96da2b-0f89-4d12-ab07-47957dc69a20}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4a Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 186.8844; ! Rendering Blue Value + +OS:Rendering:Color, + {953d7050-1f51-4508-8d1d-69b7d8662822}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4b Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 186.8844; ! Rendering Blue Value + +OS:Rendering:Color, + {f83662f6-a819-469d-a568-d4cc1b68ed81}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 4c Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 186.8844; ! Rendering Blue Value + +OS:Rendering:Color, + {b165250d-2a4e-4cde-a8c4-686421ea2397}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 5a Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 170.1768; ! Rendering Blue Value + +OS:Rendering:Color, + {aeb3ad72-d6a5-486e-af6c-a637f467dd11}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 5b Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 170.1768; ! Rendering Blue Value + +OS:Rendering:Color, + {23bd0c45-6584-4d96-bd68-68f5c21d5edc}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 6a Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 153.4692; ! Rendering Blue Value + +OS:Rendering:Color, + {c8cc31ba-b263-494d-acfc-8ed5e3f7d627}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 6b Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 153.4692; ! Rendering Blue Value + +OS:Rendering:Color, + {8a2157b0-4511-4d90-b8fa-a7ae9161c105}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 7 Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 145.1154; ! Rendering Blue Value + +OS:Rendering:Color, + {fe19cd7f-2b44-45c2-aeb9-893289986110}, ! Handle + CBECS 1980-2004 ExtRoof Metal ClimateZone 8 Color, ! Name + 217.515, ! Rendering Red Value + 78.285, ! Rendering Green Value + 136.7616; ! Rendering Blue Value + +OS:Rendering:Color, + {04795018-7974-40c7-92c6-b1ecb18cfaef}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 1 Color, ! Name + 16.9575, ! Rendering Red Value + 49.7097, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {d1f58173-6e23-4706-ab02-b94a097348d2}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 2a Color, ! Name + 16.9575, ! Rendering Red Value + 42.1515, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {1e6da59a-7376-4c3a-81f4-5661107443cb}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 2b Color, ! Name + 16.9575, ! Rendering Red Value + 42.1515, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {d7be95fe-f9c1-49dc-b5b1-6b3514e62509}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3a Color, ! Name + 16.9575, ! Rendering Red Value + 27.0351, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {f2a6544a-d5d0-486a-8b98-4b162c8a3102}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3b LAS Color, ! Name + 16.9575, ! Rendering Red Value + 27.0351, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {33a87c12-1cb9-48b9-891b-d75178c6097c}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3b LAX Color, ! Name + 16.9575, ! Rendering Red Value + 27.0351, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {721144ef-9c5e-41ff-a4cb-e62957179808}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 3c Color, ! Name + 16.9575, ! Rendering Red Value + 27.0351, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {4552100b-77e8-49d4-afb5-e0ce6f2a04a9}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4a Color, ! Name + 18.2171999999999, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {67fd4e3d-3d6a-4780-9975-f7198d8b89e7}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4b Color, ! Name + 18.2171999999999, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {f4181da6-aaf6-4664-a351-dc0e71899cbe}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 4c-5a Color, ! Name + 18.2171999999999, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {b9f5593e-3409-498b-9b9c-70dc82c9acba}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 5b Color, ! Name + 25.7754, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {cbae6f4c-2cff-43e4-a482-10a6600b3918}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 6a Color, ! Name + 33.3336, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {33fb78e8-8ac4-4f16-9e9d-720086876531}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 6b Color, ! Name + 33.3336, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {a7440715-ddaa-412d-a012-0318866321bc}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 7 Color, ! Name + 37.1127, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {ccb62cf2-e4a9-4b2a-869f-63e947662704}, ! Handle + CBECS 1980-2004 ExtWall Mass ClimateZone 8 Color, ! Name + 40.8918, ! Rendering Red Value + 16.9575, ! Rendering Green Value + 79.9425; ! Rendering Blue Value + +OS:Rendering:Color, + {91e37b45-5512-4d61-b3c4-8e2db9c00525}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 1 Color, ! Name + 28.56, ! Rendering Red Value + 83.7216, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {630a42b4-aeb1-4eeb-92b0-a64efb9f66d5}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 2a Color, ! Name + 28.56, ! Rendering Red Value + 70.992, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {b730543d-74a1-41df-b435-211e37780052}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 2b Color, ! Name + 28.56, ! Rendering Red Value + 70.992, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {4f5d6401-f281-4157-8850-7eac5d1ae58e}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3a Color, ! Name + 28.56, ! Rendering Red Value + 45.5328, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {33e77f5f-5341-4563-b409-5435ed3903b6}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3b LAS Color, ! Name + 28.56, ! Rendering Red Value + 45.5328, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {80809cd6-a03e-4ea7-aa91-a43138a288a2}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3b LAX Color, ! Name + 28.56, ! Rendering Red Value + 45.5328, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {366f5b21-dbd1-472b-b7d8-39190b2c82f9}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 3c Color, ! Name + 28.56, ! Rendering Red Value + 45.5328, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {096fc0ad-85e6-4a94-9abe-7ac937f2f9da}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4a Color, ! Name + 30.6815999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {e48ff0c3-936f-4858-8c99-c4c44231c1c1}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4b Color, ! Name + 30.6815999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {47d7230d-675b-4370-985e-091728084ce9}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 4c Color, ! Name + 30.6815999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {8e893e58-049f-481d-8b48-e20d8508dc6b}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 5 Color, ! Name + 43.4111999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {e5d1f17e-e9da-484a-89da-091941a55a3d}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 6a Color, ! Name + 56.1407999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {04fffacd-c0e7-4a8d-a281-d9437174a2ac}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 6b Color, ! Name + 56.1407999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {fc7e60d8-9ace-431f-bccc-f74d02c4733c}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 7 Color, ! Name + 62.5055999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {48fcd2a0-9a58-400c-afa6-32be350a5f16}, ! Handle + CBECS 1980-2004 ExtWall Metal ClimateZone 8 Color, ! Name + 68.8703999999999, ! Rendering Red Value + 28.56, ! Rendering Green Value + 134.64; ! Rendering Blue Value + +OS:Rendering:Color, + {5f640dd1-4891-4839-abc4-c6c94a9910b8}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 1 Color, ! Name + 40.1625, ! Rendering Red Value + 117.7335, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {b66203a6-08f9-4d79-ae5a-ed3d3575be26}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 2a Color, ! Name + 40.1625, ! Rendering Red Value + 99.8325, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {af4136d2-eccc-4536-b7ee-8845613bf115}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 2b Color, ! Name + 40.1625, ! Rendering Red Value + 99.8325, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {eeac063a-8ac8-4291-9edf-8f64a94fee94}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3a Color, ! Name + 40.1625, ! Rendering Red Value + 64.0305000000001, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {a6e3e623-7be3-4e10-8443-b98b5f817ff3}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3b LAS Color, ! Name + 40.1625, ! Rendering Red Value + 64.0305000000001, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {2f4bb91d-36a2-4a10-aaf2-b51d99f2b596}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3b LAX Color, ! Name + 40.1625, ! Rendering Red Value + 64.0305000000001, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {eb0c8c2a-ac17-4d4c-a960-bd1e013303ce}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 3c Color, ! Name + 40.1625, ! Rendering Red Value + 64.0305000000001, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {822fdfd2-816f-49fc-92f8-ad61caabea1d}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4a Color, ! Name + 43.1459999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {17a648b8-233a-47d0-9c32-c41355b2c77e}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4b Color, ! Name + 43.1459999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {54f01c01-5d34-45b1-a11f-6e05800f548e}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 4c Color, ! Name + 43.1459999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {57bd4b51-02c1-49ed-b6f9-bc2509bb8c8b}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 5 Color, ! Name + 61.0469999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {3fefc1cf-b75b-4a7d-936c-841cc2c8f8c4}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 6a Color, ! Name + 78.9479999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {88b85769-546b-4edf-9b3f-acde5b32b4af}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 6b Color, ! Name + 78.9479999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {6dfc5e81-aed8-490d-bb76-b7519b632e0c}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 7 Color, ! Name + 87.8984999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {02babf4c-69d7-4c8d-bc60-1c0f97612a3a}, ! Handle + CBECS 1980-2004 ExtWall SteelFrame ClimateZone 8 Color, ! Name + 96.8489999999999, ! Rendering Red Value + 40.1625, ! Rendering Green Value + 189.3375; ! Rendering Blue Value + +OS:Rendering:Color, + {b4d19da2-3ce8-4a2c-a13f-9391da35d3ac}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 1 Color, ! Name + 78.285, ! Rendering Red Value + 150.6846, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {f0176bdc-bc71-44a1-8df3-fb8c359ba779}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 2a Color, ! Name + 78.285, ! Rendering Red Value + 133.977, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {c1f1e0d7-c5f2-4ab9-a915-e5326feab7fa}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 2b Color, ! Name + 78.285, ! Rendering Red Value + 133.977, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {b2d720d5-4ad4-4c98-9050-288157880bfa}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3a Color, ! Name + 78.285, ! Rendering Red Value + 100.5618, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {addc2887-5514-48a7-8d22-35f2e297d89a}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3b LAS Color, ! Name + 78.285, ! Rendering Red Value + 100.5618, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {e34a36e3-f86e-4808-b129-c791a6441979}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3b LAX Color, ! Name + 78.285, ! Rendering Red Value + 100.5618, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {95f5b17a-b2a7-4023-af71-1e24ca8ab456}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 3c Color, ! Name + 78.285, ! Rendering Red Value + 100.5618, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {54b3e8f7-aed9-42ab-812f-5f22506f8fdf}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4a Color, ! Name + 81.0695999999999, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {d64c1cb1-a99a-4bb7-8f2a-a6ee335c82cb}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4b Color, ! Name + 81.0695999999999, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {532d220c-210d-4bc1-a2a0-1f05769937c9}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 4c Color, ! Name + 81.0695999999999, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {742a16a5-e1d7-4a2e-b4b6-5cd003b00f76}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 5 Color, ! Name + 97.7771999999999, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {673ec014-903e-42a5-be40-2b043edc4ddd}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 6a Color, ! Name + 114.4848, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {15cec624-dfee-4837-985b-8e50f8588d4a}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 6b Color, ! Name + 114.4848, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {c0486b41-29c8-45a6-ade1-cdd15782b3a5}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 7 Color, ! Name + 122.8386, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {920ed0ef-8cdb-4cb4-bff3-f1a3e1ecbc36}, ! Handle + CBECS 1980-2004 ExtWall WoodFrame ClimateZone 8 Color, ! Name + 131.1924, ! Rendering Red Value + 78.285, ! Rendering Green Value + 217.515; ! Rendering Blue Value + +OS:Rendering:Color, + {1192fed6-7e67-46fd-99f3-be286d189815}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 1-2 Color, ! Name + 193.8459, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {45e2749c-14a4-403e-9f1e-fdaf4ef35fce}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3a Color, ! Name + 143.7231, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {66903d01-a7f1-4282-a661-3df053f94b6a}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3b LAS Color, ! Name + 143.7231, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {536e9797-c087-4744-b62c-ca9a860d8dfa}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3b LAX Color, ! Name + 143.7231, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {ec72c20c-a24c-4181-8a45-0311b5cef97b}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 3c Color, ! Name + 143.7231, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {8d91c078-2b06-4c43-9eeb-c3f7148c9177}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4a Color, ! Name + 118.6617, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {35cfa893-1c82-4916-9f5d-4ec1232ee745}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4b Color, ! Name + 118.6617, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {734f5361-9d15-4060-90c3-cc79828e423a}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 4c Color, ! Name + 118.6617, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {36d1d5ec-cbb2-4669-afd2-af527365ff5c}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 5 Color, ! Name + 101.9541, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {a3de3fcc-6a9b-4886-99be-d141d23cdb44}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 6 Color, ! Name + 85.2465, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {73aec14d-4471-4341-b912-5b67cd8a27b4}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 7 Color, ! Name + 78.285, ! Rendering Red Value + 217.515, ! Rendering Green Value + 79.6773; ! Rendering Blue Value + +OS:Rendering:Color, + {0e643def-d2de-49d8-b3b0-ac03d38e5a22}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone 8 Color, ! Name + 78.285, ! Rendering Red Value + 217.515, ! Rendering Green Value + 88.0311; ! Rendering Blue Value + +OS:Rendering:Color, + {fd5f718e-926d-4b6b-b6a4-1513de2099a7}, ! Handle + CBECS 1980-2004 ExtWindow ClimateZone alt-lrgoff hosp 1-8 Color, ! Name + 193.8459, ! Rendering Red Value + 217.515, ! Rendering Green Value + 78.285; ! Rendering Blue Value + +OS:Rendering:Color, + {05c1fb0c-d44f-4b8c-ac49-fafc96b56616}, ! Handle + CBECS 1980-2004 SmallOffice Color, ! Name + 138.72, ! Rendering Red Value + 218.28, ! Rendering Green Value + 194.412; ! Rendering Blue Value + +OS:Rendering:Color, + {a84d2977-c1c4-41aa-8925-580d9f41c983}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 1-3 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 116.9532; ! Rendering Blue Value + +OS:Rendering:Color, + {8477198c-0b4f-49e4-b8b9-b7de9e307d84}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4a Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 57.8798999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {bc9cc366-b75a-46da-ae33-d91d0b338871}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4b Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 57.8798999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {95340f09-acbb-4b73-a956-085e76096c67}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 4c Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 57.8798999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {5bf283f9-768a-4d75-ab2f-03ab92969e7c}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 5a Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 44.7524999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {555927c2-0228-452f-b0e3-a431f27b6e0b}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 5b Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 44.7524999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {1795b0bd-a949-4621-9cf9-bdae3247e406}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 6 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 44.7524999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {e208ff98-f12c-4179-80c6-b7adfc824cbb}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 7 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 44.7524999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {a46b715a-9d96-4656-9290-487b855a99ac}, ! Handle + CBECS Before-1980 ExtRoof AtticFloor ClimateZone 8 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 44.7524999999999; ! Rendering Blue Value + +OS:Rendering:Color, + {722efaca-3d20-48f5-b6df-593b6d0f8a8f}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 1-3 Color, ! Name + 119.1411, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 154.1475; ! Rendering Blue Value + +OS:Rendering:Color, + {d9965666-9201-434a-993a-a11710cbd6d6}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4a Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 130.0806; ! Rendering Blue Value + +OS:Rendering:Color, + {a01dfdc3-1050-4c78-ac10-6f5a8e9e59e1}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4b Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 130.0806; ! Rendering Blue Value + +OS:Rendering:Color, + {c40b8821-046e-4ab7-a111-45af2e5d0189}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 4c Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 130.0806; ! Rendering Blue Value + +OS:Rendering:Color, + {e8bff628-4157-477a-b784-23746e92c96b}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 5a Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 116.9532; ! Rendering Blue Value + +OS:Rendering:Color, + {87f6ea76-47d4-438d-9510-2c598408b674}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 5b Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 116.9532; ! Rendering Blue Value + +OS:Rendering:Color, + {2701c0b3-bcc8-46f5-9425-f1678d528b05}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 6 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 103.8258; ! Rendering Blue Value + +OS:Rendering:Color, + {f8dfec4e-0fea-4436-9431-5193feceb58b}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 7 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 97.2621; ! Rendering Blue Value + +OS:Rendering:Color, + {f0f02d97-e6ef-4469-9673-375ecd16b3c9}, ! Handle + CBECS Before-1980 ExtRoof IEAD ClimateZone 8 Color, ! Name + 154.1475, ! Rendering Red Value + 44.7525, ! Rendering Green Value + 90.6984; ! Rendering Blue Value + +OS:Rendering:Color, + {092ebdf8-8bb9-4685-9f13-e38e75d5b5dd}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 1-2 Color, ! Name + 21.8025, ! Rendering Red Value + 49.5159, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {c17cc628-027c-46ea-81b1-bab8370dcb8b}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3a Color, ! Name + 21.8025, ! Rendering Red Value + 30.3297, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {15026108-7ff6-4d0a-9176-5365251e6e77}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3b Color, ! Name + 21.8025, ! Rendering Red Value + 30.3297, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {48a95547-4b52-47b3-95e7-839f72dbdec7}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 3c Color, ! Name + 21.8025, ! Rendering Red Value + 30.3297, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {b9d40028-c02a-46c7-b8ed-41c576337e3d}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4a Color, ! Name + 22.8683999999999, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {46922dfb-0af0-4d95-909c-4f81c589a23f}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4b Color, ! Name + 22.8683999999999, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {d9e0533c-a8f1-47a5-a1c1-50b17c6dc90d}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 4c Color, ! Name + 22.8683999999999, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {0b57c1d5-6f81-4d4f-9003-37d3d3ba9657}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 5a Color, ! Name + 29.2638, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {618171b8-5d52-46a0-9881-9a337ce86635}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 5b Color, ! Name + 29.2638, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {edd21dba-0054-4784-b0ca-52ec1f7d83a0}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 6 Color, ! Name + 35.6592, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {2843a0bb-6a89-49c7-9f0c-4d80941d6d4e}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 7 Color, ! Name + 38.8569, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {5905730d-aa4c-4cf0-be04-5d374f0dfcf7}, ! Handle + CBECS Before-1980 ExtWall Mass ClimateZone 8 Color, ! Name + 42.0546, ! Rendering Red Value + 21.8025, ! Rendering Green Value + 75.0975; ! Rendering Blue Value + +OS:Rendering:Color, + {6de5fb37-9303-4c34-96ca-55e93cb8a71a}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 1-2 Color, ! Name + 36.72, ! Rendering Red Value + 83.3952, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {a64a5bb4-6879-43e7-a014-e1db231cf88e}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3a Color, ! Name + 36.72, ! Rendering Red Value + 51.0816, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {9271adc6-3e7e-4c0a-a923-1ffa5399e0a9}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3b Color, ! Name + 36.72, ! Rendering Red Value + 51.0816, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {34aa1b83-9368-4b33-a513-bb4bdbd1e1db}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 3c Color, ! Name + 36.72, ! Rendering Red Value + 51.0816, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {ada76177-41ce-4389-b16b-8cd25c7722f4}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4a Color, ! Name + 38.5151999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {23300d0c-3b0a-48b4-afb9-13f35f47510c}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4b Color, ! Name + 38.5151999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {1df4131c-3f7c-472f-a6ab-ad594cdc47a8}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 4c Color, ! Name + 38.5151999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {94478bf0-b87f-4178-a3b0-49e52d8d64bd}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 5a Color, ! Name + 49.2863999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {29ce1979-08fb-4550-a5e1-b146a1063999}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 5b Color, ! Name + 49.2863999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {dbf92329-9028-4733-8274-202f098dba48}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 6 Color, ! Name + 60.0575999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {e82bff6c-4726-4522-a291-7095c8edc6bc}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 7 Color, ! Name + 65.4431999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48, ! Rendering Blue Value + ; ! Rendering Alpha Value + +OS:Rendering:Color, + {60f9450a-42e5-4888-89bc-0751428c4fc0}, ! Handle + CBECS Before-1980 ExtWall Metal ClimateZone 8 Color, ! Name + 70.8287999999999, ! Rendering Red Value + 36.72, ! Rendering Green Value + 126.48; ! Rendering Blue Value + +OS:Rendering:Color, + {5c109be4-dc96-4400-ab6c-1f7a6234745b}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 1-3b Color, ! Name + 51.6375, ! Rendering Red Value + 117.2745, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {03de152c-4617-441c-8931-a09e588d35e7}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 3c Color, ! Name + 51.6375, ! Rendering Red Value + 71.8335, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {2d4db0f1-37c0-4911-8820-0fac97e64cc1}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4a Color, ! Name + 54.1619999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {71fa4986-617d-480e-8ec7-9a3a1e400192}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4b Color, ! Name + 54.1619999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {21438f39-813a-41d4-824c-c2867ec32aac}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 4c Color, ! Name + 54.1619999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {554daac7-d404-4408-bb10-21b8cbf3e440}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 5a Color, ! Name + 69.3089999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {9bbf43be-fca7-4079-99da-a6ebb3f910ee}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 5b Color, ! Name + 69.3089999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {f61caac8-8620-43ee-97a1-93f8724516ff}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 6 Color, ! Name + 84.4559999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {bc39c14a-1b36-4e90-9907-6e19c2995621}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 7 Color, ! Name + 92.0294999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {d029bd65-ec08-4f58-993f-2cb5f6d10417}, ! Handle + CBECS Before-1980 ExtWall SteelFrame ClimateZone 8 Color, ! Name + 99.6029999999999, ! Rendering Red Value + 51.6375, ! Rendering Green Value + 177.8625; ! Rendering Blue Value + +OS:Rendering:Color, + {068c6547-ce03-417e-8504-86e25e50f04f}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone 1-4 Color, ! Name + 186.7773, ! Rendering Red Value + 206.805, ! Rendering Green Value + 88.995; ! Rendering Blue Value + +OS:Rendering:Color, + {cc5dcf26-9254-4bbd-908f-ffcb82d1acb5}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone 5-8 Color, ! Name + 109.0227, ! Rendering Red Value + 206.805, ! Rendering Green Value + 88.995; ! Rendering Blue Value + +OS:Rendering:Color, + {909048c0-99d0-4943-8713-886024da6609}, ! Handle + CBECS Before-1980 ExtWindow ClimateZone alt-lrgoff hosp 1-8 Color, ! Name + 186.7773, ! Rendering Red Value + 206.805, ! Rendering Green Value + 88.995; ! Rendering Blue Value + +OS:Rendering:Color, + {45c68753-8209-46ab-be7c-4b95b12c604f}, ! Handle + CBECS Before-1980 SmallOffice Color, ! Name + 147.9, ! Rendering Red Value + 209.1, ! Rendering Green Value + 190.74; ! Rendering Blue Value + +OS:Rendering:Color, + {3230a485-0e4a-4dd1-81af-0c6945032a27}, ! Handle + Empty Space Type Color, ! Name + 128.0, ! Rendering Red Value + 128.0, ! Rendering Green Value + 128.0; ! Rendering Blue Value + +OS:Rendering:Color, + {acce0ec6-cf3b-4ab1-a68c-d2481bf53df6}, ! Handle + Attic Color, ! Name + 255.0, ! Rendering Red Value + 51.0, ! Rendering Green Value + 173.4; ! Rendering Blue Value + +OS:RunPeriodControl:DaylightSavingTime, + {ec230ca9-f62c-4bef-9a0c-e7efeef555f4}, ! Handle + 2nd Sunday in March, ! Start Date + 1st Sunday in November; ! End Date + +OS:RunPeriodControl:SpecialDays, + {6c3e4c46-29eb-4e45-a583-61c5157d403b}, ! Handle + Christmas, ! Name + December 25, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {1abe7028-a1cd-417a-9688-48abcd138420}, ! Handle + Columbus Day, ! Name + 2nd Monday in October, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {90ebc187-ec45-424c-a3d4-2c6d02ad7286}, ! Handle + Independence Day, ! Name + July 4, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {88d95595-936c-496f-b67f-911c8ff750cc}, ! Handle + Labor Day, ! Name + 1st Monday in September, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {75c81134-71e9-48ee-b535-47ca9302f24d}, ! Handle + MLK Day, ! Name + 3rd Monday in January, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {1ea4e844-3d03-4012-868d-c00c39d2c361}, ! Handle + Memorial Day, ! Name + Last Monday in May, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {0dd515f9-0c2c-4c2f-adea-d6f3136404f4}, ! Handle + New Years Day, ! Name + January 1, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {398215cb-badb-4145-9c56-3d7f0c465ba2}, ! Handle + Presidents Day, ! Name + 3rd Monday in February, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {f0a8c325-b950-48f4-93f8-f9fbab7f1670}, ! Handle + Thanksgiving, ! Name + 4th Thursday in November, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:RunPeriodControl:SpecialDays, + {a3c3768f-fffd-4c69-89a6-87d536535380}, ! Handle + Veterans Day, ! Name + November 11, ! Start Date + 1, ! Duration + Holiday; ! Special Day Type + +OS:ScheduleTypeLimits, + {0548e0cc-d07c-4194-941e-911c5980744f}, ! Handle + Any Number; ! Name + +OS:ScheduleTypeLimits, + {db62133b-6606-47e0-83f8-8db4ed3185b8}, ! Handle + Control Type, ! Name + 0, ! Lower Limit Value + 4, ! Upper Limit Value + DISCRETE; ! Numeric Type + +OS:ScheduleTypeLimits, + {e302fc34-51ae-4c8e-876c-2a45829f9c7c}, ! Handle + Fraction, ! Name + 0, ! Lower Limit Value + 1, ! Upper Limit Value + CONTINUOUS; ! Numeric Type + +OS:ScheduleTypeLimits, + {9204cded-f2c6-4e1d-8847-eb6edfb2840a}, ! Handle + On/Off, ! Name + 0, ! Lower Limit Value + 1, ! Upper Limit Value + DISCRETE; ! Numeric Type + +OS:ScheduleTypeLimits, + {8811d25c-9e8d-4005-945b-18aad6832034}, ! Handle + Temperature, ! Name + -60, ! Lower Limit Value + 200, ! Upper Limit Value + CONTINUOUS; ! Numeric Type + +OS:SimulationControl, + {aca73dab-769c-41e3-a3a7-b8ebff3c2bd0}, ! Handle + No, ! Do Zone Sizing Calculation + No, ! Do System Sizing Calculation + No, ! Do Plant Sizing Calculation + No, ! Run Simulation for Sizing Periods + Yes, ! Run Simulation for Weather File Run Periods + 0.040000000000000001, ! Loads Convergence Tolerance Value + 0.40000000000000002, ! Temperature Convergence Tolerance Value + FullExterior, ! Solar Distribution + 25; ! Maximum Number of Warmup Days + +OS:SpaceInfiltration:DesignFlowRate, + {d14b8b72-413f-4950-84aa-41f6da33a978}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice Infil, ! Name + {401bf17a-54a5-4a79-aeda-b6bb2a338d25}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 0.55000000000000004, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {e4625a08-4c7e-4251-8612-0b0865a5dec6}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice Infil, ! Name + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 0.40999999999999998, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {88b7bb95-2512-4a51-bd17-46b84cd684c8}, ! Handle + ASHRAE 90.1-2004 SmallOffice Infil, ! Name + {c2d10f69-0e74-41d1-bdab-f2bbd1f6d8a1}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 0.55000000000000004, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {9b53694c-d6f1-41b7-be93-c12cc6f70e38}, ! Handle + CBECS 1980-2004 SmallOffice Infil, ! Name + {05ba3eb4-a9e5-4807-94e9-fd6d7d749f3e}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 2.0800000000000001, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {bba39131-5861-40b6-b880-ea82a8febe35}, ! Handle + CBECS Before-1980 SmallOffice Infil, ! Name + {213f1f80-1468-4d4c-b914-ede8f8294f7e}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 2.0800000000000001, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {1ab7443b-4d09-45a2-9dd5-4e7e2188feb1}, ! Handle + Attic Infil, ! Name + {291ec2f7-8ae1-43e9-bb8c-7e1d7d9fe1d9}, ! Space or SpaceType Name + , ! Schedule Name + AirChanges/Hour, ! Design Flow Rate Calculation Method + 0, ! Design Flow Rate + , ! Flow per Space Floor Area + , ! Flow per Exterior Surface Area + 1, ! Air Changes per Hour + , ! Constant Term Coefficient + , ! Temperature Term Coefficient + , ! Velocity Term Coefficient + ; ! Velocity Squared Term Coefficient + +OS:SpaceType, + {401bf17a-54a5-4a79-aeda-b6bb2a338d25}, ! Handle + ASHRAE 189.1-2009 ClimateZone 1-3 SmallOffice, ! Name + , ! Default Construction Set Name + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Default Schedule Set Name + {70f42ee1-1ec5-40bb-880d-d70c64efe69d}, ! Group Rendering Name + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}; ! Design Specification Outdoor Air Object Name + +OS:SpaceType, + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}, ! Handle + ASHRAE 189.1-2009 ClimateZone 4-8 SmallOffice, ! Name + , ! Default Construction Set Name + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Default Schedule Set Name + {4015c427-52d4-44ac-aef6-ccd07d845783}, ! Group Rendering Name + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}; ! Design Specification Outdoor Air Object Name + +OS:SpaceType, + {c2d10f69-0e74-41d1-bdab-f2bbd1f6d8a1}, ! Handle + ASHRAE 90.1-2004 SmallOffice, ! Name + , ! Default Construction Set Name + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Default Schedule Set Name + {c235f3c0-f3b3-4a02-8c32-0e3e9aa9f707}, ! Group Rendering Name + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}; ! Design Specification Outdoor Air Object Name + +OS:SpaceType, + {05ba3eb4-a9e5-4807-94e9-fd6d7d749f3e}, ! Handle + CBECS 1980-2004 SmallOffice, ! Name + , ! Default Construction Set Name + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Default Schedule Set Name + {05c1fb0c-d44f-4b8c-ac49-fafc96b56616}, ! Group Rendering Name + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}; ! Design Specification Outdoor Air Object Name + +OS:SpaceType, + {213f1f80-1468-4d4c-b914-ede8f8294f7e}, ! Handle + CBECS Before-1980 SmallOffice, ! Name + , ! Default Construction Set Name + {20ec2d4f-1420-4417-8a8e-4b28fb2dc11c}, ! Default Schedule Set Name + {45c68753-8209-46ab-be7c-4b95b12c604f}, ! Group Rendering Name + {e5d8bf28-e45a-4d93-95aa-541b3ea22bcc}; ! Design Specification Outdoor Air Object Name + +OS:SpaceType, + {e57f7dc2-d843-4ce8-9877-8fbcbd9c24f8}, ! Handle + Empty Space Type, ! Name + , ! Default Construction Set Name + , ! Default Schedule Set Name + {3230a485-0e4a-4dd1-81af-0c6945032a27}; ! Group Rendering Name + +OS:SpaceType, + {291ec2f7-8ae1-43e9-bb8c-7e1d7d9fe1d9}, ! Handle + Attic, ! Name + , ! Default Construction Set Name + {0573c707-777e-4c73-ad4e-c6f7a5289f10}, ! Default Schedule Set Name + {acce0ec6-cf3b-4ab1-a68c-d2481bf53df6}; ! Group Rendering Name + +OS:ThermostatSetpoint:DualSetpoint, + {280db209-ac4e-466a-bad2-fab852936c84}, ! Handle + Thermal Zone 1 Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:ThermostatSetpoint:DualSetpoint, + {3f006386-b64d-4ca4-bd7d-fc63cd016619}, ! Handle + Thermal Zone 2 Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:ThermostatSetpoint:DualSetpoint, + {ea93d619-8faa-4475-b71b-46894822d5d8}, ! Handle + Thermal Zone 3 Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:ThermostatSetpoint:DualSetpoint, + {cef81f2d-b59d-47b4-947a-81b683d12b80}, ! Handle + Thermal Zone 4 Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:ThermostatSetpoint:DualSetpoint, + {aee82399-b0f7-47f0-9e42-da6fd68c8b80}, ! Handle + Thermal Zone 5 Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:ThermostatSetpoint:DualSetpoint, + {5e792549-1e27-45eb-9fd5-0aacb071cbbe}, ! Handle + Small Office Thermostat, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Heating Setpoint Temperature Schedule Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}; ! Cooling Setpoint Temperature Schedule Name + +OS:Timestep, + {2c860a4e-e707-4abb-b829-c7bb7060f591}, ! Handle + 4; ! Number of Timesteps per Hour + +OS:WindowMaterial:Gas, + {9fce564f-9a88-493d-8d8e-8f3d6330946e}, ! Handle + 000 Air 13mm, ! Name + Air, ! Gas Type + 0.012699999999999999; ! Thickness + +OS:WindowMaterial:Glazing, + {4c514103-937e-4b44-9baf-bdaa13709d85}, ! Handle + 000 Clear 3mm, ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.83699999999999997, ! Solar Transmittance at Normal Incidence + 0.074999999999999997, ! Front Side Solar Reflectance at Normal Incidence + 0.074999999999999997, ! Back Side Solar Reflectance at Normal Incidence + 0.89800000000000002, ! Visible Transmittance at Normal Incidence + 0.081000000000000003, ! Front Side Visible Reflectance at Normal Incidence + 0.081000000000000003, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.83999999999999997, ! Front Side Infrared Hemispherical Emissivity + 0.83999999999999997, ! Back Side Infrared Hemispherical Emissivity + 0.90000000000000002; ! Conductivity + +OS:WindowMaterial:Glazing, + {1e4bfa79-c0de-4d00-b547-ef34c6224794}, ! Handle + Theoretical Glass [167], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.2374, ! Solar Transmittance at Normal Incidence + 0.71260000000000001, ! Front Side Solar Reflectance at Normal Incidence + 0.71260000000000001, ! Back Side Solar Reflectance at Normal Incidence + 0.25119999999999998, ! Visible Transmittance at Normal Incidence + 0.69879999999999998, ! Front Side Visible Reflectance at Normal Incidence + 0.69879999999999998, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.98499999999999999, ! Front Side Infrared Hemispherical Emissivity + 0.98499999999999999, ! Back Side Infrared Hemispherical Emissivity + 2.1073, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:Glazing, + {96e6891f-9edc-4b0d-82bc-853a9559ed17}, ! Handle + Theoretical Glass [197], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.2349, ! Solar Transmittance at Normal Incidence + 0.71509999999999996, ! Front Side Solar Reflectance at Normal Incidence + 0.71509999999999996, ! Back Side Solar Reflectance at Normal Incidence + 0.25119999999999998, ! Visible Transmittance at Normal Incidence + 0.69879999999999998, ! Front Side Visible Reflectance at Normal Incidence + 0.69879999999999998, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.90000000000000002, ! Front Side Infrared Hemispherical Emissivity + 0.90000000000000002, ! Back Side Infrared Hemispherical Emissivity + 0.041500000000000002, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:Glazing, + {aa5c5fb4-5466-464f-bd8b-e93dd23b4bc5}, ! Handle + Theoretical Glass [202], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.23250000000000001, ! Solar Transmittance at Normal Incidence + 0.71750000000000003, ! Front Side Solar Reflectance at Normal Incidence + 0.71750000000000003, ! Back Side Solar Reflectance at Normal Incidence + 0.31919999999999998, ! Visible Transmittance at Normal Incidence + 0.63080000000000003, ! Front Side Visible Reflectance at Normal Incidence + 0.63080000000000003, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.90000000000000002, ! Front Side Infrared Hemispherical Emissivity + 0.90000000000000002, ! Back Side Infrared Hemispherical Emissivity + 0.019199999999999998, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:Glazing, + {00f65efe-2803-4ce4-9c98-c2e5df290808}, ! Handle + Theoretical Glass [207], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.33110000000000001, ! Solar Transmittance at Normal Incidence + 0.61890000000000001, ! Front Side Solar Reflectance at Normal Incidence + 0.61890000000000001, ! Back Side Solar Reflectance at Normal Incidence + 0.44, ! Visible Transmittance at Normal Incidence + 0.51000000000000001, ! Front Side Visible Reflectance at Normal Incidence + 0.51000000000000001, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.90000000000000002, ! Front Side Infrared Hemispherical Emissivity + 0.90000000000000002, ! Back Side Infrared Hemispherical Emissivity + 0.013299999999999999, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:Glazing, + {457ea523-ad7a-477d-9710-eb5f588d471c}, ! Handle + Theoretical Glass [216], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.38009999999999999, ! Solar Transmittance at Normal Incidence + 0.56989999999999996, ! Front Side Solar Reflectance at Normal Incidence + 0.56989999999999996, ! Back Side Solar Reflectance at Normal Incidence + 0.50790000000000002, ! Visible Transmittance at Normal Incidence + 0.44209999999999999, ! Front Side Visible Reflectance at Normal Incidence + 0.44209999999999999, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.90000000000000002, ! Front Side Infrared Hemispherical Emissivity + 0.90000000000000002, ! Back Side Infrared Hemispherical Emissivity + 0.013299999999999999, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:Glazing, + {7bc65a4c-e445-44d6-95cb-0870e2668362}, ! Handle + Theoretical Glass [221], ! Name + SpectralAverage, ! Optical Data Type + , ! Window Glass Spectral Data Set Name + 0.0030000000000000001, ! Thickness + 0.42959999999999998, ! Solar Transmittance at Normal Incidence + 0.52039999999999997, ! Front Side Solar Reflectance at Normal Incidence + 0.52039999999999997, ! Back Side Solar Reflectance at Normal Incidence + 0.45029999999999998, ! Visible Transmittance at Normal Incidence + 0.49969999999999998, ! Front Side Visible Reflectance at Normal Incidence + 0.49969999999999998, ! Back Side Visible Reflectance at Normal Incidence + 0, ! Infrared Transmittance at Normal Incidence + 0.90000000000000002, ! Front Side Infrared Hemispherical Emissivity + 0.90000000000000002, ! Back Side Infrared Hemispherical Emissivity + 0.0088999999999999999, ! Conductivity + 1, ! Dirt Correction Factor for Solar and Visible Transmittance + No; ! Solar Diffusing + +OS:WindowMaterial:SimpleGlazingSystem, + {a608edf3-33c2-4c8b-b9a9-65bdf1c5b6d7}, ! Handle + Fixed Window 2.62/0.30/0.21, ! Name + 2.6118800000000002, ! U-Factor + 0.29999999999999999, ! Solar Heat Gain Coefficient + 0.20999999999999999; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {d55663d0-6f58-473b-be76-02e9c5b26de9}, ! Handle + Fixed Window 2.67/0.30/0.21, ! Name + 2.66866, ! U-Factor + 0.48999999999999999, ! Solar Heat Gain Coefficient + 0.38; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {487907f9-e900-4ee0-acff-8e287b84fd16}, ! Handle + Fixed Window 2.96/0.39/0.31, ! Name + 2.9525600000000001, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.31; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {1ff58fe6-710e-42db-91b9-c04b2783021f}, ! Handle + Fixed Window 2.96/0.49/0.41, ! Name + 2.9525600000000001, ! U-Factor + 0.48999999999999999, ! Solar Heat Gain Coefficient + 0.40999999999999998; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {e8caa103-647d-4c53-b40e-a2f52eaee991}, ! Handle + Fixed Window 2.96/0.62/0.54, ! Name + 2.9525600000000001, ! U-Factor + 0.61499999999999999, ! Solar Heat Gain Coefficient + 0.54000000000000004; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {debccd2f-5df7-4692-9b96-9b9f4207ef23}, ! Handle + Fixed Window 2.96/0.7/0.63, ! Name + 2.9525600000000001, ! U-Factor + 0.69999999999999996, ! Solar Heat Gain Coefficient + 0.63; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {9b210e9e-0158-4ce8-a634-bf8adac8c81a}, ! Handle + Fixed Window 3.24/0.25/0.16, ! Name + 3.2364600000000001, ! U-Factor + 0.25, ! Solar Heat Gain Coefficient + 0.16; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {116edbe1-5b60-418c-8ad9-10bbdb47aec0}, ! Handle + Fixed Window 3.24/0.39/0.31, ! Name + 3.2364600000000001, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.31; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {e91982eb-8bd6-406c-b6b3-6a09de39a71c}, ! Handle + Fixed Window 3.24/0.49/0.41, ! Name + 3.2364600000000001, ! U-Factor + 0.48999999999999999, ! Solar Heat Gain Coefficient + 0.40999999999999998; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {3742ba59-f4b8-4476-9327-1374b76ae341}, ! Handle + Fixed Window 3.35/0.36/0.27, ! Name + 3.3500200000000002, ! U-Factor + 0.35999999999999999, ! Solar Heat Gain Coefficient + 0.27000000000000002; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {f929ac95-3f64-452b-a231-c13da7165cd7}, ! Handle + Fixed Window 3.35/0.39/0.31, ! Name + 3.3500200000000002, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.31; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {3a8c7593-79fe-4bf3-91e6-e49840760f51}, ! Handle + Fixed Window 3.53/0.41/0.32, ! Name + 3.5203600000000002, ! U-Factor + 0.40999999999999998, ! Solar Heat Gain Coefficient + 0.32000000000000001; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {6959fb0b-2c57-4e3c-a594-54723a64d263}, ! Handle + Fixed Window 3.81/0.3/.21, ! Name + 2.9525600000000001, ! U-Factor + 0.29999999999999999, ! Solar Heat Gain Coefficient + 0.20999999999999999; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {e61bd81b-2c14-4e06-bf77-aea511b22e09}, ! Handle + Fixed Window 3.81/0.39/0.27, ! Name + 2.9525600000000001, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.27000000000000002; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {a89adccd-c2d5-49a9-8b1f-db2ef9ce9b20}, ! Handle + Fixed Window 3.81/0.49/0.38, ! Name + 2.9525600000000001, ! U-Factor + 0.48999999999999999, ! Solar Heat Gain Coefficient + 0.38; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {cb0a7ea7-ede4-4d0a-878c-4ecb7a1a910b}, ! Handle + Fixed Window 4.09/0.26/0.13, ! Name + 4.0881600000000002, ! U-Factor + 0.25, ! Solar Heat Gain Coefficient + 0.13; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {a6f43e42-c214-4d58-a48d-fa098c744db5}, ! Handle + Fixed Window 4.09/0.36/0.23, ! Name + 4.0881600000000002, ! U-Factor + 0.35999999999999999, ! Solar Heat Gain Coefficient + 0.23000000000000001; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {c5b2393c-7c58-4654-8461-17424cb40558}, ! Handle + Fixed Window 4.09/0.39/0.25, ! Name + 4.0881600000000002, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.25; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {7f374163-eb1a-448f-b9ce-3a64653055b9}, ! Handle + Fixed Window 5.84/0.25/0.11, ! Name + 6.9271599999999998, ! U-Factor + 0.25, ! Solar Heat Gain Coefficient + 0.11; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {a403f61c-9313-4b66-8628-1d1aec766e81}, ! Handle + Fixed Window 5.84/0.39/0.22, ! Name + 6.9271599999999998, ! U-Factor + 0.39000000000000001, ! Solar Heat Gain Coefficient + 0.22; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {e0af98b1-73c9-49d7-8fb1-e34644fbea86}, ! Handle + Fixed Window 5.84/0.44/0.27, ! Name + 6.9271599999999998, ! U-Factor + 0.44, ! Solar Heat Gain Coefficient + 0.27000000000000002; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {80d35209-1fc3-4c27-9b04-ea75e1ffd844}, ! Handle + Fixed Window 5.84/0.54/0.38, ! Name + 6.9271599999999998, ! U-Factor + 0.54000000000000004, ! Solar Heat Gain Coefficient + 0.38; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {3382b253-a54b-4d9f-8d4d-2264467816b6}, ! Handle + Fixed Window 5.84/0.61/0.47, ! Name + 6.9271599999999998, ! U-Factor + 0.60999999999999999, ! Solar Heat Gain Coefficient + 0.46999999999999997; ! Visible Transmittance + +OS:WindowMaterial:SimpleGlazingSystem, + {dc7cc868-8241-43c9-8c61-bebd3fcd861d}, ! Handle + Fixed Window 5.84/0.70/0.60, ! Name + 6.9271599999999998, ! U-Factor + 0.69999999999999996, ! Solar Heat Gain Coefficient + 0.59999999999999998; ! Visible Transmittance + +OS:Schedule:Ruleset, + {a76670a4-3a89-478b-b908-34a0c325274d}, ! Handle + Small Office Bldg Occ, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + {56f9845a-b360-4223-85bb-74abdc3033f5}, ! Default Day Schedule Name + {10e50c24-59b1-46d1-b7e8-997e3b137a5c}, ! Summer Design Day Schedule Name + {cda6e964-7a8d-4ac6-a1f3-f8462bec8975}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {56f9845a-b360-4223-85bb-74abdc3033f5}, ! Handle + Small Office Bldg Occ Default Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.1, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.2, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 0.95, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.5, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 0.95, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.3, !- Value Until Time 7 + 20, !- Hour 8 + 0, !- Minute 8 + 0.1, !- Value Until Time 8 + 24, !- Hour 9 + 0, !- Minute 9 + 0.05; !- Value Until Time 9 + +OS:Schedule:Day, + {10e50c24-59b1-46d1-b7e8-997e3b137a5c}, ! Handle + Small Office Bldg Occ Summer Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 0, ! Value Until Time 1 + 22, ! Hour 2 + 0, ! Minute 2 + 1, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 0.050000000000000003; ! Value Until Time 3 + +OS:Schedule:Rule, + {9b67ece0-b87f-480f-88f0-261d3eefcf8d}, ! Handle + Small Office Bldg Occ Rule 2, ! Name + {a76670a4-3a89-478b-b908-34a0c325274d}, ! Schedule Ruleset Name + 1, ! Rule Order + {095257d3-ea4c-450e-8035-052da0308b79}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {095257d3-ea4c-450e-8035-052da0308b79}, ! Handle + Small Office Bldg Occ Rule 2 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 0, ! Value Until Time 1 + 8, ! Hour 2 + 0, ! Minute 2 + 0.10000000000000001, ! Value Until Time 2 + 12, ! Hour 3 + 0, ! Minute 3 + 0.29999999999999999, ! Value Until Time 3 + 17, ! Hour 4 + 0, ! Minute 4 + 0.10000000000000001, ! Value Until Time 4 + 24, ! Hour 5 + 0, ! Minute 5 + 0; ! Value Until Time 5 + +OS:Schedule:Rule, + {6c819bf3-e583-4054-908a-24151fa2c537}, ! Handle + Small Office Bldg Occ Rule 1, ! Name + {a76670a4-3a89-478b-b908-34a0c325274d}, ! Schedule Ruleset Name + 0, ! Rule Order + {00546804-9589-4d45-bf6b-39b06060c657}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {00546804-9589-4d45-bf6b-39b06060c657}, ! Handle + Small Office Bldg Occ Rule 1 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Day, + {cda6e964-7a8d-4ac6-a1f3-f8462bec8975}, ! Handle + Small Office Bldg Occ Winter Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {ed19c3cf-007b-4627-8a08-d27a5b36d4fb}, ! Handle + Small Office Bldg Light, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + {3a8a1e22-dffa-46d0-bad3-1f49b46667e5}, ! Default Day Schedule Name + {e4f17a3f-790e-4e69-9da1-612d594c6db5}, ! Summer Design Day Schedule Name + {376a1e64-9df7-49c7-b84a-563514e60849}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {3a8a1e22-dffa-46d0-bad3-1f49b46667e5}, ! Handle + Small Office Bldg Light Default Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 5, !- Hour 1 + 0, !- Minute 1 + 0.05, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.1, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.3, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 0.9, !- Value Until Time 4 + 18, !- Hour 5 + 0, !- Minute 5 + 0.5, !- Value Until Time 5 + 20, !- Hour 6 + 0, !- Minute 6 + 0.3, !- Value Until Time 6 + 22, !- Hour 7 + 0, !- Minute 7 + 0.2, !- Value Until Time 7 + 23, !- Hour 8 + 0, !- Minute 8 + 0.1, !- Value Until Time 8 + 24, !- Hour 9 + 0, !- Minute 9 + 0.05; !- Value Until Time 9 + +OS:Schedule:Rule, + {4bd06afa-18ab-4dde-b304-5066974fbcd3}, ! Handle + Small Office Bldg Light Rule 2, ! Name + {ed19c3cf-007b-4627-8a08-d27a5b36d4fb}, ! Schedule Ruleset Name + 1, ! Rule Order + {fcfca4e5-8ec0-4a1b-8137-58b0b3c936f2}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {fcfca4e5-8ec0-4a1b-8137-58b0b3c936f2}, ! Handle + Small Office Bldg Light Rule 2 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 0.050000000000000003, ! Value Until Time 1 + 8, ! Hour 2 + 0, ! Minute 2 + 0.10000000000000001, ! Value Until Time 2 + 12, ! Hour 3 + 0, ! Minute 3 + 0.29999999999999999, ! Value Until Time 3 + 17, ! Hour 4 + 0, ! Minute 4 + 0.14999999999999999, ! Value Until Time 4 + 24, ! Hour 5 + 0, ! Minute 5 + 0.050000000000000003; ! Value Until Time 5 + +OS:Schedule:Day, + {e4f17a3f-790e-4e69-9da1-612d594c6db5}, ! Handle + Small Office Bldg Light Summer Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 1; ! Value Until Time 1 + +OS:Schedule:Day, + {376a1e64-9df7-49c7-b84a-563514e60849}, ! Handle + Small Office Bldg Light Winter Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Rule, + {c684a403-e668-41f2-91d5-dc1c6fa6642a}, ! Handle + Small Office Bldg Light Rule 1, ! Name + {ed19c3cf-007b-4627-8a08-d27a5b36d4fb}, ! Schedule Ruleset Name + 0, ! Rule Order + {c7690278-3fea-428f-89a5-0083a645b6f9}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {c7690278-3fea-428f-89a5-0083a645b6f9}, ! Handle + Small Office Bldg Light Rule 1 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0.050000000000000003; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {8ffdd2cf-b6ce-40d6-bd79-d610a6559c5e}, ! Handle + Always Off, ! Name + {9204cded-f2c6-4e1d-8847-eb6edfb2840a}, ! Schedule Type Limits Name + {b2e4e4ea-1541-4ca8-928f-1630dccb68b7}, ! Default Day Schedule Name + {f18faf08-6e57-49b7-abdb-12846b56a208}, ! Summer Design Day Schedule Name + {667ebe0f-8f5a-4568-8639-fa4b6f64424d}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {b2e4e4ea-1541-4ca8-928f-1630dccb68b7}, ! Handle + Always Off Default Schedule, ! Name + {9204cded-f2c6-4e1d-8847-eb6edfb2840a}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {667ebe0f-8f5a-4568-8639-fa4b6f64424d}, ! Handle + Always Off Winter Design Day, ! Name + {9204cded-f2c6-4e1d-8847-eb6edfb2840a}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Day, + {f18faf08-6e57-49b7-abdb-12846b56a208}, ! Handle + Always Off Summer Design Day, ! Name + {9204cded-f2c6-4e1d-8847-eb6edfb2840a}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {2b3ee2b7-9257-408a-b123-99bf2bb7fd46}, ! Handle + Small Office Activity, ! Name + {f75ecae9-d883-43f9-acfd-97e9cdfc8b24}, ! Schedule Type Limits Name + {aff0f27f-3b45-4df7-bed7-b63ca8136771}, ! Default Day Schedule Name + {9e8276ea-c69b-4c6c-a78d-f602e9e662ca}, ! Summer Design Day Schedule Name + {bf5090ee-a296-40b0-9ae5-0fac181fbfaa}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {aff0f27f-3b45-4df7-bed7-b63ca8136771}, ! Handle + Small Office Activity Default Schedule, ! Name + {f75ecae9-d883-43f9-acfd-97e9cdfc8b24}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 120; !- Value Until Time 1 + +OS:Schedule:Day, + {bf5090ee-a296-40b0-9ae5-0fac181fbfaa}, ! Handle + Small Office Activity Winter Design Day, ! Name + {f75ecae9-d883-43f9-acfd-97e9cdfc8b24}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 120; ! Value Until Time 1 + +OS:Schedule:Day, + {9e8276ea-c69b-4c6c-a78d-f602e9e662ca}, ! Handle + Small Office Activity Summer Design Day, ! Name + {f75ecae9-d883-43f9-acfd-97e9cdfc8b24}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 120; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {c4b41fbe-a465-4952-9165-991f522eb156}, ! Handle + Always On, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + {8e91c33c-0921-4efd-a1e6-e693a4ebe17d}, ! Default Day Schedule Name + {ee11815f-48f5-493c-82ab-dcc873cc6738}, ! Summer Design Day Schedule Name + {e743bf42-ae81-4dfe-9aed-305676f93315}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {8e91c33c-0921-4efd-a1e6-e693a4ebe17d}, ! Handle + Always On Default Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {e743bf42-ae81-4dfe-9aed-305676f93315}, ! Handle + Always On Winter Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 1; ! Value Until Time 1 + +OS:Schedule:Day, + {ee11815f-48f5-493c-82ab-dcc873cc6738}, ! Handle + Always On Summer Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 1; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {45eacd8e-cf25-4cb4-9824-1693f2305e9d}, ! Handle + Small Office Bldg Equip, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + {a6dc6d0b-0a7a-4a87-b574-590353012bb0}, ! Default Day Schedule Name + {aa52c3fc-7500-43ab-a35d-7ab3e2f2ca65}, ! Summer Design Day Schedule Name + {9973afd0-af7c-4fde-9064-40b2a48b998f}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {a6dc6d0b-0a7a-4a87-b574-590353012bb0}, ! Handle + Small Office Bldg Equip Default Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0.4, !- Value Until Time 1 + 12, !- Hour 2 + 0, !- Minute 2 + 0.9, !- Value Until Time 2 + 13, !- Hour 3 + 0, !- Minute 3 + 0.8, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 0.9, !- Value Until Time 4 + 18, !- Hour 5 + 0, !- Minute 5 + 0.5, !- Value Until Time 5 + 24, !- Hour 6 + 0, !- Minute 6 + 0.4; !- Value Until Time 6 + +OS:Schedule:Rule, + {35bc9730-949a-4a54-9a1f-52a63cc814c2}, ! Handle + Small Office Bldg Equip Rule 2, ! Name + {45eacd8e-cf25-4cb4-9824-1693f2305e9d}, ! Schedule Ruleset Name + 1, ! Rule Order + {d874d0ba-a31e-4863-a7f8-bf688285a472}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {d874d0ba-a31e-4863-a7f8-bf688285a472}, ! Handle + Small Office Bldg Equip Rule 2 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 0.29999999999999999, ! Value Until Time 1 + 8, ! Hour 2 + 0, ! Minute 2 + 0.40000000000000002, ! Value Until Time 2 + 12, ! Hour 3 + 0, ! Minute 3 + 0.5, ! Value Until Time 3 + 17, ! Hour 4 + 0, ! Minute 4 + 0.34999999999999998, ! Value Until Time 4 + 24, ! Hour 5 + 0, ! Minute 5 + 0.29999999999999999; ! Value Until Time 5 + +OS:Schedule:Day, + {aa52c3fc-7500-43ab-a35d-7ab3e2f2ca65}, ! Handle + Small Office Bldg Equip Summer Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 1; ! Value Until Time 1 + +OS:Schedule:Day, + {9973afd0-af7c-4fde-9064-40b2a48b998f}, ! Handle + Small Office Bldg Equip Winter Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0; ! Value Until Time 1 + +OS:Schedule:Rule, + {2119c460-83e8-462f-82d7-86759ab97c60}, ! Handle + Small Office Bldg Equip Rule 1, ! Name + {45eacd8e-cf25-4cb4-9824-1693f2305e9d}, ! Schedule Ruleset Name + 0, ! Rule Order + {9a2e4042-6c21-4d52-919d-f30ab780002d}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {9a2e4042-6c21-4d52-919d-f30ab780002d}, ! Handle + Small Office Bldg Equip Rule 1 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 0.29999999999999999; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Handle + Small Office HtgSetp, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + {89237426-79c9-4d2b-b2b7-857c9a402879}, ! Default Day Schedule Name + {9cf2f065-b7a4-4cb2-aec3-0aca1786fe14}, ! Summer Design Day Schedule Name + {c17fe47a-bc23-4c39-b916-8173a3e955cb}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {89237426-79c9-4d2b-b2b7-857c9a402879}, ! Handle + Small Office HtgSetp Default Schedule, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.6, !- Value Until Time 1 + 22, !- Hour 2 + 0, !- Minute 2 + 21, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 15.6; !- Value Until Time 3 + +OS:Schedule:Rule, + {5eac5297-9e4b-4940-8def-e63fb9d3e904}, ! Handle + Small Office HtgSetp Rule 2, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Schedule Ruleset Name + 1, ! Rule Order + {a281254e-232a-476d-99ef-ee7ad632ac8a}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {a281254e-232a-476d-99ef-ee7ad632ac8a}, ! Handle + Small Office HtgSetp Rule 2 Day Schedule, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 15.6, ! Value Until Time 1 + 18, ! Hour 2 + 0, ! Minute 2 + 21, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 15.6; ! Value Until Time 3 + +OS:Schedule:Day, + {c17fe47a-bc23-4c39-b916-8173a3e955cb}, ! Handle + Small Office HtgSetp Winter Design Day, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 21; ! Value Until Time 1 + +OS:Schedule:Rule, + {5727174d-1c08-43d0-aec3-d88ae5b44ecf}, ! Handle + Small Office HtgSetp Rule 1, ! Name + {7ac82242-7555-49bc-8d94-163cc4fe9960}, ! Schedule Ruleset Name + 0, ! Rule Order + {be008be9-9b1b-47ff-a722-407d9fa60999}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {be008be9-9b1b-47ff-a722-407d9fa60999}, ! Handle + Small Office HtgSetp Rule 1 Day Schedule, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 15.6; ! Value Until Time 1 + +OS:Schedule:Day, + {9cf2f065-b7a4-4cb2-aec3-0aca1786fe14}, ! Handle + Small Office HtgSetp Summer Design Day, ! Name + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 15.6; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {8996260a-4a1f-4b42-be3a-74e730840476}, ! Handle + Small Office Infil Quarter On, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + {a6820a5d-3e73-47d7-b85b-a27fb46d81c8}, ! Default Day Schedule Name + {4feb71b7-1fab-44e1-bc08-a058169393c7}, ! Summer Design Day Schedule Name + {5d22d3a6-d842-409c-b924-d8968d3e81e7}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {a6820a5d-3e73-47d7-b85b-a27fb46d81c8}, ! Handle + Small Office Infil Quarter On Default Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 22, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Day, + {4feb71b7-1fab-44e1-bc08-a058169393c7}, ! Handle + Small Office Infil Quarter On Summer Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 1, ! Value Until Time 1 + 22, ! Hour 2 + 0, ! Minute 2 + 0.25, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 1; ! Value Until Time 3 + +OS:Schedule:Rule, + {c37c2ea6-52d3-4472-a441-a0eb8808e85b}, ! Handle + Small Office Infil Quarter On Rule 2, ! Name + {8996260a-4a1f-4b42-be3a-74e730840476}, ! Schedule Ruleset Name + 1, ! Rule Order + {75eb4559-b391-4b50-9d27-d781ce2cace0}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {75eb4559-b391-4b50-9d27-d781ce2cace0}, ! Handle + Small Office Infil Quarter On Rule 2 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 1, ! Value Until Time 1 + 18, ! Hour 2 + 0, ! Minute 2 + 0.25, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 1; ! Value Until Time 3 + +OS:Schedule:Day, + {5d22d3a6-d842-409c-b924-d8968d3e81e7}, ! Handle + Small Office Infil Quarter On Winter Design Day, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 1, ! Value Until Time 1 + 18, ! Hour 2 + 0, ! Minute 2 + 0.25, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 1; ! Value Until Time 3 + +OS:Schedule:Rule, + {4605490d-347f-4c25-a162-3899a5afeeeb}, ! Handle + Small Office Infil Quarter On Rule 1, ! Name + {8996260a-4a1f-4b42-be3a-74e730840476}, ! Schedule Ruleset Name + 0, ! Rule Order + {b9046622-58e7-429c-9056-e0b9054d6920}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {b9046622-58e7-429c-9056-e0b9054d6920}, ! Handle + Small Office Infil Quarter On Rule 1 Day Schedule, ! Name + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 1; ! Value Until Time 1 + +OS:Schedule:Ruleset, + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}, ! Handle + Small Office ClgSetp, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + {cc0cb3af-fb00-442b-be39-ed7b4e8234aa}, ! Default Day Schedule Name + {9a6b4cbd-118f-4def-89e9-a804e805c706}, ! Summer Design Day Schedule Name + {7f2d9ec3-a78b-437e-8883-847c3308a0f0}; ! Winter Design Day Schedule Name + +OS:Schedule:Day, + {cc0cb3af-fb00-442b-be39-ed7b4e8234aa}, ! Handle + Small Office ClgSetp Default Schedule, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 26.7, !- Value Until Time 1 + 22, !- Hour 2 + 0, !- Minute 2 + 24, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 26.7; !- Value Until Time 3 + +OS:Schedule:Day, + {9a6b4cbd-118f-4def-89e9-a804e805c706}, ! Handle + Small Office ClgSetp Summer Design Day, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 26.699999999999999, ! Value Until Time 1 + 22, ! Hour 2 + 0, ! Minute 2 + 24, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 26.699999999999999; ! Value Until Time 3 + +OS:Schedule:Rule, + {8c3895e5-62a0-4355-b04b-f2b37f217f53}, ! Handle + Small Office ClgSetp Rule 2, ! Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}, ! Schedule Ruleset Name + 1, ! Rule Order + {65d1ae12-c96e-4865-887d-866369347222}, ! Day Schedule Name + No, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + Yes, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {65d1ae12-c96e-4865-887d-866369347222}, ! Handle + Small Office ClgSetp Rule 2 Day Schedule, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 6, ! Hour 1 + 0, ! Minute 1 + 26.699999999999999, ! Value Until Time 1 + 18, ! Hour 2 + 0, ! Minute 2 + 24, ! Value Until Time 2 + 24, ! Hour 3 + 0, ! Minute 3 + 26.699999999999999; ! Value Until Time 3 + +OS:Schedule:Rule, + {235194cd-7e9d-41aa-89d0-cfeaffc39dae}, ! Handle + Small Office ClgSetp Rule 1, ! Name + {fe7c0370-fe3c-43f4-913d-f1fdbd0358b4}, ! Schedule Ruleset Name + 0, ! Rule Order + {db2cd0ef-df90-44bd-8674-81f18f9a6dd1}, ! Day Schedule Name + Yes, ! Apply Sunday + No, ! Apply Monday + No, ! Apply Tuesday + No, ! Apply Wednesday + No, ! Apply Thursday + No, ! Apply Friday + No, ! Apply Saturday + , ! Apply Holiday + DateRange, ! Date Specification Type + 1, ! Start Month + 1, ! Start Day + 12, ! End Month + 31; ! End Day + +OS:Schedule:Day, + {db2cd0ef-df90-44bd-8674-81f18f9a6dd1}, ! Handle + Small Office ClgSetp Rule 1 Day Schedule, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 26.699999999999999; ! Value Until Time 1 + +OS:Schedule:Day, + {7f2d9ec3-a78b-437e-8883-847c3308a0f0}, ! Handle + Small Office ClgSetp Winter Design Day, ! Name + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Schedule Type Limits Name + , ! Interpolate to Timestep + 24, ! Hour 1 + 0, ! Minute 1 + 26.699999999999999; ! Value Until Time 1 + +OS:ScheduleTypeLimits, + {f75ecae9-d883-43f9-acfd-97e9cdfc8b24}, ! Handle + ActivityLevel, ! Name + 0, ! Lower Limit Value {BasedOnField A4} + , ! Upper Limit Value {BasedOnField A4} + Continuous, ! Numeric Type + ActivityLevel; ! Unit Type + +OS:ScheduleTypeLimits, + {91ef7d06-aab8-462f-b6ad-0f7842529479}, ! Handle + Fractional, ! Name + 0, ! Lower Limit Value {BasedOnField A4} + 1, ! Upper Limit Value {BasedOnField A4} + Continuous; ! Numeric Type + +OS:ScheduleTypeLimits, + {a2bc6c33-2535-45f8-bf2d-428948f8a341}, ! Handle + Temperature 1, ! Name + , ! Lower Limit Value {BasedOnField A4} + , ! Upper Limit Value {BasedOnField A4} + Continuous, ! Numeric Type + Temperature; ! Unit Type + +OS:ScheduleTypeLimits, + {7a6489b3-273f-4a4f-94f0-b2c29396d6c4}, ! Handle + Temperature 2, ! Name + , ! Lower Limit Value {BasedOnField A4} + , ! Upper Limit Value {BasedOnField A4} + Continuous, ! Numeric Type + Temperature; ! Unit Type + +OS:YearDescription, + {73638022-dbcb-4b7f-b5db-d2a62a93dab6}, !- Handle + , !- Calendar Year + Sunday; !- Day of Week for Start Day + +OS:RadianceParameters, + {6c7d0cf4-012b-40b3-a758-4178caa194ba}, !- Handle + 1, !- Accumulated Rays per Record + 0, !- Direct Threshold + 1, !- Direct Certainty + 1, !- Direct Jitter + 1, !- Direct Pretest + 6, !- Ambient Bounces VMX + 2, !- Ambient Bounces DMX + 4050, !- Ambient Divisions VMX + 512, !- Ambient Divisions DMX + 256, !- Ambient Supersamples + 0.001, !- Limit Weight VMX + 0.001, !- Limit Weight DMX + 500, !- Klems Sampling Density + 146; !- Sky Discretization Resolution + +OS:Sizing:Parameters, + {ecee0548-1b0f-4b0d-afef-66943f522b73}, !- Handle + 1.25, !- Heating Sizing Factor + 1.15; !- Cooling Sizing Factor + +OS:ProgramControl, + {a956d950-f0a8-45a8-b611-6e4f8a86a035}; !- Handle + +OS:OutputControl:ReportingTolerances, + {8ef44e06-eb77-4f9a-93b4-dac4ff296c2d}; !- Handle + +OS:ConvergenceLimits, + {f375595a-f43e-4271-9980-eb62dfbeb20f}; !- Handle + +OS:ShadowCalculation, + {cf7b4f3c-c8c4-4f60-ac32-b1fbb36e0758}, !- Handle + 7, !- Calculation Frequency + 15000; !- Maximum Figures in Shadow Overlap Calculations + +OS:SurfaceConvectionAlgorithm:Inside, + {f7d45da0-d91c-483a-974a-4173315eda11}, !- Handle + TARP; !- Algorithm + +OS:SurfaceConvectionAlgorithm:Outside, + {1b8d62f1-198a-4d23-9adf-4583d9a1ed9f}, !- Handle + DOE-2; !- Algorithm + +OS:HeatBalanceAlgorithm, + {380cb712-8a73-425e-bf74-9bb8f818e1ad}, !- Handle + ConductionTransferFunction, !- Algorithm + 200; !- Surface Temperature Upper Limit {C} + +OS:ZoneAirHeatBalanceAlgorithm, + {cf17e2f1-2737-4f22-b3f2-5f3c17858b2c}, !- Handle + AnalyticalSolution; !- Algorithm + +OS:ZoneAirContaminantBalance, + {de7487b3-7417-4dfa-b550-5b783bd0d799}; !- Handle + +OS:ZoneCapacitanceMultiplier:ResearchSpecial, + {01cb4aa7-f31a-49fb-b3b8-f546732de3d9}, !- Handle + , !- Temperature Capacity Multiplier + , !- Humidity Capacity Multiplier + ; !- Carbon Dioxide Capacity Multiplier + +OS:RunPeriod, + {055689e1-3172-4b90-8a51-c85c3ea44d32}, !- Handle + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + 12, !- End Month + 31, !- End Day of Month + , !- Use Weather File Holidays and Special Days + , !- Use Weather File Daylight Saving Period + , !- Apply Weekend Holiday Rule + , !- Use Weather File Rain Indicators + , !- Use Weather File Snow Indicators + ; !- Number of Times Runperiod to be Repeated + +OS:DefaultSurfaceConstructions, + {7a8c6b2e-7b58-4e76-9af6-7d943cd2d16f}, ! Handle + 000 Interior DefSurfCons 1, ! Name + {9351c31f-ad24-4cad-805b-1da48072bb45}, ! Floor Construction Name + {f1bc2e18-140d-414f-802c-871f19a7f8d6}, ! Wall Construction Name + {2e321670-4a1c-46ac-a21e-a291cff9bf26}; ! Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {ec3b28bc-5228-43ef-8b99-7a1ce0c9766b}, ! Handle + 000 Ground DefSurfCons 1, ! Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Floor Construction Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}, ! Wall Construction Name + {58a8b18f-4065-4772-b161-f70f0b12a01d}; ! Roof Ceiling Construction Name + +OS:DefaultSubSurfaceConstructions, + {771dfa2e-64c7-4847-931a-6db8d0c2b75f}, ! Handle + 000 Interior DefSubCons 1, ! Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Fixed Window Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Operable Window Construction Name + {62cd9cd4-fff8-4556-a4fe-a1f9e7d75d74}, ! Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Glass Door Construction Name + , ! Overhead Door Construction Name + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}, ! Skylight Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}, ! Tubular Daylight Dome Construction Name + {1d480373-cf2c-4af9-9879-9d6aa9733159}; ! Tubular Daylight Diffuser Construction Name + +OS:BuildingStory, + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Handle + Story 1, !- Name + 0, !- Nominal Z Coordinate {m} + 3.8, !- Nominal Floor to Floor Height {m} + , !- Default Construction Set Name + , !- Default Schedule Set Name + {c92100ab-4afe-443a-b2b2-22caffacb87a}; !- Group Rendering Name + +OS:Space, + {e5436363-6456-4d83-8faa-953f42baf153}, !- Handle + Story 1 West Perimeter Space, !- Name + , !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + -0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Building Story Name + {786b3063-5ade-40ed-95e0-cc9adbe324c5}, !- Thermal Zone Name + , !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {e782c59b-1954-4977-9dc1-d4e6a225fd47}, !- Handle + Surface 1, !- Name + Floor, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 20, 0, !- X,Y,Z Vertex 1 {m} + 4.57, 15.43, 0, !- X,Y,Z Vertex 2 {m} + 4.57, 4.57, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {0ed35833-cafb-46f4-a4a1-7a1e8f26694f}, !- Handle + Surface 2, !- Name + Wall, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 20, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 20, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {914d4a1f-e4b2-4aff-9cb9-3fc4b9b94b21}, !- Handle + Surface 3, !- Name + Wall, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Surface, !- Outside Boundary Condition + {b27e8988-a3a0-4808-9f1d-98a9e43592c0}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, 15.43, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 15.43, 0, !- X,Y,Z Vertex 2 {m} + 3.84711686258183e-030, 20, 0, !- X,Y,Z Vertex 3 {m} + 3.84711686258183e-030, 20, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {f5091e81-3536-4dbd-b08a-6623d47885c3}, !- Handle + Surface 4, !- Name + Wall, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Surface, !- Outside Boundary Condition + {dac1b2b7-f5a1-4d3b-b257-9d8680033e5c}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, 4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 4.57, 0, !- X,Y,Z Vertex 2 {m} + 4.57, 15.43, 0, !- X,Y,Z Vertex 3 {m} + 4.57, 15.43, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {a658b011-6d83-4683-bea0-20c5a82d5b08}, !- Handle + Surface 5, !- Name + Wall, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Surface, !- Outside Boundary Condition + {0f472dfc-a225-4322-b8c2-a2e95fd8d3c4}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 4.57, 4.57, 0, !- X,Y,Z Vertex 3 {m} + 4.57, 4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {2b0c9a42-c952-430b-855a-298f12eedde6}, !- Handle + Surface 6, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {e5436363-6456-4d83-8faa-953f42baf153}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 4.57, 3.8, !- X,Y,Z Vertex 2 {m} + 4.57, 15.43, 3.8, !- X,Y,Z Vertex 3 {m} + 0, 20, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Space, + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Handle + Story 1 North Perimeter Space, !- Name + , !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + -0, !- Direction of Relative North {deg} + 4.57, !- X Origin {m} + 15.43, !- Y Origin {m} + 0, !- Z Origin {m} + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Building Story Name + {bf347082-b158-40c7-afea-384a770aa02a}, !- Thermal Zone Name + , !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {7a51a6de-f393-4cd4-8827-21950fb62422}, !- Handle + Surface 7, !- Name + Floor, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 35.43, 4.57, 0, !- X,Y,Z Vertex 1 {m} + 30.86, 0, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + -4.57, 4.57, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {c53b7f3d-23ec-447f-b9e6-df8f5a02be37}, !- Handle + Surface 8, !- Name + Wall, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 35.43, 4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 35.43, 4.57, 0, !- X,Y,Z Vertex 2 {m} + -4.57, 4.57, 0, !- X,Y,Z Vertex 3 {m} + -4.57, 4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {94f72f84-8e15-421c-a314-100acd0e5425}, !- Handle + Surface 9, !- Name + Wall, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Surface, !- Outside Boundary Condition + {36dc8c88-b6b5-48f6-9c0f-3550814cf094}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, -2.04187384066908e-015, 3.8, !- X,Y,Z Vertex 1 {m} + 30.86, -2.04187384066908e-015, 0, !- X,Y,Z Vertex 2 {m} + 35.43, 4.57, 0, !- X,Y,Z Vertex 3 {m} + 35.43, 4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {fcc09dd6-8425-4683-a453-93900f58b46b}, !- Handle + Surface 10, !- Name + Wall, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Surface, !- Outside Boundary Condition + {f851c1d5-98a8-471a-822d-26601e7412e6}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 30.86, 0, 0, !- X,Y,Z Vertex 3 {m} + 30.86, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {b27e8988-a3a0-4808-9f1d-98a9e43592c0}, !- Handle + Surface 11, !- Name + Wall, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Surface, !- Outside Boundary Condition + {914d4a1f-e4b2-4aff-9cb9-3fc4b9b94b21}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -4.57, 4.57, 3.8, !- X,Y,Z Vertex 1 {m} + -4.57, 4.57, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {b9b809e3-126f-44ce-a7ab-4f756b4e78c5}, !- Handle + Surface 12, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {17d5dcca-6b5b-4972-8388-632ba2fc5060}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 35.43, 4.57, 3.8, !- X,Y,Z Vertex 2 {m} + -4.57, 4.57, 3.8, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Space, + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Handle + Story 1 East Perimeter Space, !- Name + , !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + -0, !- Direction of Relative North {deg} + 35.43, !- X Origin {m} + 4.57, !- Y Origin {m} + 0, !- Z Origin {m} + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Building Story Name + {520c6106-2486-4b24-9fb0-9efdc71eeeff}, !- Thermal Zone Name + , !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {6e83e6de-5b12-4acb-8f88-095ee175baee}, !- Handle + Surface 13, !- Name + Floor, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, 15.43, 0, !- X,Y,Z Vertex 1 {m} + 4.57, -4.57, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 10.86, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {0e4c6fbe-e91d-48b8-801b-c9260f95a083}, !- Handle + Surface 14, !- Name + Wall, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, -4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, -4.57, 0, !- X,Y,Z Vertex 2 {m} + 4.57, 15.43, 0, !- X,Y,Z Vertex 3 {m} + 4.57, 15.43, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {24ac0e5f-bca0-4e8a-9a78-847dc273cc98}, !- Handle + Surface 15, !- Name + Wall, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Surface, !- Outside Boundary Condition + {545523f5-79aa-48b7-b0e9-befcd2bdecd5}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 4.57, -4.57, 0, !- X,Y,Z Vertex 3 {m} + 4.57, -4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {4348fef0-926c-474f-98b5-0a615cea0a15}, !- Handle + Surface 16, !- Name + Wall, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Surface, !- Outside Boundary Condition + {d06c080c-5cd0-464e-a6a5-ffc5847a69e7}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 10.86, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 10.86, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {36dc8c88-b6b5-48f6-9c0f-3550814cf094}, !- Handle + Surface 17, !- Name + Wall, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Surface, !- Outside Boundary Condition + {94f72f84-8e15-421c-a314-100acd0e5425}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, 15.43, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 15.43, 0, !- X,Y,Z Vertex 2 {m} + 0, 10.86, 0, !- X,Y,Z Vertex 3 {m} + 0, 10.86, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {87457e48-f4ec-446d-a7f7-15c2ad0a04fe}, !- Handle + Surface 18, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {c22c9c43-ec92-418b-898b-3df603e0b131}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, -4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 15.43, 3.8, !- X,Y,Z Vertex 2 {m} + 0, 10.86, 3.8, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Space, + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Handle + Story 1 South Perimeter Space, !- Name + , !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + -0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Building Story Name + {1a18f482-9322-4b26-909b-3771a680984f}, !- Thermal Zone Name + , !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {fd38ad52-61cb-4e3a-8be1-fd98471d3560}, !- Handle + Surface 19, !- Name + Floor, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 35.43, 4.57, 0, !- X,Y,Z Vertex 1 {m} + 40, 0, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 4.57, 4.57, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {c75301a6-d1da-4b7d-80bf-9a36134ad989}, !- Handle + Surface 20, !- Name + Wall, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 40, 0, 0, !- X,Y,Z Vertex 3 {m} + 40, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {0f472dfc-a225-4322-b8c2-a2e95fd8d3c4}, !- Handle + Surface 21, !- Name + Wall, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Surface, !- Outside Boundary Condition + {a658b011-6d83-4683-bea0-20c5a82d5b08}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 4.57, 4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 4.57, 4.57, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {4a37f7b7-cc5b-4109-baea-af91f9a7e3a5}, !- Handle + Surface 22, !- Name + Wall, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Surface, !- Outside Boundary Condition + {e5002fa4-29f4-46f4-a02a-2f7724a12ab1}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 35.43, 4.57, 3.8, !- X,Y,Z Vertex 1 {m} + 35.43, 4.57, 0, !- X,Y,Z Vertex 2 {m} + 4.57, 4.57, 0, !- X,Y,Z Vertex 3 {m} + 4.57, 4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {545523f5-79aa-48b7-b0e9-befcd2bdecd5}, !- Handle + Surface 23, !- Name + Wall, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Surface, !- Outside Boundary Condition + {24ac0e5f-bca0-4e8a-9a78-847dc273cc98}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 40, 4.08374768133815e-015, 3.8, !- X,Y,Z Vertex 1 {m} + 40, 4.08374768133815e-015, 0, !- X,Y,Z Vertex 2 {m} + 35.43, 4.57, 0, !- X,Y,Z Vertex 3 {m} + 35.43, 4.57, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {4233823c-c11b-4d62-b234-64b54f665945}, !- Handle + Surface 24, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {2ae8cd36-e949-4a01-a3d5-6f9c554f1c07}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 40, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 35.43, 4.57, 3.8, !- X,Y,Z Vertex 2 {m} + 4.57, 4.57, 3.8, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Space, + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Handle + Story 1 Core Space, !- Name + , !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + -0, !- Direction of Relative North {deg} + 4.57, !- X Origin {m} + 4.57, !- Y Origin {m} + 0, !- Z Origin {m} + {b3268939-4a5d-42eb-aa47-402b0370d180}, !- Building Story Name + {07abe0b2-8661-4381-90d4-685f5047d22f}, !- Thermal Zone Name + , !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {e338c4c2-ff33-4f4b-aea4-a61bb40ae187}, !- Handle + Surface 25, !- Name + Floor, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, 10.86, 0, !- X,Y,Z Vertex 1 {m} + 30.86, 0, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 10.86, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {dac1b2b7-f5a1-4d3b-b257-9d8680033e5c}, !- Handle + Surface 26, !- Name + Wall, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Surface, !- Outside Boundary Condition + {f5091e81-3536-4dbd-b08a-6623d47885c3}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 10.86, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 10.86, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {f851c1d5-98a8-471a-822d-26601e7412e6}, !- Handle + Surface 27, !- Name + Wall, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Surface, !- Outside Boundary Condition + {fcc09dd6-8425-4683-a453-93900f58b46b}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, 10.86, 3.8, !- X,Y,Z Vertex 1 {m} + 30.86, 10.86, 0, !- X,Y,Z Vertex 2 {m} + 0, 10.86, 0, !- X,Y,Z Vertex 3 {m} + 0, 10.86, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {d06c080c-5cd0-464e-a6a5-ffc5847a69e7}, !- Handle + Surface 28, !- Name + Wall, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Surface, !- Outside Boundary Condition + {4348fef0-926c-474f-98b5-0a615cea0a15}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 30.86, 0, 0, !- X,Y,Z Vertex 2 {m} + 30.86, 10.86, 0, !- X,Y,Z Vertex 3 {m} + 30.86, 10.86, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {e5002fa4-29f4-46f4-a02a-2f7724a12ab1}, !- Handle + Surface 29, !- Name + Wall, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Surface, !- Outside Boundary Condition + {4a37f7b7-cc5b-4109-baea-af91f9a7e3a5}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 30.86, 0, 0, !- X,Y,Z Vertex 3 {m} + 30.86, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {5e20c6d0-c927-4fd9-8aed-73a0437e08dd}, !- Handle + Surface 30, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {18d522ef-9c97-4ca8-9c8e-6770a6e56f08}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 30.86, 0, 3.8, !- X,Y,Z Vertex 1 {m} + 30.86, 10.86, 3.8, !- X,Y,Z Vertex 2 {m} + 0, 10.86, 3.8, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.8; !- X,Y,Z Vertex 4 {m} + +OS:Rendering:Color, + {c92100ab-4afe-443a-b2b2-22caffacb87a}, !- Handle + Rendering Color 1, !- Name + 255, !- Rendering Red Value + 235, !- Rendering Green Value + 205; !- Rendering Blue Value + +OS:SubSurface, + {345a1827-b7a7-44e3-a475-be7755b5ea63}, !- Handle + Sub Surface 1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {0e4c6fbe-e91d-48b8-801b-c9260f95a083}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 4.57, -4.5446, 2.28387063140377, !- X,Y,Z Vertex 1 {m} + 4.57, -4.5446, 0.76, !- X,Y,Z Vertex 2 {m} + 4.57, 15.4046, 0.76, !- X,Y,Z Vertex 3 {m} + 4.57, 15.4046, 2.28387063140377; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {6179a5ed-c6f0-416f-b420-0e2ac0ec50e1}, !- Handle + Sub Surface 2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {0ed35833-cafb-46f4-a4a1-7a1e8f26694f}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 0, 19.9746, 2.28387063140377, !- X,Y,Z Vertex 1 {m} + 0, 19.9746, 0.76, !- X,Y,Z Vertex 2 {m} + 0, 0.0253999999999976, 0.76, !- X,Y,Z Vertex 3 {m} + 0, 0.0253999999999976, 2.28387063140377; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {8a1486bf-a0b3-4ede-aff3-d97f3dcba685}, !- Handle + Sub Surface 3, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {c53b7f3d-23ec-447f-b9e6-df8f5a02be37}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 35.4046, 4.57, 2.2819328547255, !- X,Y,Z Vertex 1 {m} + 35.4046, 4.57, 0.76, !- X,Y,Z Vertex 2 {m} + -4.5446, 4.57, 0.76, !- X,Y,Z Vertex 3 {m} + -4.5446, 4.57, 2.2819328547255; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {5dee2dd5-793c-46c1-b2f3-3fb935071397}, !- Handle + Sub Surface 4, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {c75301a6-d1da-4b7d-80bf-9a36134ad989}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 0.0254, 0, 2.2819328547255, !- X,Y,Z Vertex 1 {m} + 0.0254, 0, 0.76, !- X,Y,Z Vertex 2 {m} + 39.9746, 0, 0.76, !- X,Y,Z Vertex 3 {m} + 39.9746, 0, 2.2819328547255; !- X,Y,Z Vertex 4 {m} + +OS:ThermalZone, + {1a18f482-9322-4b26-909b-3771a680984f}, !- Handle + Thermal Zone 1, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {9d0178aa-f728-40ae-95d6-3ef974ee366b}, !- Zone Air Inlet Port List + {5da2681e-8743-44da-97b9-136b4591c7e2}, !- Zone Air Exhaust Port List + {5f2990a3-5e80-4215-8966-62e49bc830e6}, !- Zone Air Node Name + , !- Zone Return Air Node Name + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + {efd42927-9aaf-4bf8-aef6-734678b7461d}, !- Group Rendering Name + {280db209-ac4e-466a-bad2-fab852936c84}, !- Thermostat Name + Yes; !- Use Ideal Air Loads + +OS:Node, + {3cc5d5d9-ed73-4308-919c-8345bda417f0}, !- Handle + Node 1, !- Name + {5f2990a3-5e80-4215-8966-62e49bc830e6}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {5f2990a3-5e80-4215-8966-62e49bc830e6}, !- Handle + Connection 1, !- Name + {1a18f482-9322-4b26-909b-3771a680984f}, !- Source Object + 11, !- Outlet Port + {3cc5d5d9-ed73-4308-919c-8345bda417f0}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {9d0178aa-f728-40ae-95d6-3ef974ee366b}, !- Handle + Port List 1, !- Name + {1a18f482-9322-4b26-909b-3771a680984f}; !- HVAC Component + +OS:PortList, + {5da2681e-8743-44da-97b9-136b4591c7e2}, !- Handle + Port List 2, !- Name + {1a18f482-9322-4b26-909b-3771a680984f}; !- HVAC Component + +OS:Sizing:Zone, + {ad10ded1-87cb-42af-a51d-18c34a309522}, !- Handle + {1a18f482-9322-4b26-909b-3771a680984f}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {42ceb292-a5ce-4a81-adef-30a08abd8ca3}, !- Handle + Zone HVAC Equipment List 1, !- Name + {1a18f482-9322-4b26-909b-3771a680984f}; !- Thermal Zone + +OS:Rendering:Color, + {efd42927-9aaf-4bf8-aef6-734678b7461d}, !- Handle + Rendering Color 2, !- Name + 176, !- Rendering Red Value + 196, !- Rendering Green Value + 222; !- Rendering Blue Value + +OS:ThermalZone, + {786b3063-5ade-40ed-95e0-cc9adbe324c5}, !- Handle + Thermal Zone 2, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {24e0f9c9-b6af-4042-a1e6-d73c56ffc71a}, !- Zone Air Inlet Port List + {18f5b9aa-359f-4975-8fca-a49e691589bc}, !- Zone Air Exhaust Port List + {eba1a781-fb3a-4be0-bfb4-1efe2b1654cd}, !- Zone Air Node Name + , !- Zone Return Air Node Name + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + {fa0547d6-35f3-49a8-bcfa-e7f8168092ab}, !- Group Rendering Name + {3f006386-b64d-4ca4-bd7d-fc63cd016619}, !- Thermostat Name + Yes; !- Use Ideal Air Loads + +OS:Node, + {c5585cb5-616a-4f9b-aaca-784d5d1238ce}, !- Handle + Node 2, !- Name + {eba1a781-fb3a-4be0-bfb4-1efe2b1654cd}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {eba1a781-fb3a-4be0-bfb4-1efe2b1654cd}, !- Handle + Connection 2, !- Name + {786b3063-5ade-40ed-95e0-cc9adbe324c5}, !- Source Object + 11, !- Outlet Port + {c5585cb5-616a-4f9b-aaca-784d5d1238ce}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {24e0f9c9-b6af-4042-a1e6-d73c56ffc71a}, !- Handle + Port List 3, !- Name + {786b3063-5ade-40ed-95e0-cc9adbe324c5}; !- HVAC Component + +OS:PortList, + {18f5b9aa-359f-4975-8fca-a49e691589bc}, !- Handle + Port List 4, !- Name + {786b3063-5ade-40ed-95e0-cc9adbe324c5}; !- HVAC Component + +OS:Sizing:Zone, + {2418e97f-e0d9-490d-bd43-f4f57c471797}, !- Handle + {786b3063-5ade-40ed-95e0-cc9adbe324c5}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {4c5f88a7-658c-44c5-ad91-44dc535dc5b6}, !- Handle + Zone HVAC Equipment List 2, !- Name + {786b3063-5ade-40ed-95e0-cc9adbe324c5}; !- Thermal Zone + +OS:Rendering:Color, + {fa0547d6-35f3-49a8-bcfa-e7f8168092ab}, !- Handle + Rendering Color 3, !- Name + 255, !- Rendering Red Value + 240, !- Rendering Green Value + 245; !- Rendering Blue Value + +OS:ThermalZone, + {bf347082-b158-40c7-afea-384a770aa02a}, !- Handle + Thermal Zone 3, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {d61bd3a0-6c9d-4172-a748-5571cc2b1806}, !- Zone Air Inlet Port List + {eef34145-3b9a-40d6-913d-fb359563df94}, !- Zone Air Exhaust Port List + {35fde64d-999f-4d04-b03c-cd0276504b1a}, !- Zone Air Node Name + , !- Zone Return Air Node Name + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + {e426dc20-bd4c-410a-9b87-bf502eea1e70}, !- Group Rendering Name + {ea93d619-8faa-4475-b71b-46894822d5d8}, !- Thermostat Name + Yes; !- Use Ideal Air Loads + +OS:Node, + {20d19ee9-06e2-4eb5-8a74-20e2615606f2}, !- Handle + Node 3, !- Name + {35fde64d-999f-4d04-b03c-cd0276504b1a}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {35fde64d-999f-4d04-b03c-cd0276504b1a}, !- Handle + Connection 3, !- Name + {bf347082-b158-40c7-afea-384a770aa02a}, !- Source Object + 11, !- Outlet Port + {20d19ee9-06e2-4eb5-8a74-20e2615606f2}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {d61bd3a0-6c9d-4172-a748-5571cc2b1806}, !- Handle + Port List 5, !- Name + {bf347082-b158-40c7-afea-384a770aa02a}; !- HVAC Component + +OS:PortList, + {eef34145-3b9a-40d6-913d-fb359563df94}, !- Handle + Port List 6, !- Name + {bf347082-b158-40c7-afea-384a770aa02a}; !- HVAC Component + +OS:Sizing:Zone, + {016fe5c3-76e5-4d8a-84ea-d80b0c84e5bf}, !- Handle + {bf347082-b158-40c7-afea-384a770aa02a}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {82e4c6e8-467e-41fa-b60d-3e787883da18}, !- Handle + Zone HVAC Equipment List 3, !- Name + {bf347082-b158-40c7-afea-384a770aa02a}; !- Thermal Zone + +OS:Rendering:Color, + {e426dc20-bd4c-410a-9b87-bf502eea1e70}, !- Handle + Rendering Color 4, !- Name + 160, !- Rendering Red Value + 82, !- Rendering Green Value + 45; !- Rendering Blue Value + +OS:ThermalZone, + {520c6106-2486-4b24-9fb0-9efdc71eeeff}, !- Handle + Thermal Zone 4, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {93ac757a-f20e-4c2a-8596-8b58893c8c33}, !- Zone Air Inlet Port List + {8223c7cd-b6e9-444b-8176-bbbdaf3bd775}, !- Zone Air Exhaust Port List + {ea52c8d6-7cf9-4f4d-8490-ade394152a03}, !- Zone Air Node Name + , !- Zone Return Air Node Name + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + {2957754d-f420-4eec-9763-7b6839ab4d30}, !- Group Rendering Name + {cef81f2d-b59d-47b4-947a-81b683d12b80}, !- Thermostat Name + Yes; !- Use Ideal Air Loads + +OS:Node, + {c934a59c-0233-4cd7-bed3-92ed4566362d}, !- Handle + Node 4, !- Name + {ea52c8d6-7cf9-4f4d-8490-ade394152a03}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {ea52c8d6-7cf9-4f4d-8490-ade394152a03}, !- Handle + Connection 4, !- Name + {520c6106-2486-4b24-9fb0-9efdc71eeeff}, !- Source Object + 11, !- Outlet Port + {c934a59c-0233-4cd7-bed3-92ed4566362d}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {93ac757a-f20e-4c2a-8596-8b58893c8c33}, !- Handle + Port List 7, !- Name + {520c6106-2486-4b24-9fb0-9efdc71eeeff}; !- HVAC Component + +OS:PortList, + {8223c7cd-b6e9-444b-8176-bbbdaf3bd775}, !- Handle + Port List 8, !- Name + {520c6106-2486-4b24-9fb0-9efdc71eeeff}; !- HVAC Component + +OS:Sizing:Zone, + {fa9e5260-6d6a-4aae-8277-da4cb6436f07}, !- Handle + {520c6106-2486-4b24-9fb0-9efdc71eeeff}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {70810fee-79e8-4a9a-bde6-eb6d1228677b}, !- Handle + Zone HVAC Equipment List 4, !- Name + {520c6106-2486-4b24-9fb0-9efdc71eeeff}; !- Thermal Zone + +OS:Rendering:Color, + {2957754d-f420-4eec-9763-7b6839ab4d30}, !- Handle + Rendering Color 5, !- Name + 210, !- Rendering Red Value + 180, !- Rendering Green Value + 140; !- Rendering Blue Value + +OS:ThermalZone, + {07abe0b2-8661-4381-90d4-685f5047d22f}, !- Handle + Thermal Zone 5, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {d19bd555-dd63-43ae-b394-d3354e97c502}, !- Zone Air Inlet Port List + {2bfd7c1d-a833-4520-9d16-8238d8b132f7}, !- Zone Air Exhaust Port List + {692e5aaa-4a04-41fd-8ae3-df3b60d9e421}, !- Zone Air Node Name + , !- Zone Return Air Node Name + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + {197b01d0-753c-405d-87a3-acab2e8aee56}, !- Group Rendering Name + {aee82399-b0f7-47f0-9e42-da6fd68c8b80}, !- Thermostat Name + Yes; !- Use Ideal Air Loads + +OS:Node, + {cbb22d5a-2fe5-4f2b-8a12-0c7e2ac9ee09}, !- Handle + Node 5, !- Name + {692e5aaa-4a04-41fd-8ae3-df3b60d9e421}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {692e5aaa-4a04-41fd-8ae3-df3b60d9e421}, !- Handle + Connection 5, !- Name + {07abe0b2-8661-4381-90d4-685f5047d22f}, !- Source Object + 11, !- Outlet Port + {cbb22d5a-2fe5-4f2b-8a12-0c7e2ac9ee09}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {d19bd555-dd63-43ae-b394-d3354e97c502}, !- Handle + Port List 9, !- Name + {07abe0b2-8661-4381-90d4-685f5047d22f}; !- HVAC Component + +OS:PortList, + {2bfd7c1d-a833-4520-9d16-8238d8b132f7}, !- Handle + Port List 10, !- Name + {07abe0b2-8661-4381-90d4-685f5047d22f}; !- HVAC Component + +OS:Sizing:Zone, + {f71a9abf-cab0-445d-bd44-38204bc713f1}, !- Handle + {07abe0b2-8661-4381-90d4-685f5047d22f}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {d13362b7-99b4-47b4-ba31-7aec9880dab6}, !- Handle + Zone HVAC Equipment List 5, !- Name + {07abe0b2-8661-4381-90d4-685f5047d22f}; !- Thermal Zone + +OS:Rendering:Color, + {197b01d0-753c-405d-87a3-acab2e8aee56}, !- Handle + Rendering Color 6, !- Name + 72, !- Rendering Red Value + 61, !- Rendering Green Value + 139; !- Rendering Blue Value + +OS:Building, + {76801751-6bbc-4ae4-92ed-df570e857f39}, !- Handle + Small Office, !- Name + , !- Building Sector Type + -0, !- North Axis {deg} + , !- Nominal Floor to Floor Height {m} + {af22a35a-6d16-4bfa-b2c7-ad0170e81cf8}, !- Space Type Name + {925fd388-6014-4483-bdc7-1a24eab0db75}, !- Default Construction Set Name + , !- Default Schedule Set Name + , !- Standards Number of Stories + , !- Standards Number of Above Ground Stories + ; !- Standards Building Type + +OS:ClimateZones, + {1e8d5c00-95d4-4881-b742-38e81fc49836}, !- Handle + , !- Active Institution + , !- Active Year + ASHRAE, !- Climate Zone Institution Name 1 + ANSI/ASHRAE Standard 169, !- Climate Zone Document Name 1 + 2006, !- Climate Zone Document Year 1 + , !- Climate Zone Value 1 + CEC, !- Climate Zone Institution Name 2 + California Climate Zone Descriptions, !- Climate Zone Document Name 2 + 1995, !- Climate Zone Document Year 2 + ; !- Climate Zone Value 2 + +OS:LifeCycleCost:Parameters, + {fcfce190-f6fd-45d5-b787-23199397dd3a}, !- Handle + FEMP, !- Analysis Type + , !- Discounting Convention + , !- Inflation Approach + , !- Real Discount Rate + , !- Nominal Discount Rate + , !- Inflation + , !- Base Date Month + , !- Base Date Year + , !- Service Date Month + , !- Service Date Year + , !- Length of Study Period in Years + , !- Tax Rate + , !- Depreciation Method + Yes; !- Use NIST Fuel Escalation Rates + +OS:Site, + {d0de4424-3945-41f1-8984-51fcf8f48718}, !- Handle + Site 1, !- Name + 43.67, !- Latitude {deg} + -79.63, !- Longitude {deg} + -5, !- Time Zone {hr} + 173, !- Elevation {m} + ; !- Terrain + +OS:SizingPeriod:DesignDay, + {d4eb98b1-562f-48da-b94a-b65d69351052}, !- Handle + Toronto Int'l Ann Clg .4% Condns DB=>MWB, !- Name + 31.2, !- Maximum Dry-Bulb Temperature {C} + 10.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 22.2, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 5.8, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.473, !- ASHRAE Taub {dimensionless} + 1.952; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {50db1333-352e-4636-8b82-95609110b3c2}, !- Handle + Toronto Int'l Ann Clg .4% Condns WB=>MDB, !- Name + 29, !- Maximum Dry-Bulb Temperature {C} + 10.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 23.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 5.8, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.473, !- ASHRAE Taub {dimensionless} + 1.952; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {7a9ca620-fc73-4dd6-99f9-67f9d5f1bd9d}, !- Handle + Toronto Int'l Ann Clg .4% Condns Enth=>MDB, !- Name + 29.1, !- Maximum Dry-Bulb Temperature {C} + 10.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 71300, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 5.8, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Enthalpy, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.473, !- ASHRAE Taub {dimensionless} + 1.952; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {bc5cc2c4-abf7-4b39-b7c3-52f704bf75f5}, !- Handle + Toronto Int'l Ann Htg 99.6% Condns DB, !- Name + -18.8, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -18.8, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 4.3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 1, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:SizingPeriod:DesignDay, + {3993a9d4-abcf-4e73-931d-f08600fe5b75}, !- Handle + Toronto Int'l Ann Clg .4% Condns DP=>MDB, !- Name + 26.5, !- Maximum Dry-Bulb Temperature {C} + 10.2, !- Daily Dry-Bulb Temperature Range {deltaC} + 21.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 5.8, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Dewpoint, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.473, !- ASHRAE Taub {dimensionless} + 1.952; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {eb199127-99c4-4b3d-a4f7-06019ce6cfbd}, !- Handle + Toronto Int'l Ann Hum_n 99.6% Condns DP=>MCDB, !- Name + -18.3, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -23.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 4.3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 1, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Dewpoint, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:SizingPeriod:DesignDay, + {1f34f126-789a-4dee-9277-4aac9da5a162}, !- Handle + Toronto Int'l Ann Htg Wind 99.6% Condns WS=>MCDB, !- Name + -6.9, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -6.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 99264, !- Barometric Pressure {Pa} + 14, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 1, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:StandardsInformation:Construction, + {9f8378b7-3988-48ef-bef2-174612e012e8}, !- Handle + {0066da78-26a9-4f5c-854f-d1ae374fe7b4}; !- Construction Name + +OS:StandardsInformation:Material, + {953c1aa3-f4a5-4868-b11f-b08ec97388b4}, !- Handle + {00f65efe-2803-4ce4-9c98-c2e5df290808}; !- Material Name + +OS:StandardsInformation:Construction, + {f0cb9a68-2e6d-4acc-9dd4-fe695c819515}, !- Handle + {01832895-ded1-42d5-a406-508271d00d85}; !- Construction Name + +OS:StandardsInformation:Construction, + {64de4999-88c5-4862-b022-142f5792dcf7}, !- Handle + {02e814f7-3428-47ab-a542-9baf6b227307}; !- Construction Name + +OS:StandardsInformation:Construction, + {497f0681-7567-4cd3-9d2c-3be0914deef1}, !- Handle + {038d7cea-f583-45b2-a299-b20319ae4014}; !- Construction Name + +OS:StandardsInformation:Material, + {b4b8b8fe-5edc-4faa-881a-4d2a70f540b7}, !- Handle + {039aaef0-a65d-4334-8d93-8316f187c740}; !- Material Name + +OS:StandardsInformation:Construction, + {c425f487-3644-4060-862d-80a7ca10dfae}, !- Handle + {03da5c02-ea05-4288-aba8-7c78cb37f5e3}; !- Construction Name + +OS:StandardsInformation:Material, + {4f22c20b-65a2-4322-9292-205fc8d53d98}, !- Handle + {0551f43c-d056-42bd-8571-6ccf8ada30bb}; !- Material Name + +OS:StandardsInformation:Material, + {4282b502-1810-4753-b6ae-4c37573502be}, !- Handle + {0582ccce-da08-4018-b265-81fb3ac2a162}; !- Material Name + +OS:StandardsInformation:Construction, + {1b7aaf8e-239d-42f9-8958-e9c6d6340478}, !- Handle + {06ac0603-f6f8-48ae-a531-99a15d8f50d1}; !- Construction Name + +OS:StandardsInformation:Construction, + {15d1a5b0-a0a7-46c4-954a-680458a2374d}, !- Handle + {06ad9acd-8854-4b6e-8583-73f499cea18e}; !- Construction Name + +OS:StandardsInformation:Construction, + {a0fdd952-83e7-4e8a-a6c6-6db05b1e203c}, !- Handle + {06c3223d-e5e6-45aa-b68b-df90233cbafa}; !- Construction Name + +OS:StandardsInformation:Material, + {bcff77db-e161-4b0f-adc3-7c4b6e89704b}, !- Handle + {0722fc37-55b7-4ea2-8dd4-c82ff31342a0}; !- Material Name + +OS:StandardsInformation:Construction, + {5b5cd1d6-b7ec-4ba7-9060-805c8e8ad862}, !- Handle + {07f90d8e-6fab-4130-9723-a7c68c65581e}; !- Construction Name + +OS:StandardsInformation:Construction, + {37a76329-a5c9-4c09-a5db-84d9e40e027e}, !- Handle + {08100b54-380e-435a-994f-9e2ffa617833}; !- Construction Name + +OS:StandardsInformation:Construction, + {f633bf19-0141-48e4-8fa3-5f0432e319ba}, !- Handle + {08141c1d-3989-4ab4-aa7a-ccbfcb1e5d6f}; !- Construction Name + +OS:StandardsInformation:Construction, + {8c13f1d4-b819-46e1-b39b-9e25fd54e009}, !- Handle + {08adbeab-e303-4813-91ff-1e6a502afeec}; !- Construction Name + +OS:StandardsInformation:Material, + {5382f40f-d269-49a5-af07-b78150a6a228}, !- Handle + {0a52dda1-7b56-44d0-8861-bd7459f92e78}; !- Material Name + +OS:StandardsInformation:Construction, + {214cbfcf-2284-4a48-8b70-42607e5b8fd7}, !- Handle + {0a695406-26ac-424b-9d22-3e4a9190741b}; !- Construction Name + +OS:StandardsInformation:Construction, + {38f725f9-86d2-4992-b201-c51b0baf509d}, !- Handle + {0be923be-60ad-4a5c-aa33-49dc605d7efc}; !- Construction Name + +OS:StandardsInformation:Construction, + {7a289cbf-49f5-440c-92ab-a9b611fcfa3b}, !- Handle + {0c31bbea-7a06-486d-a0a7-78e1292d8a82}; !- Construction Name + +OS:StandardsInformation:Construction, + {c0ac33fe-974c-4690-8003-a5bc619cd960}, !- Handle + {0c333582-bceb-48ae-a58e-4c934e3008fa}; !- Construction Name + +OS:StandardsInformation:Construction, + {33b73616-f10b-4010-8215-8fcdbeef6d4d}, !- Handle + {0c6b0229-3cfc-447a-aa5e-406c1f98d0a2}; !- Construction Name + +OS:StandardsInformation:Construction, + {7ff7b941-3bdc-4311-9fda-9d1604ad3e65}, !- Handle + {0cb6bb43-65f1-4998-839d-4fe3c69f4d98}; !- Construction Name + +OS:StandardsInformation:Construction, + {eef5bd4c-c6fb-4f12-95e0-3b16955b19c6}, !- Handle + {0ccfaed0-962e-40af-89d5-b9c70df29f7a}; !- Construction Name + +OS:StandardsInformation:Material, + {51dc3149-98bd-4d43-9335-c07d49b29db8}, !- Handle + {0d33d654-5b1b-4758-a3f6-80ff27f2c230}; !- Material Name + +OS:StandardsInformation:Construction, + {e2f2db81-0112-48c6-8402-4ad278b7e08f}, !- Handle + {0d344c92-4957-43db-ba1f-fa4530731c3e}; !- Construction Name + +OS:StandardsInformation:Construction, + {02c5af09-a071-43ee-8514-0cda474874e3}, !- Handle + {0e81d457-94ce-4e91-ac22-5310cceb6e9a}; !- Construction Name + +OS:StandardsInformation:Material, + {7bf5f746-cbdb-49d5-a24b-8f5ddeff5322}, !- Handle + {0ee1274c-8b77-44e9-8371-871685e356d7}; !- Material Name + +OS:StandardsInformation:Construction, + {d67a3812-23ee-4065-b187-ad75fb5793a0}, !- Handle + {0f0156ef-a494-473e-8640-5f0d884cbb4c}; !- Construction Name + +OS:StandardsInformation:Material, + {92a784ee-c632-45b9-9f22-209e8c1c693a}, !- Handle + {0f5e9c3e-35e1-48a8-b655-91bb9fde843e}; !- Material Name + +OS:StandardsInformation:Construction, + {d6a89644-082a-4576-a902-7dd0ab154107}, !- Handle + {0f7905ce-5dc9-4664-baa0-4bc01cf613a7}; !- Construction Name + +OS:StandardsInformation:Material, + {8cf7133e-6fd3-443a-9098-ec17dad5edfe}, !- Handle + {0f7ec2e7-bf94-4a22-a7bc-4e76b4f93ca3}; !- Material Name + +OS:StandardsInformation:Material, + {dd801df8-39cd-467a-a530-b46a2b64ff24}, !- Handle + {0fcb5a4c-aafc-4147-ae58-ad4ed080327e}; !- Material Name + +OS:StandardsInformation:Material, + {f5be7cf9-e2fd-49c2-ae2c-f65f49cf9e57}, !- Handle + {0fe5da5d-c981-489a-b65c-94d1f55fa902}; !- Material Name + +OS:StandardsInformation:Construction, + {9742c2d8-fc67-4036-a56e-96c8ffbda0d8}, !- Handle + {104bde1c-5ed8-492b-ba79-4f7c0b989084}; !- Construction Name + +OS:StandardsInformation:Material, + {0838fca9-d282-4d50-bcf8-a2866f3c9fc1}, !- Handle + {108df802-fee3-43e4-aa70-30afe6ce5034}; !- Material Name + +OS:StandardsInformation:Construction, + {1fc796c7-bbba-4f53-9a10-f41c462f6482}, !- Handle + {10cedc0a-bfb0-492d-a47d-6c95c6132f20}; !- Construction Name + +OS:StandardsInformation:Construction, + {fd56103b-7bc1-4e46-b29c-f5340c60a543}, !- Handle + {116e2dd1-b5da-46bc-abf2-68bf727f9d8f}; !- Construction Name + +OS:StandardsInformation:Material, + {1e74c790-8759-4948-8f51-57542f739480}, !- Handle + {116edbe1-5b60-418c-8ad9-10bbdb47aec0}; !- Material Name + +OS:StandardsInformation:Construction, + {2f3d1659-bacd-448d-b3a4-e6753596de12}, !- Handle + {11f729f7-29a6-473f-8514-bfb89ec5f065}; !- Construction Name + +OS:StandardsInformation:Construction, + {fa8cf007-d30c-4aa8-aea1-078850d6cb66}, !- Handle + {12e09187-cfd6-4f81-a0e1-6274a1fa1903}; !- Construction Name + +OS:StandardsInformation:Construction, + {2fa6e8dd-5f59-4b85-8b97-7e2ade1e7b43}, !- Handle + {12e35b55-2f45-4623-a7c4-835751a6bcb9}; !- Construction Name + +OS:StandardsInformation:Material, + {bee4e768-a2d4-4767-90ad-71df638af632}, !- Handle + {1389a1a2-7505-47c9-8223-4dca599994b9}; !- Material Name + +OS:StandardsInformation:Construction, + {c937753c-9172-433e-9bcf-0e67ef12f3c7}, !- Handle + {13d96bf7-5b84-4454-8e17-142ec1823615}; !- Construction Name + +OS:StandardsInformation:Material, + {1927536b-0e17-4a08-9ff3-b33bb37b5711}, !- Handle + {1526da99-8dd6-4d70-a4ea-ff56fea7b322}; !- Material Name + +OS:StandardsInformation:Construction, + {e1e1cca9-76f4-4e66-98c0-26120f73efb2}, !- Handle + {16a579c2-0c2b-4abc-bcae-b76d2aea8091}; !- Construction Name + +OS:StandardsInformation:Material, + {c76dcb5f-3d5b-47cb-bf51-3628f5024872}, !- Handle + {18500b0b-6e4d-4a07-97d6-5354561581a3}; !- Material Name + +OS:StandardsInformation:Material, + {9fdda51b-db48-4fcf-bf6b-ec53faaab7c8}, !- Handle + {186eab42-90d4-4e71-aafe-eedb7ec34f04}; !- Material Name + +OS:StandardsInformation:Construction, + {80f905b5-70fa-4196-8251-d8d56dc4010f}, !- Handle + {18c8bfa1-c3f1-4dc9-bc26-89add6109bcb}; !- Construction Name + +OS:StandardsInformation:Construction, + {7010176f-6979-4f6b-94c1-a6aa2dcc9a7b}, !- Handle + {18e06bd3-eb1d-4777-ad41-d8f703dc759a}; !- Construction Name + +OS:StandardsInformation:Material, + {3c7316fd-5525-4959-a1ed-72f1f2ba0301}, !- Handle + {1a1268c0-4792-4f9a-87b6-d8639ea9e27a}; !- Material Name + +OS:StandardsInformation:Construction, + {ea343bff-ab63-448c-90c2-ae8fd8b44b31}, !- Handle + {1a41001d-b63d-4379-94a2-200dc74ea0da}; !- Construction Name + +OS:StandardsInformation:Material, + {0f3631c9-7e2d-48b3-b56f-afc284f9ee36}, !- Handle + {1a46635b-1af8-47b8-9839-9b7f44736116}; !- Material Name + +OS:StandardsInformation:Material, + {a78feb9f-27d7-483e-b40e-9a938597b3cc}, !- Handle + {1ace4b46-f9a6-4b57-bf98-85fdfb395d1a}; !- Material Name + +OS:StandardsInformation:Construction, + {7d4a571d-57a7-4fd2-9ac9-397fdda1d317}, !- Handle + {1b03fd4d-7c18-417f-bc3f-3c4a231577bf}; !- Construction Name + +OS:StandardsInformation:Construction, + {dfec9038-09e6-4520-a8a0-382c5c7f01b3}, !- Handle + {1d480373-cf2c-4af9-9879-9d6aa9733159}; !- Construction Name + +OS:StandardsInformation:Construction, + {46166483-3ca0-4d1a-80d0-06ff72ac75bd}, !- Handle + {1d4b6987-fba4-4226-8597-34f1b53e714f}; !- Construction Name + +OS:StandardsInformation:Material, + {6002110b-24d4-4cfb-87b9-afdfecb72aae}, !- Handle + {1e06a9c5-20f2-439a-969f-02caf3bc2add}; !- Material Name + +OS:StandardsInformation:Material, + {ccd567f5-5ade-4690-9c0d-190f0ed70512}, !- Handle + {1e4bfa79-c0de-4d00-b547-ef34c6224794}; !- Material Name + +OS:StandardsInformation:Material, + {fd7884c5-05eb-4644-a677-eb2dd05290ed}, !- Handle + {1eca6359-8ed8-41c5-b576-efab8e5fcb3d}; !- Material Name + +OS:StandardsInformation:Material, + {da9e8320-ef01-43dc-932b-d9656cc7dc4d}, !- Handle + {1f2080a8-6656-439e-9cb4-0cfebde43406}; !- Material Name + +OS:StandardsInformation:Material, + {0f829292-50de-4f7a-a97f-e7a6d52bc90f}, !- Handle + {1f8a756e-75d3-4ba0-a56a-2fc63005f5de}; !- Material Name + +OS:StandardsInformation:Material, + {8b96cdfa-6952-4c24-a4bc-aa7ccfca51b4}, !- Handle + {1fb27356-6254-4715-b9e7-26c729e5dd14}; !- Material Name + +OS:StandardsInformation:Material, + {738243cb-1aeb-40b0-894d-e1144ea2cedf}, !- Handle + {1ff58fe6-710e-42db-91b9-c04b2783021f}; !- Material Name + +OS:StandardsInformation:Construction, + {dbab92da-981c-497c-9e3f-db9679aa7865}, !- Handle + {21aca9fa-48bc-4136-8993-2012f9ffbb47}; !- Construction Name + +OS:StandardsInformation:Construction, + {0f0ea749-d117-4054-95da-489c8d6b6362}, !- Handle + {2239eb43-be0d-40f9-9371-4572f034b6a1}; !- Construction Name + +OS:StandardsInformation:Construction, + {e8d1e256-9b32-47f9-893e-428acf9c78d4}, !- Handle + {229fe07a-4743-4bf7-b04f-c512f231891a}; !- Construction Name + +OS:StandardsInformation:Construction, + {6b673332-aa04-41bf-814c-936af46a78dd}, !- Handle + {2453e249-ae1c-460b-aa60-7eb898f6a254}; !- Construction Name + +OS:StandardsInformation:Construction, + {99cd3067-efcc-414c-9c6e-935cf0c76c93}, !- Handle + {250127bc-804c-4e2d-a1a8-a3728b1381a5}; !- Construction Name + +OS:StandardsInformation:Material, + {f6e0cea0-6a29-4429-a912-4c727badbc31}, !- Handle + {251ae3d9-3a4d-40d6-a4b3-75b3c7dea768}; !- Material Name + +OS:StandardsInformation:Construction, + {69962182-302b-43b1-abfb-b18aff352841}, !- Handle + {25760b38-3c52-4244-a95b-a249b612add5}; !- Construction Name + +OS:StandardsInformation:Material, + {9d9605b3-4842-48ec-9291-a5058f7c5759}, !- Handle + {267950c2-3d78-4ff0-bf40-9cb056395b5e}; !- Material Name + +OS:StandardsInformation:Construction, + {f6064c63-b559-4452-824d-98e18751f9c3}, !- Handle + {26f40f8f-15d2-454f-9375-e6a4c4947744}; !- Construction Name + +OS:StandardsInformation:Construction, + {0dfbaee1-36a2-4fb8-ad40-b125bfafd1e2}, !- Handle + {27f6750f-61e9-44c1-98a5-3bec8870aaee}; !- Construction Name + +OS:StandardsInformation:Material, + {de7708da-86d0-4cce-a750-748eafd3226f}, !- Handle + {285c755e-83ad-4008-aab9-aaabfb52220a}; !- Material Name + +OS:StandardsInformation:Construction, + {32a066df-a556-4367-a3fa-aec502a6ced2}, !- Handle + {29a77cbd-2c26-4be4-8b73-024d7a11ce90}; !- Construction Name + +OS:StandardsInformation:Material, + {74229529-49aa-48f7-b3f4-126dba1c0625}, !- Handle + {2ab3fd95-296e-40e3-bb23-11b3ba00151b}; !- Material Name + +OS:StandardsInformation:Construction, + {6aff803d-10b4-4ace-a63a-846e854789c2}, !- Handle + {2b247104-34a3-4dfa-bdbc-84bdd6d83408}; !- Construction Name + +OS:StandardsInformation:Construction, + {51140e8c-c6c2-4da0-9843-0a34a79ad88c}, !- Handle + {2b78a540-2896-42c9-88f8-1429b77ab0fb}; !- Construction Name + +OS:StandardsInformation:Material, + {2b994995-7e1f-4c70-a865-f6a1f45e1fd1}, !- Handle + {2babb5aa-f8cd-449e-8f9c-d68bce8aeaef}; !- Material Name + +OS:StandardsInformation:Construction, + {13160867-0e30-4794-bf5a-fa0e0a19222d}, !- Handle + {2bc78f1d-a291-4253-8e84-fab9554b03be}; !- Construction Name + +OS:StandardsInformation:Construction, + {b9749bca-29c3-48f8-8472-498aaa5674a2}, !- Handle + {2c3cf52e-4fb9-4c48-941f-e9119d43aa27}; !- Construction Name + +OS:StandardsInformation:Construction, + {7fd18b2d-d4a5-4209-b7e8-97eaba5e0790}, !- Handle + {2c80df77-ab3c-4105-b83d-b80435285ca3}; !- Construction Name + +OS:StandardsInformation:Material, + {d3d3890f-e5fe-47db-810b-5f822a1e6999}, !- Handle + {2ce0b8ea-9c08-4335-80f0-eebc31d68310}; !- Material Name + +OS:StandardsInformation:Construction, + {9af18246-aa8b-4955-a33f-eb90cd32982c}, !- Handle + {2ceb298a-c68f-4557-b3f6-7e45e507b4a5}; !- Construction Name + +OS:StandardsInformation:Construction, + {7343f334-c1d0-4639-86ab-ef041f9c7341}, !- Handle + {2d2a5257-191a-4faa-bf05-2b8a9e356cad}; !- Construction Name + +OS:StandardsInformation:Construction, + {b04dbf2f-6432-40d3-8b46-89b36d1ba4b7}, !- Handle + {2d626ab3-f818-48f3-9875-348b89541a0e}; !- Construction Name + +OS:StandardsInformation:Material, + {59dbb5ab-22f2-4b96-810b-8c0ff56b4648}, !- Handle + {2d62cbe5-356f-40d3-9c14-873aedd01656}; !- Material Name + +OS:StandardsInformation:Construction, + {2c7251de-269a-4e33-ad3a-c7e2ea1d574c}, !- Handle + {2d85e5ee-c941-4741-8c38-d9c86a8b0f88}; !- Construction Name + +OS:StandardsInformation:Material, + {1c17ba63-d07e-4dc0-acb1-41df473d18e3}, !- Handle + {2df227ba-c555-4563-9ee6-1ca7f5daa477}; !- Material Name + +OS:StandardsInformation:Material, + {18d9c9b7-99bc-4bc4-8f8a-da1585c7babf}, !- Handle + {2e2e1999-2af3-4929-92a5-5f99011c3f83}; !- Material Name + +OS:StandardsInformation:Construction, + {ff4f2d95-e9b2-400f-b07b-d7e3c192585a}, !- Handle + {2e321670-4a1c-46ac-a21e-a291cff9bf26}; !- Construction Name + +OS:StandardsInformation:Construction, + {e9470637-013a-4217-a7e0-186be6fedd31}, !- Handle + {2e5300b1-4145-4c66-abd8-a70d1ea83ee4}; !- Construction Name + +OS:StandardsInformation:Construction, + {49d627c5-9571-42e8-b0eb-32fc249db0e0}, !- Handle + {2e7d6ea0-3a5d-4344-a646-dd597011b02e}; !- Construction Name + +OS:StandardsInformation:Material, + {168697d0-74d6-41d3-b56b-b952deb1e9b2}, !- Handle + {2eaf7613-1aac-47eb-8045-4a170a0872f4}; !- Material Name + +OS:StandardsInformation:Construction, + {2a1b374f-6e9c-4597-a07f-394c5dc0436d}, !- Handle + {2ebd3dda-1382-4da5-8989-78b613316d0b}; !- Construction Name + +OS:StandardsInformation:Construction, + {6150feae-b150-4abc-b6cd-b7963ebe8a06}, !- Handle + {2f506cec-0ad4-4f15-a721-dc81052f09c3}; !- Construction Name + +OS:StandardsInformation:Construction, + {ae1b5e7c-6b28-4da1-82f8-4c554a872e08}, !- Handle + {2f5b9fc8-1bf3-49f8-9d1b-694ec6020681}; !- Construction Name + +OS:StandardsInformation:Construction, + {e03b1826-8dd4-43d9-8030-f9e515036dc1}, !- Handle + {2fa39521-aa6d-4f63-96cd-b204e218fbd8}; !- Construction Name + +OS:StandardsInformation:Material, + {ed362771-2ab5-4a58-b9ca-3c7bcdbb9ff3}, !- Handle + {30764fc6-f8f9-4256-b34e-8c93586ecd97}; !- Material Name + +OS:StandardsInformation:Construction, + {59186ad9-ee55-4aff-b0a8-33ebe21455de}, !- Handle + {310c8ddd-463d-44ad-91f1-7496b038f869}; !- Construction Name + +OS:StandardsInformation:Construction, + {d14c2bfa-a312-4790-97c2-288ff23174fe}, !- Handle + {3204b780-9e1c-409d-9649-f71d6cf80a7e}; !- Construction Name + +OS:StandardsInformation:Material, + {65219104-eff9-49b3-b16f-2ea48fa179e2}, !- Handle + {3283864e-de5b-496b-88ec-0a5b8f38e5dc}; !- Material Name + +OS:StandardsInformation:Material, + {744f75f1-43c4-437f-a242-b27abe47e323}, !- Handle + {3382b253-a54b-4d9f-8d4d-2264467816b6}; !- Material Name + +OS:StandardsInformation:Material, + {890ff0bb-8bd3-4d16-aab2-c3cfa808d039}, !- Handle + {352e28a8-b570-493a-8996-1ef906425be7}; !- Material Name + +OS:StandardsInformation:Construction, + {9a1bb328-58f0-43ec-b2ea-a87771502a24}, !- Handle + {35c2b18e-9bbf-464d-9bc4-dc0b6db96010}; !- Construction Name + +OS:StandardsInformation:Material, + {99ed0080-57c2-409b-847e-fb6ea15ab1fe}, !- Handle + {36af3e7f-b317-4c1b-b27c-1df122751208}; !- Material Name + +OS:StandardsInformation:Material, + {df9e008b-01ff-4961-8b49-dc214cf8c869}, !- Handle + {36b09411-6f7f-41cf-b929-e410025c0d35}; !- Material Name + +OS:StandardsInformation:Construction, + {14c27db2-2f5b-4aa9-80ef-e26e84817a9b}, !- Handle + {36cf36ce-7784-429a-8e85-e6adfd7e7a68}; !- Construction Name + +OS:StandardsInformation:Material, + {e715df1f-f53c-4ef4-a050-7e3655499313}, !- Handle + {3742782d-7a70-4ab1-b3f6-faa686ea3795}; !- Material Name + +OS:StandardsInformation:Material, + {925b78e0-a037-4ae8-ab1c-3979cb833bc2}, !- Handle + {3742ba59-f4b8-4476-9327-1374b76ae341}; !- Material Name + +OS:StandardsInformation:Construction, + {4076d681-e039-4344-b962-194256883206}, !- Handle + {374a6bb5-714d-4439-93c2-ca71d2319bda}; !- Construction Name + +OS:StandardsInformation:Material, + {646d27e8-cc0c-4167-80c5-3771e3f7b12b}, !- Handle + {3798feef-e040-46d8-8383-4edbd7247e03}; !- Material Name + +OS:StandardsInformation:Material, + {dad8ff1e-20b7-4c2d-a686-ca5102fa4fe8}, !- Handle + {37d4d4d7-9b56-4ed4-a862-c8f587759f06}; !- Material Name + +OS:StandardsInformation:Material, + {6fc2ae3e-341b-46c4-a5cb-6366f09e6a9e}, !- Handle + {38bf144d-5e68-44a4-af41-d7498ae39982}; !- Material Name + +OS:StandardsInformation:Material, + {bd8779e6-8cbf-45ad-bc06-b097e4ceae42}, !- Handle + {3a8c7593-79fe-4bf3-91e6-e49840760f51}; !- Material Name + +OS:StandardsInformation:Material, + {8e701cd8-e204-422a-a376-12297c48ff56}, !- Handle + {3abd39e7-db00-4317-9662-ee4980ad7966}; !- Material Name + +OS:StandardsInformation:Construction, + {e2f85258-692a-4f8f-af8d-b5cd730fb768}, !- Handle + {3aee06a8-195c-4d70-8ad8-413cdd12a1e8}; !- Construction Name + +OS:StandardsInformation:Construction, + {79396c8c-f295-440a-8145-8085bedd7367}, !- Handle + {3b21468b-c925-45ae-ab07-223778b83323}; !- Construction Name + +OS:StandardsInformation:Construction, + {6b75d707-5edb-4e7c-8a7a-d60f7811e2b0}, !- Handle + {3b88e271-8ae9-4bac-b696-a4a4b4754ed2}; !- Construction Name + +OS:StandardsInformation:Material, + {ebd8bbb8-7f59-4387-a6b7-7fad8e0515ce}, !- Handle + {3bd3e906-e4a8-4f83-b54f-b535ba015e8f}; !- Material Name + +OS:StandardsInformation:Material, + {6169765f-a18e-4713-8def-dd183d111c41}, !- Handle + {3c150716-117e-4d21-acb5-d080c06a5803}; !- Material Name + +OS:StandardsInformation:Construction, + {2969bbc1-6585-4693-a743-2e27c78b8023}, !- Handle + {3c6f13cc-3935-4610-a6c1-614ef2d44ded}; !- Construction Name + +OS:StandardsInformation:Construction, + {1bcc1fc5-47cc-461b-ad0d-6ef532aafc55}, !- Handle + {3cf16b7d-fe63-4419-ad11-5be27842d922}; !- Construction Name + +OS:StandardsInformation:Construction, + {236dc1e4-26ad-4b9b-ae4e-a421df1d65a7}, !- Handle + {3e61609c-da4e-442b-a2c3-8ce608116f39}; !- Construction Name + +OS:StandardsInformation:Material, + {6ce960c3-9b89-416d-bfcd-d59fee31f8f7}, !- Handle + {3ea07875-b6e2-4a1d-b5e0-fdf334dac5a4}; !- Material Name + +OS:StandardsInformation:Material, + {a07583f2-5cd7-46fd-89c0-40aa3bf04c6b}, !- Handle + {40186e99-548a-4aa7-aa6e-dbd360f94a46}; !- Material Name + +OS:StandardsInformation:Material, + {379baec7-944f-4c8e-8cbf-41c679038cb1}, !- Handle + {403cfab3-e6c6-4c25-8b9c-0a03a2b4829d}; !- Material Name + +OS:StandardsInformation:Construction, + {cfd1d0dd-b2d2-4940-ba4d-b9c9de1beaf7}, !- Handle + {40a263cc-e7bc-4121-a356-b790201c1971}; !- Construction Name + +OS:StandardsInformation:Material, + {b4d12cfd-a6ea-4cf1-8c53-c97070f490e9}, !- Handle + {40d18374-172e-45d2-9242-8adeec900424}; !- Material Name + +OS:StandardsInformation:Material, + {6e921f66-7ef3-4eef-9ef8-e3a15d8f66c1}, !- Handle + {41759e2f-72a6-4fca-a9aa-05ad1695bc31}; !- Material Name + +OS:StandardsInformation:Construction, + {7ad933e7-8c1b-45f5-b66f-929e29a3c54f}, !- Handle + {421bfa74-8ca6-4ca8-b542-c34e1e21f2d1}; !- Construction Name + +OS:StandardsInformation:Construction, + {45a1a714-8543-4198-a6ec-1106cd848a92}, !- Handle + {4305f663-3413-4c5a-88bb-3582bc2b4737}; !- Construction Name + +OS:StandardsInformation:Construction, + {d5b13984-ed48-44aa-a5c6-06cd657abd77}, !- Handle + {43826cc3-a974-4260-b992-d3dce843c64e}; !- Construction Name + +OS:StandardsInformation:Material, + {55911ccd-70a1-4cb0-8ddd-91ce132f761f}, !- Handle + {457ea523-ad7a-477d-9710-eb5f588d471c}; !- Material Name + +OS:StandardsInformation:Construction, + {e5cd7415-e843-4bb3-8f90-916a78d0ac66}, !- Handle + {45fb3ed8-736f-4917-8da1-66729810499b}; !- Construction Name + +OS:StandardsInformation:Construction, + {1390d0e2-4165-42a9-a8f0-31f37f003807}, !- Handle + {4633407f-29f4-4668-8e74-ee62c5606f8f}; !- Construction Name + +OS:StandardsInformation:Material, + {cd89503c-f7fc-483b-974c-adfcf2e3daaf}, !- Handle + {466646b2-5dde-4034-87a5-71ddeaba4d17}; !- Material Name + +OS:StandardsInformation:Construction, + {5fce2b48-ced2-4b9b-a690-37e20bd6cfcd}, !- Handle + {46a50861-4755-4d78-879b-77227ae4f0f5}; !- Construction Name + +OS:StandardsInformation:Material, + {193f02d6-63b3-4dd0-8d2b-c9f93f02d164}, !- Handle + {47550165-0294-4c04-b5f1-16f83f496643}; !- Material Name + +OS:StandardsInformation:Material, + {90117281-c9ae-44ed-aec6-5c1d210cb125}, !- Handle + {48641f8f-f958-44a6-bbc7-aece5052a151}; !- Material Name + +OS:StandardsInformation:Material, + {ab3a22d8-8783-4479-9d3f-e34911d7661b}, !- Handle + {487907f9-e900-4ee0-acff-8e287b84fd16}; !- Material Name + +OS:StandardsInformation:Construction, + {14e88603-f5ec-40a1-9d77-a02e3f2e9f3f}, !- Handle + {48b17c18-d74b-4952-9614-26d7d5cdbec7}; !- Construction Name + +OS:StandardsInformation:Construction, + {738ebde7-08e4-4b03-9697-a466d7b4d04a}, !- Handle + {4a98993b-3f72-4d7f-9482-43cb2eac29f0}; !- Construction Name + +OS:StandardsInformation:Construction, + {f2277598-be3e-4ca7-ba50-61d57ff85cea}, !- Handle + {4b680e5e-03f1-4a58-9c53-2677d80908ec}; !- Construction Name + +OS:StandardsInformation:Construction, + {97861f76-b3d0-41fd-9b90-a196b5b88567}, !- Handle + {4b98e947-c75b-4035-bc28-64d008ae900b}; !- Construction Name + +OS:StandardsInformation:Construction, + {6bcfaf16-6ca1-424d-928c-621757ff1bb2}, !- Handle + {4ba843e6-bd47-4025-90d1-a0d1ae6ccd72}; !- Construction Name + +OS:StandardsInformation:Material, + {fa3499b6-bb55-4d4f-b638-65c516bdf1f6}, !- Handle + {4c514103-937e-4b44-9baf-bdaa13709d85}; !- Material Name + +OS:StandardsInformation:Material, + {2c74e304-2f5e-41b4-9c09-7091c26140d6}, !- Handle + {4cea9621-cd12-4584-9d39-b53c8fd35ccf}; !- Material Name + +OS:StandardsInformation:Construction, + {ba2c8c06-6349-4fea-8f71-a4e637b03527}, !- Handle + {4e86956f-d871-4501-9327-ec0c1d0d265e}; !- Construction Name + +OS:StandardsInformation:Material, + {3f8bd64e-af8f-41c0-bfde-b41f5b2773b5}, !- Handle + {4edd9dae-6bbc-451f-bedf-af0a3fa48913}; !- Material Name + +OS:StandardsInformation:Construction, + {4a61be8c-d2b5-45f0-917a-7cf3897c1eee}, !- Handle + {5022aca7-70a1-47d5-8448-87946c2c0d9e}; !- Construction Name + +OS:StandardsInformation:Material, + {6eddd949-d288-4e57-ac91-ba1aeaccff5a}, !- Handle + {507639c5-51b4-441e-a06f-ab1aeb78cb2e}; !- Material Name + +OS:StandardsInformation:Construction, + {57477285-0e20-4914-b43a-19350ea07e97}, !- Handle + {51883d9a-dc3a-4004-a29c-db245a28da64}; !- Construction Name + +OS:StandardsInformation:Material, + {33d72016-9da0-48f7-8a07-5e7e5d10f6fa}, !- Handle + {5207ff92-bd6c-47c7-b97c-7272707c1e50}; !- Material Name + +OS:StandardsInformation:Construction, + {a6763e45-a05d-4857-be87-20903151838d}, !- Handle + {521959d3-cf0c-4898-ba0d-e8ad5f099c9e}; !- Construction Name + +OS:StandardsInformation:Material, + {072258eb-4a80-4d79-bf17-6be015e32882}, !- Handle + {5237a014-0a24-4c35-b581-be0bfae0158b}; !- Material Name + +OS:StandardsInformation:Construction, + {9a859cc5-0d37-45e7-b183-0e3e8ccf6834}, !- Handle + {526c9223-e9e0-4e16-8740-d0ba25ad2757}; !- Construction Name + +OS:StandardsInformation:Construction, + {d46ee420-74eb-4f50-b480-11e182c5f89c}, !- Handle + {5468c83f-b03f-4d18-a523-ac5b1ea1e9c6}; !- Construction Name + +OS:StandardsInformation:Construction, + {78ad58b3-3be8-44e4-9407-cccf1be60496}, !- Handle + {54be85cf-6dcd-4ab6-8642-d69d8562add1}; !- Construction Name + +OS:StandardsInformation:Construction, + {88058079-961e-46a1-b2dd-be4ebfb50b89}, !- Handle + {554df0fb-ac73-4667-ad48-cb0c9ceea9ce}; !- Construction Name + +OS:StandardsInformation:Construction, + {33c5927f-2815-4946-a61a-e70bfdd014ec}, !- Handle + {556ddb33-f7fe-4779-b39e-f73c228aab60}; !- Construction Name + +OS:StandardsInformation:Construction, + {eddccf25-5b74-4012-8d27-8dfb4dc94b6e}, !- Handle + {56c4e536-897c-4a6a-8db5-fe89f72bcd36}; !- Construction Name + +OS:StandardsInformation:Material, + {c4842a18-e306-48a3-95a5-5b3e4d00f08d}, !- Handle + {573954b3-a148-43de-b588-4b32a9692d10}; !- Material Name + +OS:StandardsInformation:Material, + {2d3c7795-90ee-4d7b-93c2-0e9fb8962f7c}, !- Handle + {576fcd01-e02d-41e8-adb2-8261ecb52db5}; !- Material Name + +OS:StandardsInformation:Construction, + {ac0268a8-81db-4f74-bcf4-630c94bbaa3c}, !- Handle + {577cb6f9-d3dc-40a5-a29c-35642cfa479d}; !- Construction Name + +OS:StandardsInformation:Material, + {795d02b1-37e2-48cc-a86d-3726afa54e48}, !- Handle + {57e0e90f-829b-4442-b945-9c912d2fcdeb}; !- Material Name + +OS:StandardsInformation:Construction, + {3c2ed468-2ca3-40ec-8fa2-75ca9b9bb03e}, !- Handle + {586f1db6-48af-4c26-a107-4bf2935b1272}; !- Construction Name + +OS:StandardsInformation:Construction, + {22427383-8a50-4890-86d5-e661683f2b6b}, !- Handle + {58a8b18f-4065-4772-b161-f70f0b12a01d}; !- Construction Name + +OS:StandardsInformation:Construction, + {b04e478c-bc6b-4e1e-91c7-4ba1a81b3b80}, !- Handle + {58e22e56-6c65-4a81-b37d-32864713c067}; !- Construction Name + +OS:StandardsInformation:Material, + {2b292643-1b52-4c8d-b205-cd0978ca74eb}, !- Handle + {595128f1-45cc-4562-9c3f-6e6f22a45619}; !- Material Name + +OS:StandardsInformation:Construction, + {6bfe0c28-8a7f-4073-bfa0-b33553fa2c83}, !- Handle + {59f81c33-d11b-41c0-ab16-231277612ad2}; !- Construction Name + +OS:StandardsInformation:Material, + {5b540aaf-703d-4212-9c20-1cc1a6289541}, !- Handle + {5a1cfb48-4c6b-4de5-8596-f6caa5fb32f5}; !- Material Name + +OS:StandardsInformation:Construction, + {6932470a-73b8-4d9f-bda0-c11894215757}, !- Handle + {5a88eebd-7acb-4418-9e0f-74c8870ee754}; !- Construction Name + +OS:StandardsInformation:Construction, + {991ebfee-ff42-4ab1-92e4-274a010f2402}, !- Handle + {5c0b6888-6b92-4e5f-b4cd-b322d3a309b4}; !- Construction Name + +OS:StandardsInformation:Material, + {5a3fe3da-4dbb-4434-9262-5220a6cde83b}, !- Handle + {5cb894d1-2000-4b38-be1a-5e242227443f}; !- Material Name + +OS:StandardsInformation:Material, + {95653567-9a97-4e27-9c3e-4c08ec3b3b6a}, !- Handle + {5d572caf-cc14-4989-a3dd-bb5c75394398}; !- Material Name + +OS:StandardsInformation:Construction, + {6f6f0ed5-5f92-476d-93bd-b4b3948f3395}, !- Handle + {5d67d707-dd00-426d-859f-9d43e04d0b52}; !- Construction Name + +OS:StandardsInformation:Material, + {38878455-9fdf-48f5-b390-ec214a1ff09d}, !- Handle + {5d87f774-1ae9-44e8-b865-03d9d452ab4e}; !- Material Name + +OS:StandardsInformation:Construction, + {65927f89-267c-42cb-bd12-bad1b3650ef7}, !- Handle + {5da9bf47-edfc-4bf5-adb0-48d0e61c9c11}; !- Construction Name + +OS:StandardsInformation:Material, + {84edfa37-6a6e-47e2-be8c-8434caa84b56}, !- Handle + {5dee128b-d7ca-4940-9405-1e2673b368d8}; !- Material Name + +OS:StandardsInformation:Construction, + {295c2e54-0538-4fa4-8ac0-8462e7f80926}, !- Handle + {5e2d2fe9-81e8-47ab-a5d8-945ea59ac01b}; !- Construction Name + +OS:StandardsInformation:Material, + {74e8ed40-1910-4c0c-9be5-d578479b63ca}, !- Handle + {5ea43ffa-d77d-45d4-87ca-09e4891fa817}; !- Material Name + +OS:StandardsInformation:Construction, + {bb1748a9-e1ff-4ccc-b628-ded349eb8ef5}, !- Handle + {5fa767d7-cc34-4f11-8188-01c59e207828}; !- Construction Name + +OS:StandardsInformation:Material, + {35176d9b-300f-40cd-95a5-cf8304b1347d}, !- Handle + {60008ac1-d4ee-4ee2-8542-a2c652b4a2fc}; !- Material Name + +OS:StandardsInformation:Construction, + {42a84f53-d484-40af-8017-70021c5702fd}, !- Handle + {60dd54cb-05f9-4d78-8f5f-5029ba4c42f3}; !- Construction Name + +OS:StandardsInformation:Material, + {522857ca-bd43-487b-9382-532d86f80c65}, !- Handle + {611b095f-a00c-4c25-9b10-a75bfa0d68f3}; !- Material Name + +OS:StandardsInformation:Material, + {b928332e-73f9-4acd-84ca-efe1ce5f5fa7}, !- Handle + {61818b42-ed2d-469b-a939-fca2c0ce56b6}; !- Material Name + +OS:StandardsInformation:Construction, + {37c73844-e293-4de9-912e-0d8d12d4c0ff}, !- Handle + {61ceda32-f6d0-4706-8559-3d21c312ffd6}; !- Construction Name + +OS:StandardsInformation:Construction, + {974ff185-b9ad-45e9-b504-c48312e31e16}, !- Handle + {61ed89a3-e128-4e4f-8a0c-4ff2f5aa17fb}; !- Construction Name + +OS:StandardsInformation:Construction, + {d8437085-fb63-41f9-9a85-4286821eb4b2}, !- Handle + {6203b789-b4b1-44ff-97b6-625c9291cfcf}; !- Construction Name + +OS:StandardsInformation:Material, + {e416f35b-2f66-4e58-9616-00d50eb17e40}, !- Handle + {622b339e-da2b-493c-9822-99eba6be292e}; !- Material Name + +OS:StandardsInformation:Construction, + {9efd579d-f444-4337-bee0-6cf5b52b4e15}, !- Handle + {62cd9cd4-fff8-4556-a4fe-a1f9e7d75d74}; !- Construction Name + +OS:StandardsInformation:Construction, + {7548cb84-ad45-4235-bafd-c3dc68b5683f}, !- Handle + {63829d57-1648-4ca7-b003-631013a942e3}; !- Construction Name + +OS:StandardsInformation:Material, + {b00bb8c3-938f-4449-80a9-90cfee74893f}, !- Handle + {6459360a-39ae-45e3-bb7e-f31f7e4c3a26}; !- Material Name + +OS:StandardsInformation:Material, + {8474c0f0-fcf0-4591-a866-06ba66ba5242}, !- Handle + {64c8ae98-3b12-4ea6-8077-1d430a100c05}; !- Material Name + +OS:StandardsInformation:Construction, + {0c9bc4e9-cecb-40b2-81b2-6126df3d1f49}, !- Handle + {64f15765-f991-48a0-9ce5-8f8b356cfe37}; !- Construction Name + +OS:StandardsInformation:Construction, + {53d08aef-0ca8-46bb-8a06-8be818cb62da}, !- Handle + {6602d9ac-c8a8-45a5-9351-1578477dec3c}; !- Construction Name + +OS:StandardsInformation:Material, + {ed014a7a-6dfe-4834-9e71-e4c3dbf97f4a}, !- Handle + {665f1008-76ba-4df3-a89d-a0cb3009b6b3}; !- Material Name + +OS:StandardsInformation:Material, + {26513138-9971-423f-897b-152be2717838}, !- Handle + {667ac566-3d51-47ec-89ee-102f3bdd0f81}; !- Material Name + +OS:StandardsInformation:Material, + {6d969cc1-cf8f-40e7-b4d7-abbbab895131}, !- Handle + {669033f3-0d50-445b-96a0-2732ad078ff3}; !- Material Name + +OS:StandardsInformation:Material, + {ce8fd65b-8bff-4c9c-833e-98b976d1feb1}, !- Handle + {675b3bf7-30eb-4ff0-8ac3-939ef89adb8e}; !- Material Name + +OS:StandardsInformation:Construction, + {3870df47-a5a0-4172-aec2-d3870749ad54}, !- Handle + {682b4713-b8b8-47d5-8081-635419d0e9c2}; !- Construction Name + +OS:StandardsInformation:Construction, + {8d8d0906-9a6e-480e-8b43-22cfa06c1b6f}, !- Handle + {68ada42e-da1a-452c-928c-85754bff621e}; !- Construction Name + +OS:StandardsInformation:Material, + {05882b54-1b6e-4a79-9184-a26317c24fa1}, !- Handle + {6959fb0b-2c57-4e3c-a594-54723a64d263}; !- Material Name + +OS:StandardsInformation:Construction, + {8dfdeef0-b043-46dc-9c43-32fef821d137}, !- Handle + {699b3530-fb2a-46fc-b17a-abdb65f5611c}; !- Construction Name + +OS:StandardsInformation:Construction, + {73c9cc8f-3be1-4184-891c-73d3fb22f6e6}, !- Handle + {6ad70edf-d21a-4412-bc1a-ed4241c7e01a}; !- Construction Name + +OS:StandardsInformation:Construction, + {3318cad6-22af-4b16-be23-3d18a085edaf}, !- Handle + {6ae908d7-a764-4f19-b9b5-e132a0534541}; !- Construction Name + +OS:StandardsInformation:Construction, + {6b314b8e-a902-42ee-b45d-8d8654ab68f1}, !- Handle + {6afde2c2-12f3-4316-8386-45ce533e1d6b}; !- Construction Name + +OS:StandardsInformation:Material, + {f33c63b2-940a-4ce3-b887-7395cacee88d}, !- Handle + {6b566f4c-9961-4329-bd18-69b251702006}; !- Material Name + +OS:StandardsInformation:Material, + {61474874-e263-4538-a027-6f014940cccf}, !- Handle + {6bc88261-3dc2-453d-a10e-d55872bda8aa}; !- Material Name + +OS:StandardsInformation:Material, + {8625d836-8d8b-4ff4-8457-7f32d04fc6d7}, !- Handle + {6cda1240-0a9d-440a-bc4a-3157f4d1f257}; !- Material Name + +OS:StandardsInformation:Material, + {8ddb7f66-5352-4252-acf8-f56e535396f2}, !- Handle + {6d48131d-e51a-45c6-9ef4-2f3111c0d744}; !- Material Name + +OS:StandardsInformation:Material, + {57185268-7031-483c-9b0c-aa8e8a1ea49f}, !- Handle + {6d8b7e72-723f-48a0-b636-c662b76a1580}; !- Material Name + +OS:StandardsInformation:Construction, + {6118853b-b5f2-4542-969f-962557f4bd64}, !- Handle + {6e1ea055-9c9a-4a34-b944-ccb83a0c6f36}; !- Construction Name + +OS:StandardsInformation:Material, + {81d3afe0-05fb-4652-9f08-707fb8e305c7}, !- Handle + {6e34a290-d46e-4857-acc4-a8633d9a4132}; !- Material Name + +OS:StandardsInformation:Material, + {926b2125-ef0d-49b4-b753-b9bfe5348ea4}, !- Handle + {6e535b8c-5f4e-49b4-9c8c-53def4ee5b3e}; !- Material Name + +OS:StandardsInformation:Construction, + {347c7796-efa2-4d97-8a6e-a239190d46a3}, !- Handle + {6e5454ed-6b69-4292-8129-2fe82ac13668}; !- Construction Name + +OS:StandardsInformation:Construction, + {aca0932d-f9b1-4bbd-b423-25a4764c49e9}, !- Handle + {6f096622-fde6-4ee1-a796-f215fede3a87}; !- Construction Name + +OS:StandardsInformation:Construction, + {427280ef-e2ee-4f57-8ce6-fb30f466fad7}, !- Handle + {700dd7d3-d8b2-4f85-943a-36af791c1a6d}; !- Construction Name + +OS:StandardsInformation:Construction, + {f3bdfa28-68a8-429e-bd61-2136597c8c02}, !- Handle + {7089168a-67d3-42ce-87e5-96ea0ef5d558}; !- Construction Name + +OS:StandardsInformation:Material, + {f6e7f8a2-3ae1-43d9-bcab-13ef69ea1010}, !- Handle + {709d09ee-eb77-48f4-a25d-789c1c2f6f3e}; !- Material Name + +OS:StandardsInformation:Material, + {c0d9d8c2-a56c-4894-8365-552905af0e27}, !- Handle + {712c0657-5cf4-4727-9876-8067a8ab2d52}; !- Material Name + +OS:StandardsInformation:Construction, + {fd9854cf-cdc3-48b6-856c-01aafaabf24f}, !- Handle + {71fc821a-a0a0-4a71-a8cd-fabd047baaba}; !- Construction Name + +OS:StandardsInformation:Material, + {ce708bf6-8202-4be8-8d5c-6480809a49eb}, !- Handle + {72275a73-e28f-4918-b3a0-84e006345cd1}; !- Material Name + +OS:StandardsInformation:Material, + {1bc39d07-ecd2-4e74-b4e6-527d44feb9e8}, !- Handle + {730f7eba-0c3a-463a-8eeb-0021cd9139dc}; !- Material Name + +OS:StandardsInformation:Material, + {9f0fc066-a8d2-4d89-a85d-5c37da8d99c0}, !- Handle + {739dfbbb-38ee-46a0-bc5c-6231462a073e}; !- Material Name + +OS:StandardsInformation:Material, + {0d1b7fd2-38fc-4c3f-8fa2-f66bb6dd5b53}, !- Handle + {74c178fd-0d40-4017-9362-43405deb126d}; !- Material Name + +OS:StandardsInformation:Material, + {655bbdaf-1e6c-44e2-a538-f6a277997d6a}, !- Handle + {75e6df43-8bdd-41f4-b584-1565fa1eaa92}; !- Material Name + +OS:StandardsInformation:Construction, + {631a155d-ca1d-4e07-9c8c-8e3fd7d64ae4}, !- Handle + {76769547-9c81-4bbf-9f2d-2cecfc59a70b}; !- Construction Name + +OS:StandardsInformation:Material, + {d9daeb8c-5f59-4c7c-abdc-519f541ef0c1}, !- Handle + {768a136f-c767-4347-9c50-942c41532c56}; !- Material Name + +OS:StandardsInformation:Construction, + {5156d470-6b4f-4ef2-b224-d128118fa342}, !- Handle + {76ae8b32-9a9b-45e2-a2ed-2a41e6747243}; !- Construction Name + +OS:StandardsInformation:Material, + {dab6a0c2-d57f-4eeb-80f7-439804b701a2}, !- Handle + {77f3687b-2f12-492b-b087-07d7e754a74a}; !- Material Name + +OS:StandardsInformation:Material, + {571002c5-a079-4e7f-b843-f499392d4b48}, !- Handle + {7843db8a-1cea-41c1-aff4-4262ec063824}; !- Material Name + +OS:StandardsInformation:Construction, + {afaffbed-3d6c-43ff-859c-c64cb1d97879}, !- Handle + {786ea298-b54c-4b7c-9261-ff0bc94433cd}; !- Construction Name + +OS:StandardsInformation:Construction, + {f3b8cef9-78e0-4e3d-b7de-86d8fd8d8b29}, !- Handle + {7888a90e-7f9b-4b72-b1ef-43ae75af9487}; !- Construction Name + +OS:StandardsInformation:Material, + {371c80d9-e3a2-4cf8-b0a7-30fd331b2873}, !- Handle + {78b7b95f-9ce0-44dc-87c6-b9c7de34e775}; !- Material Name + +OS:StandardsInformation:Construction, + {f4590e04-0eb7-4e34-8ecf-65e8b3733782}, !- Handle + {78dc9de4-824c-4a33-8487-ab56b8a8b387}; !- Construction Name + +OS:StandardsInformation:Construction, + {95d9bab6-8bcc-41ea-b29d-c91bb0fd6717}, !- Handle + {7954b1de-6a1c-40aa-8ff5-ebcc278e204b}; !- Construction Name + +OS:StandardsInformation:Material, + {3ba24147-85f5-4a41-9bdd-e6f734966f5e}, !- Handle + {79b46406-c92d-4a92-b340-038c4e963e57}; !- Material Name + +OS:StandardsInformation:Material, + {f77ea7c8-ea6f-4bb1-af29-01be685eb337}, !- Handle + {7b1baf7a-5284-488e-a616-cd7a0e78eba0}; !- Material Name + +OS:StandardsInformation:Material, + {baf44c63-26e2-4ed6-b475-98bc94b238e4}, !- Handle + {7b1f2f18-b035-40ca-9837-4de4e5200c12}; !- Material Name + +OS:StandardsInformation:Construction, + {6a2a309a-a2ae-4913-a903-6e8054347229}, !- Handle + {7b62572c-8b6d-419c-be9a-69b285f3cb20}; !- Construction Name + +OS:StandardsInformation:Material, + {287538ac-ea2d-4b22-888f-e5ef460cfc12}, !- Handle + {7bc65a4c-e445-44d6-95cb-0870e2668362}; !- Material Name + +OS:StandardsInformation:Construction, + {cc787672-781b-4ab7-92c0-79c92f05ca66}, !- Handle + {7db656c8-34d8-488e-8181-27beec5f738d}; !- Construction Name + +OS:StandardsInformation:Construction, + {0f55db82-0006-4de7-8d9c-0ffb25a9aa2e}, !- Handle + {7dce1af4-9cea-4aac-b5e7-d16944c5f94f}; !- Construction Name + +OS:StandardsInformation:Material, + {671bd12b-8fa8-4581-ac1f-3db7053a64bd}, !- Handle + {7edfbf18-0ec5-47eb-9293-bab785d767f5}; !- Material Name + +OS:StandardsInformation:Material, + {c0aadb47-2d3d-4be5-8c1f-eda6b2449fb7}, !- Handle + {7f374163-eb1a-448f-b9ce-3a64653055b9}; !- Material Name + +OS:StandardsInformation:Material, + {5818af2a-29fc-45b0-97a8-448a290c2080}, !- Handle + {7f9d9a25-3a06-4085-8e56-163a6b258511}; !- Material Name + +OS:StandardsInformation:Material, + {929de3d9-5528-47bb-8bca-7ac162c36f6d}, !- Handle + {7fcaccc0-2813-4b61-b406-de3a4bec33ee}; !- Material Name + +OS:StandardsInformation:Construction, + {438f8958-0d36-4baf-80ca-993383b44fcb}, !- Handle + {7fec2da9-16cd-4a08-8da1-af3225845321}; !- Construction Name + +OS:StandardsInformation:Material, + {037f04c1-8a7e-43f7-9eb5-0b4cf18acea2}, !- Handle + {8019b5f5-adde-4511-9e5e-6b281149013f}; !- Material Name + +OS:StandardsInformation:Material, + {0ebe453c-6873-4380-acb9-6cfefd97ae6c}, !- Handle + {808b6180-2f7b-4809-a027-bb4746344e2d}; !- Material Name + +OS:StandardsInformation:Material, + {b507f27f-ab3f-4fae-86ae-72a781a09049}, !- Handle + {80b2e3ec-69a9-49a1-9793-7f1d0e532921}; !- Material Name + +OS:StandardsInformation:Material, + {fa9b359a-71b7-4977-861f-f8e6839d0202}, !- Handle + {80d35209-1fc3-4c27-9b04-ea75e1ffd844}; !- Material Name + +OS:StandardsInformation:Construction, + {5a2c9203-9a5b-4340-a2c3-1d5db46ac430}, !- Handle + {81a69226-adcb-4250-a9ee-6d43ac0beca5}; !- Construction Name + +OS:StandardsInformation:Construction, + {df2f72e6-c66b-4a2e-9aea-961c9e40a250}, !- Handle + {823bb33c-58ec-4be8-a182-071aa7c28e77}; !- Construction Name + +OS:StandardsInformation:Construction, + {46a66df8-3447-463f-aa2f-2f1e74e1f7ff}, !- Handle + {8272d738-83c0-4395-a4f3-5c712152b20c}; !- Construction Name + +OS:StandardsInformation:Material, + {e9853e22-86e0-49d9-ab77-07321ff6d5b1}, !- Handle + {83088629-4598-4a88-9e3c-cbedee5e2f96}; !- Material Name + +OS:StandardsInformation:Construction, + {3d6e7639-05f8-478a-901c-fbe1dd9f759a}, !- Handle + {8359ac61-563d-47e8-b3c3-31dd372cb7c3}; !- Construction Name + +OS:StandardsInformation:Construction, + {9d10f264-9122-4708-bd41-301e6dfb99ec}, !- Handle + {8385b02b-b035-414b-9c0e-e2483fea2627}; !- Construction Name + +OS:StandardsInformation:Construction, + {2e4916c6-5170-4f3d-b8a7-63d8cf34e262}, !- Handle + {83878fe1-cb57-4fea-8a35-f6bde8a197ba}; !- Construction Name + +OS:StandardsInformation:Material, + {eb9755c6-b0ef-4851-8c45-107dba409333}, !- Handle + {838fcc23-f739-4644-a761-77a891780368}; !- Material Name + +OS:StandardsInformation:Material, + {3c6c0a35-0717-4ab4-8ed3-5021408fc4c5}, !- Handle + {84406085-1f05-4496-94d1-5b0214376c09}; !- Material Name + +OS:StandardsInformation:Material, + {f571cdfc-493d-44d9-aea2-ab7c68d2780b}, !- Handle + {84915ad3-2a9a-48cd-a706-b797e85900dd}; !- Material Name + +OS:StandardsInformation:Material, + {200ea098-69eb-4edf-ac7a-4f052790302d}, !- Handle + {856e6c66-1481-4c35-8ac6-16bc3a0cf9d9}; !- Material Name + +OS:StandardsInformation:Material, + {97f2b828-eafe-48c0-b746-aafc4e276495}, !- Handle + {872e448f-5384-458a-8a1a-e53ec084beb2}; !- Material Name + +OS:StandardsInformation:Construction, + {dd1c81c4-a0fb-42a5-9863-ae892f3b2b5e}, !- Handle + {878f6e82-d37d-447c-a3db-570cdfc4d8b4}; !- Construction Name + +OS:StandardsInformation:Construction, + {4656b8e8-b8e6-488b-bf0d-1f0e046db415}, !- Handle + {87bdb3d7-967c-4ff5-b451-0f8cc8204348}; !- Construction Name + +OS:StandardsInformation:Construction, + {5491f76c-a8a8-4bd5-9190-cbd883d7d339}, !- Handle + {88583124-3da5-474f-b8c8-af9358646da4}; !- Construction Name + +OS:StandardsInformation:Construction, + {3d20f9dd-0c92-4610-9d16-355443b10f45}, !- Handle + {890cbe88-1144-4305-b239-58770e428075}; !- Construction Name + +OS:StandardsInformation:Construction, + {a1fd5887-0224-43aa-a039-78bd9893be75}, !- Handle + {8a3846a1-93f5-4520-831f-ec7a4a41dd38}; !- Construction Name + +OS:StandardsInformation:Construction, + {1ce5cade-1030-45d4-9393-dc669cabeb3f}, !- Handle + {8b31dcf8-a3df-4a61-910a-fe74e8c2705a}; !- Construction Name + +OS:StandardsInformation:Construction, + {3be218af-da05-4e79-bfc8-0e6d4c13d435}, !- Handle + {8b47647d-1403-463f-b6dc-99511a6518bd}; !- Construction Name + +OS:StandardsInformation:Material, + {4d69dc40-9ea4-4cff-aa9a-a975831ef7ba}, !- Handle + {8b631329-3676-4170-985f-d6011db1a63f}; !- Material Name + +OS:StandardsInformation:Construction, + {96b5f5de-dc11-45f7-85d1-c1c1fd0f1f0c}, !- Handle + {8b984ee3-caee-43ca-9ae0-bfb6ab7e9e77}; !- Construction Name + +OS:StandardsInformation:Material, + {bd56325f-6d3e-40b9-806f-f6e951568319}, !- Handle + {8bc3b583-3d71-4bfc-9e85-f8afbd9da9b3}; !- Material Name + +OS:StandardsInformation:Material, + {5f16920f-139d-49df-8521-dbe1c141fc02}, !- Handle + {8bce72e5-a883-448e-8f2c-f32333efc0f9}; !- Material Name + +OS:StandardsInformation:Material, + {6b29b1c3-d22d-4eb3-8b27-f824bc510654}, !- Handle + {8c6e0c46-5eaf-435a-912e-beb3b78fd823}; !- Material Name + +OS:StandardsInformation:Construction, + {05a5eb78-8f88-4869-8357-9d86946f4fa4}, !- Handle + {8c7d5bce-c94e-4a30-ab3b-d0ce2c8eeb92}; !- Construction Name + +OS:StandardsInformation:Construction, + {8ac1385a-e55f-4d95-9602-efdf27cbc13e}, !- Handle + {8c91a1df-6d1c-4bf2-a9a3-913459fe9444}; !- Construction Name + +OS:StandardsInformation:Construction, + {185c396d-d770-4313-854c-8073b6b65c69}, !- Handle + {8cead91e-2c06-4b7d-ab2b-12413fb48a54}; !- Construction Name + +OS:StandardsInformation:Construction, + {a2b850e2-f224-4b07-97f7-89b1d70082c4}, !- Handle + {8d4bdeea-7187-4db5-a21e-7a7f538667e3}; !- Construction Name + +OS:StandardsInformation:Construction, + {24fc460c-f254-43ec-831d-6075fe430af3}, !- Handle + {8db0fa48-aeac-40f3-a3d6-5071380806cd}; !- Construction Name + +OS:StandardsInformation:Material, + {1a93528c-31bc-47cd-b3bd-027cedd29a95}, !- Handle + {8f503dad-bcbe-435d-884c-19aef92e9aef}; !- Material Name + +OS:StandardsInformation:Construction, + {439f6440-248d-4596-947e-0ba4d53d3615}, !- Handle + {8f75cc03-5336-4256-8c65-40f7ba765ac0}; !- Construction Name + +OS:StandardsInformation:Construction, + {30e1ae64-0be7-4c9c-8239-a7466acadeb7}, !- Handle + {8fddf617-4223-4f1a-89f0-c3cf2cff2c91}; !- Construction Name + +OS:StandardsInformation:Material, + {6373a263-f37c-44f7-878b-ca51f065c7bb}, !- Handle + {9037b711-37be-442d-b30c-72b89d553e70}; !- Material Name + +OS:StandardsInformation:Material, + {50afddbd-be6c-4103-81cb-ff4ad81ef52e}, !- Handle + {90ac59bd-1fa3-448c-952d-33ec4d1fc21e}; !- Material Name + +OS:StandardsInformation:Material, + {692fd166-a710-4434-87b9-178b600e59e7}, !- Handle + {90e38fb9-1179-4372-870c-87eef6c3fdd1}; !- Material Name + +OS:StandardsInformation:Material, + {45079e5f-c6fd-494c-ada1-e4f44277f92e}, !- Handle + {90e4e6bd-fc4a-4103-8813-87f951f6a4b8}; !- Material Name + +OS:StandardsInformation:Material, + {104a5fce-5f63-4338-ab14-451a7cd3adca}, !- Handle + {90f04158-e773-4256-9c5a-57ea2521c6b8}; !- Material Name + +OS:StandardsInformation:Material, + {4ae5c693-0cb8-4df7-941f-d132f7091900}, !- Handle + {913f2de0-98e5-4bb0-bdf3-bd733e3a7853}; !- Material Name + +OS:StandardsInformation:Construction, + {102cb890-a19a-40e8-8e96-8bea6cfbc9eb}, !- Handle + {9351c31f-ad24-4cad-805b-1da48072bb45}; !- Construction Name + +OS:StandardsInformation:Construction, + {2d060262-dc10-428d-a21f-f71534a726d4}, !- Handle + {939c0e13-906f-41a7-958d-c2e1e0cfb6ae}; !- Construction Name + +OS:StandardsInformation:Construction, + {19ae8ba5-cd8f-4dff-9b7a-79984ba01a60}, !- Handle + {93ec5ec1-fe7c-455f-a6af-1a60f1c2c9a7}; !- Construction Name + +OS:StandardsInformation:Construction, + {18cd107b-dc4c-460a-9ffe-3f9d3f0a0794}, !- Handle + {943b8763-308b-4e37-94b0-b49824e855c1}; !- Construction Name + +OS:StandardsInformation:Construction, + {10edfdd6-90da-49f1-9410-6047d9049f36}, !- Handle + {945ade3a-95e7-40ab-a143-6b06da24f13c}; !- Construction Name + +OS:StandardsInformation:Material, + {482e8ccf-9c38-44df-97b0-3e746420d8e0}, !- Handle + {94b7127c-10a1-4419-824e-51f81119da1b}; !- Material Name + +OS:StandardsInformation:Construction, + {f0579006-2c98-476b-9adc-890577ae8c9b}, !- Handle + {953bc5c4-589f-4139-8cf4-d0acc3f80060}; !- Construction Name + +OS:StandardsInformation:Construction, + {1e3c3810-1195-4fe4-a5cf-a36905702238}, !- Handle + {9541fd62-7565-4546-9a33-153e16123849}; !- Construction Name + +OS:StandardsInformation:Material, + {082930b8-50ad-416e-ba11-12db95f256e8}, !- Handle + {95c60f16-f983-44bf-ba48-52f499a7db6a}; !- Material Name + +OS:StandardsInformation:Material, + {c12c37b6-040e-4c69-bebb-fd149a71df33}, !- Handle + {9601ee66-15ef-4677-bd72-b4360495fd5c}; !- Material Name + +OS:StandardsInformation:Material, + {e8662508-019e-48fc-a1f1-9c918b9be6d4}, !- Handle + {9678d402-6c08-4cb5-9702-8385222fba65}; !- Material Name + +OS:StandardsInformation:Construction, + {fde10f26-f314-4f94-b481-f54ca946e691}, !- Handle + {967dc359-58c0-4935-a00f-c59bc49a8407}; !- Construction Name + +OS:StandardsInformation:Material, + {dc93c24a-831b-4d6f-90bd-d7d57b39bce4}, !- Handle + {96e6891f-9edc-4b0d-82bc-853a9559ed17}; !- Material Name + +OS:StandardsInformation:Construction, + {d8c56424-0bb7-4186-a251-0263ae2ae48a}, !- Handle + {973c7925-0437-4d92-8d3b-2d021d1db2a8}; !- Construction Name + +OS:StandardsInformation:Construction, + {3c45c318-5391-4420-9873-3684a66e7140}, !- Handle + {981e11d7-0cfa-4e3e-a3f3-daf296178568}; !- Construction Name + +OS:StandardsInformation:Construction, + {70b02ce4-9ea7-404b-9e34-a2c18fa1ff76}, !- Handle + {98317850-8a75-45f7-a738-9adc3904a45a}; !- Construction Name + +OS:StandardsInformation:Construction, + {386c86d2-7120-465a-8dc2-116ee050841f}, !- Handle + {9891723f-0108-43d5-87b2-0771507e91fe}; !- Construction Name + +OS:StandardsInformation:Construction, + {3e7e0b9d-c65e-424b-b653-140159008183}, !- Handle + {9963262d-c087-46e4-b628-8e4ec9945054}; !- Construction Name + +OS:StandardsInformation:Material, + {6ed07c02-2fd2-451d-b767-df4e5708c52f}, !- Handle + {99cb8625-3006-4803-88bd-d8c133119bbd}; !- Material Name + +OS:StandardsInformation:Construction, + {9147482e-c407-49d2-be8f-12a536f1deae}, !- Handle + {99ce40c9-e898-451a-8dce-b039ece97a3c}; !- Construction Name + +OS:StandardsInformation:Material, + {cd11346a-e253-40db-8d44-c8b0d8983d5f}, !- Handle + {9b210e9e-0158-4ce8-a634-bf8adac8c81a}; !- Material Name + +OS:StandardsInformation:Construction, + {b8dad88e-86f7-4f46-af5c-67dec36ef01a}, !- Handle + {9b817e38-7248-4c31-be6c-c4abec136789}; !- Construction Name + +OS:StandardsInformation:Construction, + {53d34d4b-1a11-436f-ac97-45d223bd3843}, !- Handle + {9becd718-9e5c-4652-9892-f0f365da3d1b}; !- Construction Name + +OS:StandardsInformation:Material, + {569be637-be8f-4cd8-a582-885c1342290e}, !- Handle + {9c26cc1e-a78b-46d1-9f8e-069033302b76}; !- Material Name + +OS:StandardsInformation:Construction, + {b0eecbb4-a009-4577-9be5-8799a8bd867d}, !- Handle + {9c5e01f4-5b9c-4ceb-9476-7669780e522b}; !- Construction Name + +OS:StandardsInformation:Material, + {1b02689e-ade3-48c1-9673-8b0097fa4029}, !- Handle + {9d6cf257-e9bb-46eb-85fe-4be3cec28625}; !- Material Name + +OS:StandardsInformation:Construction, + {9fba623d-06d0-4d52-a58e-f2d1c2762ebf}, !- Handle + {9d8ec867-1956-4dde-9d06-7bda0ce993a7}; !- Construction Name + +OS:StandardsInformation:Material, + {a8143005-99d4-4596-a43a-4f0cdb221515}, !- Handle + {9d955538-7f87-41b3-bfe3-974a2718d941}; !- Material Name + +OS:StandardsInformation:Construction, + {62e2036b-ce68-4f20-b41b-203b37a59091}, !- Handle + {9daacbbb-94ed-47b3-a12c-184df6f9fa6c}; !- Construction Name + +OS:StandardsInformation:Material, + {2e7b6bae-2aaa-4602-93a6-27828481e75c}, !- Handle + {9dfe3a75-f347-4e9d-953c-b8ef940d2211}; !- Material Name + +OS:StandardsInformation:Material, + {34316300-7d49-40d9-976d-7d975427c163}, !- Handle + {9fcd03d8-7d87-4b34-9fe6-e95ee65bd596}; !- Material Name + +OS:StandardsInformation:Material, + {af851cc2-6a04-4b8b-80b0-38022534a85f}, !- Handle + {9fce564f-9a88-493d-8d8e-8f3d6330946e}; !- Material Name + +OS:StandardsInformation:Material, + {ad9bb8f2-d958-4aca-b34b-49266f67a3aa}, !- Handle + {a0217633-61e7-427b-ad78-1f3594ef66c3}; !- Material Name + +OS:StandardsInformation:Construction, + {1b61ed47-5d39-4be6-a79d-7c31ba27b542}, !- Handle + {a087a9a4-6104-4821-9b8a-a27bbd48935c}; !- Construction Name + +OS:StandardsInformation:Material, + {4338aea6-807c-4f9a-8590-159d37bc1325}, !- Handle + {a0924b43-97ac-4adc-a37b-c41997c61175}; !- Material Name + +OS:StandardsInformation:Material, + {aaba9236-acba-4f1a-935e-bb4ec9ebe927}, !- Handle + {a0c400d0-b164-4d7b-a1a5-4e7b35f85923}; !- Material Name + +OS:StandardsInformation:Material, + {b20f16b5-4eac-4297-b36b-e02a09badce3}, !- Handle + {a1e74e96-1549-49f7-9a98-9c85bd4b93b8}; !- Material Name + +OS:StandardsInformation:Material, + {843847fe-e0e1-42b6-b7d8-d55f5ed5c3a6}, !- Handle + {a32cd8ed-d7e2-4651-accf-387739c4a130}; !- Material Name + +OS:StandardsInformation:Material, + {22446490-792f-48fa-aa5c-df93b8def357}, !- Handle + {a403f61c-9313-4b66-8628-1d1aec766e81}; !- Material Name + +OS:StandardsInformation:Material, + {e364630c-49e1-4963-9257-78aad4cba518}, !- Handle + {a437216f-900c-4107-a6c3-9c91ceb571a9}; !- Material Name + +OS:StandardsInformation:Construction, + {6a172ea5-c3bb-43da-a2fe-6a187fd002c9}, !- Handle + {a4e31fe0-5ad8-49af-9162-aa0b29edf904}; !- Construction Name + +OS:StandardsInformation:Construction, + {11d6c0cf-f0b2-42b7-a2ba-5dafb58cbe58}, !- Handle + {a55e26f7-ab80-45b9-bf31-e949528509a1}; !- Construction Name + +OS:StandardsInformation:Construction, + {db30b0ff-d484-45b8-86cb-73609b156430}, !- Handle + {a561ac6a-7c62-4cfa-ba84-da6c93aea16c}; !- Construction Name + +OS:StandardsInformation:Material, + {6533cac7-b2ce-40b2-91a3-bd84e879888a}, !- Handle + {a608edf3-33c2-4c8b-b9a9-65bdf1c5b6d7}; !- Material Name + +OS:StandardsInformation:Construction, + {de41e6ed-23b2-46de-a8ea-ff290ce3d70c}, !- Handle + {a6591ec7-426d-4b3f-a63c-c363f8f99853}; !- Construction Name + +OS:StandardsInformation:Construction, + {f9124504-37f2-48dd-87c9-d901282933ac}, !- Handle + {a6cf43c9-c979-4a90-be60-82ef5610a225}; !- Construction Name + +OS:StandardsInformation:Material, + {021881e5-3f0b-477a-8845-8e59628e7cac}, !- Handle + {a6f43e42-c214-4d58-a48d-fa098c744db5}; !- Material Name + +OS:StandardsInformation:Material, + {4b6d0b18-39d4-40d4-a96f-819f0f9c3eb7}, !- Handle + {a7bdbd48-1a2c-4b77-ac2e-1b72c4bce037}; !- Material Name + +OS:StandardsInformation:Material, + {8325267e-2703-4e5a-8def-a94be7a18591}, !- Handle + {a89adccd-c2d5-49a9-8b1f-db2ef9ce9b20}; !- Material Name + +OS:StandardsInformation:Construction, + {4f291bc4-af9e-47cb-bcb2-b2a91891d03f}, !- Handle + {a91c7699-1206-4273-89fc-8f76b9a3f3c3}; !- Construction Name + +OS:StandardsInformation:Material, + {26e49eeb-885d-408f-957d-5f063a365f2e}, !- Handle + {a9ac601d-ce75-4502-bd68-7c736c9cf8b3}; !- Material Name + +OS:StandardsInformation:Material, + {b19fa957-fb1a-4cd0-84b8-25744e22368b}, !- Handle + {aa5c5fb4-5466-464f-bd8b-e93dd23b4bc5}; !- Material Name + +OS:StandardsInformation:Construction, + {5fb5ad73-23c4-4dc6-9333-a34f5b9b8d6d}, !- Handle + {aac95d38-f409-497d-9216-9c05fb2a5207}; !- Construction Name + +OS:StandardsInformation:Construction, + {a451a223-1731-4bcb-936d-8ed028d7be4e}, !- Handle + {ab4c5ff1-9c4a-4f4e-8dc4-e3cb8bf26806}; !- Construction Name + +OS:StandardsInformation:Material, + {5436f819-e490-4dd4-b251-b1196c9cbcc0}, !- Handle + {acca82d0-c40f-4bfd-a589-cfcaf7a0ca1e}; !- Material Name + +OS:StandardsInformation:Material, + {20aa0929-75c1-43fb-8bdf-d1f540622735}, !- Handle + {ad759fb0-bcb6-418a-8a1f-416a0437e43b}; !- Material Name + +OS:StandardsInformation:Material, + {b5fda589-fa94-4e41-bb19-18e9023582be}, !- Handle + {adc7c349-18e0-4477-b281-793bae7bf70c}; !- Material Name + +OS:StandardsInformation:Construction, + {345d2305-0936-470c-8eac-6cf7f0380b92}, !- Handle + {ae0e1fc9-3aca-4e2b-bc23-a9d40dbdef20}; !- Construction Name + +OS:StandardsInformation:Material, + {0d6d7970-25f1-4c53-b774-20b3e254361c}, !- Handle + {ae17dcb4-6fa1-4cce-8d2d-1eecc31a1d2c}; !- Material Name + +OS:StandardsInformation:Material, + {79891e12-97d8-401d-9416-30c0f43ce68d}, !- Handle + {ae52f53f-2ebb-4f0a-bc0c-d03c3afed615}; !- Material Name + +OS:StandardsInformation:Construction, + {4bdefb3f-c393-46d4-b037-b19182da0a88}, !- Handle + {af28e15b-7a3f-435d-80c4-d7343dd0fa4c}; !- Construction Name + +OS:StandardsInformation:Construction, + {d1585c9f-7f19-4b1c-ad85-ce8f5e3b3407}, !- Handle + {af3f9728-8508-4f00-b4a2-3c2795cf8c25}; !- Construction Name + +OS:StandardsInformation:Material, + {f3c5f396-54bd-4e35-afb8-1405cafa7853}, !- Handle + {af41df9c-17d9-4722-bff9-31e6e7c27755}; !- Material Name + +OS:StandardsInformation:Construction, + {c8966274-5f69-40cf-8de5-89a9d9284638}, !- Handle + {af53cfa8-f6be-4310-a096-257c6afd3f7f}; !- Construction Name + +OS:StandardsInformation:Material, + {ec1fc264-72c6-4608-a5dc-f1e8d1c166d9}, !- Handle + {b0d7091b-dfa7-481a-ba77-9ece60b34434}; !- Material Name + +OS:StandardsInformation:Construction, + {0c72037c-303e-417a-98ef-923e919f32c0}, !- Handle + {b12c800e-1c27-4b65-bb31-186f12a13be6}; !- Construction Name + +OS:StandardsInformation:Material, + {bccb4181-05fd-48a4-a5bd-5e938509de5c}, !- Handle + {b1624cb3-2cfc-4b99-9e42-3ce14abf69cd}; !- Material Name + +OS:StandardsInformation:Construction, + {1cb1d791-8123-4d78-ac10-5f210a17bb4f}, !- Handle + {b18208ba-f4a1-43a8-9334-a433d4cc596e}; !- Construction Name + +OS:StandardsInformation:Construction, + {2e793bde-2996-440c-b271-b85e1463c12b}, !- Handle + {b1842204-3a9d-4470-8256-10ef88e1cc58}; !- Construction Name + +OS:StandardsInformation:Material, + {1bd0c84c-2b58-41fd-aad9-f7c810dc4f55}, !- Handle + {b1f84594-87bd-4d3e-8db8-93465b75acca}; !- Material Name + +OS:StandardsInformation:Construction, + {cb3357c9-de19-4abf-aa66-186c440c479c}, !- Handle + {b30104b0-7d85-4e98-b1b7-048be9d13edc}; !- Construction Name + +OS:StandardsInformation:Material, + {14ecc70d-c4d8-4917-bcbb-7f01b003a627}, !- Handle + {b3565d69-8bb3-4138-ba7d-e8763beec286}; !- Material Name + +OS:StandardsInformation:Construction, + {7b4bab42-1c19-4cbe-8ce5-96c7dff13539}, !- Handle + {b366dba4-4560-4706-97c9-89dc11f20d25}; !- Construction Name + +OS:StandardsInformation:Construction, + {23f9a1bc-bb27-4bd3-a159-53d7db970c0e}, !- Handle + {b4a6c3fb-04e7-42ed-90a7-f1afc8ca3242}; !- Construction Name + +OS:StandardsInformation:Construction, + {ac68af05-411d-4590-b825-264eb833224f}, !- Handle + {b4ed03e6-7c25-47fc-b8bd-2e7da6b0402c}; !- Construction Name + +OS:StandardsInformation:Construction, + {d5758376-30e4-4ef2-bb50-7b1463ac7208}, !- Handle + {b5dae480-0a99-45bb-b698-0ec24e6afd9a}; !- Construction Name + +OS:StandardsInformation:Material, + {7e7821e7-5f00-42e1-8edf-8f88657d92b6}, !- Handle + {b5fff6ff-ceb4-455b-a317-2d6559ce68c7}; !- Material Name + +OS:StandardsInformation:Construction, + {2cf3a92f-0fcf-4fe0-ae64-2310088ffd18}, !- Handle + {b64bcac2-791e-4ca2-91e7-799c914ae00f}; !- Construction Name + +OS:StandardsInformation:Construction, + {0d5541b5-f438-485f-846b-28c8879414e0}, !- Handle + {b66bc3bc-7965-41d0-a29f-cda677a84a89}; !- Construction Name + +OS:StandardsInformation:Construction, + {90c2f0b2-b5c8-4fe1-a009-63e1cce98cec}, !- Handle + {b6865a52-4eeb-416e-a79c-a852086d633a}; !- Construction Name + +OS:StandardsInformation:Construction, + {dcbbf6ea-67e2-4bc7-af25-61b1aa28876a}, !- Handle + {b6efdc79-56db-4be7-bd69-ac4387bf2fb5}; !- Construction Name + +OS:StandardsInformation:Material, + {eafc2377-de2e-4359-8c42-30f6e78ae081}, !- Handle + {b84226dc-387a-4788-ab5a-47a5230a5bc7}; !- Material Name + +OS:StandardsInformation:Construction, + {2a499de5-e7d0-49f0-805a-dcf68d29365f}, !- Handle + {b849113c-659f-4fa0-9724-1f278f1643ea}; !- Construction Name + +OS:StandardsInformation:Material, + {2731b58e-2623-4757-b0e7-542cb671fd12}, !- Handle + {b85a45ca-c02a-4605-b817-8e6579bc86df}; !- Material Name + +OS:StandardsInformation:Construction, + {a28535aa-8195-4905-a5e4-1f9fa7457598}, !- Handle + {b9148d14-0982-44e3-a597-0ab667f7ef42}; !- Construction Name + +OS:StandardsInformation:Material, + {0bc3d81d-a52e-4852-88eb-05f8f5e7297d}, !- Handle + {bab7fb45-4b4b-48e9-bcd5-89b6eec2e946}; !- Material Name + +OS:StandardsInformation:Construction, + {2bd98062-f279-4c7e-b47f-5da14724107a}, !- Handle + {bb1323de-f624-47ba-91f5-82f1481b3634}; !- Construction Name + +OS:StandardsInformation:Construction, + {2956b7eb-8282-4761-86f0-d0c0095cbb0a}, !- Handle + {bb1c2a17-dad4-4490-9b1d-4d325fa57b8b}; !- Construction Name + +OS:StandardsInformation:Construction, + {869cbbba-a68b-4810-af6f-3bce33bd7d09}, !- Handle + {bbd4dcfc-de7a-4231-9d67-b5717024f26d}; !- Construction Name + +OS:StandardsInformation:Material, + {859897e4-909b-4e90-b70f-ec33afa4f1c7}, !- Handle + {bbd88dab-e1a0-44fe-862d-2c761df769bd}; !- Material Name + +OS:StandardsInformation:Material, + {cc7f7c99-4011-451e-9020-ba604a1249d6}, !- Handle + {bc3711a2-af11-43c4-b16f-cf95f09915fb}; !- Material Name + +OS:StandardsInformation:Material, + {9f96430b-436a-43c6-9794-f1b8dd8d95e0}, !- Handle + {bc451e37-ab96-4e32-85b8-060b14dd1ffa}; !- Material Name + +OS:StandardsInformation:Material, + {9db3bd0e-fca2-4729-979a-a6107fb6283c}, !- Handle + {bc4621a8-bee8-402c-a136-52e753af2ce0}; !- Material Name + +OS:StandardsInformation:Material, + {a4a4b93a-e864-4635-aa37-a3ff3c0fd6dd}, !- Handle + {bd3b90fd-22d8-4c5a-9751-f885d724acc0}; !- Material Name + +OS:StandardsInformation:Material, + {054cf9eb-8813-4c22-846f-0c660ea06dab}, !- Handle + {bd7c36c6-366a-4037-a37e-c3821f01a4ba}; !- Material Name + +OS:StandardsInformation:Construction, + {9aecae08-941a-4d42-9e7a-0510cb3bcf29}, !- Handle + {bde9509c-dc94-4806-b3ec-7388ba721335}; !- Construction Name + +OS:StandardsInformation:Construction, + {e7beffde-b9ee-4f25-9346-574f9ca036a7}, !- Handle + {be6d18fc-a9f7-406d-a7cf-fbf8f0271a4d}; !- Construction Name + +OS:StandardsInformation:Construction, + {4fea3c94-aa4d-4c60-a605-c55b6d08dae9}, !- Handle + {bec28989-f033-4c43-8136-7188711452ed}; !- Construction Name + +OS:StandardsInformation:Construction, + {2f0ca3dc-37fe-4d99-8660-fe3c3e96c9b3}, !- Handle + {bf9eae5f-0699-4eda-9bac-ca2de10990aa}; !- Construction Name + +OS:StandardsInformation:Construction, + {8fd8d1ba-9457-4667-88b0-fad5cd9dba54}, !- Handle + {bfcf9cfd-6417-4f95-9398-59defaf81251}; !- Construction Name + +OS:StandardsInformation:Material, + {063bb317-eee1-4d28-b3e2-f601e533a6d0}, !- Handle + {c0195120-6c7d-4481-9075-d8c974d36fb0}; !- Material Name + +OS:StandardsInformation:Construction, + {478ec70e-1845-487a-9a15-8490dc4f6789}, !- Handle + {c0c8a043-d913-4d04-a9b9-c35530422810}; !- Construction Name + +OS:StandardsInformation:Construction, + {4b854260-29d2-485a-afdd-5bb8bf0dd768}, !- Handle + {c1ae9550-361c-4bb0-a84e-ac6b41c9f162}; !- Construction Name + +OS:StandardsInformation:Construction, + {f37a7db4-47a9-430d-bd54-b517c099e263}, !- Handle + {c1bc10b2-c86d-4bb4-8ed8-31ebcaec9fe4}; !- Construction Name + +OS:StandardsInformation:Material, + {f876e9c7-32ad-4aa6-9e0c-f0a30eb9e01a}, !- Handle + {c33c674a-38e0-48b8-9815-248e025dffc2}; !- Material Name + +OS:StandardsInformation:Construction, + {59948c93-16d7-4637-b52a-35f76ea121c3}, !- Handle + {c4811841-8a0e-4240-bfb1-1258b6953631}; !- Construction Name + +OS:StandardsInformation:Material, + {21c5a616-773e-44a9-9e6f-f9687a46bc5f}, !- Handle + {c53559c6-bddd-49c5-8e6f-e741e71328a7}; !- Material Name + +OS:StandardsInformation:Material, + {cf7e4d09-c6b9-4ec2-9bcb-f28fa69473ee}, !- Handle + {c5b2393c-7c58-4654-8461-17424cb40558}; !- Material Name + +OS:StandardsInformation:Material, + {98c17abb-97a1-49e7-8d87-b2d0888bd8bb}, !- Handle + {c645d3c0-aa53-4872-8f6b-41a6b7046518}; !- Material Name + +OS:StandardsInformation:Material, + {1d40a187-ec0e-4a50-9e45-536ef31f8e48}, !- Handle + {c693c3a0-ef7d-4029-adb5-d3e1c72f1abe}; !- Material Name + +OS:StandardsInformation:Material, + {c88669e0-9d39-45bd-aeb8-8181ae2489f1}, !- Handle + {c703bb29-7f9e-46c2-b30e-f219dacbb8c0}; !- Material Name + +OS:StandardsInformation:Material, + {d88caa16-4b82-4e05-8a1b-89462d37d294}, !- Handle + {c7b18a52-4ef4-4a4f-86dc-e65807b1267d}; !- Material Name + +OS:StandardsInformation:Construction, + {5010dd58-dc95-4da1-9f40-467e96795a26}, !- Handle + {c7c5ff93-c3b7-41cc-9f08-79fa3978a81a}; !- Construction Name + +OS:StandardsInformation:Material, + {c245dfe2-486c-4f44-8869-85a5624047ae}, !- Handle + {c7fc9b61-e684-4d74-a461-b4e1255f8c7b}; !- Material Name + +OS:StandardsInformation:Construction, + {9ece6bee-9914-49fa-87e9-b6b4101c4ce3}, !- Handle + {c883b933-f9eb-4848-baf1-3e602a7668c8}; !- Construction Name + +OS:StandardsInformation:Construction, + {a34617aa-4141-46b3-9128-80499cc87271}, !- Handle + {c935925d-6e6f-4bfc-aa38-94a4f1663841}; !- Construction Name + +OS:StandardsInformation:Construction, + {b6a08e18-87d7-48b1-ab8e-49d1c3b69df9}, !- Handle + {c9b7085a-d129-472e-a245-544f44535cb9}; !- Construction Name + +OS:StandardsInformation:Construction, + {22f94f9f-4c27-4e15-9406-2c5249d93b3f}, !- Handle + {ca136b8d-1591-4a09-a215-ab7406496e5d}; !- Construction Name + +OS:StandardsInformation:Material, + {95c20faf-084a-4b4a-837a-b36e654b72f4}, !- Handle + {ca6ae5e9-7c2c-4ff6-804e-4fdd87faf429}; !- Material Name + +OS:StandardsInformation:Construction, + {707fd4bd-f616-431e-a552-b216498cf507}, !- Handle + {cab40bf1-dbb4-4c48-814b-7d450f19ad55}; !- Construction Name + +OS:StandardsInformation:Material, + {9746c7cb-a4bc-4095-997a-ef754b344178}, !- Handle + {cb0a7ea7-ede4-4d0a-878c-4ecb7a1a910b}; !- Material Name + +OS:StandardsInformation:Construction, + {cd4c91a8-b388-4566-91ce-92034be2c78a}, !- Handle + {cb2f878d-8d21-4b38-827f-13cd602257d0}; !- Construction Name + +OS:StandardsInformation:Material, + {31bf895f-4bcb-4018-95dd-e84cba608391}, !- Handle + {cba19a56-e741-4a94-8d08-aecc13ceed76}; !- Material Name + +OS:StandardsInformation:Material, + {11d37219-be71-41ab-b077-558b56731b1d}, !- Handle + {cc0c49e9-fe73-4fad-86b0-bc260b9d209c}; !- Material Name + +OS:StandardsInformation:Material, + {e1a4bfb4-3bba-4c92-9596-8c28815da317}, !- Handle + {cc27009f-bd09-465f-8e28-fcd24f62cb42}; !- Material Name + +OS:StandardsInformation:Material, + {ee6731e6-b0e5-4c3e-85d2-ec72e41d6bde}, !- Handle + {cc644156-c0c5-4345-94d5-80fc25b00407}; !- Material Name + +OS:StandardsInformation:Material, + {d074b96f-c778-43d1-9c67-c862302a213c}, !- Handle + {ccaf9ff5-0fb0-4f5f-a8bc-fd76d841a11c}; !- Material Name + +OS:StandardsInformation:Construction, + {540a66e5-fe70-4eb5-8eb0-73d975cc5d85}, !- Handle + {cd191120-0915-48ac-93ab-49540cb6b089}; !- Construction Name + +OS:StandardsInformation:Construction, + {411ee55f-a66f-4707-a121-1b7485ac79d3}, !- Handle + {ce753f80-0674-44ac-b7f1-3792a561f554}; !- Construction Name + +OS:StandardsInformation:Material, + {6c10bba5-1a80-433d-af4a-ae46962e13e2}, !- Handle + {cf002c97-4be5-4ad9-a778-f2dda4f10437}; !- Material Name + +OS:StandardsInformation:Construction, + {ee238d99-53fb-4ee8-85c5-ac7f52d9f86e}, !- Handle + {d062460b-883c-4218-85ea-0572987e81d8}; !- Construction Name + +OS:StandardsInformation:Construction, + {40b9e3ec-2b7d-41ed-9f7b-4a05517738fe}, !- Handle + {d132f1b9-bb9b-4f5d-9fa3-504dd7d64a47}; !- Construction Name + +OS:StandardsInformation:Construction, + {ff8091ba-faf3-4b61-9f57-8243a6dc0503}, !- Handle + {d23a6655-5e1f-4dbe-bde9-94663990aa72}; !- Construction Name + +OS:StandardsInformation:Material, + {9f90b774-793d-4e1e-a771-b380037ace3f}, !- Handle + {d3021724-86f8-448c-85a9-731666ee2d20}; !- Material Name + +OS:StandardsInformation:Construction, + {99eb337f-0b46-4cd3-b6bc-b045eefb7ac6}, !- Handle + {d36f4c77-c617-4cdc-b875-b3ced6a7ca2c}; !- Construction Name + +OS:StandardsInformation:Construction, + {6b2b0dec-f5aa-42e2-a639-0740a20d954d}, !- Handle + {d3f8ba79-b3d9-49ce-81e5-14f3af4d6cf5}; !- Construction Name + +OS:StandardsInformation:Material, + {f604a2b5-aac3-4cc6-8171-0d255cfe06d0}, !- Handle + {d55663d0-6f58-473b-be76-02e9c5b26de9}; !- Material Name + +OS:StandardsInformation:Construction, + {52438294-95fa-4973-a46d-5a28442b3d88}, !- Handle + {d717f9eb-1507-41ef-804a-5631ff7f92b3}; !- Construction Name + +OS:StandardsInformation:Construction, + {3d000ae4-77b1-444f-a503-3dafd6255b20}, !- Handle + {d8b1d0c0-66f0-4a0e-bc7d-abc8fda31c29}; !- Construction Name + +OS:StandardsInformation:Material, + {23135be5-72d7-4694-94d7-651b80766a14}, !- Handle + {d8bca767-2e8f-427f-863b-d3a4811e7232}; !- Material Name + +OS:StandardsInformation:Construction, + {67bd23e5-f185-49b4-8a1b-1db007c038bc}, !- Handle + {d8d60798-7e75-4d4c-ac6b-ee65b1089c43}; !- Construction Name + +OS:StandardsInformation:Construction, + {68a31fd4-333e-43e8-a6ce-f6b4ee4f8856}, !- Handle + {d8d888bb-0b8f-45ab-8039-ac7cf86c1ab1}; !- Construction Name + +OS:StandardsInformation:Material, + {2a0b1248-a1d7-4f4c-a21c-11ea6f5377a2}, !- Handle + {d8dc517a-2522-43c1-9a98-d4dd00457e6a}; !- Material Name + +OS:StandardsInformation:Material, + {f33bf13d-bcdf-4e68-9792-5170c104ae30}, !- Handle + {d96dbd4f-81b7-46d0-9df1-f158d095908f}; !- Material Name + +OS:StandardsInformation:Material, + {138b7704-3801-4ee1-b7fe-91a8012e85f6}, !- Handle + {d9a702c4-c534-424c-9bc3-b5d7bf39870f}; !- Material Name + +OS:StandardsInformation:Construction, + {fbbfd866-8b57-48f8-9185-c469cb1b44a7}, !- Handle + {da0ba53d-4ecb-4012-8e86-b845d45ad94c}; !- Construction Name + +OS:StandardsInformation:Construction, + {3ee04755-257e-4b06-bf90-ac9c1f689f21}, !- Handle + {da20368e-7d0d-482f-a2d5-4594a6f07f95}; !- Construction Name + +OS:StandardsInformation:Construction, + {53ac2d23-fbf1-45c5-85e1-e484730ed379}, !- Handle + {da773a3e-5098-4022-b781-1da98e71181a}; !- Construction Name + +OS:StandardsInformation:Construction, + {ca96e7b5-4255-48c5-9e17-52321edf6aca}, !- Handle + {da8c3473-844d-4d9b-8588-02dee8b807d8}; !- Construction Name + +OS:StandardsInformation:Construction, + {1380699f-3883-43f8-a410-4bbe20d355b1}, !- Handle + {daae073b-5b6a-4eab-9c37-1f5478553ecb}; !- Construction Name + +OS:StandardsInformation:Material, + {28736de7-406d-41a1-9984-f022e7d246c1}, !- Handle + {db11e827-6185-4587-9ec0-ccc086ecf0e9}; !- Material Name + +OS:StandardsInformation:Construction, + {46bb7180-7b3a-4034-ad00-490019aebea0}, !- Handle + {dbe21b8d-3043-47d9-b10e-563516c9a626}; !- Construction Name + +OS:StandardsInformation:Material, + {8de086a1-d9f2-4052-a7e9-0c656ea2a9f8}, !- Handle + {dc7cc868-8241-43c9-8c61-bebd3fcd861d}; !- Material Name + +OS:StandardsInformation:Construction, + {351b6931-8406-49ed-b190-c95fbb17c0df}, !- Handle + {dd2b1185-7369-43cd-95d0-13dd0243dc43}; !- Construction Name + +OS:StandardsInformation:Construction, + {3e3486f9-7fcc-4742-99da-6dc881876821}, !- Handle + {dd61f600-cba1-40d0-906e-87b58459fe54}; !- Construction Name + +OS:StandardsInformation:Construction, + {0458c40a-32c2-4c8b-b3fe-cacb47444a33}, !- Handle + {dd852541-9228-41ef-bb67-7c2d03c3566d}; !- Construction Name + +OS:StandardsInformation:Material, + {148e08bb-9b95-45a0-920a-b0da41945c5f}, !- Handle + {dea13a44-db8c-460b-974f-f0f996d767f3}; !- Material Name + +OS:StandardsInformation:Material, + {6db8fecb-acb0-493c-ab20-5d87464a15c0}, !- Handle + {debccd2f-5df7-4692-9b96-9b9f4207ef23}; !- Material Name + +OS:StandardsInformation:Construction, + {a815e429-dedd-4a1f-acea-f9a5211a44b6}, !- Handle + {deef944c-116a-41a6-b6dd-55bf6c6ecd69}; !- Construction Name + +OS:StandardsInformation:Material, + {49923d70-8aeb-47b5-862d-7d70c997f38c}, !- Handle + {dffa7b1a-e94c-48c9-92d3-cb71258ba1a3}; !- Material Name + +OS:StandardsInformation:Construction, + {b85d2ddc-e699-49b6-b5b2-8e18e25cb520}, !- Handle + {e064d673-1ebf-4c42-b6e1-714de209400c}; !- Construction Name + +OS:StandardsInformation:Material, + {9a98fc48-e15e-45aa-aebb-5013b25df86f}, !- Handle + {e0691f32-cbf6-4606-bae6-5570cc69b2fb}; !- Material Name + +OS:StandardsInformation:Material, + {0a88a73f-2c78-4d50-8fba-faeb30fcf839}, !- Handle + {e0af98b1-73c9-49d7-8fb1-e34644fbea86}; !- Material Name + +OS:StandardsInformation:Material, + {9d48f54b-ec38-4fe2-9cb3-77fb339b1dd5}, !- Handle + {e0eb2049-034e-4c37-a7fe-b94a26f2cc16}; !- Material Name + +OS:StandardsInformation:Construction, + {da03f379-8ce3-48ff-9f3d-5f5720a4e7f8}, !- Handle + {e1e7c8e0-4fcc-4f85-99fd-739c71e34bb3}; !- Construction Name + +OS:StandardsInformation:Construction, + {dce648fe-9996-48f0-970f-2ceb13f618c1}, !- Handle + {e27a20f3-2c6d-455f-80d2-b4ca3476e354}; !- Construction Name + +OS:StandardsInformation:Construction, + {ea880128-3b95-49ce-b49f-fd9ab91d2b24}, !- Handle + {e2ddbbd2-349f-4ce2-91ce-edbab7c1638f}; !- Construction Name + +OS:StandardsInformation:Material, + {b1e4af45-cf2f-4f81-8cbc-e0e7a619638c}, !- Handle + {e3a04909-c395-4866-9b8c-46362bc2ba02}; !- Material Name + +OS:StandardsInformation:Material, + {b04aa51c-8689-4c50-9f2e-45d5077b8f12}, !- Handle + {e4631c87-dda8-493f-97b4-c6db2cb6dff4}; !- Material Name + +OS:StandardsInformation:Material, + {338fc44e-4fea-4770-acc6-bb5c29b8d0aa}, !- Handle + {e4a8521a-c5e5-4d7c-bedb-77efdc74bdcc}; !- Material Name + +OS:StandardsInformation:Construction, + {60f976be-357b-4ca2-a8cf-0b07a6095f92}, !- Handle + {e52d4737-c9f3-47c4-9fdd-52490c34d3f7}; !- Construction Name + +OS:StandardsInformation:Material, + {a7a1bc49-9dc2-48a5-b87b-a0ead2acab06}, !- Handle + {e557ae47-dfab-42ae-9f08-204608b08def}; !- Material Name + +OS:StandardsInformation:Material, + {551297c5-c59d-4f08-9bf7-2606c0e4d4c4}, !- Handle + {e61bd81b-2c14-4e06-bf77-aea511b22e09}; !- Material Name + +OS:StandardsInformation:Material, + {6b4a88b4-c34c-4a12-bed4-63e0a3ecd609}, !- Handle + {e7beb317-ec91-4fa3-b090-a95bcc7e39e0}; !- Material Name + +OS:StandardsInformation:Construction, + {78caa5c8-b135-4b56-98e4-7afbf55f1237}, !- Handle + {e802aada-f9bd-458f-b313-158e6fdb7f82}; !- Construction Name + +OS:StandardsInformation:Material, + {dd3da67e-a186-4644-a7be-88b006a6106e}, !- Handle + {e8caa103-647d-4c53-b40e-a2f52eaee991}; !- Material Name + +OS:StandardsInformation:Construction, + {e491d111-b7f8-42db-ae27-86007260703a}, !- Handle + {e8fdad99-e540-4bca-ba54-6717662224d9}; !- Construction Name + +OS:StandardsInformation:Material, + {33a7bbac-efa1-49b9-ac70-1c9767f45705}, !- Handle + {e91982eb-8bd6-406c-b6b3-6a09de39a71c}; !- Material Name + +OS:StandardsInformation:Construction, + {8701cea8-677d-49ee-aef4-0e7d5324d530}, !- Handle + {e978a86e-6b65-4c11-9bf6-ea1654515135}; !- Construction Name + +OS:StandardsInformation:Material, + {e04244ff-2957-40bc-805b-8352308f6900}, !- Handle + {e9e3dc76-9715-48e1-a8f1-eb0e0fcc1768}; !- Material Name + +OS:StandardsInformation:Construction, + {e25b1d7d-b4e1-4198-8f2f-feece20e46b4}, !- Handle + {e9f190c2-fcfd-4804-924a-d8bc6bff3b0d}; !- Construction Name + +OS:StandardsInformation:Construction, + {6e3c4c08-2aec-468c-9abf-1f7fd5be085c}, !- Handle + {ea155f1f-d9d9-4bda-aca2-5a2dcba0853f}; !- Construction Name + +OS:StandardsInformation:Construction, + {0cb188f3-d4b0-417f-98bc-9acf66cd75ac}, !- Handle + {ea7408c1-eb40-4f39-bf5c-eced4c5bf92d}; !- Construction Name + +OS:StandardsInformation:Construction, + {313e1074-0bb6-4cae-a319-56bf4588e3df}, !- Handle + {ea8476c2-45cc-4ed4-a6ad-aea710690c18}; !- Construction Name + +OS:StandardsInformation:Material, + {efe48a56-c52d-40f2-b41d-a9df71bb5f1c}, !- Handle + {ec09d094-ecf7-46e5-a3e0-ee0d17bea43e}; !- Material Name + +OS:StandardsInformation:Construction, + {ae606c3f-3534-48b0-b538-0ba4c3939cc1}, !- Handle + {ecf20084-8b50-4aac-a0ce-f0223323f084}; !- Construction Name + +OS:StandardsInformation:Material, + {ac83efd4-6e73-4be7-bc44-c9cc77fd4c29}, !- Handle + {ed10a837-0834-4990-aa4d-d9b41d148c7c}; !- Material Name + +OS:StandardsInformation:Material, + {ed178b20-3160-42ad-ad44-2aae69ee7d93}, !- Handle + {ed5b48d4-c625-4146-9858-00a493f1f9b5}; !- Material Name + +OS:StandardsInformation:Construction, + {70c65d07-3cfc-4dd2-9617-07e5d663e8d4}, !- Handle + {ef279216-3fca-4756-a196-b9f1f20b56ca}; !- Construction Name + +OS:StandardsInformation:Material, + {9b18a5f5-2859-4b96-91af-3be6752853d4}, !- Handle + {ef5a273e-d59a-47ad-b451-6e0daac704fa}; !- Material Name + +OS:StandardsInformation:Construction, + {a8d4623d-7792-4b21-83fe-68c3dbf8cce7}, !- Handle + {f0754399-c24f-4bf8-a207-c5de50825dac}; !- Construction Name + +OS:StandardsInformation:Construction, + {a835526e-77b5-4727-bbdc-6b9fa9cb1238}, !- Handle + {f117d116-5a6c-445e-bdac-34a2f70e2df1}; !- Construction Name + +OS:StandardsInformation:Construction, + {f5fa6cd7-a878-455f-a1a6-7c4ef4dd4214}, !- Handle + {f11c92cb-f897-47e7-9be6-0b90c6f1a9ec}; !- Construction Name + +OS:StandardsInformation:Construction, + {d0332265-70be-431b-8e09-454c3f6c1413}, !- Handle + {f12d78e3-af93-46fb-82de-36cf2cb73efe}; !- Construction Name + +OS:StandardsInformation:Construction, + {3ed54a8f-7a17-4bd2-b8ce-efaa23903fae}, !- Handle + {f1bc2e18-140d-414f-802c-871f19a7f8d6}; !- Construction Name + +OS:StandardsInformation:Construction, + {dbf389a7-fb46-467c-a527-535d65e66491}, !- Handle + {f1c3b110-fbab-4dbd-b389-3a77d1182860}; !- Construction Name + +OS:StandardsInformation:Construction, + {24e10332-b777-4ad3-85f9-835757b4560a}, !- Handle + {f1da23b8-cebc-4cd9-8015-4d83a2e3d1b8}; !- Construction Name + +OS:StandardsInformation:Construction, + {f1494f71-f063-4541-b150-3db07cf6c610}, !- Handle + {f215acac-83ba-459c-9fdf-15438ecfd0df}; !- Construction Name + +OS:StandardsInformation:Construction, + {71acc7db-ce61-448f-b468-a95b3939dbe6}, !- Handle + {f21d6227-bebc-4cf3-a9a7-56a1d4f637f6}; !- Construction Name + +OS:StandardsInformation:Construction, + {846d28f8-76a2-4b8a-b57f-9927da198cce}, !- Handle + {f3866942-92b2-495c-8c09-2042d7ec8e90}; !- Construction Name + +OS:StandardsInformation:Material, + {2c1da9d9-efa4-47e7-a778-a14db2efd88e}, !- Handle + {f45c2bda-12b7-4954-983b-160c768bd608}; !- Material Name + +OS:StandardsInformation:Construction, + {60b4f4bf-42e4-4776-8034-f61024c3283b}, !- Handle + {f51b9824-639c-40e9-a163-b58b5633723e}; !- Construction Name + +OS:StandardsInformation:Material, + {9d281bc4-25ef-49fb-a320-d90cf7062e6a}, !- Handle + {f55ad287-8d44-412b-936a-2bd21ec3c091}; !- Material Name + +OS:StandardsInformation:Construction, + {42ed98c0-ef5c-491c-85ef-b0cd7d7d9ea4}, !- Handle + {f63fc01e-b028-4239-89cf-15f7538914a5}; !- Construction Name + +OS:StandardsInformation:Construction, + {6b37b972-1e08-4891-8719-3281934e3c07}, !- Handle + {f678c0f3-adc9-41a6-b8ce-5efc546d74c4}; !- Construction Name + +OS:StandardsInformation:Construction, + {32d3a25d-f93c-4e29-a7af-48750c47c19d}, !- Handle + {f67e8807-8eb8-48a6-b543-f104f23a9857}; !- Construction Name + +OS:StandardsInformation:Material, + {7a356ce2-e89a-43c3-8dff-0bd5102702d0}, !- Handle + {f88cd590-2a73-4a9c-b890-b72075a785b9}; !- Material Name + +OS:StandardsInformation:Construction, + {ec9e7a32-5997-445b-b2be-3bdd68db9007}, !- Handle + {f9237654-1cd8-41da-8bf2-34d05bb66e2f}; !- Construction Name + +OS:StandardsInformation:Material, + {d58b197d-77f1-4119-8110-69ad256c67d4}, !- Handle + {f9280099-8a49-43b8-bf0a-dcca29ccbb95}; !- Material Name + +OS:StandardsInformation:Material, + {8b26a100-d58c-47ee-9d6e-f0a7dca77dcc}, !- Handle + {f929ac95-3f64-452b-a231-c13da7165cd7}; !- Material Name + +OS:StandardsInformation:Material, + {55a4c337-d759-4ed8-8cbf-56f1babc7d1f}, !- Handle + {f9c98b88-6047-4d6a-842b-b37ac8debd7e}; !- Material Name + +OS:StandardsInformation:Construction, + {bf22be3a-d76d-4192-9135-569bad6299cd}, !- Handle + {f9ecd35a-873c-439f-8c2f-0290622ea898}; !- Construction Name + +OS:StandardsInformation:Material, + {a80d719f-be1a-4c37-8a1b-0b5efe2dd3d6}, !- Handle + {fabf9ece-7afb-4152-b53b-c168ecf0ae77}; !- Material Name + +OS:StandardsInformation:Material, + {001721ad-f4ae-44e2-88d2-4ecc5d1a6c3f}, !- Handle + {fae3439f-eff2-498e-9932-8aab0b48374d}; !- Material Name + +OS:StandardsInformation:Material, + {9914ba43-98b7-4579-86c0-3a317ac4445f}, !- Handle + {fae863d9-5570-4c00-a97b-8a237473c89e}; !- Material Name + +OS:StandardsInformation:Construction, + {fb8dab4f-7b40-4a72-8d0a-c4ca0dcb3fce}, !- Handle + {faf4e3e4-04fe-42fa-ae39-8b2957eb75d2}; !- Construction Name + +OS:StandardsInformation:Construction, + {3a1f1112-8ab8-4b3d-86d5-bfecaa18c2eb}, !- Handle + {fb09dc21-5f26-4a7e-be80-823fdad7349a}; !- Construction Name + +OS:StandardsInformation:Construction, + {a2b67bb7-81df-4ccb-9925-3216542867e1}, !- Handle + {fb12c003-ed66-4961-b04c-24808b70c2d4}; !- Construction Name + +OS:StandardsInformation:Material, + {a83d90fe-b296-4061-8e8f-0c505c23d9fb}, !- Handle + {fb3b9696-9ad5-4848-80be-7aedfe68d70b}; !- Material Name + +OS:StandardsInformation:Construction, + {360d96b7-7a25-4aaf-a954-1f833fac612a}, !- Handle + {fb6c3304-4070-48f2-81f3-a887a088f7d4}; !- Construction Name + +OS:StandardsInformation:Material, + {18f35a17-863e-448b-b162-e6358d3c3aad}, !- Handle + {fbc3249d-2131-4727-aa01-fdf67749c734}; !- Material Name + +OS:StandardsInformation:Construction, + {79d1834b-e701-4f47-9791-825613fc58e5}, !- Handle + {fbee9b4e-a7ec-4221-9cfd-885529c6501e}; !- Construction Name + +OS:StandardsInformation:Material, + {0b4176ad-2f8c-4813-8edb-96b4d2cdcb41}, !- Handle + {fc6c0b3d-bad2-4fd2-87fe-e62b941dc03d}; !- Material Name + +OS:StandardsInformation:Construction, + {838c6fd7-f70f-476f-9fff-e0eebfe2aedc}, !- Handle + {fd116904-4b29-4329-a874-3c59b81dc575}; !- Construction Name + +OS:StandardsInformation:Material, + {bd1e55d8-e29c-456e-a1a2-603ff697e0ed}, !- Handle + {fd9ae786-e7ac-429c-a672-def9489f8880}; !- Material Name + +OS:StandardsInformation:Construction, + {e06144f9-e98e-428d-957b-c374a0b03922}, !- Handle + {fed678a4-65fc-42d6-8a3d-5298af0c87cc}; !- Construction Name diff --git a/tests/test_osut.py b/tests/test_osut.py index ddeba89..65b746c 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -866,7 +866,7 @@ def test07_genConstruction(self): del(model) def test08_genShade(self): - o = osut.oslg + o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) @@ -950,7 +950,7 @@ def test08_genShade(self): # model.save(file, true) def test09_internal_mass(self): - o = osut.oslg + o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) @@ -1027,6 +1027,81 @@ def test09_internal_mass(self): del(model) + def test10_holds_constructions(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/in/5ZoneNoHVAC.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + mdl = openstudio.model.Model() + + t1 = "roofceiling" + t2 = "wall" + cl1 = openstudio.model.DefaultConstructionSet + cl2 = openstudio.model.LayeredConstruction + id1 = cl1.__name__ + id2 = cl2.__name__ + n1 = "CBECS Before-1980 ClimateZone 8 (smoff) ConstSet" + n2 = "CBECS Before-1980 ExtRoof IEAD ClimateZone 8" + m5 = "Invalid 'surface type' arg #5 (osut.holdsConstruction)" + m6 = "Invalid 'set' arg #1 (osut.holdsConstruction)" + set = model.getDefaultConstructionSetByName(n1) + c = model.getLayeredConstructionByName(n2) + self.assertTrue(set) + self.assertTrue(c) + set = set.get() + c = c.get() + + # TRUE case: 'set' holds 'c' (exterior roofceiling construction). + self.assertTrue(osut.holdsConstruction(set, c, False, True, t1)) + self.assertEqual(o.status(), 0) + + # FALSE case: not ground construction. + self.assertFalse(osut.holdsConstruction(set, c, True, True, t1)) + self.assertEqual(o.status(), 0) + + # INVALID case: arg #5 : None (instead of surface type string). + self.assertFalse(osut.holdsConstruction(set, c, True, True, None)) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.clean(), DBG) + + # INVALID case: arg #5 : empty surface type string. + self.assertFalse(osut.holdsConstruction(set, c, True, True, "")) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.clean(), DBG) + + # INVALID case: arg #5 : c construction (instead of surface type string). + self.assertFalse(osut.holdsConstruction(set, c, True, True, c)) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.clean(), DBG) + + # INVALID case: arg #1 : c construction (instead of surface type string). + self.assertFalse(osut.holdsConstruction(c, c, True, True, c)) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m6) + self.assertEqual(o.clean(), DBG) + + # INVALID case: arg #1 : model (instead of surface type string). + self.assertFalse(osut.holdsConstruction(mdl, c, True, True, t1)) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m6) + self.assertEqual(o.clean(), DBG) if __name__ == "__main__": unittest.main() From 3a6fcc5030fc6586305afbe437417d0545545fb8 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 15:40:34 -0400 Subject: [PATCH 30/48] Adds fenestration/spandrel (untested) methods --- src/osut/osut.py | 501 ++++++++++++++++++++++++++++------------------- 1 file changed, 303 insertions(+), 198 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 1238706..d04acbf 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -210,204 +210,6 @@ def uo() -> dict: return _uo -def are_standardOpaqueLayers(lc=None) -> bool: - """Validates if every material in a layered construction is standard & opaque. - - Args: - lc (openstudio.model.LayeredConstruction): - an OpenStudio layered construction - - Returns: - True: If all layers are valid (standard & opaque). - False: If invalid inputs (see logs). - - """ - mth = "osut.are_standardOpaqueLayers" - cl = openstudio.model.LayeredConstruction - - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = oslg.trim(lc.nameString()) - - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) - - for m in lc.layers(): - if not m.to_StandardOpaqueMaterial(): return False - - return True - - -def thickness(lc=None) -> float: - """Returns total (standard opaque) layered construction thickness (m). - - Args: - lc (openstudio.model.LayeredConstruction): - an OpenStudio layered construction - - Returns: - float: A standard opaque construction thickness. - 0.0: If invalid inputs (see logs). - - """ - mth = "osut.thickness" - cl = openstudio.model.LayeredConstruction - d = 0.0 - - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = oslg.trim(lc.nameString()) - - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) - - if not are_standardOpaqueLayers(lc): - oslg.log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) - return d - - for m in lc.layers(): d += m.thickness() - - return d - - -def rsi(lc=None, film=0.0, t=0.0) -> float: - """Returns a construction's 'standard calc' thermal resistance (m2•K/W), - which includes air film resistances. It excludes insulating effects of - shades, screens, etc. in the case of fenestrated constructions. Adapted - from BTAP's 'Material' Module "get_conductance" (P. Lopez). - - Args: - lc (openstudio.model.LayeredConstruction): - an OpenStudio layered construction - film (float): - thermal resistance of surface air films (m2•K/W) - t (float): - gas temperature (°C) (optional) - - Returns: - float: A layered construction's thermal resistance. - 0.0: If invalid input (see logs). - - """ - mth = "osut.rsi" - cl1 = openstudio.model.LayeredConstruction - - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = lc.nameString() - - if not isinstance(lc, cl1): - return oslg.mismatch(id, lc, cl1, mth, CN.DBG, 0.0) - - try: - film = float(film) - except ValueError as e: - return oslg.mismatch(id + " film", film, float, mth, CN.DBG, 0.0) - - try: - t = float(t) - except ValueError as e: - return oslg.mismatch(id + " temp K", t, float, mth, CN.DBG, 0.0) - - t += 273.0 # °C to K - - if t < 0: - return oslg.negative(id + " temp K", mth, CN.ERR, 0.0) - - if film < 0: - return oslg.negative(id + " film", mth, ERR, 0.0) - - rsi = film - - for m in lc.layers(): - if m.to_SimpleGlazing(): - return 1 / m.to_SimpleGlazing().get().uFactor() - elif m.to_StandardGlazing(): - rsi += m.to_StandardGlazing().get().thermalResistance() - elif m.to_RefractionExtinctionGlazing(): - rsi += m.to_RefractionExtinctionGlazing().get().thermalResistance() - elif m.to_Gas(): - rsi += m.to_Gas().get().getThermalResistance(t) - elif m.to_GasMixture(): - rsi += m.to_GasMixture().get().getThermalResistance(t) - - # Opaque materials next. - if m.to_StandardOpaqueMaterial(): - rsi += m.to_StandardOpaqueMaterial().get().thermalResistance() - elif m.to_MasslessOpaqueMaterial(): - rsi += m.to_MasslessOpaqueMaterial() - elif m.to_RoofVegetation(): - rsi += m.to_RoofVegetation().get().thermalResistance() - elif m.to_AirGap(): - rsi += m.to_AirGap().get().thermalResistance() - - return rsi - - -def insulatingLayer(lc=None) -> dict: - """Identifies a layered construction's (opaque) insulating layer. - - Args: - lc (openStudio.model.LayeredConstruction): - an OpenStudio layered construction - - Returns: - An insulating-layer dictionary: - - "index" (int): construction's insulating layer index [0, n layers) - - "type" (str): layer material type ("standard" or "massless") - - "r" (float): material thermal resistance in m2•K/W. - If unsuccessful, dictionary is voided as follows (see logs): - "index": None - "type": None - "r": 0.0 - - """ - mth = "osut.insulatingLayer" - cl = openstudio.model.LayeredConstruction - res = dict(index=None, type=None, r=0.0) - i = 0 # iterator - - if not hasattr(lc, CN.NS): - return oslg.invalid("lc", mth, 1, CN.DBG, res) - - id = lc.nameString() - - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, res) - - for m in lc.layers(): - if m.to_MasslessOpaqueMaterial(): - m = m.to_MasslessOpaqueMaterial().get() - - if m.thermalResistance() < 0.001 or m.thermalResistance() < res["r"]: - i += 1 - continue - else: - res["r" ] = m.thermalResistance() - res["index"] = i - res["type" ] = "massless" - - if m.to_StandardOpaqueMaterial(): - m = m.to_StandardOpaqueMaterial().get() - k = m.thermalConductivity() - d = m.thickness() - - if (d < 0.003) or (k > 3.0) or (d / k < res["r"]): - i += 1 - continue - else: - res["r" ] = d / k - res["index"] = i - res["type" ] = "standard" - - i += 1 - - return res - - def genConstruction(model=None, specs=dict()): """Generates an OpenStudio multilayered construction, + materials if needed. @@ -1053,6 +855,309 @@ def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): return False +def defaultConstructionSet(s=None): + """Returns a surface's default construction set. + + Args: + s (openstudio.model.Surface): + A surface. + + Returns: + openstudio.model.DefaultConstructionSet: A default construction set. + None: If invalid inputs (see logs). + + """ + mth = "osut.defaultConstructionSet" + + +def are_standardOpaqueLayers(lc=None) -> bool: + """Validates if every material in a layered construction is standard & opaque. + + Args: + lc (openstudio.model.LayeredConstruction): + an OpenStudio layered construction + + Returns: + True: If all layers are valid (standard & opaque). + False: If invalid inputs (see logs). + + """ + mth = "osut.are_standardOpaqueLayers" + cl = openstudio.model.LayeredConstruction + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = oslg.trim(lc.nameString()) + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) + + for m in lc.layers(): + if not m.to_StandardOpaqueMaterial(): return False + + return True + + +def thickness(lc=None) -> float: + """Returns total (standard opaque) layered construction thickness (m). + + Args: + lc (openstudio.model.LayeredConstruction): + an OpenStudio layered construction + + Returns: + float: A standard opaque construction thickness. + 0.0: If invalid inputs (see logs). + + """ + mth = "osut.thickness" + cl = openstudio.model.LayeredConstruction + d = 0.0 + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = oslg.trim(lc.nameString()) + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) + + if not are_standardOpaqueLayers(lc): + oslg.log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) + return d + + for m in lc.layers(): d += m.thickness() + + return d + + +def glazingAirFilmRSi(usi=5.85): + """Returns total air film resistance of a fenestrated construction (m2•K/W). + + Args: + usi (float): + A fenestrated construction's U-factor (W/m2•K). + + Returns: + float: Total air film resistances. + 0.1216: If invalid input (see logs). + + """ + # The sum of thermal resistances of calculated exterior and interior film + # coefficients under standard winter conditions are taken from: + # + # https://bigladdersoftware.com/epx/docs/9-6/engineering-reference/ + # window-calculation-module.html#simple-window-model + # + # These remain acceptable approximations for flat windows, yet likely + # unsuitable for subsurfaces with curved or projecting shapes like domed + # skylights. The solution here is considered an adequate fix for reporting, + # awaiting eventual OpenStudio (and EnergyPlus) upgrades to report NFRC 100 + # (or ISO) air film resistances under standard winter conditions. + # + # For U-factors above 8.0 W/m2•K (or invalid input), the function returns + # 0.1216 m2•K/W, which corresponds to a construction with a single glass + # layer thickness of 2mm & k = ~0.6 W/m.K. + # + # The EnergyPlus Engineering calculations were designed for vertical + # windows, not for horizontal, slanted or domed surfaces - use with caution. + mth = "osut.glazingAirFilmRSi" + val = 0.1216 + + try: + usi = float(usi) + except ValueError as e: + return oslg.mismatch("usi", usi, float, mth, CN.DBG, val) + + if usi > 8.0: + return invalid("usi", mth, 1, DB.WRN, val) + elif usi < 0: + return negative("usi", mth, CN.WRN, val) + elif abs(usi) < CN.TOL: + return zero("usi", mth, CN.WRN, val) + + rsi = 1 / (0.025342 * usi + 29.163853) # exterior film, next interior film + + if usi < 5.85: + return rsi + 1 / (0.359073 * math.log(usi) + 6.949915) + + return rsi + 1 / (1.788041 * usi - 2.886625) + + +def rsi(lc=None, film=0.0, t=0.0) -> float: + """Returns a construction's 'standard calc' thermal resistance (m2•K/W), + which includes air film resistances. It excludes insulating effects of + shades, screens, etc. in the case of fenestrated constructions. Adapted + from BTAP's 'Material' Module "get_conductance" (P. Lopez). + + Args: + lc (openstudio.model.LayeredConstruction): + an OpenStudio layered construction + film (float): + thermal resistance of surface air films (m2•K/W) + t (float): + gas temperature (°C) (optional) + + Returns: + float: A layered construction's thermal resistance. + 0.0: If invalid input (see logs). + + """ + mth = "osut.rsi" + cl1 = openstudio.model.LayeredConstruction + + if not hasattr(lc, CN.NS): + return oslg.invalid("layered construction", mth, 1, DBG, 0.0) + + id = lc.nameString() + + if not isinstance(lc, cl1): + return oslg.mismatch(id, lc, cl1, mth, CN.DBG, 0.0) + + try: + film = float(film) + except ValueError as e: + return oslg.mismatch(id + " film", film, float, mth, CN.DBG, 0.0) + + try: + t = float(t) + except ValueError as e: + return oslg.mismatch(id + " temp K", t, float, mth, CN.DBG, 0.0) + + t += 273.0 # °C to K + + if t < 0: + return oslg.negative(id + " temp K", mth, CN.ERR, 0.0) + + if film < 0: + return oslg.negative(id + " film", mth, ERR, 0.0) + + rsi = film + + for m in lc.layers(): + if m.to_SimpleGlazing(): + return 1 / m.to_SimpleGlazing().get().uFactor() + elif m.to_StandardGlazing(): + rsi += m.to_StandardGlazing().get().thermalResistance() + elif m.to_RefractionExtinctionGlazing(): + rsi += m.to_RefractionExtinctionGlazing().get().thermalResistance() + elif m.to_Gas(): + rsi += m.to_Gas().get().getThermalResistance(t) + elif m.to_GasMixture(): + rsi += m.to_GasMixture().get().getThermalResistance(t) + + # Opaque materials next. + if m.to_StandardOpaqueMaterial(): + rsi += m.to_StandardOpaqueMaterial().get().thermalResistance() + elif m.to_MasslessOpaqueMaterial(): + rsi += m.to_MasslessOpaqueMaterial() + elif m.to_RoofVegetation(): + rsi += m.to_RoofVegetation().get().thermalResistance() + elif m.to_AirGap(): + rsi += m.to_AirGap().get().thermalResistance() + + return rsi + + +def insulatingLayer(lc=None) -> dict: + """Identifies a layered construction's (opaque) insulating layer. + + Args: + lc (openStudio.model.LayeredConstruction): + an OpenStudio layered construction + + Returns: + An insulating-layer dictionary: + - "index" (int): construction's insulating layer index [0, n layers) + - "type" (str): layer material type ("standard" or "massless") + - "r" (float): material thermal resistance in m2•K/W. + If unsuccessful, dictionary is voided as follows (see logs): + "index": None + "type": None + "r": 0.0 + + """ + mth = "osut.insulatingLayer" + cl = openstudio.model.LayeredConstruction + res = dict(index=None, type=None, r=0.0) + i = 0 # iterator + + if not hasattr(lc, CN.NS): + return oslg.invalid("lc", mth, 1, CN.DBG, res) + + id = lc.nameString() + + if not isinstance(lc, cl): + return oslg.mismatch(id, lc, cl, mth, CN.DBG, res) + + for m in lc.layers(): + if m.to_MasslessOpaqueMaterial(): + m = m.to_MasslessOpaqueMaterial().get() + + if m.thermalResistance() < 0.001 or m.thermalResistance() < res["r"]: + i += 1 + continue + else: + res["r" ] = m.thermalResistance() + res["index"] = i + res["type" ] = "massless" + + if m.to_StandardOpaqueMaterial(): + m = m.to_StandardOpaqueMaterial().get() + k = m.thermalConductivity() + d = m.thickness() + + if (d < 0.003) or (k > 3.0) or (d / k < res["r"]): + i += 1 + continue + else: + res["r" ] = d / k + res["index"] = i + res["type" ] = "standard" + + i += 1 + + return res + + +def is_spandrel(s=None): + """Validates whether opaque surface can be considered as a curtain wall + (or similar technology) spandrel, regardless of construction layers, by + looking up AdditionalProperties or its identifier. + + Args: + s (openstudio.model.Surface): + An opaque surface. + + Returns: + bool: Whether surface can be considered 'spandrel'. + False: If invalid input (see logs). + """ + mth = "osut.is_spandrel" + cl = openstudio.model.Surface + + if not isinstance(s, cl): + return oslg.mismatch("surface", s, cl, mth, CN.DBG) + + # Prioritize AdditionalProperties route. + if s.additionalProperties().hasFeature("spandrel"): + val = s.additionalProperties().getFeatureAsBoolean("spandrel") + + if not val: + return oslg.invalid("spandrel", mth, 1, CN.ERR, False) + + val = val.get() + + if val not in [True, False]: + return invalid("spandrel bool", mth, 1, CN.ERR, False) + else: + return val + + # Fallback: check for 'spandrel' in surface name. + return "spandrel" in s.nameString().lower() + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. From a9aaf2c8e2c074c7819f0f0b3d29c11411b4bdc2 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 1 Jul 2025 15:41:14 -0400 Subject: [PATCH 31/48] Adds fenestration/spandrel (untested) methods (redux) --- src/osut/osut.py | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index d04acbf..001324c 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1138,7 +1138,7 @@ def is_spandrel(s=None): cl = openstudio.model.Surface if not isinstance(s, cl): - return oslg.mismatch("surface", s, cl, mth, CN.DBG) + return oslg.mismatch("surface", s, cl, mth, CN.DBG, False) # Prioritize AdditionalProperties route. if s.additionalProperties().hasFeature("spandrel"): @@ -1158,6 +1158,38 @@ def is_spandrel(s=None): return "spandrel" in s.nameString().lower() +def is_fenestration(s=None): + """Validates whether a sub surface is fenestrated. + + Args: + s (openstudio.model.SubSurface): + An OpenStudio sub surface. + + Returns: + bool: Whether subsurface can be considered 'fenestrated'. + False: If invalid input (see logs). + + """ + mth = "osut.is_fenestration" + cl = openstudio.model.SubSurface + + if not isinstance(s, cl): + return oslg.mismatch("subsurface", s, cl, mth, CN.DBG, False) + + # OpenStudio::Model::SubSurface.validSubSurfaceTypeValues + # "FixedWindow" : fenestration + # "OperableWindow" : fenestration + # "Door" + # "GlassDoor" : fenestration + # "OverheadDoor" + # "Skylight" : fenestration + # "TubularDaylightDome" : fenestration + # "TubularDaylightDiffuser" : fenestration + if s.subSurfaceType().lower() in ["door", "overheaddoor"]: return False + + return True + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. From 3c1a8147bc697bdd0c22a34ae832648640b0e415 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 07:55:45 -0400 Subject: [PATCH 32/48] Imports oslg v0.3.0 --- src/osut/osut.py | 127 +++++++++++++++++++++++++++------------------ tests/test_osut.py | 9 ++-- 2 files changed, 80 insertions(+), 56 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 001324c..78753c1 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -41,7 +41,6 @@ class _CN: WRN = oslg.CN.WARN ERR = oslg.CN.ERROR FTL = oslg.CN.FATAL - NS = "nameString" TOL = 0.01 # default distance tolerance (m) TOL2 = TOL * TOL # default area tolerance (m2) CN = _CN() @@ -233,7 +232,6 @@ def genConstruction(model=None, specs=dict()): if not isinstance(model, cl): return oslg.mismatch("model", model, cl, mth, CN.DBG) - if not isinstance(specs, dict): return oslg.mismatch("specs", specs, dict, mth, CN.DBG) @@ -242,12 +240,12 @@ def genConstruction(model=None, specs=dict()): id = oslg.trim(specs["id"]) - if not id: id = "OSut.CON." + specs["type"] - + if not id: + id = "OSut.CON." + specs["type"] if specs["type"] not in uo(): return oslg.invalid("surface type", mth, 2, CN.ERR) - - if "uo" not in specs: specs["uo"] = uo()[ specs["type"] ] + if "uo" not in specs: + specs["uo"] = uo()[ specs["type"] ] u = specs["uo"] @@ -617,11 +615,10 @@ def genShade(subs=None) -> bool: v = int("".join(openstudio.openStudioVersion().split("."))) cl = openstudio.model.SubSurfaceVector - if v < 321: return False - + if v < 321: + return False if not isinstance(subs, cl): return oslg.mismatch("subs", subs, cl, mth, CN.DBG, False) - if not subs: return oslg.empty("subs", mth, CN.WRN, False) @@ -868,6 +865,60 @@ def defaultConstructionSet(s=None): """ mth = "osut.defaultConstructionSet" + cl = openstudio.model.Surface + + if not isinstance(s, cl): + return oslg.mismatch("surface", s, cl, mth) + if not s.isConstructionDefaulted(): + oslg.log(CN.WRN, "construction not defaulted (%s)" % mth) + return None + if s.construction(): + return oslg.empty("construction", mth, CN.WRN) + if not s.space(): + return oslg.empty("space", mth, CN.WRN) + + mdl = s.model() + base = s.construction().get() + space = s.space().get() + type = s.surfaceType() + bnd = s.outsideBoundaryCondition().downcase() + + ground = True if s.isGroundSurface() else False + exterior = True if bnd == "outdoors" else False + + if space.defaultConstructionSet(): + set = space.defaultConstructionSet().get() + + if holdsConstruction(set, base, ground, exterior, type): return set + + if space.spaceType(): + spacetype = space.spaceType().get() + + if spacetype.defaultConstructionSet(): + set = spacetype.defaultConstructionSet().get() + + if holdsConstruction(set, base, ground, exterior, type): + return set + + if space.buildingStory(): + story = space.buildingStory().get() + + if story.defaultConstructionSet(): + set = story.defaultConstructionSet().get() + + if holdsConstruction(set, base, ground, exterior, type): + return set + + + building = mdl.getBuilding() + + if building.defaultConstructionSet(): + set = building.defaultConstructionSet().get() + + if holdsConstruction(set, base, ground, exterior, type): + return set + + return None def are_standardOpaqueLayers(lc=None) -> bool: @@ -885,13 +936,8 @@ def are_standardOpaqueLayers(lc=None) -> bool: mth = "osut.are_standardOpaqueLayers" cl = openstudio.model.LayeredConstruction - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = oslg.trim(lc.nameString()) - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) + return oslg.mismatch("lc", lc, cl, mth, CN.DBG, 0.0) for m in lc.layers(): if not m.to_StandardOpaqueMaterial(): return False @@ -915,16 +961,10 @@ def thickness(lc=None) -> float: cl = openstudio.model.LayeredConstruction d = 0.0 - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = oslg.trim(lc.nameString()) - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, 0.0) - + return oslg.mismatch("lc", lc, cl, mth, CN.DBG, 0.0) if not are_standardOpaqueLayers(lc): - oslg.log(CN.ERR, "%s holds non-StandardOpaqueMaterial(s) %s" % (id, mth)) + oslg.log(CN.ERR, "holding non-StandardOpaqueMaterial(s) %s" % mth) return d for m in lc.layers(): d += m.thickness() @@ -1005,33 +1045,27 @@ def rsi(lc=None, film=0.0, t=0.0) -> float: """ mth = "osut.rsi" - cl1 = openstudio.model.LayeredConstruction - - if not hasattr(lc, CN.NS): - return oslg.invalid("layered construction", mth, 1, DBG, 0.0) - - id = lc.nameString() + cl = openstudio.model.LayeredConstruction - if not isinstance(lc, cl1): - return oslg.mismatch(id, lc, cl1, mth, CN.DBG, 0.0) + if not isinstance(lc, cl): + return oslg.mismatch("lc", lc, cl, mth, CN.DBG, 0.0) try: film = float(film) except ValueError as e: - return oslg.mismatch(id + " film", film, float, mth, CN.DBG, 0.0) + return oslg.mismatch("film", film, float, mth, CN.DBG, 0.0) try: t = float(t) except ValueError as e: - return oslg.mismatch(id + " temp K", t, float, mth, CN.DBG, 0.0) + return oslg.mismatch("temp K", t, float, mth, CN.DBG, 0.0) t += 273.0 # °C to K if t < 0: - return oslg.negative(id + " temp K", mth, CN.ERR, 0.0) - + return oslg.negative("temp K", mth, CN.ERR, 0.0) if film < 0: - return oslg.negative(id + " film", mth, ERR, 0.0) + return oslg.negative("film", mth, ERR, 0.0) rsi = film @@ -1083,13 +1117,8 @@ def insulatingLayer(lc=None) -> dict: res = dict(index=None, type=None, r=0.0) i = 0 # iterator - if not hasattr(lc, CN.NS): - return oslg.invalid("lc", mth, 1, CN.DBG, res) - - id = lc.nameString() - if not isinstance(lc, cl): - return oslg.mismatch(id, lc, cl, mth, CN.DBG, res) + return oslg.mismatch("lc", lc, cl, mth, CN.DBG, res) for m in lc.layers(): if m.to_MasslessOpaqueMaterial(): @@ -1209,15 +1238,11 @@ def transforms(group=None) -> dict: res = dict(t=None, r=None) cl = openstudio.model.PlanarSurfaceGroup - if not hasattr(group, CN.NS): - return oslg.invalid("group", mth, 0, CN.DBG, res) + if isinstance(group, cl): + return oslg.mismatch("group", group, cl, mth, CN.DBG, res) - id = group.nameString() mdl = group.model() - if isinstance(group, cl): - return oslg.mismatch(id, group, cl, mth, CN.DBG, res) - res["t"] = group.siteTransformation() res["r"] = group.directionofRelativeNorth() + mdl.getBuilding().northAxis() @@ -1342,8 +1367,8 @@ def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: False: If invalid input (see logs). """ - s1 = list(to_p3Dv(s1)) - s2 = list(to_p3Dv(s2)) + s1 = list(to_p3Dv(s1)) + s2 = list(to_p3Dv(s2)) if not s1: return False if not s2: return False if len(s1) != len(s2): return False @@ -1360,7 +1385,7 @@ def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: indx = None for i, pt in enumerate(s2): - if indx: break + if indx: continue xOK = abs(s1[0].x() - s2[i].x()) < CN.TOL yOK = abs(s1[0].y() - s2[i].y()) < CN.TOL diff --git a/tests/test_osut.py b/tests/test_osut.py index 65b746c..7256400 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -40,7 +40,6 @@ WRN = osut.CN.WRN ERR = osut.CN.ERR FTL = osut.CN.FTL -NS = osut.CN.NS TOL = osut.CN.TOL TOL2 = osut.CN.TOL2 @@ -229,7 +228,7 @@ def test06_insulatingLayer(self): self.assertTrue(model) model = model.get() - m0 = "Invalid 'lc' arg #1 (osut.insulatingLayer)" + m0 = " expecting LayeredConstruction (osut.insulatingLayer)" for lc in model.getLayeredConstructions(): id = lc.nameString() @@ -279,7 +278,7 @@ def test06_insulatingLayer(self): self.assertFalse(lyr["type"]) self.assertEqual(round(lyr["r"], 2), 0.00) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m0) + self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) lyr = osut.insulatingLayer("") @@ -288,7 +287,7 @@ def test06_insulatingLayer(self): self.assertFalse(lyr["type"]) self.assertEqual(round(lyr["r"], 2), 0.00) self.assertTrue(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m0) + self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) lyr = osut.insulatingLayer(model) @@ -297,7 +296,7 @@ def test06_insulatingLayer(self): self.assertFalse(lyr["type"]) self.assertEqual(round(lyr["r"], 2), 0.00) self.assertTrue(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m0) + self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) def test07_genConstruction(self): From 9d481c52ab36489a015c9a733436c4a827b22bd2 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 08:38:25 -0400 Subject: [PATCH 33/48] Resets unittest sequence --- tests/test_osut.py | 828 +++++++++++++++++++++++++++------------------ 1 file changed, 506 insertions(+), 322 deletions(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index 7256400..95aee42 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -83,223 +83,7 @@ def test04_materials(self): self.assertEqual(round(osut.mats()["sand" ]["sol" ], 3), 0.700) self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) - def test05_construction_thickness(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.level(), INF) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() - - # The v1.11.5 (2016) seb.osm, shipped with OpenStudio, holds (what - # would now be considered as deprecated) a definition of plenum floors - # (i.e. ceiling tiles) generating several warnings with more recent - # OpenStudio versions. - path = openstudio.path("./tests/files/osms/in/seb.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - - # "Shading Surface 4" is overlapping with a plenum exterior wall. - sh4 = model.getShadingSurfaceByName("Shading Surface 4") - self.assertTrue(sh4) - sh4 = sh4.get() - sh4.remove() - - plenum = model.getSpaceByName("Level 0 Ceiling Plenum") - self.assertTrue(plenum) - plenum = plenum.get() - - thzone = plenum.thermalZone() - self.assertTrue(thzone) - thzone = thzone.get() - - # Before the fix. - if version >= 350: - self.assertTrue(plenum.isEnclosedVolume()) - self.assertTrue(plenum.isVolumeDefaulted()) - self.assertTrue(plenum.isVolumeAutocalculated()) - - if 350 < version < 370: - self.assertEqual(round(plenum.volume(), 0), 234) - else: - self.assertEqual(round(plenum.volume(), 0), 0) - - self.assertTrue(thzone.isVolumeDefaulted()) - self.assertTrue(thzone.isVolumeAutocalculated()) - self.assertFalse(thzone.volume()) - - for s in plenum.surfaces(): - if s.outsideBoundaryCondition().lower() == "outdoors": continue - - # If a SEB plenum surface isn't facing outdoors, it's 1 of 4 "floor" - # surfaces (each facing a ceiling surface below). - adj = s.adjacentSurface() - self.assertTrue(adj) - adj = adj.get() - self.assertEqual(len(adj.vertices()), len(s.vertices())) - - # Same vertex sequence? Should be in reverse order. - for i, vtx in enumerate(adj.vertices()): - self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) - - self.assertEqual(adj.surfaceType(), "RoofCeiling") - self.assertEqual(s.surfaceType(), "RoofCeiling") - self.assertTrue(s.setSurfaceType("Floor")) - vtx = list(s.vertices()) - vtx.reverse() - self.assertTrue(s.setVertices(vtx)) - - # Vertices now in reverse order. - rvtx = list(adj.vertices()) - rvtx.reverse() - - for i, vtx in enumerate(rvtx): - self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) - - # After the fix. - if version >= 350: - self.assertTrue(plenum.isEnclosedVolume()) - self.assertTrue(plenum.isVolumeDefaulted()) - self.assertTrue(plenum.isVolumeAutocalculated()) - - self.assertEqual(round(plenum.volume(), 0), 50) # right answer - self.assertTrue(thzone.isVolumeDefaulted()) - self.assertTrue(thzone.isVolumeAutocalculated()) - self.assertFalse(thzone.volume()) - - model.save("./tests/files/osms/out/seb2.osm", True) - # End of cleanup. - - for c in model.getConstructions(): - if not c.to_LayeredConstruction(): continue - - c = c.to_LayeredConstruction().get() - id = c.nameString() - - # OSut 'thickness' method can only process layered constructions - # built up with standard opaque layers, which exclude: - # - # - "Air Wall"-based construction - # - "Double pane"-based construction - # - # The method returns '0' in such cases, logging ERROR messages. - th = osut.thickness(c) - - if "Air Wall" in id or "Double pane" in id: - self.assertEqual(round(th, 0), 0) - continue - - self.assertTrue(th > 0) - - self.assertTrue(o.is_error()) - self.assertTrue(o.clean(), DBG) - self.assertEqual(o.status(), 0) - self.assertFalse(o.logs()) - - for c in model.getConstructions(): - if c.to_LayeredConstruction(): continue - - c = c.to_LayeredConstruction().get() - id = c.nameString() - if "Air Wall" in id or "Double pane" in id: continue - - th = osut.thickness(c) - self.assertTrue(th > 0) - - self.assertEqual(o.status(), 0) - self.assertFalse(o.logs()) - - def test06_insulatingLayer(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() - - path = openstudio.path("./tests/files/osms/out/seb2.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - - m0 = " expecting LayeredConstruction (osut.insulatingLayer)" - - for lc in model.getLayeredConstructions(): - id = lc.nameString() - lyr = osut.insulatingLayer(lc) - - self.assertTrue(isinstance(lyr, dict)) - self.assertTrue("index" in lyr) - self.assertTrue("type" in lyr) - self.assertTrue("r" in lyr) - - if lc.isFenestration(): - self.assertEqual(o.status(), 0) - self.assertFalse(lyr["index"]) - self.assertFalse(lyr["type"]) - self.assertEqual(lyr["r"], 0) - continue - - if lyr["type"] not in ["standard", "massless"]: # air wall material - self.assertEqual(o.status(), 0) - self.assertFalse(lyr["index"]) - self.assertFalse(lyr["type"]) - self.assertEqual(lyr["r"], 0) - continue - - self.assertTrue(lyr["index"] < lc.numLayers()) - - if id == "EXTERIOR-ROOF": - self.assertEqual(lyr["index"], 2) - self.assertEqual(round(lyr["r"], 2), 5.08) - elif id == "EXTERIOR-WALL": - self.assertEqual(lyr["index"], 2) - self.assertEqual(round(lyr["r"], 2), 1.47) - elif id == "Default interior ceiling": - self.assertEqual(lyr["index"], 0) - self.assertEqual(round(lyr["r"], 2), 0.12) - elif id == "INTERIOR-WALL": - self.assertEqual(lyr["index"], 1) - self.assertEqual(round(lyr["r"], 2), 0.24) - else: - self.assertEqual(lyr["index"], 0) - self.assertEqual(round(lyr["r"], 2), 0.29) - - # Final stress tests. - lyr = osut.insulatingLayer(None) - self.assertTrue(o.is_debug()) - self.assertFalse(lyr["index"]) - self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) - self.assertEqual(len(o.logs()), 1) - self.assertTrue(m0 in o.logs()[0]["message"]) - self.assertEqual(o.clean(), DBG) - - lyr = osut.insulatingLayer("") - self.assertTrue(o.is_debug()) - self.assertFalse(lyr["index"]) - self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) - self.assertTrue(len(o.logs()), 1) - self.assertTrue(m0 in o.logs()[0]["message"]) - self.assertEqual(o.clean(), DBG) - - lyr = osut.insulatingLayer(model) - self.assertTrue(o.is_debug()) - self.assertFalse(lyr["index"]) - self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) - self.assertTrue(len(o.logs()), 1) - self.assertTrue(m0 in o.logs()[0]["message"]) - self.assertEqual(o.clean(), DBG) - - def test07_genConstruction(self): + def test05_construction_generation(self): m1 = "'specs' list? expecting dict (osut.genConstruction)" m2 = "'model' str? expecting Model (osut.genConstruction)" o = osut.oslg @@ -864,119 +648,35 @@ def test07_genConstruction(self): self.assertEqual(o.status(), 0) del(model) - def test08_genShade(self): + def test06_internal_mass(self): o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() + ratios = dict(entrance=0.1, lobby=0.3, meeting=1.0) + model = openstudio.model.Model() + entrance = openstudio.model.Space(model) + lobby = openstudio.model.Space(model) + meeting = openstudio.model.Space(model) + offices = openstudio.model.Space(model) - path = openstudio.path("./tests/files/osms/out/seb2.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - spaces = model.getSpaces() + entrance.setName("Entrance") + lobby.setName("Lobby") + meeting.setName("Meeting") + offices.setName("Offices") - # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") - # path = OpenStudio::Path.new(file) - # model = translator.loadModel(path) - # self.assertTrue(model).to_not be_empty - # model = model.get - # spaces = model.getSpaces + m1 = "OSut.InternalMassDefinition.0.10" + m2 = "OSut.InternalMassDefinition.0.30" + m3 = "OSut.InternalMassDefinition.1.00" + m4 = "OSut.InternalMassDefinition.2.00" - # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) - # self.assertEqual(len(slanted), 1) - - # slanted = slanted.first - # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") - # skylights = slanted.subSurfaces - # - # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) - # self.assertTrue(tilted.size).to eq(1) - # tilted = tilted.first - # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") - # windows = tilted.subSurfaces - # - # # 2x control groups: - # # - 3x windows as a single control group - # # - 3x skylight as another single control group - # skies = OpenStudio::Model::SubSurfaceVector.new - # wins = OpenStudio::Model::SubSurfaceVector.new - # skylights.each { |sub| skies << sub } - # windows.each { |sub| wins << sub } - # - # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 - # self.assertTrue(mod1.genShade(skies)).to be false - # self.assertTrue(mod1.status).to be_zero - # else - # self.assertTrue(mod1.genShade(skies)).to be true - # self.assertTrue(mod1.genShade(wins)).to be true - # self.assertTrue(mod1.status).to be_zero - # ctls = model.getShadingControls - # self.assertTrue(ctls.size).to eq(2) - # - # ctls.each do |ctl| - # self.assertTrue(ctl.shadingType).to eq("InteriorShade") - # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" - # self.assertTrue(ctl.shadingControlType).to eq(type) - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true - # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true - # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false - # spt1 = ctl.setpoint - # spt2 = ctl.setpoint2 - # self.assertTrue(spt1).to_not be_empty - # self.assertTrue(spt2).to_not be_empty - # spt1 = spt1.get - # spt2 = spt2.get - # self.assertTrue(spt1).to be_within(TOL).of(18) - # self.assertTrue(spt2).to be_within(TOL).of(100) - # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") - # - # ctl.subSurfaces.each do |sub| - # surface = sub.surface - # self.assertTrue(surface).to_not be_empty - # surface = surface.get - # self.assertTrue([slanted, tilted]).to include(surface) - # end - # end - # end - # - # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") - # model.save(file, true) - - def test09_internal_mass(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - ratios = dict(entrance=0.1, lobby=0.3, meeting=1.0) - model = openstudio.model.Model() - entrance = openstudio.model.Space(model) - lobby = openstudio.model.Space(model) - meeting = openstudio.model.Space(model) - offices = openstudio.model.Space(model) - - entrance.setName("Entrance") - lobby.setName("Lobby") - meeting.setName("Meeting") - offices.setName("Offices") - - m1 = "OSut.InternalMassDefinition.0.10" - m2 = "OSut.InternalMassDefinition.0.30" - m3 = "OSut.InternalMassDefinition.1.00" - m4 = "OSut.InternalMassDefinition.2.00" - - for space in model.getSpaces(): - name = space.nameString().lower() - ratio = ratios[name] if name in ratios else None - sps = openstudio.model.SpaceVector() - sps.append(space) + for space in model.getSpaces(): + name = space.nameString().lower() + ratio = ratios[name] if name in ratios else None + sps = openstudio.model.SpaceVector() + sps.append(space) if ratio: self.assertTrue(osut.genMass(sps, ratio)) @@ -1026,7 +726,135 @@ def test09_internal_mass(self): del(model) - def test10_holds_constructions(self): + def test07_construction_thickness(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + # The v1.11.5 (2016) seb.osm, shipped with OpenStudio, holds (what + # would now be considered as deprecated) a definition of plenum floors + # (i.e. ceiling tiles) generating several warnings with more recent + # OpenStudio versions. + path = openstudio.path("./tests/files/osms/in/seb.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + # "Shading Surface 4" is overlapping with a plenum exterior wall. + sh4 = model.getShadingSurfaceByName("Shading Surface 4") + self.assertTrue(sh4) + sh4 = sh4.get() + sh4.remove() + + plenum = model.getSpaceByName("Level 0 Ceiling Plenum") + self.assertTrue(plenum) + plenum = plenum.get() + + thzone = plenum.thermalZone() + self.assertTrue(thzone) + thzone = thzone.get() + + # Before the fix. + if version >= 350: + self.assertTrue(plenum.isEnclosedVolume()) + self.assertTrue(plenum.isVolumeDefaulted()) + self.assertTrue(plenum.isVolumeAutocalculated()) + + if 350 < version < 370: + self.assertEqual(round(plenum.volume(), 0), 234) + else: + self.assertEqual(round(plenum.volume(), 0), 0) + + self.assertTrue(thzone.isVolumeDefaulted()) + self.assertTrue(thzone.isVolumeAutocalculated()) + self.assertFalse(thzone.volume()) + + for s in plenum.surfaces(): + if s.outsideBoundaryCondition().lower() == "outdoors": continue + + # If a SEB plenum surface isn't facing outdoors, it's 1 of 4 "floor" + # surfaces (each facing a ceiling surface below). + adj = s.adjacentSurface() + self.assertTrue(adj) + adj = adj.get() + self.assertEqual(len(adj.vertices()), len(s.vertices())) + + # Same vertex sequence? Should be in reverse order. + for i, vtx in enumerate(adj.vertices()): + self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) + + self.assertEqual(adj.surfaceType(), "RoofCeiling") + self.assertEqual(s.surfaceType(), "RoofCeiling") + self.assertTrue(s.setSurfaceType("Floor")) + vtx = list(s.vertices()) + vtx.reverse() + self.assertTrue(s.setVertices(vtx)) + + # Vertices now in reverse order. + rvtx = list(adj.vertices()) + rvtx.reverse() + + for i, vtx in enumerate(rvtx): + self.assertTrue(osut.is_same_vtx(vtx, s.vertices()[i])) + + # After the fix. + if version >= 350: + self.assertTrue(plenum.isEnclosedVolume()) + self.assertTrue(plenum.isVolumeDefaulted()) + self.assertTrue(plenum.isVolumeAutocalculated()) + + self.assertEqual(round(plenum.volume(), 0), 50) # right answer + self.assertTrue(thzone.isVolumeDefaulted()) + self.assertTrue(thzone.isVolumeAutocalculated()) + self.assertFalse(thzone.volume()) + + model.save("./tests/files/osms/out/seb2.osm", True) + # End of cleanup. + + for c in model.getConstructions(): + if not c.to_LayeredConstruction(): continue + + c = c.to_LayeredConstruction().get() + id = c.nameString() + + # OSut 'thickness' method can only process layered constructions + # built up with standard opaque layers, which exclude: + # + # - "Air Wall"-based construction + # - "Double pane"-based construction + # + # The method returns '0' in such cases, logging ERROR messages. + th = osut.thickness(c) + + if "Air Wall" in id or "Double pane" in id: + self.assertEqual(round(th, 0), 0) + continue + + self.assertTrue(th > 0) + + self.assertTrue(o.is_error()) + self.assertTrue(o.clean(), DBG) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + for c in model.getConstructions(): + if c.to_LayeredConstruction(): continue + + c = c.to_LayeredConstruction().get() + id = c.nameString() + if "Air Wall" in id or "Double pane" in id: continue + + th = osut.thickness(c) + self.assertTrue(th > 0) + + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + def test08_holds_constructions(self): o = osut.oslg self.assertEqual(o.status(), 0) self.assertEqual(o.reset(DBG), DBG) @@ -1102,5 +930,361 @@ def test10_holds_constructions(self): self.assertEqual(o.logs()[0]["message"], m6) self.assertEqual(o.clean(), DBG) + # def test09_construction_set(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test10_glazing_airfilms(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test11_rsi(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + def test12_insulating_layer(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + m0 = " expecting LayeredConstruction (osut.insulatingLayer)" + + for lc in model.getLayeredConstructions(): + id = lc.nameString() + lyr = osut.insulatingLayer(lc) + + self.assertTrue(isinstance(lyr, dict)) + self.assertTrue("index" in lyr) + self.assertTrue("type" in lyr) + self.assertTrue("r" in lyr) + + if lc.isFenestration(): + self.assertEqual(o.status(), 0) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(lyr["r"], 0) + continue + + if lyr["type"] not in ["standard", "massless"]: # air wall material + self.assertEqual(o.status(), 0) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(lyr["r"], 0) + continue + + self.assertTrue(lyr["index"] < lc.numLayers()) + + if id == "EXTERIOR-ROOF": + self.assertEqual(lyr["index"], 2) + self.assertEqual(round(lyr["r"], 2), 5.08) + elif id == "EXTERIOR-WALL": + self.assertEqual(lyr["index"], 2) + self.assertEqual(round(lyr["r"], 2), 1.47) + elif id == "Default interior ceiling": + self.assertEqual(lyr["index"], 0) + self.assertEqual(round(lyr["r"], 2), 0.12) + elif id == "INTERIOR-WALL": + self.assertEqual(lyr["index"], 1) + self.assertEqual(round(lyr["r"], 2), 0.24) + else: + self.assertEqual(lyr["index"], 0) + self.assertEqual(round(lyr["r"], 2), 0.29) + + # Final stress tests. + lyr = osut.insulatingLayer(None) + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertEqual(len(o.logs()), 1) + self.assertTrue(m0 in o.logs()[0]["message"]) + self.assertEqual(o.clean(), DBG) + + lyr = osut.insulatingLayer("") + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertTrue(len(o.logs()), 1) + self.assertTrue(m0 in o.logs()[0]["message"]) + self.assertEqual(o.clean(), DBG) + + lyr = osut.insulatingLayer(model) + self.assertTrue(o.is_debug()) + self.assertFalse(lyr["index"]) + self.assertFalse(lyr["type"]) + self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertTrue(len(o.logs()), 1) + self.assertTrue(m0 in o.logs()[0]["message"]) + self.assertEqual(o.clean(), DBG) + + # def test13_spandrels(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test14_schedule_ruleset_minmax(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test15_schedule_constant_minmax(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test16_schedule_comapct_minmax(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test17_minmax_heatcool_setpoints(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test18_hvac_airloops(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test19_vestibules(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test20_setpoints_plenums_attics(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test21_availability_schedules(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test22_model_transformation(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test23_fits_overlaps(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test24_triangulation(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test25_segments_triads_orientation(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test26_ulc_blc(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test27_polygon_attributes(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test28_subsurface_insertions(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test29_surface_width_height(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test30_wwr_insertions(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test31_convexity(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test32_outdoor_roofs(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test33_leader_line_anchors_inserts(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test34_generated_skylight_wells(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + # def test35_facet_retrieval(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + + def test36_roller_shades(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + spaces = model.getSpaces() + + # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") + # path = OpenStudio::Path.new(file) + # model = translator.loadModel(path) + # self.assertTrue(model).to_not be_empty + # model = model.get + # spaces = model.getSpaces + + # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) + # self.assertEqual(len(slanted), 1) + + # slanted = slanted.first + # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") + # skylights = slanted.subSurfaces + # + # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) + # self.assertTrue(tilted.size).to eq(1) + # tilted = tilted.first + # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") + # windows = tilted.subSurfaces + # + # # 2x control groups: + # # - 3x windows as a single control group + # # - 3x skylight as another single control group + # skies = OpenStudio::Model::SubSurfaceVector.new + # wins = OpenStudio::Model::SubSurfaceVector.new + # skylights.each { |sub| skies << sub } + # windows.each { |sub| wins << sub } + # + # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 + # self.assertTrue(mod1.genShade(skies)).to be false + # self.assertTrue(mod1.status).to be_zero + # else + # self.assertTrue(mod1.genShade(skies)).to be true + # self.assertTrue(mod1.genShade(wins)).to be true + # self.assertTrue(mod1.status).to be_zero + # ctls = model.getShadingControls + # self.assertTrue(ctls.size).to eq(2) + # + # ctls.each do |ctl| + # self.assertTrue(ctl.shadingType).to eq("InteriorShade") + # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" + # self.assertTrue(ctl.shadingControlType).to eq(type) + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true + # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true + # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false + # spt1 = ctl.setpoint + # spt2 = ctl.setpoint2 + # self.assertTrue(spt1).to_not be_empty + # self.assertTrue(spt2).to_not be_empty + # spt1 = spt1.get + # spt2 = spt2.get + # self.assertTrue(spt1).to be_within(TOL).of(18) + # self.assertTrue(spt2).to be_within(TOL).of(100) + # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") + # + # ctl.subSurfaces.each do |sub| + # surface = sub.surface + # self.assertTrue(surface).to_not be_empty + # surface = surface.get + # self.assertTrue([slanted, tilted]).to include(surface) + # end + # end + # end + # + # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") + # model.save(file, true) + + + + + if __name__ == "__main__": unittest.main() From a24919b6abcec574ae8cf44311d7d3a93c4673d2 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 09:54:59 -0400 Subject: [PATCH 34/48] Completes default construction set test --- src/osut/osut.py | 26 ++++++++++----------- tests/test_osut.py | 58 ++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 61 insertions(+), 23 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 78753c1..01b5727 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -778,20 +778,20 @@ def genMass(sps=None, ratio=2.0) -> bool: return True -def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): +def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): """Validates whether a default construction set holds an opaque base construction. Args: set (openstudio.model.DefaultConstructionSet): A default construction set. - bse (openstudio.model.ConstructionBase): + base (openstudio.model.ConstructionBase): A construction base. gr (bool): Whether ground-facing surface. ex (bool): Whether exterior-facing surface. - tp: + type: A surface type ("Wall", "Floor", "RoofCeiling"). Returns: @@ -805,7 +805,7 @@ def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): if not isinstance(set, cl1): return oslg.invalid("set" , mth, 1, CN.DBG, False) - if not isinstance(bse, cl2): + if not isinstance(base, cl2): return oslg.invalid("base", mth, 2, CN.DBG, False) if gr not in [True, False]: return oslg.invalid("ground", mth, 3, CN.DBG, False) @@ -813,13 +813,13 @@ def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): return oslg.invalid("exterior", mth, 4, CN.DBG, False) try: - tp = str(tp) + type = str(type) except ValueError as e: - return oslg.mismatch("surface type", tp, str, mth, CN.DBG, False) + return oslg.mismatch("surface type", type, str, mth, CN.DBG, False) - type = tp.lower() + type = type.lower() - if tp not in ["floor", "wall", "roofceiling"]: + if type not in ["floor", "wall", "roofceiling"]: return oslg.invalid("surface type", mth, 5, CN.DBG, False) constructions = None @@ -839,15 +839,15 @@ def holdsConstruction(set=None, bse=None, gr=False, ex=False, tp=""): if type == "roofceiling": if constructions.roofCeilingConstruction(): construction = constructions.roofCeilingConstruction().get() - if construction == bse: return True + if construction == base: return True elif type == "floor": if constructions.floorConstruction(): construction = constructions.floorConstruction().get() - if construction == bse: return True + if construction == base: return True else: if constructions.wallConstruction(): construction = constructions.wallConstruction().get() - if construction == bse: return True + if construction == base: return True return False @@ -872,7 +872,7 @@ def defaultConstructionSet(s=None): if not s.isConstructionDefaulted(): oslg.log(CN.WRN, "construction not defaulted (%s)" % mth) return None - if s.construction(): + if not s.construction(): return oslg.empty("construction", mth, CN.WRN) if not s.space(): return oslg.empty("space", mth, CN.WRN) @@ -881,7 +881,7 @@ def defaultConstructionSet(s=None): base = s.construction().get() space = s.space().get() type = s.surfaceType() - bnd = s.outsideBoundaryCondition().downcase() + bnd = s.outsideBoundaryCondition().lower() ground = True if s.isGroundSurface() else False exterior = True if bnd == "outdoors" else False diff --git a/tests/test_osut.py b/tests/test_osut.py index 95aee42..80423ad 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -854,6 +854,8 @@ def test07_construction_thickness(self): self.assertEqual(o.status(), 0) self.assertFalse(o.logs()) + del(model) + def test08_holds_constructions(self): o = osut.oslg self.assertEqual(o.status(), 0) @@ -930,12 +932,50 @@ def test08_holds_constructions(self): self.assertEqual(o.logs()[0]["message"], m6) self.assertEqual(o.clean(), DBG) - # def test09_construction_set(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + del(model) + del(mdl) + + def test09_construction_set(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + m = "construction not defaulted (osut.defaultConstructionSet)" + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/in/5ZoneNoHVAC.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + for s in model.getSurfaces(): + set = osut.defaultConstructionSet(s) + self.assertTrue(set) + self.assertEqual(o.status(), 0) + + del(model) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + for s in model.getSurfaces(): + set = osut.defaultConstructionSet(s) + self.assertFalse(set) + self.assertTrue(o.is_warn()) + + for l in o.logs(): self.assertEqual(l["message"], m) + + self.assertEqual(o.clean(), DBG) + + del(model) # def test10_glazing_airfilms(self): # o = osut.oslg @@ -1036,6 +1076,7 @@ def test12_insulating_layer(self): self.assertTrue(len(o.logs()), 1) self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) + del(model) # def test13_spandrels(self): # o = osut.oslg @@ -1281,10 +1322,7 @@ def test36_roller_shades(self): # # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") # model.save(file, true) - - - - + del(model) if __name__ == "__main__": unittest.main() From a4ca014e7654ab818dc082a8946d30954c677c02 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 14:07:39 -0400 Subject: [PATCH 35/48] Pulls OSlg v0.3.2 --- src/osut/osut.py | 24 +++--- tests/test_osut.py | 188 ++++++++++++++++++++++++++++----------------- 2 files changed, 130 insertions(+), 82 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 01b5727..9ed0f71 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -252,7 +252,7 @@ def genConstruction(model=None, specs=dict()): if u: try: u = float(u) - except ValueError as e: + except: return oslg.mismatch(id + " Uo", u, float, mth, CN.ERR) if u < 0: @@ -719,7 +719,7 @@ def genMass(sps=None, ratio=2.0) -> bool: try: ratio = float(ratio) - except ValueError as e: + except: return oslg.mismatch("ratio", ratio, float, mth, CN.DBG, False) if not sps: @@ -814,7 +814,7 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): try: type = str(type) - except ValueError as e: + except: return oslg.mismatch("surface type", type, str, mth, CN.DBG, False) type = type.lower() @@ -1007,15 +1007,15 @@ def glazingAirFilmRSi(usi=5.85): try: usi = float(usi) - except ValueError as e: + except: return oslg.mismatch("usi", usi, float, mth, CN.DBG, val) if usi > 8.0: - return invalid("usi", mth, 1, DB.WRN, val) + return oslg.invalid("usi", mth, 1, CN.WRN, val) elif usi < 0: - return negative("usi", mth, CN.WRN, val) + return oslg.negative("usi", mth, CN.WRN, val) elif abs(usi) < CN.TOL: - return zero("usi", mth, CN.WRN, val) + return oslg.zero("usi", mth, CN.WRN, val) rsi = 1 / (0.025342 * usi + 29.163853) # exterior film, next interior film @@ -1052,12 +1052,12 @@ def rsi(lc=None, film=0.0, t=0.0) -> float: try: film = float(film) - except ValueError as e: + except: return oslg.mismatch("film", film, float, mth, CN.DBG, 0.0) try: t = float(t) - except ValueError as e: + except: return oslg.mismatch("temp K", t, float, mth, CN.DBG, 0.0) t += 273.0 # °C to K @@ -1271,7 +1271,7 @@ def trueNormal(s=None, r=0): try: r = float(r) - except ValueError as e: + except: return oslg.mismatch("rotation", r, float, mth) r = float(-r) * math.pi / 180.0 @@ -1305,7 +1305,7 @@ def scalar(v=None, m=0) -> openstudio.Vector3d: try: m = float(m) - except ValueError as e: + except: return oslg.mismatch("scalar", m, float, mth, CN.DBG, v0) v0 = openstudio.Vector3d(m * v.x(), m * v.y(), m * v.z()) @@ -1338,7 +1338,7 @@ def to_p3Dv(pts=None) -> openstudio.Point3dVector: try: pts = list(pts) - except ValueError as e: + except: return oslg.mismatch("points", pts, list, mth, CN.DBG, v) for pt in pts: diff --git a/tests/test_osut.py b/tests/test_osut.py index 80423ad..71b7331 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -68,20 +68,22 @@ def test03_dictionaries(self): self.assertEqual(osut.film().keys(), osut.uo().keys()) def test04_materials(self): - self.assertTrue("rgh" in osut.mats()["material"]) - self.assertTrue("k" in osut.mats()["material"]) - self.assertTrue("rho" in osut.mats()["material"]) - self.assertTrue("cp" in osut.mats()["material"]) - self.assertTrue("thm" in osut.mats()["sand"]) - self.assertTrue("sol" in osut.mats()["sand"]) - self.assertTrue("vis" in osut.mats()["sand"]) - self.assertEqual(osut.mats()["material"]["rgh"], "MediumSmooth") - self.assertEqual(round(osut.mats()["material"]["k" ], 3), 0.115) - self.assertEqual(round(osut.mats()["material"]["rho" ], 3), 540.000) - self.assertEqual(round(osut.mats()["material"]["cp" ], 3), 1200.000) - self.assertEqual(round(osut.mats()["sand" ]["thm" ], 3), 0.900) - self.assertEqual(round(osut.mats()["sand" ]["sol" ], 3), 0.700) - self.assertEqual(round(osut.mats()["sand" ]["vis" ], 3), 0.700) + material = osut.mats()["material"] + sand = osut.mats()["sand"] + self.assertTrue("rgh" in material) + self.assertTrue("k" in material) + self.assertTrue("rho" in material) + self.assertTrue("cp" in material) + self.assertTrue("thm" in sand) + self.assertTrue("sol" in sand) + self.assertTrue("vis" in sand) + self.assertEqual(material["rgh"], "MediumSmooth") + self.assertAlmostEqual(material["k" ], 0.115, places=3) + self.assertAlmostEqual(material["rho"], 540.000, places=3) + self.assertAlmostEqual(material["cp" ], 1200.000, places=3) + self.assertAlmostEqual( sand["thm" ], 0.900, places=3) + self.assertAlmostEqual( sand["sol" ], 0.700, places=3) + self.assertAlmostEqual( sand["vis" ], 0.700, places=3) def test05_construction_generation(self): m1 = "'specs' list? expecting dict (osut.genConstruction)" @@ -133,7 +135,7 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[3].nameString(), "OSut.drywall.015") r = osut.rsi(c, osut.film()["wall"]) u = osut.uo()["wall"] - self.assertEqual(round(r, 3), round(1/u, 3)) + self.assertAlmostEqual(r, 1/u, places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -194,9 +196,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.216") self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=2) r = osut.rsi(c, osut.film()["partition"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -216,9 +218,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.216") self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["wall"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -239,9 +241,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[2].nameString(), "OSut.mineral.210") self.assertEqual(c.layers()[3].nameString(), "OSut.drywall.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["wall"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -260,9 +262,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[0].nameString(), "OSut.drywall.015") self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.221") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["wall"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -362,9 +364,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.215") self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=2) r = osut.rsi(c, osut.film()["roof"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -384,9 +386,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.108") self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["roof"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -405,9 +407,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[0].nameString(), "OSut.concrete.200") self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.110") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["roof"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -442,9 +444,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[0].nameString(), "OSut.material.015") self.assertEqual(c.layers()[1].nameString(), "OSut.cellulose.217") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["floor"]) - self.assertEqual(round(r, 3), round(1/0.214, 3)) + self.assertAlmostEqual(r, 1/0.214, places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -464,9 +466,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.211") self.assertEqual(c.layers()[2].nameString(), "OSut.material.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["floor"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -486,9 +488,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.214") self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["floor"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -525,9 +527,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.polyiso.109") self.assertEqual(c.layers()[2].nameString(), "OSut.concrete.100") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.214) + self.assertAlmostEqual(specs["uo"], 0.214, places=3) r = osut.rsi(c, osut.film()["slab"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -563,9 +565,9 @@ def test05_construction_generation(self): self.assertEqual(c.layers()[1].nameString(), "OSut.mineral.100") self.assertEqual(c.layers()[2].nameString(), "OSut.drywall.015") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.428) + self.assertAlmostEqual(specs["uo"], 0.428, places=3) r = osut.rsi(c, osut.film()["basement"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -583,9 +585,9 @@ def test05_construction_generation(self): self.assertEqual(len(c.layers()), 1) self.assertEqual(c.layers()[0].nameString(), "OSut.door.045") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), osut.uo()["door"]) + self.assertAlmostEqual(specs["uo"], osut.uo()["door"], places=3) r = osut.rsi(c, osut.film()["door"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -603,9 +605,9 @@ def test05_construction_generation(self): self.assertEqual(len(c.layers()), 1) self.assertEqual(c.layers()[0].nameString(), "OSut.door.045") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.900) + self.assertAlmostEqual(specs["uo"], 0.900, places=3) r = osut.rsi(c, osut.film()["door"]) - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -622,9 +624,9 @@ def test05_construction_generation(self): self.assertEqual(len(c.layers()), 1) self.assertEqual(c.layers()[0].nameString(), "OSut.window.U0.9.SHGC35") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.900) + self.assertAlmostEqual(specs["uo"], 0.900, places=3) r = osut.rsi(c) # not necessary to specify film - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -641,9 +643,9 @@ def test05_construction_generation(self): self.assertEqual(len(c.layers()), 1) self.assertEqual(c.layers()[0].nameString(), "OSut.skylight.U0.9.SHGC45") self.assertTrue("uo" in specs) - self.assertEqual(round(specs["uo"], 3), 0.900) + self.assertAlmostEqual(specs["uo"], 0.900, places=3) r = osut.rsi(c) # not necessary to specify film - self.assertEqual(round(r, 3), round(1/specs["uo"], 3)) + self.assertAlmostEqual(r, 1/specs["uo"], places=3) self.assertFalse(o.logs()) self.assertEqual(o.status(), 0) del(model) @@ -655,7 +657,7 @@ def test06_internal_mass(self): self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) - ratios = dict(entrance=0.1, lobby=0.3, meeting=1.0) + ratios = dict(entrance=0.10, lobby=0.30, meeting=1.00) model = openstudio.model.Model() entrance = openstudio.model.Space(model) lobby = openstudio.model.Space(model) @@ -696,18 +698,18 @@ def test06_internal_mass(self): self.assertTrue(ratio) ratio = ratio.get() - if round(ratio, 1) == 0.1: + if round(ratio, 2) == 0.10: self.assertEqual(d.nameString(), m1) self.assertTrue("entrance" in m.nameString().lower()) - elif round(ratio, 1) == 0.3: + elif round(ratio, 2) == 0.30: self.assertEqual(d.nameString(), m2) self.assertTrue("lobby" in m.nameString().lower()) - elif round(ratio, 1) == 1.0: + elif round(ratio, 2) == 1.00: self.assertEqual(d.nameString(), m3) self.assertTrue("meeting" in m.nameString().lower()) else: self.assertEqual(d.nameString(), m4) - self.assertEqual(round(ratio, 1), 2.00) + self.assertAlmostEqual(ratio, 2.00, places=2) c = d.construction() self.assertTrue(c) @@ -765,9 +767,9 @@ def test07_construction_thickness(self): self.assertTrue(plenum.isVolumeAutocalculated()) if 350 < version < 370: - self.assertEqual(round(plenum.volume(), 0), 234) + self.assertAlmostEqual(plenum.volume(), 234, places=0) else: - self.assertEqual(round(plenum.volume(), 0), 0) + self.assertAlmostEqual(plenum.volume(), 0, places=0) self.assertTrue(thzone.isVolumeDefaulted()) self.assertTrue(thzone.isVolumeAutocalculated()) @@ -807,7 +809,7 @@ def test07_construction_thickness(self): self.assertTrue(plenum.isVolumeDefaulted()) self.assertTrue(plenum.isVolumeAutocalculated()) - self.assertEqual(round(plenum.volume(), 0), 50) # right answer + self.assertAlmostEqual(plenum.volume(), 50, places=0) # right answer self.assertTrue(thzone.isVolumeDefaulted()) self.assertTrue(thzone.isVolumeAutocalculated()) self.assertFalse(thzone.volume()) @@ -831,7 +833,7 @@ def test07_construction_thickness(self): th = osut.thickness(c) if "Air Wall" in id or "Double pane" in id: - self.assertEqual(round(th, 0), 0) + self.assertAlmostEqual(th, 0.00, places=2) continue self.assertTrue(th > 0) @@ -977,12 +979,57 @@ def test09_construction_set(self): del(model) - # def test10_glazing_airfilms(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test10_glazing_airfilms(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + m0 = "osut.glazingAirFilmRSi" + m1 = "Invalid 'usi' arg #1 (%s)" % m0 + m2 = "'usi' str? expecting float (%s)" % m0 + m3 = "'usi' NoneType? expecting float (%s)" % m0 + + for c in model.getConstructions(): + if not c.isFenestration(): continue + + uo = c.uFactor() + self.assertTrue(uo) + uo = uo.get() + self.assertTrue(isinstance(uo, float)) + self.assertAlmostEqual(osut.glazingAirFilmRSi(uo), 0.17, places=2) + self.assertEqual(o.status(), 0) + + # Stress tests. + self.assertAlmostEqual(osut.glazingAirFilmRSi(9.0), 0.1216, places=4) + self.assertTrue(o.is_warn()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + self.assertAlmostEqual(osut.glazingAirFilmRSi(""), 0.1216, places=4) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m2) + self.assertEqual(o.clean(), DBG) + + self.assertEqual(o.clean(), DBG) + self.assertAlmostEqual(osut.glazingAirFilmRSi(None), 0.1216, places=4) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m3) + self.assertEqual(o.clean(), DBG) + + del(model) # def test11_rsi(self): # o = osut.oslg @@ -1035,26 +1082,26 @@ def test12_insulating_layer(self): if id == "EXTERIOR-ROOF": self.assertEqual(lyr["index"], 2) - self.assertEqual(round(lyr["r"], 2), 5.08) + self.assertAlmostEqual(lyr["r"], 5.08, places=2) elif id == "EXTERIOR-WALL": self.assertEqual(lyr["index"], 2) - self.assertEqual(round(lyr["r"], 2), 1.47) + self.assertAlmostEqual(lyr["r"], 1.47, places=2) elif id == "Default interior ceiling": self.assertEqual(lyr["index"], 0) - self.assertEqual(round(lyr["r"], 2), 0.12) + self.assertAlmostEqual(lyr["r"], 0.12, places=2) elif id == "INTERIOR-WALL": self.assertEqual(lyr["index"], 1) - self.assertEqual(round(lyr["r"], 2), 0.24) + self.assertAlmostEqual(lyr["r"], 0.24, places=2) else: self.assertEqual(lyr["index"], 0) - self.assertEqual(round(lyr["r"], 2), 0.29) + self.assertAlmostEqual(lyr["r"], 0.29, places=2) # Final stress tests. lyr = osut.insulatingLayer(None) self.assertTrue(o.is_debug()) self.assertFalse(lyr["index"]) self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertAlmostEqual(lyr["r"], 0.00) self.assertEqual(len(o.logs()), 1) self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) @@ -1063,7 +1110,7 @@ def test12_insulating_layer(self): self.assertTrue(o.is_debug()) self.assertFalse(lyr["index"]) self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertAlmostEqual(lyr["r"], 0.00) self.assertTrue(len(o.logs()), 1) self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) @@ -1072,10 +1119,11 @@ def test12_insulating_layer(self): self.assertTrue(o.is_debug()) self.assertFalse(lyr["index"]) self.assertFalse(lyr["type"]) - self.assertEqual(round(lyr["r"], 2), 0.00) + self.assertAlmostEqual(lyr["r"], 0.00) self.assertTrue(len(o.logs()), 1) self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) + del(model) # def test13_spandrels(self): From 094452a046701bb23aa59e000c48bf5a37968024 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 15:23:36 -0400 Subject: [PATCH 36/48] Completes glazing airfilm RSi tests --- tests/test_osut.py | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index 71b7331..a7f9357 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -31,6 +31,7 @@ sys.path.append("./src/osut") import os +import math import unittest import openstudio import osut @@ -1029,6 +1030,48 @@ def test10_glazing_airfilms(self): self.assertEqual(o.logs()[0]["message"], m3) self.assertEqual(o.clean(), DBG) + # PlanarSurface class method 'filmResistance' reports standard interior + # or exterior air film resistances (ref: ASHRAE Fundamentals), e.g.: + types = dict( + StillAir_HorizontalSurface_HeatFlowsUpward=0.107, + StillAir_45DegreeSurface_HeatFlowsUpward=0.109, + StillAir_VerticalSurface=0.120, + StillAir_45DegreeSurface_HeatFlowsDownward=0.134, + StillAir_HorizontalSurface_HeatFlowsDownward=0.162, + MovingAir_15mph=0.030, + MovingAir_7p5mph=0.044) + # https://github.com/NREL/OpenStudio/blob/ + # 1c6fe48c49987c16e95e90ee3bd088ad0649ab9c/src/model/ + # PlanarSurface.cpp#L854 + + for i in openstudio.model.FilmResistanceType().getValues(): + t1 = openstudio.model.FilmResistanceType(i) + self.assertTrue(t1.valueDescription() in types) + r = openstudio.model.PlanarSurface.filmResistance(t1) + self.assertAlmostEqual(r, types[t1.valueDescription()], places=3) + if i > 4: continue + + # PlanarSurface class method 'stillAirFilmResistance' offers a + # tilt-dependent interior air film resistance, e.g.: + deg = i * 45 + rad = deg * math.pi/180 + rsi = openstudio.model.PlanarSurface.stillAirFilmResistance(rad) + # print("%i: %i: %.3f: %.3f" % (i, deg, r, rsi)) + # 0: 0: 0.107: 0.106 + # 1: 45: 0.109: 0.109 # ... OK + # 2: 90: 0.120: 0.120 # ... OK + # 3: 135: 0.134: 0.137 + # 4: 180: 0.162: 0.160 + if deg < 45 or deg > 90: continue + + self.assertAlmostEqual(rsi, r, places=2) + # The method is used for (opaque) Surfaces. The correlation/ + # regression isn't perfect, yet appears fairly reliable for + # intermediate angles between ~0° and 90°. + # https://github.com/NREL/OpenStudio/blob/ + # 1c6fe48c49987c16e95e90ee3bd088ad0649ab9c/src/model/ + # PlanarSurface.cpp#L878 + del(model) # def test11_rsi(self): @@ -1123,7 +1166,7 @@ def test12_insulating_layer(self): self.assertTrue(len(o.logs()), 1) self.assertTrue(m0 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) - + del(model) # def test13_spandrels(self): From b4f87165fab36386e6326bb2df8a6b91c8ec0883 Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 16:48:27 -0400 Subject: [PATCH 37/48] Completes RSi calc tests --- src/osut/osut.py | 2 +- tests/test_osut.py | 96 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 90 insertions(+), 8 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 9ed0f71..3a75547 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1065,7 +1065,7 @@ def rsi(lc=None, film=0.0, t=0.0) -> float: if t < 0: return oslg.negative("temp K", mth, CN.ERR, 0.0) if film < 0: - return oslg.negative("film", mth, ERR, 0.0) + return oslg.negative("film", mth, CN.ERR, 0.0) rsi = film diff --git a/tests/test_osut.py b/tests/test_osut.py index a7f9357..2f01bb3 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1071,15 +1071,97 @@ def test10_glazing_airfilms(self): # https://github.com/NREL/OpenStudio/blob/ # 1c6fe48c49987c16e95e90ee3bd088ad0649ab9c/src/model/ # PlanarSurface.cpp#L878 - + del(model) - # def test11_rsi(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test11_rsi(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + m0 = "osut.rsi" + m1 = "'lc' str? expecting LayeredConstruction (%s)" % m0 + m2 = "'lc' NoneType? expecting LayeredConstruction (%s)" % m0 + m3 = "Negative 'film' (%s)" % m0 + m4 = "'film' NoneType? expecting float (%s)" % m0 + m5 = "Negative 'temp K' (%s)" % m0 + m6 = "'temp K' NoneType? expecting float (%s)" % m0 + + for s in model.getSurfaces(): + if not s.isPartOfEnvelope(): continue + + lc = s.construction() + self.assertTrue(lc) + lc = lc.get().to_LayeredConstruction() + self.assertTrue(lc) + lc = lc.get() + + if s.isGroundSurface(): # 4x slabs on grade in SEB model + self.assertAlmostEqual(s.filmResistance(), 0.160, places=3) + self.assertAlmostEqual(osut.rsi(lc, s.filmResistance()), 0.448, places=3) + self.assertEqual(o.status(), 0) + else: + if s.surfaceType() == "Wall": + self.assertAlmostEqual(s.filmResistance(), 0.150, places=3) + self.assertAlmostEqual(osut.rsi(lc, s.filmResistance()), 2.616, places=3) + self.assertEqual(o.status(), 0) + else: # RoofCeiling + self.assertAlmostEqual(s.filmResistance(), 0.136, places=3) + self.assertAlmostEqual(osut.rsi(lc, s.filmResistance()), 5.631, places=3) + self.assertEqual(o.status(), 0) + + # Stress tests. + self.assertAlmostEqual(osut.rsi("", 0.150), 0, places=2) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + self.assertAlmostEqual(osut.rsi(None, 0.150), 0, places=2) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m2) + self.assertEqual(o.clean(), DBG) + + lc = model.getLayeredConstructionByName("SLAB-ON-GRADE-FLOOR") + self.assertTrue(lc) + lc = lc.get() + + self.assertAlmostEqual(osut.rsi(lc, -1), 0, places=0) + self.assertTrue(o.is_error()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m3) + self.assertEqual(o.clean(), DBG) + + self.assertAlmostEqual(osut.rsi(lc, None), 0, places=0) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m4) + self.assertEqual(o.clean(), DBG) + + self.assertAlmostEqual(osut.rsi(lc, 0.150, -300), 0, places=0) + self.assertTrue(o.is_error()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.clean(), DBG) + + self.assertAlmostEqual(osut.rsi(lc, 0.150, None), 0, places=0) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m6) + self.assertEqual(o.clean(), DBG) + + del(model) def test12_insulating_layer(self): o = osut.oslg From 25a38526c93d929b18871214da09b5f0587773bb Mon Sep 17 00:00:00 2001 From: brgix Date: Wed, 2 Jul 2025 17:14:15 -0400 Subject: [PATCH 38/48] Completes spandrel tests --- src/osut/osut.py | 10 ++++---- tests/test_osut.py | 59 +++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 58 insertions(+), 11 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 3a75547..35c7eec 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1176,12 +1176,12 @@ def is_spandrel(s=None): if not val: return oslg.invalid("spandrel", mth, 1, CN.ERR, False) - val = val.get() + val = val.get() - if val not in [True, False]: - return invalid("spandrel bool", mth, 1, CN.ERR, False) - else: - return val + if val not in [True, False]: + return invalid("spandrel bool", mth, 1, CN.ERR, False) + + return val # Fallback: check for 'spandrel' in surface name. return "spandrel" in s.nameString().lower() diff --git a/tests/test_osut.py b/tests/test_osut.py index 2f01bb3..adae430 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1251,12 +1251,59 @@ def test12_insulating_layer(self): del(model) - # def test13_spandrels(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test13_spandrels(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + office_walls = [] + # Smalloffice 1 Wall 1 + # Smalloffice 1 Wall 2 + # Smalloffice 1 Wall 6 + plenum_walls = [] + # Level0 Small office 1 Ceiling Plenum AbvClgPlnmWall 6 + # Level0 Small office 1 Ceiling Plenum AbvClgPlnmWall 2 + # Level0 Small office 1 Ceiling Plenum AbvClgPlnmWall 1 + + for s in model.getSurfaces(): + if not s.outsideBoundaryCondition().lower() == "outdoors": continue + if not s.surfaceType().lower() == "wall": continue + + self.assertFalse(osut.is_spandrel(s)) + + if "smalloffice 1" in s.nameString().lower(): + office_walls.append(s) + elif "small office 1 ceiling plenum" in s.nameString().lower(): + plenum_walls.append(s) + + self.assertEqual(len(office_walls), 3) + self.assertEqual(len(plenum_walls), 3) + self.assertEqual(o.status(), 0) + + # Tag Small Office walls (& plenum walls) in SEB as 'spandrels'. + tag = "spandrel" + + for wall in (office_walls + plenum_walls): + self.assertTrue(wall.additionalProperties().setFeature(tag, True)) + self.assertTrue(wall.additionalProperties().hasFeature(tag)) + prop = wall.additionalProperties().getFeatureAsBoolean(tag) + self.assertTrue(prop) + self.assertTrue(prop.get()) + self.assertTrue(osut.is_spandrel(wall)) + + self.assertEqual(o.status(), 0) + + del(model) # def test14_schedule_ruleset_minmax(self): # o = osut.oslg From 4b5abf6643ac31a8bac640725eb47ac3ab5f107a Mon Sep 17 00:00:00 2001 From: brgix Date: Thu, 3 Jul 2025 08:26:30 -0400 Subject: [PATCH 39/48] Completes facet tests --- src/osut/osut.py | 104 +++++++++++++++++++++++++++++++++++++++++++++ tests/test_osut.py | 81 ++++++++++++++++++++++++++++++++--- 2 files changed, 178 insertions(+), 7 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 35c7eec..421bc85 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1408,3 +1408,107 @@ def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: if not xOK or not yOK or not zOK: return False return True + + +def facets(spaces=[], boundary="all", type="all", sides=[]) -> list: + """Returns an array of OpenStudio space surfaces or subsurfaces that match + criteria, e.g. exterior, north-east facing walls in hotel "lobby". Note + that the 'sides' list relies on space coordinates (not building or site + coordinates). Also, the 'sides' list is exclusive (not inclusive), e.g. + walls strictly facing north or east would not be returned if 'sides' holds + ["north", "east"]. No outside boundary condition filters if 'boundary' + argument == "all". No surface type filters if 'type' argument == "all". + + Args: + spaces (list of openstudio.model.Space): + Target spaces. + boundary (str): + OpenStudio outside boundary condition. + type (str): + OpenStudio surface (or subsurface) type. + sides (list): + Direction keys, e.g. "north" (see osut.sidz()) + + Returns: + list of openstudio.model.Surface: Surfaces (may be empty, no logs). + list of openstudio.model.SubSurface: SubSurfaces (may be empty, no logs). + """ + mth = "osut.facets" + + spaces = [spaces] if isinstance(spaces, openstudio.model.Space) else spaces + + try: + spaces = list(spaces) + except: + return [] + + sides = [sides] if isinstance(sides, str) else sides + + try: + sides = list(sides) + except: + return [] + + faces = [] + boundary = oslg.trim(boundary).lower() + type = oslg.trim(type).lower() + if not boundary: return [] + if not type: return [] + + # Filter sides. If 'sides' is initially empty, return all surfaces of + # matching type and outside boundary condition. + if sides: + sides = [side for side in sides if side in sidz()] + + if not sides: return [] + + for space in spaces: + if not isinstance(space, openstudio.model.Space): return [] + + for s in space.surfaces(): + if boundary != "all": + if s.outsideBoundaryCondition().lower() != boundary: continue + + if type != "all": + if s.surfaceType().lower() != type: continue + + if sides: + aims = [] + + if s.outwardNormal().z() > CN.TOL: aims.append("top") + if s.outwardNormal().z() < -CN.TOL: aims.append("bottom") + if s.outwardNormal().y() > CN.TOL: aims.append("north") + if s.outwardNormal().x() > CN.TOL: aims.append("east") + if s.outwardNormal().y() < -CN.TOL: aims.append("south") + if s.outwardNormal().x() < -CN.TOL: aims.append("west") + + if all([side in aims for side in sides]): + faces.append(s) + else: + faces.append(s) + + for space in spaces: + for s in space.surfaces(): + if boundary != "all": + if s.outsideBoundaryCondition().lower() != boundary: continue + + for sub in s.subSurfaces(): + if type != "all": + if sub.subSurfaceType().lower() != type: continue + + if sides: + aims = [] + + if sub.outwardNormal().z() > CN.TOL: aims.append("top") + if sub.outwardNormal().z() < -CN.TOL: aims.append("bottom") + if sub.outwardNormal().y() > CN.TOL: aims.append("north") + if sub.outwardNormal().x() > CN.TOL: aims.append("east") + if sub.outwardNormal().y() < -CN.TOL: aims.append("south") + if sub.outwardNormal().x() < -CN.TOL: aims.append("west") + + if all([side in aims for side in sides]): + faces.append(sub) + else: + faces.append(sub) + + return faces diff --git a/tests/test_osut.py b/tests/test_osut.py index adae430..391c035 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1300,7 +1300,7 @@ def test13_spandrels(self): self.assertTrue(prop) self.assertTrue(prop.get()) self.assertTrue(osut.is_spandrel(wall)) - + self.assertEqual(o.status(), 0) del(model) @@ -1452,12 +1452,78 @@ def test13_spandrels(self): # self.assertEqual(o.level(), DBG) # self.assertEqual(o.status(), 0) - # def test35_facet_retrieval(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test35_facet_retrieval(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + spaces = model.getSpaces() + surfs = model.getSurfaces() + subs = model.getSubSurfaces() + self.assertEqual(len(surfs), 56) + self.assertEqual(len(subs), 8) + + # The solution is similar to: + # OpenStudio::Model::Space::findSurfaces(minDegreesFromNorth, + # maxDegreesFromNorth, + # minDegreesTilt, + # maxDegreesTilt, + # tol) + # https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ + # OpenStudio-3.6.1-doc/model/html/classopenstudio_1_1model_1_1_space.html + # #a0cf3c265ac314c1c846ee4962e852a3e + # + # ... yet it offers filters, e.g. surface type and boundary conditions. + windows = osut.facets(spaces, "Outdoors", "FixedWindow") + skylights = osut.facets(spaces, "Outdoors", "Skylight") + walls = osut.facets(spaces, "Outdoors", "Wall") + northsouth = osut.facets(spaces, "Outdoors", "Wall", ["north", "south"]) + northeast = osut.facets(spaces, "Outdoors", "Wall", ["north", "east"]) + north = osut.facets(spaces, "Outdoors", "Wall", "north") + floors1a = osut.facets(spaces, "Ground", "Floor", "bottom") + floors1b = osut.facets(spaces, "Surface", "Floor") # plenum + roofs1 = osut.facets(spaces, "Outdoors", "RoofCeiling", "top") + roofs2 = osut.facets(spaces, "Outdoors", "RoofCeiling", "foo") + + self.assertEqual(len(windows), 8) + self.assertEqual(len(skylights), 0) + self.assertEqual(len(walls), 26) + self.assertFalse(northsouth) + self.assertEqual(len(northeast), 8) + self.assertEqual(len(north), 14) + self.assertEqual(len(floors1a), 4) + self.assertEqual(len(floors1b), 4) + self.assertEqual(len(roofs1), 4) + self.assertFalse(roofs2) + + # Concise variants, same output. In the SEB model, floors face "Ground". + floors2 = osut.facets(spaces, "Ground", "Floor") + floors3 = osut.facets(spaces, "Ground") + roofs3 = osut.facets(spaces, "Outdoors", "RoofCeiling") + self.assertEqual(floors2, floors1a) + self.assertEqual(floors3, floors1a) + self.assertEqual(roofs3, roofs1) + + # Dropping filters, 'envelope' includes all above-grade envelope. + nb = len(walls) + len(roofs3) + len(windows) + len(skylights) + floors4 = osut.facets(spaces, "ALL", "Floor") + envelope = osut.facets(spaces, "Outdoors", "ALL") + + for fl in floors1a: self.assertTrue(fl in floors4) + for fl in floors1b: self.assertTrue(fl in floors4) + self.assertEqual(len(envelope), nb) + + # Without arguments, the method returns ALL surfaces and subsurfaces. + self.assertEqual(len(osut.facets(spaces)), len(surfs) + len(subs)) def test36_roller_shades(self): o = osut.oslg @@ -1542,6 +1608,7 @@ def test36_roller_shades(self): # # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") # model.save(file, true) + self.assertEqual(o.clean(), DBG) del(model) if __name__ == "__main__": From 9638a1e58047546d88b01a0fadd10beff30e73df Mon Sep 17 00:00:00 2001 From: brgix Date: Fri, 4 Jul 2025 18:23:43 -0400 Subject: [PATCH 40/48] Completes scheduleRulesetMinMax test --- src/osut/osut.py | 45 +++++++++++++++++++++++++ tests/test_osut.py | 84 ++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 123 insertions(+), 6 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 421bc85..2e18544 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -1219,6 +1219,51 @@ def is_fenestration(s=None): return True +def scheduleRulesetMinMax(sched=None): + """Returns MIN/MAX values of a schedule (ruleset). + + Args: + sched (openstudio.model.ScheduleRuleset): + A schedule. + + Returns: + dict: + - "min" (float): min temperature. (None if invalid inputs - see logs). + - "max" (float): max temperature. (None if invalid inputs - see logs). + """ + # Largely inspired from David Goldwasser's + # "schedule_ruleset_annual_min_max_value": + # + # github.com/NREL/openstudio-standards/blob/ + # 99cf713750661fe7d2082739f251269c2dfd9140/lib/openstudio-standards/ + # standards/Standards.ScheduleRuleset.rb#L124 + mth = "osut.scheduleRulesetMinMax" + cl = openstudio.model.ScheduleRuleset + res = dict(min=None, max=None) + + if not isinstance(sched, cl): + return oslg.invalid("sched", mth, 0, CN.DBG, res) + + values = list(sched.defaultDaySchedule().values()) + + for rule in sched.scheduleRules(): values += rule.daySchedule().values() + + res["min"] = min(values) + res["max"] = max(values) + + try: + res["min"] = float(res["min"]) + except: + res["min"] = None + + try: + res["max"] = float(res["max"]) + except: + res["max"] = None + + return res + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. diff --git a/tests/test_osut.py b/tests/test_osut.py index 391c035..956423d 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1305,12 +1305,84 @@ def test13_spandrels(self): del(model) - # def test14_schedule_ruleset_minmax(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test14_schedule_ruleset_minmax(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + cl1 = openstudio.model.ScheduleRuleset + cl2 = openstudio.model.ScheduleConstant + sc1 = "Space Thermostat Cooling Setpoint" + sc2 = "Schedule Constant 1" + m1 = "Invalid 'sched' (osut.scheduleRulesetMinMax)" + + sched = model.getScheduleRulesetByName(sc1) + self.assertTrue(sched) + sched = sched.get() + self.assertTrue(isinstance(sched, cl1)) + + sch = model.getScheduleConstantByName(sc2) + self.assertTrue(sch) + sch = sch.get() + self.assertTrue(isinstance(sch, cl2)) + + # Valid case. + minmax = osut.scheduleRulesetMinMax(sched) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertAlmostEqual(minmax["min"], 23.89, places=2) + self.assertAlmostEqual(minmax["max"], 23.89, places=2) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + # Invalid parameter. + minmax = osut.scheduleRulesetMinMax(None) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + # Invalid parameter. + minmax = osut.scheduleRulesetMinMax(model) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + # Invalid parameter (wrong schedule type). + minmax = osut.scheduleRulesetMinMax(sch) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + del(model) # def test15_schedule_constant_minmax(self): # o = osut.oslg From 992ce8cf74d9c7f403ee5ccb1832831613d25805 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 5 Jul 2025 07:21:06 -0400 Subject: [PATCH 41/48] Extends holdsConstruction - 01 --- src/osut/osut.py | 22 ++++++++++++---------- tests/test_osut.py | 8 +++++--- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 2e18544..f78af3b 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -602,8 +602,8 @@ def genShade(subs=None) -> bool: A list of sub surfaces. Returns: - True: If successfully generated shade. - False: if invalid input (see logs). + True: If shade successfully generated. + False: If invalid input (see logs). """ # Filter OpenStudio warnings for ShadingControl: @@ -612,10 +612,9 @@ def genShade(subs=None) -> bool: # openstudio.Logger().instance().standardOutLogger().setChannelRegex(str) mth = "osut.genShade" - v = int("".join(openstudio.openStudioVersion().split("."))) - cl = openstudio.model.SubSurfaceVector + cl = openstudio.model.SubSurfaceVector - if v < 321: + if int("".join(openstudio.openStudioVersion().split("."))) < 321: return False if not isinstance(subs, cl): return oslg.mismatch("subs", subs, cl, mth, CN.DBG, False) @@ -779,8 +778,7 @@ def genMass(sps=None, ratio=2.0) -> bool: def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): - """Validates whether a default construction set holds an opaque base - construction. + """Validates whether a default construction set holds a base construction. Args: set (openstudio.model.DefaultConstructionSet): @@ -802,11 +800,15 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): mth = "osut.holdsConstruction" cl1 = openstudio.model.DefaultConstructionSet cl2 = openstudio.model.ConstructionBase + t1 = openstudio.model.Surface.validSurfaceTypeValues() + t2 = openstudio.model.SubSurface.validSubSurfaceTypeValues() + t1 = [t.lower() for t in t1] + t2 = [t.lower() for t in t2] if not isinstance(set, cl1): - return oslg.invalid("set" , mth, 1, CN.DBG, False) + return oslg.mismatch("set", set, cl1, mth, CN.DBG, False) if not isinstance(base, cl2): - return oslg.invalid("base", mth, 2, CN.DBG, False) + return oslg.mismatch("base", base, cl2, mth, CN.DBG, False) if gr not in [True, False]: return oslg.invalid("ground", mth, 3, CN.DBG, False) if ex not in [True, False]: @@ -819,7 +821,7 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): type = type.lower() - if type not in ["floor", "wall", "roofceiling"]: + if type not in (t1 + t2): return oslg.invalid("surface type", mth, 5, CN.DBG, False) constructions = None diff --git a/tests/test_osut.py b/tests/test_osut.py index 956423d..3ba713c 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -884,7 +884,8 @@ def test08_holds_constructions(self): n1 = "CBECS Before-1980 ClimateZone 8 (smoff) ConstSet" n2 = "CBECS Before-1980 ExtRoof IEAD ClimateZone 8" m5 = "Invalid 'surface type' arg #5 (osut.holdsConstruction)" - m6 = "Invalid 'set' arg #1 (osut.holdsConstruction)" + m6 = "'set' LayeredConstruction? expecting DefaultConstructionSet" + m7 = "'set' Model? expecting DefaultConstructionSet" set = model.getDefaultConstructionSetByName(n1) c = model.getLayeredConstructionByName(n2) self.assertTrue(set) @@ -893,6 +894,7 @@ def test08_holds_constructions(self): c = c.get() # TRUE case: 'set' holds 'c' (exterior roofceiling construction). + answer = osut.holdsConstruction(set, c, False, True, t1) self.assertTrue(osut.holdsConstruction(set, c, False, True, t1)) self.assertEqual(o.status(), 0) @@ -925,14 +927,14 @@ def test08_holds_constructions(self): self.assertFalse(osut.holdsConstruction(c, c, True, True, c)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m6) + self.assertTrue(m6 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) # INVALID case: arg #1 : model (instead of surface type string). self.assertFalse(osut.holdsConstruction(mdl, c, True, True, t1)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m6) + self.assertTrue(m7 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) del(model) From 48749efa67d313353b5b46005957114b6050dc67 Mon Sep 17 00:00:00 2001 From: brgix Date: Sat, 5 Jul 2025 11:26:43 -0400 Subject: [PATCH 42/48] Extends holdsConstruction - done --- src/osut/osut.py | 96 ++++++++++++++++++++++++++++++---------------- tests/test_osut.py | 94 ++++++++++++++++++++++++++++----------------- 2 files changed, 120 insertions(+), 70 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index f78af3b..848136b 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -790,7 +790,7 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): ex (bool): Whether exterior-facing surface. type: - A surface type ("Wall", "Floor", "RoofCeiling"). + An OpenStudio surface (or sub surface) type (e.g. "Wall"). Returns: bool: Whether default set holds construction. @@ -804,15 +804,16 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): t2 = openstudio.model.SubSurface.validSubSurfaceTypeValues() t1 = [t.lower() for t in t1] t2 = [t.lower() for t in t2] + c = None if not isinstance(set, cl1): return oslg.mismatch("set", set, cl1, mth, CN.DBG, False) if not isinstance(base, cl2): return oslg.mismatch("base", base, cl2, mth, CN.DBG, False) - if gr not in [True, False]: - return oslg.invalid("ground", mth, 3, CN.DBG, False) - if ex not in [True, False]: - return oslg.invalid("exterior", mth, 4, CN.DBG, False) + if not isinstance(gr, bool): + return oslg.mismatch("ground", gr, bool, mth, CN.DBG, False) + if not isinstance(ex, bool): + return oslg.mismatch("exterior", ex, bool, mth, CN.DBG, False) try: type = str(type) @@ -821,35 +822,62 @@ def holdsConstruction(set=None, base=None, gr=False, ex=False, type=""): type = type.lower() - if type not in (t1 + t2): + if type in t1: + if gr: + if set.defaultGroundContactSurfaceConstructions(): + c = set.defaultGroundContactSurfaceConstructions().get() + elif ex: + if set.defaultExteriorSurfaceConstructions(): + c = set.defaultExteriorSurfaceConstructions().get() + else: + if set.defaultInteriorSurfaceConstructions(): + c = set.defaultInteriorSurfaceConstructions().get() + elif type in t2: + if gr: + return False + if ex: + if set.defaultExteriorSubSurfaceConstructions(): + c = set.defaultExteriorSubSurfaceConstructions().get() + else: + if set.defaultInteriorSubSurfaceConstructions(): + c = set.defaultInteriorSubSurfaceConstructions().get() + else: return oslg.invalid("surface type", mth, 5, CN.DBG, False) - constructions = None - - if gr: - if set.defaultGroundContactSurfaceConstructions(): - constructions = set.defaultGroundContactSurfaceConstructions().get() - elif ex: - if set.defaultExteriorSurfaceConstructions(): - constructions = set.defaultExteriorSurfaceConstructions().get() - else: - if set.defaultInteriorSurfaceConstructions(): - constructions = set.defaultInteriorSurfaceConstructions().get() - - if not constructions: return False - - if type == "roofceiling": - if constructions.roofCeilingConstruction(): - construction = constructions.roofCeilingConstruction().get() - if construction == base: return True - elif type == "floor": - if constructions.floorConstruction(): - construction = constructions.floorConstruction().get() - if construction == base: return True - else: - if constructions.wallConstruction(): - construction = constructions.wallConstruction().get() - if construction == base: return True + if not c: return False + + if type in t1: + if type == "roofceiling": + if c.roofCeilingConstruction(): + if c.roofCeilingConstruction().get() == base: return True + elif type == "floor": + if c.floorConstruction(): + if c.floorConstruction().get() == base: return True + else: # "wall" + if c.wallConstruction(): + if c.wallConstruction().get() == base: return True + else: # t2 + if type == "tubulardaylightdiffuser": + if c.tubularDaylightDiffuserConstruction(): + if c.tubularDaylightDiffuserConstruction() == base: return True + elif type == "tubulardaylightdome": + if c.tubularDaylightDomeConstruction(): + if c.tubularDaylightDomeConstruction().get() == base: return True + elif type == "skylight": + if c.overheadDoorConstruction(): + if c.overheadDoorConstruction().get() == base: return True + elif type == "glassdoor": + if c.glassDoorConstruction(): + if c.glassDoorConstruction().get() == base: return True + elif type == "door": + if c.doorConstruction(): + if c.doorConstruction().get() == base: return True + elif type == "operablewindow": + if c.operableWindowConstruction(): + if c.operableWindowConstruction().get() == base: return True + else: # "fixedwindow" + if c.fixedWindowConstruction(): + if c.fixedWindowConstruction().get() == base: return True return False @@ -1180,7 +1208,7 @@ def is_spandrel(s=None): val = val.get() - if val not in [True, False]: + if not isinstance(val, bool): return invalid("spandrel bool", mth, 1, CN.ERR, False) return val @@ -1419,7 +1447,7 @@ def is_same_vtx(s1=None, s2=None, indexed=True) -> bool: if not s1: return False if not s2: return False if len(s1) != len(s2): return False - if indexed not in [True, False]: indexed = True + if not isinstance(indexed, bool): indexed = True if indexed: xOK = abs(s1[0].x() - s2[0].x()) < CN.TOL diff --git a/tests/test_osut.py b/tests/test_osut.py index 3ba713c..b9f51e9 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -875,66 +875,88 @@ def test08_holds_constructions(self): model = model.get() mdl = openstudio.model.Model() - t1 = "roofceiling" - t2 = "wall" - cl1 = openstudio.model.DefaultConstructionSet - cl2 = openstudio.model.LayeredConstruction - id1 = cl1.__name__ - id2 = cl2.__name__ - n1 = "CBECS Before-1980 ClimateZone 8 (smoff) ConstSet" - n2 = "CBECS Before-1980 ExtRoof IEAD ClimateZone 8" - m5 = "Invalid 'surface type' arg #5 (osut.holdsConstruction)" - m6 = "'set' LayeredConstruction? expecting DefaultConstructionSet" - m7 = "'set' Model? expecting DefaultConstructionSet" - set = model.getDefaultConstructionSetByName(n1) - c = model.getLayeredConstructionByName(n2) + # cl1 = openstudio.model.DefaultConstructionSet + # cl2 = openstudio.model.LayeredConstruction + # cl2 = openstudio.model.Construction + # id1 = cl1.__name__ + # id2 = cl2.__name__ + # id3 = cl3.__name__ + + t1 = "RoofCeiling" + t2 = "Wall" + t3 = "Floor" + t4 = "FixedWindow" + n0 = "CBECS Before-1980 ClimateZone 8 (smoff) ConstSet" + n1 = "CBECS Before-1980 ExtRoof IEAD ClimateZone 8" + n2 = "CBECS Before-1980 ExtWall Mass ClimateZone 8" + n3 = "000 ExtSlabCarpet 4in ClimateZone 1-8" + n4 = "CBECS Before-1980 ExtWindow ClimateZone 5-8" + m1 = "Invalid 'surface type' arg #5 (osut.holdsConstruction)" + m2 = "'set' LayeredConstruction? expecting DefaultConstructionSet" + m3 = "'set' Model? expecting DefaultConstructionSet" + + set = model.getDefaultConstructionSetByName(n0) + c1 = model.getLayeredConstructionByName(n1) + c2 = model.getLayeredConstructionByName(n2) + c3 = model.getLayeredConstructionByName(n3) + c4 = model.getLayeredConstructionByName(n4) self.assertTrue(set) - self.assertTrue(c) + self.assertTrue(c1) + self.assertTrue(c2) + self.assertTrue(c3) + self.assertTrue(c4) set = set.get() - c = c.get() + c1 = c1.get() + c2 = c2.get() + c3 = c3.get() + c4 = c4.get() - # TRUE case: 'set' holds 'c' (exterior roofceiling construction). - answer = osut.holdsConstruction(set, c, False, True, t1) - self.assertTrue(osut.holdsConstruction(set, c, False, True, t1)) - self.assertEqual(o.status(), 0) + # TRUE cases: + self.assertTrue(osut.holdsConstruction(set, c1, False, True, t1)) + self.assertTrue(osut.holdsConstruction(set, c2, False, True, t2)) + self.assertTrue(osut.holdsConstruction(set, c3, True, False, t3)) + self.assertTrue(osut.holdsConstruction(set, c4, False, True, t4)) + + # FALSE case: roofceiling as ground roof construction. + self.assertFalse(osut.holdsConstruction(set, c1, True, False, t1)) - # FALSE case: not ground construction. - self.assertFalse(osut.holdsConstruction(set, c, True, True, t1)) + # FALSE case: ground-facing sub subsurface. + self.assertFalse(osut.holdsConstruction(set, c4, True, False, t4)) self.assertEqual(o.status(), 0) - # INVALID case: arg #5 : None (instead of surface type string). - self.assertFalse(osut.holdsConstruction(set, c, True, True, None)) + # INVALID case: arg #1 : None (instead of surface type string). + self.assertFalse(osut.holdsConstruction(set, c1, False, True, None)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.logs()[0]["message"], m1) self.assertEqual(o.clean(), DBG) - # INVALID case: arg #5 : empty surface type string. - self.assertFalse(osut.holdsConstruction(set, c, True, True, "")) + # INVALID case: arg #2 : empty surface type string. + self.assertFalse(osut.holdsConstruction(set, c1, False, True, "")) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.logs()[0]["message"], m1) self.assertEqual(o.clean(), DBG) - # INVALID case: arg #5 : c construction (instead of surface type string). - self.assertFalse(osut.holdsConstruction(set, c, True, True, c)) + # INVALID case: arg #3 : construction (instead of surface type string). + self.assertFalse(osut.holdsConstruction(set, c1, False, True, c2)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m5) + self.assertEqual(o.logs()[0]["message"], m1) self.assertEqual(o.clean(), DBG) - # INVALID case: arg #1 : c construction (instead of surface type string). - self.assertFalse(osut.holdsConstruction(c, c, True, True, c)) + # INVALID case: arg #4 : construction (instead of set). + self.assertFalse(osut.holdsConstruction(c2, c1, False, True, t1)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertTrue(m6 in o.logs()[0]["message"]) + self.assertTrue(m2 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) - # INVALID case: arg #1 : model (instead of surface type string). - self.assertFalse(osut.holdsConstruction(mdl, c, True, True, t1)) + # INVALID case: arg #5 : model (instead of set). + self.assertFalse(osut.holdsConstruction(mdl, c1, False, True, t1)) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertTrue(m7 in o.logs()[0]["message"]) + self.assertTrue(m3 in o.logs()[0]["message"]) self.assertEqual(o.clean(), DBG) del(model) From c9872a74f5df63c1691a4497891d63010058931f Mon Sep 17 00:00:00 2001 From: brgix Date: Sun, 6 Jul 2025 09:19:28 -0400 Subject: [PATCH 43/48] Completes MIN/MAX methods for degC scheds --- src/osut/osut.py | 164 ++++++++++++++++++++++++++++-- tests/test_osut.py | 241 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 372 insertions(+), 33 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 848136b..decd467 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -952,7 +952,7 @@ def defaultConstructionSet(s=None): def are_standardOpaqueLayers(lc=None) -> bool: - """Validates if every material in a layered construction is standard & opaque. + """Validates if every material in a layered construction is standard/opaque. Args: lc (openstudio.model.LayeredConstruction): @@ -1002,7 +1002,7 @@ def thickness(lc=None) -> float: return d -def glazingAirFilmRSi(usi=5.85): +def glazingAirFilmRSi(usi=5.85) -> float: """Returns total air film resistance of a fenestrated construction (m2•K/W). Args: @@ -1180,7 +1180,7 @@ def insulatingLayer(lc=None) -> dict: return res -def is_spandrel(s=None): +def is_spandrel(s=None) -> bool: """Validates whether opaque surface can be considered as a curtain wall (or similar technology) spandrel, regardless of construction layers, by looking up AdditionalProperties or its identifier. @@ -1217,7 +1217,7 @@ def is_spandrel(s=None): return "spandrel" in s.nameString().lower() -def is_fenestration(s=None): +def is_fenestration(s=None) -> bool: """Validates whether a sub surface is fenestrated. Args: @@ -1249,7 +1249,31 @@ def is_fenestration(s=None): return True -def scheduleRulesetMinMax(sched=None): +def has_airLoopsHVAC(model=None) -> bool: + """Validates if model has zones with HVAC air loops. + + Args: + model (openstudio.model.Model): + An OpenStudio model. + + Returns: + bool: Whether model has HVAC air loops. + False: If invalid input (see logs). + """ + mth = "osut.has_airLoopsHVAC" + cl = openstudio.model.Model + + if not isinstance(model, cl): + return oslg.mismatch("model", model, cl, mth, CN.DBG, False) + + for zone in model.getThermalZones(): + if zone.canBePlenum(): continue + if zone.airLoopHVACs() or zone.isPlenum(): return True + + return False + + +def scheduleRulesetMinMax(sched=None) -> dict: """Returns MIN/MAX values of a schedule (ruleset). Args: @@ -1272,7 +1296,7 @@ def scheduleRulesetMinMax(sched=None): res = dict(min=None, max=None) if not isinstance(sched, cl): - return oslg.invalid("sched", mth, 0, CN.DBG, res) + return oslg.mismatch("sched", sched, cl, mth, CN.DBG, res) values = list(sched.defaultDaySchedule().values()) @@ -1294,6 +1318,134 @@ def scheduleRulesetMinMax(sched=None): return res +def scheduleConstantMinMax(sched=None) -> dict: + """Returns MIN/MAX values of a schedule (constant). + + Args: + sched (openstudio.model.ScheduleConstant): + A schedule. + + Returns: + dict: + - "min" (float): min temperature. (None if invalid inputs - see logs). + - "max" (float): max temperature. (None if invalid inputs - see logs). + """ + # Largely inspired from David Goldwasser's + # "schedule_constant_annual_min_max_value": + # + # github.com/NREL/openstudio-standards/blob/ + # 99cf713750661fe7d2082739f251269c2dfd9140/lib/openstudio-standards/ + # standards/Standards.ScheduleConstant.rb#L21 + mth = "osut.scheduleConstantMinMax" + cl = openstudio.model.ScheduleConstant + res = dict(min=None, max=None) + + if not isinstance(sched, cl): + return oslg.mismatch("sched", sched, cl, mth, CN.DBG, res) + + try: + value = float(sched.value()) + except: + return None + + res["min"] = value + res["max"] = value + + return res + + +def scheduleCompactMinMax(sched=None) -> dict: + """Returns MIN/MAX values of a schedule (compact). + + Args: + sched (openstudio.model.ScheduleCompact): + A schedule. + + Returns: + dict: + - "min" (float): min temperature. (None if invalid inputs - see logs). + - "max" (float): max temperature. (None if invalid inputs - see logs). + """ + # Largely inspired from Andrew Parker's + # "schedule_compact_annual_min_max_value": + # + # github.com/NREL/openstudio-standards/blob/ + # 99cf713750661fe7d2082739f251269c2dfd9140/lib/openstudio-standards/ + # standards/Standards.ScheduleCompact.rb#L8 + mth = "osut.scheduleCompactMinMax" + cl = openstudio.model.ScheduleCompact + vals = [] + prev = "" + res = dict(min=None, max=None) + + if not isinstance(sched, cl): + return oslg.mismatch("sched", sched, cl, mth, CN.DBG, res) + + for eg in sched.extensibleGroups(): + if "until" in prev: + if eg.getDouble(0): vals.append(eg.getDouble(0).get()) + + str = eg.getString(0) + + if str: prev = str.get().lower() + + if not vals: + return oslg.empty("compact sched values", mth, CN.WRN, res) + + res["min"] = min(vals) + res["max"] = max(vals) + + try: + res["min"] = float(res["min"]) + except: + res["min"] = None + + try: + res["max"] = float(res["max"]) + except: + res["max"] = None + + return res + + +def scheduleIntervalMinMax(sched=None) -> dict: + """Returns MIN/MAX values of a schedule (interval). + + Args: + sched (openstudio.model.ScheduleInterval): + A schedule. + + Returns: + dict: + - "min" (float): min temperature. (None if invalid inputs - see logs). + - "max" (float): max temperature. (None if invalid inputs - see logs). + """ + mth = "osut.scheduleCompactMinMax" + cl = openstudio.model.ScheduleInterval + vals = [] + res = dict(min=None, max=None) + + if not isinstance(sched, cl): + return oslg.mismatch("sched", sched, cl, mth, CN.DBG, res) + + vals = sched.timeSeries().values() + + res["min"] = min(values) + res["max"] = max(values) + + try: + res["min"] = float(res["min"]) + except: + res["min"] = None + + try: + res["max"] = float(res["max"]) + except: + res["max"] = None + + return res + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. diff --git a/tests/test_osut.py b/tests/test_osut.py index b9f51e9..95ce656 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1348,7 +1348,10 @@ def test14_schedule_ruleset_minmax(self): cl2 = openstudio.model.ScheduleConstant sc1 = "Space Thermostat Cooling Setpoint" sc2 = "Schedule Constant 1" - m1 = "Invalid 'sched' (osut.scheduleRulesetMinMax)" + mth = "osut.scheduleRulesetMinMax" + m1 = "'sched' NoneType? expecting ScheduleRuleset (%s)" % mth + m2 = "'sched' str? expecting ScheduleRuleset (%s)" % mth + m3 = "'sched' ScheduleConstant? expecting ScheduleRuleset (%s)" % mth sched = model.getScheduleRulesetByName(sc1) self.assertTrue(sched) @@ -1383,7 +1386,7 @@ def test14_schedule_ruleset_minmax(self): self.assertEqual(o.clean(), DBG) # Invalid parameter. - minmax = osut.scheduleRulesetMinMax(model) + minmax = osut.scheduleRulesetMinMax("") self.assertTrue(isinstance(minmax, dict)) self.assertTrue("min" in minmax) self.assertTrue("max" in minmax) @@ -1391,7 +1394,7 @@ def test14_schedule_ruleset_minmax(self): self.assertFalse(minmax["max"]) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) - self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.logs()[0]["message"], m2) self.assertEqual(o.clean(), DBG) # Invalid parameter (wrong schedule type). @@ -1403,38 +1406,222 @@ def test14_schedule_ruleset_minmax(self): self.assertFalse(minmax["max"]) self.assertTrue(o.is_debug()) self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m3) + self.assertEqual(o.clean(), DBG) + + del(model) + + def test15_schedule_constant_minmax(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + cl1 = openstudio.model.ScheduleConstant + cl2 = openstudio.model.ScheduleRuleset + sc1 = "Schedule Constant 1" + sc2 = "Space Thermostat Cooling Setpoint" + mth = "osut.scheduleConstantMinMax" + m1 = "'sched' NoneType? expecting ScheduleConstant (%s)" % mth + m2 = "'sched' str? expecting ScheduleConstant (%s)" % mth + m3 = "'sched' ScheduleRuleset? expecting ScheduleConstant (%s)" % mth + + sched = model.getScheduleConstantByName(sc1) + self.assertTrue(sched) + sched = sched.get() + self.assertTrue(isinstance(sched, cl1)) + + sch = model.getScheduleRulesetByName(sc2) + self.assertTrue(sch) + sch = sch.get() + self.assertTrue(isinstance(sch, cl2)) + + # Valid case. + minmax = osut.scheduleConstantMinMax(sched) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertAlmostEqual(minmax["min"], 139.88, places=2) + self.assertAlmostEqual(minmax["max"], 139.88, places=2) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + # Invalid parameter. + minmax = osut.scheduleConstantMinMax(None) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) self.assertEqual(o.logs()[0]["message"], m1) self.assertEqual(o.clean(), DBG) + # Invalid parameter. + minmax = osut.scheduleConstantMinMax("") + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m2) + self.assertEqual(o.clean(), DBG) + + # Invalid parameter. + minmax = osut.scheduleConstantMinMax(sch) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m3) + self.assertEqual(o.clean(), DBG) + del(model) - # def test15_schedule_constant_minmax(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test16_schedule_compact_minmax(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) - # def test16_schedule_comapct_minmax(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() - # def test17_minmax_heatcool_setpoints(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() - # def test18_hvac_airloops(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + spt = 22 + sc2 = "Building HVAC Operation" + cl1 = openstudio.model.ScheduleCompact + cl2 = openstudio.model.Schedule + mth = "osut.scheduleCompactMinMax" + m1 = "'sched' NoneType? expecting ScheduleCompact (%s)" % mth + m2 = "'sched' str? expecting ScheduleCompact (%s)" % mth + m3 = "'sched' Schedule? expecting ScheduleCompact (%s)" % mth + + sched = openstudio.model.ScheduleCompact(model, spt) + self.assertTrue(isinstance(sched, openstudio.model.ScheduleCompact)) + sched.setName("compact schedule") + + sch = model.getScheduleByName(sc2) + self.assertTrue(sch) + sch = sch.get() + + # Valid case. + minmax = osut.scheduleCompactMinMax(sched) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertAlmostEqual(minmax["min"], spt, places=2) + self.assertAlmostEqual(minmax["max"], spt, places=2) + self.assertEqual(o.status(), 0) + self.assertFalse(o.logs()) + + # Invalid parameter. + minmax = osut.scheduleCompactMinMax(None) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m1) + self.assertEqual(o.clean(), DBG) + + # Invalid parameter. + minmax = osut.scheduleCompactMinMax("") + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m2) + self.assertEqual(o.clean(), DBG) + + # Invalid parameter. + minmax = osut.scheduleCompactMinMax(sch) + self.assertTrue(isinstance(minmax, dict)) + self.assertTrue("min" in minmax) + self.assertTrue("max" in minmax) + self.assertFalse(minmax["min"]) + self.assertFalse(minmax["max"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], m3) + self.assertEqual(o.clean(), DBG) + + del(model) + + def test17_minmax_heatcool_setpoints(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + def test18_hvac_airloops(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + msg = "'model' str? expecting Model (osut.has_airLoopsHVAC)" + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + self.assertEqual(o.clean(), DBG) + self.assertTrue(osut.has_airLoopsHVAC(model)) + self.assertEqual(o.status(), 0) + self.assertEqual(osut.has_airLoopsHVAC(""), False) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg) + self.assertEqual(o.clean(), DBG) + del(model) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/in/5ZoneNoHVAC.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + self.assertEqual(o.clean(), DBG) + self.assertFalse(osut.has_airLoopsHVAC(model)) + self.assertEqual(o.status(), 0) + self.assertEqual(osut.has_airLoopsHVAC(""), False) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg) + self.assertEqual(o.clean(), DBG) + del(model) # def test19_vestibules(self): # o = osut.oslg From 6c473ccc975cf12255bc71518cfd5c1c1c9844b1 Mon Sep 17 00:00:00 2001 From: brgix Date: Mon, 7 Jul 2025 16:03:39 -0400 Subject: [PATCH 44/48] Completes setpoints, vestibules, etc. tests --- src/osut/osut.py | 910 ++- tests/files/osms/in/smalloffice.osm | 8268 +++++++++++++++++++++++++++ tests/files/osms/in/warehouse.osm | 7107 +++++++++++++++++++++++ tests/test_osut.py | 756 ++- 4 files changed, 16870 insertions(+), 171 deletions(-) create mode 100644 tests/files/osms/in/smalloffice.osm create mode 100644 tests/files/osms/in/warehouse.osm diff --git a/src/osut/osut.py b/src/osut/osut.py index decd467..a252882 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -664,7 +664,7 @@ def genShade(subs=None) -> bool: rule.setName(id) rule.setStartDate(start) rule.setEndDate(finish) - rule.setApplyAllDays(true) + rule.setApplyAllDays(True) rule.daySchedule.setName("OSut.SHADE.Rule.Default") rule.daySchedule.addValue(openstudio.Time(0,24,0,0), 1) @@ -1446,6 +1446,914 @@ def scheduleIntervalMinMax(sched=None) -> dict: return res +def maxHeatScheduledSetpoint(zone=None) -> dict: + """Returns MAX zone heating temperature schedule setpoint [°C] and + whether zone has an active dual setpoint thermostat. + + Args: + zone (openstudio.model.ThermalZone): + An OpenStudio thermal zone. + + Returns: + dict: + - spt (float): MAX heating setpoint (None if invalid inputs - see logs). + - dual (bool): dual setpoint? (False if invalid inputs - see logs). + """ + # Largely inspired from Parker & Marrec's "thermal_zone_heated?" procedure. + # The solution here is a tad more relaxed to encompass SEMIHEATED zones as + # per Canadian NECB criteria (basically any space with at least 10 W/m2 of + # installed heating equipement, i.e. below freezing in Canada). + # + # github.com/NREL/openstudio-standards/blob/ + # 58964222d25783e9da4ae292e375fb0d5c902aa5/lib/openstudio-standards/ + # standards/Standards.ThermalZone.rb#L910 + mth = "osut.maxHeatScheduledSetpoint" + cl = openstudio.model.ThermalZone + res = dict(spt=None, dual=False) + + if not isinstance(zone, cl): + return oslg.mismatch("zone", zone, cl, mth, CN.DBG, res) + + # Zone radiant heating? Get schedule from radiant system. + for equip in zone.equipment(): + sched = None + + if equip.to_ZoneHVACHighTemperatureRadiant(): + equip = equip.to_ZoneHVACHighTemperatureRadiant().get() + + if equip.heatingSetpointTemperatureSchedule(): + sched = equip.heatingSetpointTemperatureSchedule().get() + + if equip.to_ZoneHVACLowTemperatureRadiantElectric(): + equip = equip.to_ZoneHVACLowTemperatureRadiantElectric().get() + + sched = equip.heatingSetpointTemperatureSchedule() + + if equip.to_ZoneHVACLowTempRadiantConstFlow(): + equip = equip.to_ZoneHVACLowTempRadiantConstFlow().get() + coil = equip.heatingCoil() + + if coil.to_CoilHeatingLowTempRadiantConstFlow(): + coil = coil.to_CoilHeatingLowTempRadiantConstFlow().get() + + if coil.heatingHighControlTemperatureSchedule(): + sched = c.heatingHighControlTemperatureSchedule().get() + + if equip.to_ZoneHVACLowTempRadiantVarFlow(): + equip = equip.to_ZoneHVACLowTempRadiantVarFlow().get() + coil = equip.heatingCoil() + + if coil.to_CoilHeatingLowTempRadiantVarFlow(): + coil = coil.to_CoilHeatingLowTempRadiantVarFlow().get() + + if coil.heatingControlTemperatureSchedule(): + sched = coil.heatingControlTemperatureSchedule().get() + + if not sched: continue + + if sched.to_ScheduleRuleset(): + sched = sched.to_ScheduleRuleset().get() + maximum = scheduleRulesetMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + dd = sched.winterDesignDaySchedule() + + if dd.values(): + if not res["spt"] or res["spt"] < max(dd.values()): + res["spt"] = max(dd.values()) + + if sched.to_ScheduleConstant(): + sched = sched.to_ScheduleConstant().get() + maximum = scheduleConstantMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if sched.to_ScheduleCompact(): + sched = sched.to_ScheduleCompact().get() + maximum = scheduleCompactMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if sched.to_ScheduleInterval(): + sched = sched.to_ScheduleInterval().get() + maximum = scheduleIntervalMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if not zone.thermostat(): return res + + tstat = zone.thermostat().get() + res["spt"] = None + + if (tstat.to_ThermostatSetpointDualSetpoint() or + tstat.to_ZoneControlThermostatStagedDualSetpoint()): + + if tstat.to_ThermostatSetpointDualSetpoint(): + tstat = tstat.to_ThermostatSetpointDualSetpoint().get() + else: + tstat = tstat.to_ZoneControlThermostatStagedDualSetpoint().get() + + if tstat.heatingSetpointTemperatureSchedule(): + res["dual"] = True + sched = tstat.heatingSetpointTemperatureSchedule().get() + + if sched.to_ScheduleRuleset(): + sched = sched.to_ScheduleRuleset().get() + maximum = scheduleRulesetMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + dd = sched.winterDesignDaySchedule() + + if dd.values(): + if not res["spt"] or res["spt"] < max(dd.values()): + res["spt"] = max(dd.values()) + + if sched.to_ScheduleConstant(): + sched = sched.to_ScheduleConstant().get() + maximum = scheduleConstantMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if sched.to_ScheduleCompact(): + sched = sched.to_ScheduleCompact().get() + maximum = scheduleCompactMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if sched.to_ScheduleInterval(): + sched = sched.to_ScheduleInterval().get() + maximum = scheduleIntervalMinMax(sched)["max"] + + if maximum: + if not res["spt"] or res["spt"] < maximum: + res["spt"] = maximum + + if sched.to_ScheduleYear(): + sched = sched.to_ScheduleYear().get() + + for week in sched.getScheduleWeeks(): + if not week.winterDesignDaySchedule(): + dd = week.winterDesignDaySchedule().get() + + if dd.values(): + if not res["spt"] or res["spt"] < max(dd.values()): + res["spt"] = max(dd.values()) + return res + + +def has_heatingTemperatureSetpoints(model=None): + """Confirms if model has zones with valid heating temperature setpoints. + + Args: + model (openstudio.model.Model): + An OpenStudio model. + + Returns: + bool: Whether model holds valid heating temperature setpoints. + False: If invalid inputs (see logs). + """ + mth = "osut.has_heatingTemperatureSetpoints" + cl = openstudio.model.Model + + if not isinstance(model, cl): + return oslg.mismatch("model", model, cl, mth, CN.DBG, False) + + for zone in model.getThermalZones(): + if maxHeatScheduledSetpoint(zone)["spt"]: return True + + return False + + +def minCoolScheduledSetpoint(zone=None): + """Returns MIN zone cooling temperature schedule setpoint [°C] and + whether zone has an active dual setpoint thermostat. + + Args: + zone (openstudio.model.ThermalZone): + An OpenStudio thermal zone. + + Returns: + dict: + - spt (float): MIN cooling setpoint (None if invalid inputs - see logs). + - dual (bool): dual setpoint? (False if invalid inputs - see logs). + """ + # Largely inspired from Parker & Marrec's "thermal_zone_cooled?" procedure. + # + # github.com/NREL/openstudio-standards/blob/ + # 99cf713750661fe7d2082739f251269c2dfd9140/lib/openstudio-standards/ + # standards/Standards.ThermalZone.rb#L1058 + mth = "osut.minCoolScheduledSetpoint" + cl = openstudio.model.ThermalZone + res = dict(spt=None, dual=False) + + if not isinstance(zone, cl): + return oslg.mismatch("zone", zone, cl, mth, CN.DBG, res) + + # Zone radiant cooling? Get schedule from radiant system. + for equip in zone.equipment(): + sched = None + + if equip.to_ZoneHVACLowTempRadiantConstFlow(): + equip = equip.to_ZoneHVACLowTempRadiantConstFlow().get() + coil = equip.coolingCoil() + + if coil.to_CoilCoolingLowTempRadiantConstFlow(): + coil = coil.to_CoilCoolingLowTempRadiantConstFlow().get() + + if coil.coolingLowControlTemperatureSchedule(): + sched = coil.coolingLowControlTemperatureSchedule().get() + + if equip.to_ZoneHVACLowTempRadiantVarFlow(): + equip = equip.to_ZoneHVACLowTempRadiantVarFlow().get() + coil = equip.coolingCoil() + + if coil.to_CoilCoolingLowTempRadiantVarFlow(): + coil = coil.to_CoilCoolingLowTempRadiantVarFlow().get() + + if coil.coolingControlTemperatureSchedule(): + sched = coil.coolingControlTemperatureSchedule().get() + + if not sched: continue + + if sched.to_ScheduleRuleset(): + sched = sched.to_ScheduleRuleset().get() + minimum = scheduleRulesetMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + dd = sched.summerDesignDaySchedule() + + if dd.values(): + if not res["spt"] or res["spt"] > min(dd.values()): + res["spt"] = min(dd.values()) + + if sched.to_ScheduleConstant(): + sched = sched.to_ScheduleConstant().get() + minimum = scheduleConstantMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if sched.to_ScheduleCompact(): + sched = sched.to_ScheduleCompact().get() + minimum = scheduleCompactMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if sched.to_ScheduleInterval(): + sched = sched.to_ScheduleInterval().get() + minimum = scheduleIntervalMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if not zone.thermostat(): return res + + tstat = zone.thermostat().get() + res["spt"] = None + + if (tstat.to_ThermostatSetpointDualSetpoint() or + tstat.to_ZoneControlThermostatStagedDualSetpoint()): + + if tstat.to_ThermostatSetpointDualSetpoint(): + tstat = tstat.to_ThermostatSetpointDualSetpoint().get() + else: + tstat = tstat.to_ZoneControlThermostatStagedDualSetpoint().get() + + if tstat.coolingSetpointTemperatureSchedule(): + res["dual"] = True + sched = tstat.coolingSetpointTemperatureSchedule().get() + + if sched.to_ScheduleRuleset(): + sched = sched.to_ScheduleRuleset().get() + + minimum = scheduleRulesetMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + dd = sched.summerDesignDaySchedule() + + if dd.values(): + if not res["spt"] or res["spt"] > min(dd.values()): + res["spt"] = min(dd.values()) + + if sched.to_ScheduleConstant(): + sched = sched.to_ScheduleConstant().get() + minimum = scheduleConstantMinMax(sched)[:min] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if sched.to_ScheduleCompact(): + sched = sched.to_ScheduleCompact().get() + minimum = scheduleCompactMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if sched.to_ScheduleInterval(): + sched = sched.to_ScheduleInterval().get() + minimum = scheduleIntervalMinMax(sched)["min"] + + if minimum: + if not res["spt"] or res["spt"] > minimum: + res["spt"] = minimum + + if sched.to_ScheduleYear(): + sched = sched.to_ScheduleYear().get() + + for week in sched.getScheduleWeeks(): + if not week.summerDesignDaySchedule(): + dd = week.summerDesignDaySchedule().get() + + if dd.values(): + if not res["spt"] or res["spt"] < min(dd.values()): + res["spt"] = min(dd.values()) + + return res + + +def has_coolingTemperatureSetpoints(model=None): + """Confirms if model has zones with valid cooling temperature setpoints. + + Args: + model (openstudio.model.Model): + An OpenStudio model. + + Returns: + bool: Whether model holds valid cooling temperature setpoints. + False: If invalid inputs (see logs). + """ + mth = "osut.has_coolingTemperatureSetpoints" + cl = openstudio.model.Model + + if not isinstance(model, cl): + return oslg.mismatch("model", model, cl, mth, CN.DBG, False) + + for zone in model.getThermalZones(): + if minCoolScheduledSetpoint(zone)["spt"]: return True + + return False + + +def is_vestibule(space=None): + """Validates whether space is a vestibule. + + Args: + space (): + An OpenStudio space. + + Returns: + bool: Whether space is considered a vestibule. + False: If invalid input (see logs). + """ + # INFO: OpenStudio-Standards' "thermal_zone_vestibule" criteria: + # - zones less than 200ft2; AND + # - having infiltration using Design Flow Rate + # + # github.com/NREL/openstudio-standards/blob/ + # 86bcd026a20001d903cc613bed6d63e94b14b142/lib/openstudio-standards/ + # standards/Standards.ThermalZone.rb#L1264 + # + # This (unused) OpenStudio-Standards method likely needs revision; it + # returns "false" if the thermal zone area were less than 200ft2. Not sure + # which edition of 90.1 relies on a 200ft2 threshold (2010?); 90.1 2016 + # doesn't. Yet even fixed, the method would nonetheless misidentify as + # "vestibule" a small space along an exterior wall, such as a semiheated + # storage space. + # + # The code below is intended as a simple short-term solution, basically + # relying on AdditionalProperties, or (if missing) a "vestibule" substring + # within a space's spaceType name (or the latter's standardsSpaceType). + # + # Alternatively, some future method could infer its status as a vestibule + # based on a few basic features (common to all vintages): + # - 1x+ outdoor-facing wall(s) holding 1x+ door(s) + # - adjacent to 1x+ 'occupied' conditioned space(s) + # - ideally, 1x+ door(s) between vestibule and 1x+ such adjacent space(s) + # + # An additional method parameter (i.e. std = "necb") could be added to + # ensure supplementary Standard-specific checks, e.g. maximum floor area, + # minimum distance between doors. + # + # Finally, an entirely separate method could be developed to first identify + # whether "building entrances" (a defined term in 90.1) actually require + # vestibules as per specific code requirements. Food for thought. + mth = "osut.is_vestibule" + cl = openstudio.model.Space + + if not isinstance(space, cl): + return oslg.mismatch("space", space, cl, mth, CN.DBG, False) + + id = space.nameString() + m1 = "%s:vestibule" % id + m2 = "%s:boolean" % m1 + + if space.additionalProperties().hasFeature("vestibule"): + val = space.additionalProperties().getFeatureAsBoolean("vestibule") + + if val: + val = val.get() + + if isinstance(val, bool): + return val + else: + return oslg.invalid(m2, mth, 1, CN.ERR, False) + else: + return oslg.invalid(m1, mth, 1, CN.ERR, False) + + if space.spaceType(): + type = space.spaceType().get() + if "plenum" in type.nameString().lower(): return False + if "vestibule" in type.nameString().lower(): return True + + if type.standardsSpaceType(): + type = type.standardsSpaceType().get().lower() + if "plenum" in type: return False + if "vestibule" in type: return True + + return False + + +def is_plenum(space=None): + """Validates whether a space is an indirectly-conditioned plenum. + + Args: + space (openstudio.model.Space): + An OpenStudio space. + + Returns: + bool: Whether space is considered a plenum. + False: If invalid input (see logs). + """ + # Largely inspired from NREL's "space_plenum?": + # + # github.com/NREL/openstudio-standards/blob/ + # 58964222d25783e9da4ae292e375fb0d5c902aa5/lib/openstudio-standards/ + # standards/Standards.Space.rb#L1384 + # + # Ideally, OSut's "is_plenum" should be in sync with OpenStudio SDK's + # "isPlenum" method, which solely looks for either HVAC air mixer objects: + # - AirLoopHVACReturnPlenum + # - AirLoopHVACSupplyPlenum + # + # Of the OpenStudio-Standards Prototype models, only the LargeOffice + # holds AirLoopHVACReturnPlenum objects. OpenStudio-Standards' method + # "space_plenum?" indeed catches them by checking if the space is + # "partofTotalFloorArea" (which internally has an "isPlenum" check). So + # "isPlenum" closely follows ASHRAE 90.1 2016's definition of "plenum": + # + # "plenum": a compartment or chamber ... + # - to which one or more ducts are connected + # - that forms a part of the air distribution system, and + # - that is NOT USED for occupancy or storage. + # + # Canadian NECB 2020 has the following (not as well) defined term: + # "plenum": a chamber forming part of an air duct system. + # ... we'll assume that a space shall also be considered + # UNOCCUPIED if it's "part of an air duct system". + # + # As intended, "isPlenum" would NOT identify as a "plenum" any vented + # UNCONDITIONED or UNENCLOSED attic or crawlspace - good. Yet "isPlenum" + # would also ignore dead air spaces integrating ducted return air. The + # SDK's "partofTotalFloorArea" would be more suitable in such cases, as + # long as modellers have, a priori, set this parameter to FALSE. + # + # By initially relying on the SDK's "partofTotalFloorArea", "space_plenum?" + # ends up catching a MUCH WIDER range of spaces, which aren't caught by + # "isPlenum". This includes attics, crawlspaces, non-plenum air spaces above + # ceiling tiles, and any other UNOCCUPIED space in a model. The term + # "plenum" in this context is more of a catch-all shorthand - to be used + # with caution. For instance, "space_plenum?" shouldn't be used (in + # isolation) to determine whether an UNOCCUPIED space should have its + # envelope insulated ("plenum") or not ("attic"). + # + # In contrast to OpenStudio-Standards' "space_plenum?", OSut's "is_plenum" + # strictly returns FALSE if a space is indeed "partofTotalFloorArea". It + # also returns FALSE if the space is a vestibule. Otherwise, it needs more + # information to determine if such an UNOCCUPIED space is indeed a + # plenum. Beyond these 2x criteria, a space is considered a plenum if: + # + # CASE A: it includes the substring "plenum" (case insensitive) in its + # spaceType's name, or in the latter's standardsSpaceType string; + # + # CASE B: "isPlenum" == TRUE in an OpenStudio model WITH HVAC airloops; OR + # + # CASE C: its zone holds an 'inactive' thermostat (i.e. can't extract valid + # setpoints) in an OpenStudio model with setpoint temperatures. + # + # If a modeller is instead simply interested in identifying UNOCCUPIED + # spaces that are INDIRECTLYCONDITIONED (not necessarily plenums), then the + # following combination is likely more reliable and less confusing: + # - SDK's partofTotalFloorArea == FALSE + # - OSut's is_unconditioned == FALSE + mth = "osut.is_plenum" + cl = openstudio.model.Space + + if not isinstance(space, cl): + return oslg.mismatch("space", space, cl, mth, CN.DBG, False) + + if space.partofTotalFloorArea(): return False + if is_vestibule(space): return False + + # CASE A: "plenum" spaceType. + if space.spaceType(): + type = space.spaceType().get() + + if "plenum" in type.nameString().lower(): + return True + + if type.standardsSpaceType(): + type = type.standardsSpaceType().get().lower() + + if "plenum" in type: return True + + # CASE B: "isPlenum" == TRUE if airloops. + if has_airLoopsHVAC(space.model()): return space.isPlenum() + + # CASE C: zone holds an 'inactive' thermostat. + zone = space.thermalZone() + heated = has_heatingTemperatureSetpoints(space.model()) + cooled = has_coolingTemperatureSetpoints(space.model()) + + if heated or cooled: + if not zone: return False + + zone = zone.get() + heat = maxHeatScheduledSetpoint(zone) + cool = minCoolScheduledSetpoint(zone) + if heat["spt"] or cool["spt"]: return False # directly CONDITIONED + return heat["dual"] or cool["dual"] # FALSE if both are None + + return False + + +def setpoints(space=None): + """Retrieves a space's (implicit or explicit) heating/cooling setpoints. + + Args: + space (OpenStudio::Model::Space): + An OpenStudio space. + Returns: + dict: + - heating (float): heating setpoint (None if invalid inputs - see logs). + - cooling (float): cooling setpoint (None if invalid inputs - see logs). + """ + mth = "osut.setpoints" + cl1 = openstudio.model.Space + cl2 = str + res = dict(heating=None, cooling=None) + tg1 = "space_conditioning_category" + tg2 = "indirectlyconditioned" + cts = ["nonresconditioned", "resconditioned", "semiheated", "unconditioned"] + cnd = None + + if not isinstance(space, cl1): + return oslg.mismatch("space", space, cl1, mth, CN.DBG, res) + + # 1. Check for OpenStudio-Standards' space conditioning categories. + if space.additionalProperties().hasFeature(tg1): + cnd = space.additionalProperties().getFeatureAsString(tg1) + + if cnd: + cnd = cnd.get() + + if cnd.lower() in cts: + if cnd.lower() == "unconditioned": return res + else: + oslg.invalid("%s:%s" % (tg1, cnd), mth, 0, CN.ERR) + cnd = None + else: + cnd = None + + # 2. Check instead OSut's INDIRECTLYCONDITIONED (parent space) link. + if not cnd: + id = space.additionalProperties().getFeatureAsString(tg2) + + if id: + id = id.get() + dad = space.model().getSpaceByName(id) + + if dad: + # Now focus on 'parent' space of INDIRECTLYCONDITIONED space. + space = dad.get() + cnd = tg2 + else: + log(ERR, "Unknown space %s (%s)" % (id, mth)) + + # 3. Fetch space setpoints (if model indeed holds valid setpoints). + heated = has_heatingTemperatureSetpoints(space.model()) + cooled = has_coolingTemperatureSetpoints(space.model()) + zone = space.thermalZone() + + if heated or cooled: + if not zone: return res # UNCONDITIONED + + zone = zone.get() + res["heating"] = maxHeatScheduledSetpoint(zone)["spt"] + res["cooling"] = minCoolScheduledSetpoint(zone)["spt"] + + # 4. Reset if AdditionalProperties were found & valid. + if cnd: + if cnd.lower() == "unconditioned": + res["heating"] = None + res["cooling"] = None + elif cnd.lower() == "semiheated": + if not res["heating"]: res["heating"] = 14.0 + res["cooling"] = None + elif "conditioned" in cnd.lower(): + # "nonresconditioned", "resconditioned" or "indirectlyconditioned" + if not res["heating"]: res["heating"] = 21.0 # default + if not res["cooling"]: res["cooling"] = 24.0 # default + + # 5. Reset if plenum. + if is_plenum(space): + if not res["heating"]: res["heating"] = 21.0 # default + if not res["cooling"]: res["cooling"] = 24.0 # default + + return res + + +def is_unconditioned(space=None): + """Validates if a space is UNCONDITIONED. + + Args: + space (openstudio.model.Space): + An OpenStudio space. + Returns: + bool: Whether space is considered UNCONDITIONED. + False: If invalid input (see logs). + """ + mth = "osut.is_unconditioned" + cl = openstudio.model.Space + + if not isinstance(space, cl): + return oslg.mismatch("space", space, cl, mth, CN.DBG, False) + + if setpoints(space)["heating"]: return False + if setpoints(space)["cooling"]: return False + + return True + + +def is_refrigerated(space=None): + """Confirms if a space can be considered as REFRIGERATED. + + Args: + space (openstudio.model.Space): + An OpenStudio space. + + Returns: + bool: Whether space is considered REFRIGERATED. + False: If invalid inputs (see logs). + """ + mth = "osut.is_refrigerated" + cl = openstudio.model.Space + tg0 = "refrigerated" + + if not isinstance(space, cl): + return oslg.mismatch("space", space, cl, mth, CN.DBG, False) + + id = space.nameString() + + # 1. First check OSut's REFRIGERATED status. + status = space.additionalProperties().getFeatureAsString(tg0) + + if status: + status = status.get() + if isinstance(status, bool): return status + log(ERR, "Unknown %s REFRIGERATED %s (%s)" % (id, status, mth)) + + # 2. Else, compare design heating/cooling setpoints. + stps = setpoints(space) + if stps["heating"]: return False + if not stps["cooling"]: return False + if stps["cooling"] < 15: return True + + return False + + +def is_semiheated(space=None): + """Confirms if a space can be considered as SEMIHEATED as per NECB 2020 + 1.2.1.2. 2): Design heating setpoint < 15°C (and non-REFRIGERATED). + + Args: + space (openstudio.model.space): + An OpenStudio space. + + Returns: + bool: Whether space is considered SEMIHEATED. + False: If invalid inputs (see logs). + """ + mth = "osut.is_semiheated" + cl = openstudio.model.Space + + if not isinstance(space, cl): + return oslg.mismatch("space", space, cl, mth, CN.DBG, False) + if is_refrigerated(space): + return False + + stps = setpoints(space) + if stps["cooling"]: return False + if not stps["heating"]: return False + if stps["heating"] < 15: return True + + return False + + +def availabilitySchedule(model=None, avl=""): + """Generates an HVAC availability schedule (if missing from model). + + Args: + model (openstudio.model.Model): + An OpenStudio model. + avl (str): + Seasonal availability choice (optional, default "ON"). + + Returns: + OpenStudio::Model::Schedule: An OpenStudio HVAC availability schedule. + None: If invalid input (see logs). + """ + mth = "osut.availabilitySchedule" + cl = openstudio.model.Model + limits = None + + if not isinstance(model, cl): + return oslg.mismatch("model", model, cl, mth) + + try: + avl = str(avl) + except: + return oslg.mismatch("availability", avl, str, mth, CN.ERR) + + # Either fetch availability ScheduleTypeLimits object, or create one. + for l in model.getScheduleTypeLimitss(): + id = l.nameString().lower() + + if limits: break + if not l.lowerLimitValue(): continue + if not l.upperLimitValue(): continue + if not l.numericType(): continue + if not int(l.lowerLimitValue().get()) == 0: continue + if not int(l.upperLimitValue().get()) == 1: continue + if not l.numericType().get().lower() == "discrete": continue + if not l.unitType().lower() == "availability": continue + if id != "hvac operation scheduletypelimits": continue + + limits = l + + if not limits: + limits = openstudio.model.ScheduleTypeLimits(model) + limits.setName("HVAC Operation ScheduleTypeLimits") + limits.setLowerLimitValue(0) + limits.setUpperLimitValue(1) + limits.setNumericType("Discrete") + limits.setUnitType("Availability") + + time = openstudio.Time(0,24) + secs = time.totalSeconds() + on = openstudio.model.ScheduleDay(model, 1) + off = openstudio.model.ScheduleDay(model, 0) + + # Seasonal availability start/end dates. + year = model.yearDescription() + + if not year: + return oslg.empty("yearDescription", mth, CN.ERR) + + year = year.get() + may01 = year.makeDate(openstudio.MonthOfYear("May"), 1) + oct31 = year.makeDate(openstudio.MonthOfYear("Oct"), 31) + + if oslg.trim(avl).lower() == "winter": + # available from November 1 to April 30 (6 months) + val = 1 + sch = off + nom = "WINTER Availability SchedRuleset" + dft = "WINTER Availability dftDaySched" + tag = "May-Oct WINTER Availability SchedRule" + day = "May-Oct WINTER SchedRule Day" + elif oslg.trim(avl).lower() == "summer": + # available from May 1 to October 31 (6 months) + val = 0 + sch = on + nom = "SUMMER Availability SchedRuleset" + dft = "SUMMER Availability dftDaySched" + tag = "May-Oct SUMMER Availability SchedRule" + day = "May-Oct SUMMER SchedRule Day" + elif oslg.trim(avl).lower() == "off": + # never available + val = 0 + sch = on + nom = "OFF Availability SchedRuleset" + dft = "OFF Availability dftDaySched" + tag = "" + day = "" + else: + # always available + val = 1 + sch = on + nom = "ON Availability SchedRuleset" + dft = "ON Availability dftDaySched" + tag = "" + day = "" + + # Fetch existing schedule. + ok = True + schedule = model.getScheduleByName(nom) + + if schedule: + schedule = schedule.get().to_ScheduleRuleset() + + if schedule: + schedule = schedule.get() + default = schedule.defaultDaySchedule() + ok = ok and default.nameString() == dft + ok = ok and len(default.times()) == 1 + ok = ok and len(default.values()) == 1 + ok = ok and default.times()[0] == time + ok = ok and default.values()[0] == val + rules = schedule.scheduleRules() + ok = ok and len(rules) < 2 + + if len(rules) == 1: + rule = rules[0] + ok = ok and rule.nameString() == tag + ok = ok and rule.startDate() + ok = ok and rule.endDate() + ok = ok and rule.startDate().get() == may01 + ok = ok and rule.endDate().get() == oct31 + ok = ok and rule.applyAllDays() + + d = rule.daySchedule() + ok = ok and d.nameString() == day + ok = ok and len(d.times()) == 1 + ok = ok and len(d.values()) == 1 + ok = ok and d.times()[0].totalSeconds() == secs + ok = ok and int(d.values()[0]) != val + + if ok: return schedule + + schedule = openstudio.model.ScheduleRuleset(model) + schedule.setName(nom) + + if not schedule.setScheduleTypeLimits(limits): + oslg.log(ERR, "'%s': Can't set schedule type limits (%s)" % (nom, mth)) + return nil + + if not schedule.defaultDaySchedule().addValue(time, val): + oslg.log(ERR, "'%s': Can't set default day schedule (%s)" % (nom, mth)) + return None + + schedule.defaultDaySchedule().setName(dft) + + if tag: + rule = openstudio.modelScheduleRule(schedule, sch) + rule.setName(tag) + + if not rule.setStartDate(may01): + oslg.log(ERR, "'%s': Can't set start date (%s)" % (tag, mth)) + return None + + if not rule.setEndDate(oct31): + oslg.log(ERR, "'%s': Can't set end date (%s)" % (tag, mth)) + return None + + if not rule.setApplyAllDays(true): + oslg.log(ERR, "'%s': Can't apply to all days (%s)" % (tag, mth)) + return None + + rule.daySchedule().setName(day) + + return schedule + + def transforms(group=None) -> dict: """"Returns OpenStudio site/space transformation & rotation angle. diff --git a/tests/files/osms/in/smalloffice.osm b/tests/files/osms/in/smalloffice.osm new file mode 100644 index 0000000..c7be3bd --- /dev/null +++ b/tests/files/osms/in/smalloffice.osm @@ -0,0 +1,8268 @@ + +OS:Version, + {3c450929-099d-4d34-bc30-7e4a6d024a92}, !- Handle + 2.9.1; !- Version Identifier + +OS:Schedule:Constant, + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Handle + Always On Discrete, !- Name + {b97c4851-63cd-4063-ac83-2997c38f82cc}, !- Schedule Type Limits Name + 1; !- Value + +OS:ScheduleTypeLimits, + {b97c4851-63cd-4063-ac83-2997c38f82cc}, !- Handle + Always On Discrete Limits, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Site, + {e4e0cf83-aa67-462b-ac86-dd69d24de0d1}, !- Handle + El Paso International Ap Ut_TX_USA, !- Name + 31, !- Latitude {deg} + -106, !- Longitude {deg} + -7, !- Time Zone {hr} + 1186, !- Elevation {m} + City; !- Terrain + +OS:SimulationControl, + {fe5b5f3c-f637-4fd1-a2b3-f4d09456dccb}, !- Handle + 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 + 0.04, !- Loads Convergence Tolerance Value + 0.2, !- Temperature Convergence Tolerance Value {deltaC} + FullInteriorAndExterior, !- Solar Distribution + 25, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + +OS:Surface, + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Handle + Perimeter_ZN_1_wall_south, !- Name + Wall, !- Surface Type + {1296f169-6fa2-4db3-a598-be70282232ee}, !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 3 {m} + 27.69, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {d367abd9-ef96-4df2-a4a5-60b4b9f5779f}, !- Handle + {fca4d4d3-2721-42a9-a76c-f4b74826d7aa}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Handle + Perimeter_ZN_1, !- Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Building Story Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Thermal Zone Name + Yes, !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:SubSurface, + {5cf70f46-9488-45b0-b286-2fd3b9defdcb}, !- Handle + Perimeter_ZN_1_wall_south_Window_1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 1.39, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 1.39, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 3.22, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 3.22, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {f3b8b73c-8caf-40ab-b966-4fbde2e2f57a}, !- Handle + Attic_roof_east, !- Name + RoofCeiling, !- Surface Type + {588f33d0-e3f2-406c-8759-28a57601add0}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 18.46, 9.23, 6.33, !- X,Y,Z Vertex 1 {m} + 28.29, -0.6, 3.05, !- X,Y,Z Vertex 2 {m} + 28.29, 19.06, 3.05; !- X,Y,Z Vertex 3 {m} + +OS:Connection, + {b76c9257-2ba1-41ca-b928-7e4cece1fb38}, !- Handle + {8ddc6125-8508-4ec6-bdad-ad6cfff54633}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Handle + Attic, !- Name + {a8affc2d-d2e8-44c9-85f3-e6d076201869}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + , !- Building Story Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}, !- Thermal Zone Name + No; !- Part of Total Floor Area + +OS:Surface, + {14eb925b-51a2-48c3-b571-9be87c158227}, !- Handle + Attic_roof_north, !- Name + RoofCeiling, !- Surface Type + {2a92f2cc-010e-4151-b20e-dda58f6c6a5f}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 18.46, 9.23, 6.33, !- X,Y,Z Vertex 1 {m} + 28.29, 19.06, 3.05, !- X,Y,Z Vertex 2 {m} + -0.6, 19.06, 3.05, !- X,Y,Z Vertex 3 {m} + 9.23, 9.23, 6.33; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {de9219d4-cc0d-45c1-b670-26d576f7fec4}, !- Handle + Perimeter_ZN_2_ceiling, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Surface, !- Outside Boundary Condition + {5ba0e030-ad8e-4939-9022-603ea15873fd}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 2 {m} + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 3 {m} + 22.69, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {3e98f27d-1e5c-47bf-b1dd-320cc71dc280}, !- Handle + {14e56078-538e-4195-bf4d-564485d8013c}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Handle + Perimeter_ZN_2, !- Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Building Story Name + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Thermal Zone Name + Yes, !- Part of Total Floor Area + ; !- Design Specification Outdoor Air Object Name + +OS:Surface, + {e6e6213c-27e3-4780-914d-aab86a026932}, !- Handle + Perimeter_ZN_2_wall_north, !- Name + Wall, !- Surface Type + , !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Surface, !- Outside Boundary Condition + {294e6a4a-4754-4ea0-b450-586c284d51ae}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 18.46, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {5ad6d532-e8de-4604-a79c-c900df2aa730}, !- Handle + Perimeter_ZN_3_wall_south, !- Name + Wall, !- Surface Type + , !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Surface, !- Outside Boundary Condition + {7f4227ad-335c-4683-9a99-6c804048153c}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {4d957a31-f699-4eae-93e7-35cb0402bdc3}, !- Handle + {556b787e-14ea-444a-8f28-da77ff85692d}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Handle + Perimeter_ZN_3, !- Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Building Story Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:Connection, + {99cfc414-45c1-4be7-8757-3ae36bc2af42}, !- Handle + {96671398-0007-4bc0-8470-144aceb20b70}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Handle + Perimeter_ZN_4, !- Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Building Story Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:Surface, + {76eef8b9-8d45-4e4a-a6e8-a678fd658045}, !- Handle + Perimeter_ZN_2_wall_west, !- Name + Wall, !- Surface Type + , !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Surface, !- Outside Boundary Condition + {72a1b6a0-5c0f-4a8b-a8d5-81bef0ff1769}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {9f3c4b24-4e8e-4b4e-932c-0c0aeb12edab}, !- Handle + Perimeter_ZN_4_ceiling, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Surface, !- Outside Boundary Condition + {b890eeac-5336-4ed2-9467-56785822dd86}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 5, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 3.05, !- X,Y,Z Vertex 3 {m} + 0, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Output:Meter, + {abc5d571-df7f-47b1-bf8b-892a6dadede3}, !- Handle + Gas:Facility, !- Name + Hourly, !- Reporting Frequency + True, !- Meter File Only + False; !- Cumulative + +OS:Surface, + {feb7c449-5351-48a2-865e-0e36c2c4fc6f}, !- Handle + Core_ZN_ceiling, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Surface, !- Outside Boundary Condition + {30049214-f475-466f-8308-e6d33248de87}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 3.05, !- X,Y,Z Vertex 3 {m} + 5, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {3cc89c32-b209-45a8-aee8-40997f52820c}, !- Handle + {3266c372-df06-4762-8ade-3366935e0120}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Handle + Core_ZN, !- Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Building Story Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:Surface, + {f6aedc93-26f5-4756-bb28-f7b245139570}, !- Handle + Attic_soffit_north, !- Name + Floor, !- Surface Type + {f63f829b-82a3-45ae-b43e-d64448eee8cc}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 28.29, 19.06, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 2 {m} + 0, 18.46, 3.05, !- X,Y,Z Vertex 3 {m} + -0.6, 19.06, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {cf5a64d9-d084-4725-8267-3f5e6962fc94}, !- Handle + Perimeter_ZN_2_floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 0, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 13.46, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {7f4227ad-335c-4683-9a99-6c804048153c}, !- Handle + Core_ZN_wall_north, !- Name + Wall, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Surface, !- Outside Boundary Condition + {5ad6d532-e8de-4604-a79c-c900df2aa730}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {d4106b28-896a-419d-8c67-83b35ee4d552}, !- Handle + Core_ZN_wall_west, !- Name + Wall, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Surface, !- Outside Boundary Condition + {7db0c075-4e62-4963-865c-3941b58b019a}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 5, 5, 0, !- X,Y,Z Vertex 3 {m} + 5, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {10adca74-548a-4d13-a7fc-d1068a27bad8}, !- Handle + Attic_roof_south, !- Name + RoofCeiling, !- Surface Type + {7934de66-30c0-4999-9fa1-11810c1886a6}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 9.23, 9.23, 6.33, !- X,Y,Z Vertex 1 {m} + -0.6, -0.6, 3.05, !- X,Y,Z Vertex 2 {m} + 28.29, -0.6, 3.05, !- X,Y,Z Vertex 3 {m} + 18.46, 9.23, 6.33; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {80155533-5f7b-4962-a469-a417c2c2426b}, !- Handle + Perimeter_ZN_3_wall_north_Window_2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 21.68, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 21.68, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 19.85, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 19.85, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Handle + Perimeter_ZN_3_wall_north, !- Name + Wall, !- Surface Type + {845356c6-80e1-4252-933c-884e4f5409ed}, !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 18.46, 0, !- X,Y,Z Vertex 2 {m} + 0, 18.46, 0, !- X,Y,Z Vertex 3 {m} + 0, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:ConvergenceLimits, + {257bad81-3887-44d2-9561-57968d0ebe2d}, !- Handle + 1, !- Minimum System Timestep {minutes} + 20; !- Maximum HVAC Iterations + +OS:Surface, + {b366b5a3-078a-4642-9a0a-cdd102cd3eba}, !- Handle + Perimeter_ZN_2_wall_south, !- Name + Wall, !- Surface Type + , !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Surface, !- Outside Boundary Condition + {713571c9-f6e5-4b5b-9f42-ad39d5868894}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 2 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 3 {m} + 27.69, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {63b30273-21d2-4b1d-bd16-9edb06da8514}, !- Handle + Attic_soffit_west, !- Name + Floor, !- Surface Type + {febeb1fb-5d53-4a08-ab40-07e507af8f12}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + -0.6, 19.06, 3.05, !- X,Y,Z Vertex 1 {m} + 0, 18.46, 3.05, !- X,Y,Z Vertex 2 {m} + 0, 0, 3.05, !- X,Y,Z Vertex 3 {m} + -0.6, -0.6, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {de083cd1-af79-470a-a5a9-6fa78e743ccd}, !- Handle + Perimeter_ZN_4_floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 18.46, 0, !- X,Y,Z Vertex 1 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 5, 5, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {677c0d88-4564-44d6-9ac6-251a100e5d72}, !- Handle + Perimeter_ZN_4_wall_north, !- Name + Wall, !- Surface Type + , !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Surface, !- Outside Boundary Condition + {2addb368-09d7-4d71-9187-50f89aab0d28}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 0, 18.46, 0, !- X,Y,Z Vertex 3 {m} + 0, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {744c91a9-1025-49a9-ad5f-3252777fd52a}, !- Handle + Attic_soffit_east, !- Name + Floor, !- Surface Type + {dfd9632f-efdd-48e1-a271-289d41533d5a}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 28.29, 19.06, 3.05, !- X,Y,Z Vertex 1 {m} + 28.29, -0.6, 3.05, !- X,Y,Z Vertex 2 {m} + 27.69, 0, 3.05, !- X,Y,Z Vertex 3 {m} + 27.69, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {2df821be-f673-4ea5-87b4-c86896014413}, !- Handle + Perimeter_ZN_3_wall_north_Window_5, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 7.84, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 7.84, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 6.01, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 6.01, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {cb364a7a-fc44-494f-8c36-bc2e73cb7bff}, !- Handle + Perimeter_ZN_1_wall_south_Window_5, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 19.85, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 19.85, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 21.68, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 21.68, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:HeatBalanceAlgorithm, + {30aa4e32-ecc1-41fa-8e20-75c7b3a9c558}, !- Handle + ConductionTransferFunction, !- Algorithm + 200; !- Surface Temperature Upper Limit {C} + +OS:Surface, + {47ffdd48-31f2-4e14-9cf2-3fe0ba8f9927}, !- Handle + Core_ZN_wall_south, !- Name + Wall, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Surface, !- Outside Boundary Condition + {678af1cc-9075-45b3-843b-3d44eb4901e0}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 5, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {d229ddc0-288c-468d-9866-579c2434d344}, !- Handle + Perimeter_ZN_1_wall_south_Window_4, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 15.24, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 15.24, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 17.07, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 17.07, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {912f372d-b179-468e-9e7f-29298eeec743}, !- Handle + Perimeter_ZN_3_ceiling, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Surface, !- Outside Boundary Condition + {6846f3e0-5f3c-4764-857d-efef5d44c707}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 2 {m} + 0, 18.46, 3.05, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {b890eeac-5336-4ed2-9467-56785822dd86}, !- Handle + Attic_floor_perimeter_west, !- Name + Floor, !- Surface Type + , !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Surface, !- Outside Boundary Condition + {9f3c4b24-4e8e-4b4e-932c-0c0aeb12edab}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 13.46, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 5, 3.05, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {b6ff9519-a9c1-41bb-a9a2-a8a38ed021e1}, !- Handle + Perimeter_ZN_2_wall_east, !- Name + Wall, !- Surface Type + {1837f704-ad63-4a2b-8b8f-265c18722d36}, !- Construction Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 2 {m} + 27.69, 18.46, 0, !- X,Y,Z Vertex 3 {m} + 27.69, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {1b4ea672-9fb0-4630-b4b2-b2587fc83673}, !- Handle + Attic_floor_perimeter_south, !- Name + Floor, !- Surface Type + , !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Surface, !- Outside Boundary Condition + {645a4e50-0ece-46bb-aac3-ec237130a18d}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 3.05, !- X,Y,Z Vertex 2 {m} + 0, 0, 3.05, !- X,Y,Z Vertex 3 {m} + 5, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {9aa4b0d6-2814-4c71-a486-0c272576ee4d}, !- Handle + Perimeter_ZN_1_wall_west, !- Name + Wall, !- Surface Type + , !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Surface, !- Outside Boundary Condition + {10583da6-829d-472d-90f7-81a54a7bb399}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 5, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {2addb368-09d7-4d71-9187-50f89aab0d28}, !- Handle + Perimeter_ZN_3_wall_west, !- Name + Wall, !- Surface Type + , !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Surface, !- Outside Boundary Condition + {677c0d88-4564-44d6-9ac6-251a100e5d72}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 0, 18.46, 0, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ab17b1fc-cf5a-4f83-a75f-c979f9e5ec68}, !- Handle + Perimeter_ZN_3_wall_north_Window_3, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 17.07, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 17.07, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 15.24, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 15.24, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {6935fc42-b444-4a6b-b07f-234327773d16}, !- Handle + Perimeter_ZN_1_wall_south_Window_2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 6.01, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 6.01, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 7.84, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 7.84, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {0f61baff-cb03-4a25-97fd-0c204a43cad2}, !- Handle + Attic_roof_west, !- Name + RoofCeiling, !- Surface Type + {d464d6a4-d11f-4387-bb9e-fb578c0175a7}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 9.23, 9.23, 6.33, !- X,Y,Z Vertex 1 {m} + -0.6, 19.06, 3.05, !- X,Y,Z Vertex 2 {m} + -0.6, -0.6, 3.05; !- X,Y,Z Vertex 3 {m} + +OS:Surface, + {294e6a4a-4754-4ea0-b450-586c284d51ae}, !- Handle + Perimeter_ZN_3_wall_east, !- Name + Wall, !- Surface Type + , !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Surface, !- Outside Boundary Condition + {e6e6213c-27e3-4780-914d-aab86a026932}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 27.69, 18.46, 0, !- X,Y,Z Vertex 3 {m} + 27.69, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {00249f83-d4db-4412-a65b-516306588f49}, !- Handle + Perimeter_ZN_1_wall_south_Window_3, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 10.62, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 10.62, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 12.45, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 12.45, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {01b570ed-fed9-4e8f-ab7c-dc432196da7b}, !- Handle + Perimeter_ZN_3_wall_north_Window_4, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 12.45, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 12.45, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 10.62, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 10.62, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Timestep, + {eb583d9a-28e0-49c6-8519-cae0088b5073}, !- Handle + 6; !- Number of Timesteps per Hour + +OS:Sizing:Parameters, + {11b5cbd0-c450-4b2c-aa14-62edeaca5d67}, !- Handle + 1.2, !- Heating Sizing Factor + 1.2, !- Cooling Sizing Factor + 6; !- Timesteps in Averaging Window + +OS:Surface, + {1f023a99-6062-4e6b-a2ee-74cc9513d97f}, !- Handle + Perimeter_ZN_1_floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 0, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 5, 5, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {645a4e50-0ece-46bb-aac3-ec237130a18d}, !- Handle + Perimeter_ZN_1_ceiling, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Surface, !- Outside Boundary Condition + {1b4ea672-9fb0-4630-b4b2-b2587fc83673}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 5, 3.05, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {e51f02c4-8ab6-4b72-9afa-25754ca41d63}, !- Handle + Perimeter_ZN_1_wall_south_Window_6, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 24.47, 0, 2.424, !- X,Y,Z Vertex 1 {m} + 24.47, 0, 0.9, !- X,Y,Z Vertex 2 {m} + 26.3, 0, 0.9, !- X,Y,Z Vertex 3 {m} + 26.3, 0, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {58a81d86-1089-4c25-9dc2-b3cf3a7551cf}, !- Handle + Perimeter_ZN_2_wall_east_Window_1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {b6ff9519-a9c1-41bb-a9a2-a8a38ed021e1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 27.69, 1.39, 2.424, !- X,Y,Z Vertex 1 {m} + 27.69, 1.39, 0.9, !- X,Y,Z Vertex 2 {m} + 27.69, 3.22, 0.9, !- X,Y,Z Vertex 3 {m} + 27.69, 3.22, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {3c3e008b-c13d-493b-a54a-6882ec666bca}, !- Handle + Perimeter_ZN_2_wall_east_Window_3, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {b6ff9519-a9c1-41bb-a9a2-a8a38ed021e1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 27.69, 10.62, 2.424, !- X,Y,Z Vertex 1 {m} + 27.69, 10.62, 0.9, !- X,Y,Z Vertex 2 {m} + 27.69, 12.45, 0.9, !- X,Y,Z Vertex 3 {m} + 27.69, 12.45, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Output:Meter, + {15699204-c979-4451-b40c-3b532d8c0da9}, !- Handle + ElectricityNet:Facility, !- Name + Hourly, !- Reporting Frequency + True, !- Meter File Only + False; !- Cumulative + +OS:SubSurface, + {e5c5c1db-dfe9-4a48-bb35-75ca0b08f7c8}, !- Handle + Perimeter_ZN_4_wall_west_Window_4, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {3977972e-c38f-4caf-ac22-02109f4eaee3}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 3.22, 2.424, !- X,Y,Z Vertex 1 {m} + 0, 3.22, 0.9, !- X,Y,Z Vertex 2 {m} + 0, 1.39, 0.9, !- X,Y,Z Vertex 3 {m} + 0, 1.39, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {3977972e-c38f-4caf-ac22-02109f4eaee3}, !- Handle + Perimeter_ZN_4_wall_west, !- Name + Wall, !- Surface Type + {1ab35ace-e7d4-4c6b-b9d3-21788b23d144}, !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 0, 18.46, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {678af1cc-9075-45b3-843b-3d44eb4901e0}, !- Handle + Perimeter_ZN_1_wall_north, !- Name + Wall, !- Surface Type + , !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Surface, !- Outside Boundary Condition + {47ffdd48-31f2-4e14-9cf2-3fe0ba8f9927}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 2 {m} + 5, 5, 0, !- X,Y,Z Vertex 3 {m} + 5, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {bf062f5b-d087-4887-96ba-89e2cd6a703c}, !- Handle + Perimeter_ZN_4_wall_west_Window_2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {3977972e-c38f-4caf-ac22-02109f4eaee3}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 12.45, 2.424, !- X,Y,Z Vertex 1 {m} + 0, 12.45, 0.9, !- X,Y,Z Vertex 2 {m} + 0, 10.62, 0.9, !- X,Y,Z Vertex 3 {m} + 0, 10.62, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {5ba0e030-ad8e-4939-9022-603ea15873fd}, !- Handle + Attic_floor_perimeter_east, !- Name + Floor, !- Surface Type + , !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Surface, !- Outside Boundary Condition + {de9219d4-cc0d-45c1-b670-26d576f7fec4}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 3.05, !- X,Y,Z Vertex 2 {m} + 22.69, 5, 3.05, !- X,Y,Z Vertex 3 {m} + 22.69, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Output:Meter, + {d446ed18-52cc-487c-bf58-c78a8edaa642}, !- Handle + Electricity:Facility, !- Name + Hourly, !- Reporting Frequency + True, !- Meter File Only + False; !- Cumulative + +OS:Surface, + {72a1b6a0-5c0f-4a8b-a8d5-81bef0ff1769}, !- Handle + Core_ZN_wall_east, !- Name + Wall, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Surface, !- Outside Boundary Condition + {76eef8b9-8d45-4e4a-a6e8-a678fd658045}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {d0826a01-d018-4104-931a-9173a72e19b7}, !- Handle + Attic_soffit_south, !- Name + Floor, !- Surface Type + {25e20e5b-e82a-4286-a4c1-6971be319c18}, !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 28.29, -0.6, 3.05, !- X,Y,Z Vertex 2 {m} + -0.6, -0.6, 3.05, !- X,Y,Z Vertex 3 {m} + 0, 0, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {31889fa0-d974-455a-a2bd-f5abe47e7f37}, !- Handle + Perimeter_ZN_3_floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 0, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 0, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 0, 18.46, 0; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {7db0c075-4e62-4963-865c-3941b58b019a}, !- Handle + Perimeter_ZN_4_wall_east, !- Name + Wall, !- Surface Type + , !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Surface, !- Outside Boundary Condition + {d4106b28-896a-419d-8c67-83b35ee4d552}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 5, 5, 3.05, !- X,Y,Z Vertex 1 {m} + 5, 5, 0, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 0, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {30049214-f475-466f-8308-e6d33248de87}, !- Handle + Attic_floor_core, !- Name + Floor, !- Surface Type + , !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Surface, !- Outside Boundary Condition + {feb7c449-5351-48a2-865e-0e36c2c4fc6f}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 5, 3.05, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {713571c9-f6e5-4b5b-9f42-ad39d5868894}, !- Handle + Perimeter_ZN_1_wall_east, !- Name + Wall, !- Surface Type + , !- Construction Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + Surface, !- Outside Boundary Condition + {b366b5a3-078a-4642-9a0a-cdd102cd3eba}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 27.69, 0, 0, !- X,Y,Z Vertex 2 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 3 {m} + 22.69, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {f689c536-53ce-4401-983e-669e62dc4035}, !- Handle + Perimeter_ZN_2_wall_east_Window_4, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {b6ff9519-a9c1-41bb-a9a2-a8a38ed021e1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 27.69, 15.24, 2.424, !- X,Y,Z Vertex 1 {m} + 27.69, 15.24, 0.9, !- X,Y,Z Vertex 2 {m} + 27.69, 17.07, 0.9, !- X,Y,Z Vertex 3 {m} + 27.69, 17.07, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {1658ab79-d8c2-42b6-9b7d-92ec9fd1924f}, !- Handle + Perimeter_ZN_2_wall_east_Window_2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {b6ff9519-a9c1-41bb-a9a2-a8a38ed021e1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 27.69, 6.01, 2.424, !- X,Y,Z Vertex 1 {m} + 27.69, 6.01, 0.9, !- X,Y,Z Vertex 2 {m} + 27.69, 7.84, 0.9, !- X,Y,Z Vertex 3 {m} + 27.69, 7.84, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:RunPeriod, + {94267dee-950c-4c53-aa76-7a4b668d0573}, !- Handle + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + 12, !- End Month + 31, !- End Day of Month + 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 + 1; !- Number of Times Runperiod to be Repeated + +OS:YearDescription, + {c909b14d-25f4-4587-81ac-13c1e4bb0508}, !- Handle + , !- Calendar Year + Sunday; !- Day of Week for Start Day + +OS:Surface, + {6846f3e0-5f3c-4764-857d-efef5d44c707}, !- Handle + Attic_floor_perimeter_north, !- Name + Floor, !- Surface Type + , !- Construction Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space Name + Surface, !- Outside Boundary Condition + {912f372d-b179-468e-9e7f-29298eeec743}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 27.69, 18.46, 3.05, !- X,Y,Z Vertex 1 {m} + 22.69, 13.46, 3.05, !- X,Y,Z Vertex 2 {m} + 5, 13.46, 3.05, !- X,Y,Z Vertex 3 {m} + 0, 18.46, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:ShadowCalculation, + {208066fd-3337-431a-92af-1b641ddb4c8e}, !- Handle + 30, !- Calculation Frequency + 15000; !- Maximum Figures in Shadow Overlap Calculations + +OS:SubSurface, + {7601ac5c-8c78-486c-8a6b-46d19f4aef2f}, !- Handle + Perimeter_ZN_4_wall_west_Window_3, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {3977972e-c38f-4caf-ac22-02109f4eaee3}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 7.84, 2.424, !- X,Y,Z Vertex 1 {m} + 0, 7.84, 0.9, !- X,Y,Z Vertex 2 {m} + 0, 6.01, 0.9, !- X,Y,Z Vertex 3 {m} + 0, 6.01, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Building, + {6b25c3c7-39e4-4be7-84a9-17e80feecaf5}, !- Handle + -SmallOffice-ASHRAE 169-2013-3B created: 2020-09-12 15:56:02 -0400, !- Name + , !- Building Sector Type + 0, !- North Axis {deg} + , !- Nominal Floor to Floor Height {m} + , !- Space Type Name + {3e9377ab-df2f-40c2-b323-8bd552f635d5}, !- Default Construction Set Name + , !- Default Schedule Set Name + 1, !- Standards Number of Stories + 1, !- Standards Number of Above Ground Stories + , !- Standards Template + SmallOffice; !- Standards Building Type + +OS:Surface, + {10583da6-829d-472d-90f7-81a54a7bb399}, !- Handle + Perimeter_ZN_4_wall_south, !- Name + Wall, !- Surface Type + , !- Construction Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + Surface, !- Outside Boundary Condition + {9aa4b0d6-2814-4c71-a486-0c272576ee4d}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 3.05, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 5, 5, 0, !- X,Y,Z Vertex 3 {m} + 5, 5, 3.05; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {30959840-2498-4755-bd79-a6730b388911}, !- Handle + Perimeter_ZN_4_wall_west_Window_1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {3977972e-c38f-4caf-ac22-02109f4eaee3}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 17.07, 2.424, !- X,Y,Z Vertex 1 {m} + 0, 17.07, 0.9, !- X,Y,Z Vertex 2 {m} + 0, 15.24, 0.9, !- X,Y,Z Vertex 3 {m} + 0, 15.24, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {1d4e0950-59cb-4339-b400-f4a8bebb3997}, !- Handle + Core_ZN_floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 22.69, 13.46, 0, !- X,Y,Z Vertex 1 {m} + 22.69, 5, 0, !- X,Y,Z Vertex 2 {m} + 5, 5, 0, !- X,Y,Z Vertex 3 {m} + 5, 13.46, 0; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {931ae67d-55c0-4873-bdaf-9b304c8e6ddf}, !- Handle + Perimeter_ZN_3_wall_north_Window_1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 26.3, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 26.3, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 24.47, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 24.47, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {092b1b3c-7a6e-4ded-9a20-f857dd391a41}, !- Handle + Perimeter_ZN_3_wall_north_Window_6, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {17c4f45d-4218-45b0-b696-893c60c109f8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 3.22, 18.46, 2.424, !- X,Y,Z Vertex 1 {m} + 3.22, 18.46, 0.9, !- X,Y,Z Vertex 2 {m} + 1.39, 18.46, 0.9, !- X,Y,Z Vertex 3 {m} + 1.39, 18.46, 2.424; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {53588f1b-5734-4f40-b8d3-73d92c10e021}, !- Handle + Perimeter_ZN_1_wall_south_door, !- Name + GlassDoor, !- Sub Surface Type + , !- Construction Name + {67ca62ce-e572-4957-8e6a-efb74825f170}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 12.93, 0, 2.134, !- X,Y,Z Vertex 1 {m} + 12.93, 0, 0, !- X,Y,Z Vertex 2 {m} + 14.76, 0, 0, !- X,Y,Z Vertex 3 {m} + 14.76, 0, 2.134; !- X,Y,Z Vertex 4 {m} + +OS:Facility, + {8b48fb85-9058-4291-a948-6088f0592bb3}; !- Handle + +OS:BuildingStory, + {2edc3034-10d9-48ff-9f1e-ff89d18bbb3f}, !- Handle + Building Story 1, !- Name + 0, !- Nominal Z Coordinate {m} + , !- Nominal Floor to Floor Height {m} + , !- Default Construction Set Name + , !- Default Schedule Set Name + ; !- Group Rendering Name + +OS:SpaceType, + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Handle + Office WholeBuilding - Sm Office, !- Name + , !- Default Construction Set Name + {fb3f702f-f558-4d3d-b980-0f7e7d4ff124}, !- Default Schedule Set Name + {75385b6d-b97f-430d-8c39-23fe5b927d8a}, !- Group Rendering Name + {e7fdff42-6da7-4118-ad79-b375b5b51fa1}, !- Design Specification Outdoor Air Object Name + , !- Standards Template + Office, !- Standards Building Type + WholeBuilding - Sm Office; !- Standards Space Type + +OS:Rendering:Color, + {75385b6d-b97f-430d-8c39-23fe5b927d8a}, !- Handle + Office WholeBuilding - Sm Office, !- Name + 120, !- Rendering Red Value + 230, !- Rendering Green Value + 199; !- Rendering Blue Value + +OS:SpaceType, + {a8affc2d-d2e8-44c9-85f3-e6d076201869}, !- Handle + Office Attic, !- Name + {a1ddcd7c-6b4e-4834-a2e0-9b25545a9727}, !- Default Construction Set Name + {e9eee45e-6be1-4dbe-aa12-5ca35fdf75ba}, !- Default Schedule Set Name + {996c5881-2074-43c3-865a-a3c1283bbb9c}, !- Group Rendering Name + {900f58db-c0ce-49bf-a112-30fa084f732b}, !- Design Specification Outdoor Air Object Name + , !- Standards Template + Office, !- Standards Building Type + Attic; !- Standards Space Type + +OS:Rendering:Color, + {996c5881-2074-43c3-865a-a3c1283bbb9c}, !- Handle + Office Attic, !- Name + 120, !- Rendering Red Value + 149, !- Rendering Green Value + 230; !- Rendering Blue Value + +OS:DesignSpecification:OutdoorAir, + {900f58db-c0ce-49bf-a112-30fa084f732b}, !- Handle + Office Attic Ventilation, !- Name + , !- Outdoor Air Method + 0, !- Outdoor Air Flow per Person {m3/s-person} + 0, !- Outdoor Air Flow per Floor Area {m3/s-m2} + , !- Outdoor Air Flow Rate {m3/s} + 0, !- Outdoor Air Flow Air Changes per Hour {1/hr} + ; !- Outdoor Air Flow Rate Fraction Schedule Name + +OS:DefaultScheduleSet, + {e9eee45e-6be1-4dbe-aa12-5ca35fdf75ba}, !- Handle + Office Attic Schedule Set, !- Name + , !- Hours of Operation Schedule Name + , !- Number of People Schedule Name + , !- People Activity Level Schedule Name + , !- Lighting Schedule Name + , !- Electric Equipment Schedule Name + , !- Gas Equipment Schedule Name + , !- Hot Water Equipment Schedule Name + {a59cdd85-d4b2-4d7a-9ef7-3746a8562d4c}, !- Infiltration Schedule Name + , !- Steam Equipment Schedule Name + ; !- Other Equipment Schedule Name + +OS:Schedule:Ruleset, + {a59cdd85-d4b2-4d7a-9ef7-3746a8562d4c}, !- Handle + OfficeLarge INFIL_SCH_PNNL, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {019269c2-49b3-45aa-a58d-ae748c0b90c1}, !- Default Day Schedule Name + {f853e6f8-33b7-4806-b216-2750166636a5}, !- Summer Design Day Schedule Name + {a40b10b4-db57-483d-898d-c0700edf3681}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {019269c2-49b3-45aa-a58d-ae748c0b90c1}, !- Handle + OfficeLarge INFIL_SCH_PNNL Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {f853e6f8-33b7-4806-b216-2750166636a5}, !- Handle + OfficeLarge INFIL_SCH_PNNL Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 22, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {8f7903a4-1363-40cd-a941-83c281f840a0}, !- Handle + Schedule Rule 1, !- Name + {a59cdd85-d4b2-4d7a-9ef7-3746a8562d4c}, !- Schedule Ruleset Name + 1, !- Rule Order + {06ca4bd0-afd9-4adf-b9f1-2cc64a2a5e5c}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {06ca4bd0-afd9-4adf-b9f1-2cc64a2a5e5c}, !- Handle + OfficeLarge INFIL_SCH_PNNL SmrDsn|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 22, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Day, + {a40b10b4-db57-483d-898d-c0700edf3681}, !- Handle + OfficeLarge INFIL_SCH_PNNL Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {5a602b5d-00c1-4d63-afe1-8e68076f1528}, !- Handle + Schedule Rule 2, !- Name + {a59cdd85-d4b2-4d7a-9ef7-3746a8562d4c}, !- Schedule Ruleset Name + 0, !- Rule Order + {73b05fa7-7d2f-491c-af7a-94ee1fa6b55e}, !- Day Schedule Name + , !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {73b05fa7-7d2f-491c-af7a-94ee1fa6b55e}, !- Handle + OfficeLarge INFIL_SCH_PNNL WntrDsn|Sat Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:ScheduleTypeLimits, + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Handle + Fractional, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Continuous; !- Numeric Type + +OS:ThermostatSetpoint:DualSetpoint, + {4b9ef962-6427-4b04-8c74-f1b948cc1325}, !- Handle + Office Attic Thermostat; !- Name + +OS:People:Definition, + {a8ac1439-c9e9-4976-aa5e-bb1976db0eaf}, !- Handle + Office WholeBuilding - Sm Office People Definition, !- Name + People/Area, !- Number of People Calculation Method + , !- Number of People {people} + 0.0602778983335744, !- People per Space Floor Area {person/m2} + , !- Space Floor Area per Person {m2/person} + 0.3; !- Fraction Radiant + +OS:People, + {77d59302-6562-45e0-9901-996dc57555c4}, !- Handle + Office WholeBuilding - Sm Office People, !- Name + {a8ac1439-c9e9-4976-aa5e-bb1976db0eaf}, !- People Definition Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space or SpaceType Name + , !- Number of People Schedule Name + , !- Activity Level Schedule Name + , !- Surface Name/Angle Factor List Name + {4c65229a-d7d5-4ada-a3d5-4c03c668ee9a}, !- Work Efficiency Schedule Name + {3528dae4-29ce-4af1-9285-b4840d9a7578}, !- Clothing Insulation Schedule Name + {3bf80205-829c-4c8a-a0f7-33279bb749d5}, !- Air Velocity Schedule Name + 1; !- Multiplier + +OS:Schedule:Ruleset, + {3528dae4-29ce-4af1-9285-b4840d9a7578}, !- Handle + Clothing Schedule, !- Name + {10d8a0a1-f0be-4c1d-8b43-be1d827d984e}, !- Schedule Type Limits Name + {1ff5b8a1-95e3-4e21-9ddd-27096868c91c}; !- Default Day Schedule Name + +OS:Schedule:Day, + {1ff5b8a1-95e3-4e21-9ddd-27096868c91c}, !- Handle + Clothing Schedule Default Winter Clothes, !- Name + {10d8a0a1-f0be-4c1d-8b43-be1d827d984e}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Rule, + {f268a287-fb7b-4887-ae39-81669e9fb38d}, !- Handle + Schedule Rule 3, !- Name + {3528dae4-29ce-4af1-9285-b4840d9a7578}, !- Schedule Ruleset Name + 0, !- Rule Order + {683ca837-aa41-4d97-b93f-589ece5b1000}, !- Day Schedule Name + , !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 5, !- Start Month + 1, !- Start Day + 9, !- End Month + 30; !- End Day + +OS:Schedule:Day, + {683ca837-aa41-4d97-b93f-589ece5b1000}, !- Handle + Clothing Schedule Summer Clothes, !- Name + {10d8a0a1-f0be-4c1d-8b43-be1d827d984e}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.5; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {10d8a0a1-f0be-4c1d-8b43-be1d827d984e}, !- Handle + ClothingInsulation, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + ClothingInsulation; !- Unit Type + +OS:Schedule:Ruleset, + {3bf80205-829c-4c8a-a0f7-33279bb749d5}, !- Handle + Air Velocity Schedule, !- Name + {1ce11b44-f010-4cd8-a08a-6311fc4080f9}, !- Schedule Type Limits Name + {bfb75f02-9d9e-47a7-bc09-da6252d34138}; !- Default Day Schedule Name + +OS:Schedule:Day, + {bfb75f02-9d9e-47a7-bc09-da6252d34138}, !- Handle + Air Velocity Schedule Default, !- Name + {1ce11b44-f010-4cd8-a08a-6311fc4080f9}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.2; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {1ce11b44-f010-4cd8-a08a-6311fc4080f9}, !- Handle + Velocity, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + Velocity; !- Unit Type + +OS:Schedule:Ruleset, + {4c65229a-d7d5-4ada-a3d5-4c03c668ee9a}, !- Handle + Work Efficiency Schedule, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {29fe7cb7-35d3-4f13-99f2-bda1a2ea50df}; !- Default Day Schedule Name + +OS:Schedule:Day, + {29fe7cb7-35d3-4f13-99f2-bda1a2ea50df}, !- Handle + Work Efficiency Schedule Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Lights:Definition, + {235b44e6-1b09-4361-b2fe-f90789b304ef}, !- Handle + Office WholeBuilding - Sm Office Lights Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 9.68751937503875, !- Watts per Space Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.7, !- Fraction Radiant + 0.2; !- Fraction Visible + +OS:Lights, + {d25c92a6-891f-400f-a155-8dc6a180f2a4}, !- Handle + Office WholeBuilding - Sm Office Lights, !- Name + {235b44e6-1b09-4361-b2fe-f90789b304ef}, !- Lights Definition Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space or SpaceType Name + , !- Schedule Name + 1, !- Fraction Replaceable + , !- Multiplier + General; !- End-Use Subcategory + +OS:AdditionalProperties, + {d84ee64a-876f-4140-b1f3-0aee7ab37694}, !- Handle + {235b44e6-1b09-4361-b2fe-f90789b304ef}, !- Object Name + lpd_fraction_linear_fluorescent, !- Feature Name 1 + Double, !- Feature Data Type 1 + 1; !- Feature Value 1 + +OS:ElectricEquipment:Definition, + {20b9adcd-7d5e-4721-92d2-54f9a40ca8fd}, !- Handle + Office WholeBuilding - Sm Office Elec Equip Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 6.78126356252712, !- Watts per Space Floor Area {W/m2} + , !- Watts per Person {W/person} + , !- Fraction Latent + 0.5; !- Fraction Radiant + +OS:ElectricEquipment, + {e6fcb7bd-969b-42e4-bebc-f4f9346d301f}, !- Handle + Office WholeBuilding - Sm Office Elec Equip, !- Name + {20b9adcd-7d5e-4721-92d2-54f9a40ca8fd}, !- Electric Equipment Definition Name + {629a271e-7460-4c51-87d3-d2d3125cfac1}, !- Space or SpaceType Name + , !- Schedule Name + , !- Multiplier + General; !- End-Use Subcategory + +OS:DesignSpecification:OutdoorAir, + {e7fdff42-6da7-4118-ad79-b375b5b51fa1}, !- Handle + Office WholeBuilding - Sm Office Ventilation, !- Name + Sum, !- Outdoor Air Method + 0, !- Outdoor Air Flow per Person {m3/s-person} + 0.0004318, !- Outdoor Air Flow per Floor Area {m3/s-m2} + 0, !- Outdoor Air Flow Rate {m3/s} + 0, !- Outdoor Air Flow Air Changes per Hour {1/hr} + ; !- Outdoor Air Flow Rate Fraction Schedule Name + +OS:ClimateZones, + {54419f24-b17e-408e-b9b2-3b142cccee28}, !- Handle + , !- Active Institution + , !- Active Year + ASHRAE, !- Climate Zone Institution Name 1 + ANSI/ASHRAE Standard 169, !- Climate Zone Document Name 1 + 2006, !- Climate Zone Document Year 1 + 3B; !- Climate Zone Value 1 + +OS:DefaultScheduleSet, + {fb3f702f-f558-4d3d-b980-0f7e7d4ff124}, !- Handle + Office WholeBuilding - Sm Office Schedule Set, !- Name + , !- Hours of Operation Schedule Name + {1df04d23-27fc-40f4-a388-376f47f70fc4}, !- Number of People Schedule Name + {996f03c1-098b-4d7f-a678-dbb4a289a615}, !- People Activity Level Schedule Name + {17c5163a-59cb-4638-bd40-221d43212d75}, !- Lighting Schedule Name + {41a58457-b581-459a-a4b3-1f92f66ab57d}, !- Electric Equipment Schedule Name + , !- Gas Equipment Schedule Name + , !- Hot Water Equipment Schedule Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Infiltration Schedule Name + , !- Steam Equipment Schedule Name + ; !- Other Equipment Schedule Name + +OS:Schedule:Ruleset, + {1df04d23-27fc-40f4-a388-376f47f70fc4}, !- Handle + OfficeSmall BLDG_OCC_SCH, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {3b33f388-6920-4043-bebb-8af11c035113}, !- Default Day Schedule Name + {7a3beec5-ee6d-48a4-8cab-5874ffe017fa}, !- Summer Design Day Schedule Name + {230f8a9e-239b-4d56-9acb-55c85d675308}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {3b33f388-6920-4043-bebb-8af11c035113}, !- Handle + OfficeSmall BLDG_OCC_SCH Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {230f8a9e-239b-4d56-9acb-55c85d675308}, !- Handle + OfficeSmall BLDG_OCC_SCH Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {7a3beec5-ee6d-48a4-8cab-5874ffe017fa}, !- Handle + OfficeSmall BLDG_OCC_SCH Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Rule, + {9898161f-548e-4c84-8e52-bd0083151c27}, !- Handle + Schedule Rule 4, !- Name + {1df04d23-27fc-40f4-a388-376f47f70fc4}, !- Schedule Ruleset Name + 0, !- Rule Order + {4c12c950-8ceb-4bc4-8491-b3d011b65832}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {4c12c950-8ceb-4bc4-8491-b3d011b65832}, !- Handle + OfficeSmall BLDG_OCC_SCH Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.11, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.21, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.53, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.32, !- Value Until Time 7 + 22, !- Hour 8 + 0, !- Minute 8 + 0.11, !- Value Until Time 8 + 23, !- Hour 9 + 0, !- Minute 9 + 0.05, !- Value Until Time 9 + 24, !- Hour 10 + 0, !- Minute 10 + 0; !- Value Until Time 10 + +OS:Schedule:Ruleset, + {996f03c1-098b-4d7f-a678-dbb4a289a615}, !- Handle + OfficeSmall ACTIVITY_SCH, !- Name + {92221fa4-ee90-477f-a433-49cb1d287c6a}, !- Schedule Type Limits Name + {56f14d5f-340a-42d8-a4e9-704590684965}, !- Default Day Schedule Name + {c86f1828-e86d-425f-b4a7-9565b4df8d16}, !- Summer Design Day Schedule Name + {1c63b9ab-3a38-4c3e-a496-1882a1a27fff}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {56f14d5f-340a-42d8-a4e9-704590684965}, !- Handle + OfficeSmall ACTIVITY_SCH Default, !- Name + {92221fa4-ee90-477f-a433-49cb1d287c6a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 120; !- Value Until Time 1 + +OS:Schedule:Day, + {1c63b9ab-3a38-4c3e-a496-1882a1a27fff}, !- Handle + OfficeSmall ACTIVITY_SCH Winter Design Day, !- Name + {92221fa4-ee90-477f-a433-49cb1d287c6a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 120; !- Value Until Time 1 + +OS:Schedule:Day, + {c86f1828-e86d-425f-b4a7-9565b4df8d16}, !- Handle + OfficeSmall ACTIVITY_SCH Summer Design Day, !- Name + {92221fa4-ee90-477f-a433-49cb1d287c6a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 120; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {92221fa4-ee90-477f-a433-49cb1d287c6a}, !- Handle + ActivityLevel, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + ActivityLevel; !- Unit Type + +OS:Schedule:Ruleset, + {17c5163a-59cb-4638-bd40-221d43212d75}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {f6b53f7f-b15c-4e47-be4f-3c2abd1aa47c}, !- Default Day Schedule Name + {2880f111-531b-4b72-8f63-97be8e783d44}, !- Summer Design Day Schedule Name + {3d8227a8-b24f-4042-ad1e-5d5f2e799bc4}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {f6b53f7f-b15c-4e47-be4f-3c2abd1aa47c}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010 Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 5, !- Hour 1 + 0, !- Minute 1 + 0.18, !- Value Until Time 1 + 6, !- Hour 2 + 0, !- Minute 2 + 0.23, !- Value Until Time 2 + 7, !- Hour 3 + 0, !- Minute 3 + 0.187059, !- Value Until Time 3 + 8, !- Hour 4 + 0, !- Minute 4 + 0.341586, !- Value Until Time 4 + 12, !- Hour 5 + 0, !- Minute 5 + 0.73197, !- Value Until Time 5 + 13, !- Hour 6 + 0, !- Minute 6 + 0.65064, !- Value Until Time 6 + 17, !- Hour 7 + 0, !- Minute 7 + 0.73197, !- Value Until Time 7 + 18, !- Hour 8 + 0, !- Minute 8 + 0.496113, !- Value Until Time 8 + 20, !- Hour 9 + 0, !- Minute 9 + 0.341586, !- Value Until Time 9 + 22, !- Hour 10 + 0, !- Minute 10 + 0.260256, !- Value Until Time 10 + 23, !- Hour 11 + 0, !- Minute 11 + 0.187059, !- Value Until Time 11 + 24, !- Hour 12 + 0, !- Minute 12 + 0.18; !- Value Until Time 12 + +OS:Schedule:Rule, + {290371b6-2501-4c29-b1be-f36381193d56}, !- Handle + Schedule Rule 5, !- Name + {17c5163a-59cb-4638-bd40-221d43212d75}, !- Schedule Ruleset Name + 1, !- Rule Order + {4d30e47e-ba0e-49c3-aab9-7317b3f09fed}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {4d30e47e-ba0e-49c3-aab9-7317b3f09fed}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010 Default|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 5, !- Hour 1 + 0, !- Minute 1 + 0.18, !- Value Until Time 1 + 6, !- Hour 2 + 0, !- Minute 2 + 0.23, !- Value Until Time 2 + 7, !- Hour 3 + 0, !- Minute 3 + 0.187059, !- Value Until Time 3 + 8, !- Hour 4 + 0, !- Minute 4 + 0.341586, !- Value Until Time 4 + 12, !- Hour 5 + 0, !- Minute 5 + 0.73197, !- Value Until Time 5 + 13, !- Hour 6 + 0, !- Minute 6 + 0.65064, !- Value Until Time 6 + 17, !- Hour 7 + 0, !- Minute 7 + 0.73197, !- Value Until Time 7 + 18, !- Hour 8 + 0, !- Minute 8 + 0.496113, !- Value Until Time 8 + 20, !- Hour 9 + 0, !- Minute 9 + 0.341586, !- Value Until Time 9 + 22, !- Hour 10 + 0, !- Minute 10 + 0.260256, !- Value Until Time 10 + 23, !- Hour 11 + 0, !- Minute 11 + 0.187059, !- Value Until Time 11 + 24, !- Hour 12 + 0, !- Minute 12 + 0.18; !- Value Until Time 12 + +OS:Schedule:Day, + {2880f111-531b-4b72-8f63-97be8e783d44}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010 Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Rule, + {eb7324ca-31cb-4523-b3c4-4fab8d69c239}, !- Handle + Schedule Rule 6, !- Name + {17c5163a-59cb-4638-bd40-221d43212d75}, !- Schedule Ruleset Name + 0, !- Rule Order + {1f45bea4-1d78-4bb6-b3e9-7a438db25b61}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {1f45bea4-1d78-4bb6-b3e9-7a438db25b61}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010 Wknd Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.18; !- Value Until Time 1 + +OS:Schedule:Day, + {3d8227a8-b24f-4042-ad1e-5d5f2e799bc4}, !- Handle + OfficeSmall BLDG_LIGHT_SCH_2010 Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {41a58457-b581-459a-a4b3-1f92f66ab57d}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {28bcfd1b-2edd-4804-8ff7-0aab86878657}, !- Default Day Schedule Name + {c83246d9-665a-49ca-b847-4e6f6c239c1a}, !- Summer Design Day Schedule Name + {eaa8d246-3f09-47fa-8ea4-b06a09af4428}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {28bcfd1b-2edd-4804-8ff7-0aab86878657}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010 Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.42575, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.4846775, !- Value Until Time 2 + 12, !- Hour 3 + 0, !- Minute 3 + 0.969355, !- Value Until Time 3 + 13, !- Hour 4 + 0, !- Minute 4 + 0.9111937, !- Value Until Time 4 + 17, !- Hour 5 + 0, !- Minute 5 + 0.969355, !- Value Until Time 5 + 18, !- Hour 6 + 0, !- Minute 6 + 0.4846775, !- Value Until Time 6 + 23, !- Hour 7 + 0, !- Minute 7 + 0.193871, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0.1703; !- Value Until Time 8 + +OS:Schedule:Rule, + {b9c2426e-c841-49e8-bf65-25a76b1f1aa8}, !- Handle + Schedule Rule 7, !- Name + {41a58457-b581-459a-a4b3-1f92f66ab57d}, !- Schedule Ruleset Name + 1, !- Rule Order + {2ef560ae-e748-4437-ae1c-61ff96e97466}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {2ef560ae-e748-4437-ae1c-61ff96e97466}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010 Default|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.42575, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.4846775, !- Value Until Time 2 + 12, !- Hour 3 + 0, !- Minute 3 + 0.969355, !- Value Until Time 3 + 13, !- Hour 4 + 0, !- Minute 4 + 0.9111937, !- Value Until Time 4 + 17, !- Hour 5 + 0, !- Minute 5 + 0.969355, !- Value Until Time 5 + 18, !- Hour 6 + 0, !- Minute 6 + 0.4846775, !- Value Until Time 6 + 23, !- Hour 7 + 0, !- Minute 7 + 0.193871, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0.1703; !- Value Until Time 8 + +OS:Schedule:Day, + {c83246d9-665a-49ca-b847-4e6f6c239c1a}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010 Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Rule, + {9534b0ac-5d5c-47f3-9d3c-86a6161fa363}, !- Handle + Schedule Rule 8, !- Name + {41a58457-b581-459a-a4b3-1f92f66ab57d}, !- Schedule Ruleset Name + 0, !- Rule Order + {fab2ff16-25eb-4677-add5-798f50456919}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {fab2ff16-25eb-4677-add5-798f50456919}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010 Wknd Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.1703; !- Value Until Time 1 + +OS:Schedule:Day, + {eaa8d246-3f09-47fa-8ea4-b06a09af4428}, !- Handle + OfficeSmall BLDG_EQUIP_SCH_2010 Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {1d513a74-6145-4b5c-be45-09c2cccb94fe}, !- Default Day Schedule Name + {398a2b47-57bb-41f7-b0b3-6483e94ba275}, !- Summer Design Day Schedule Name + {12cd9b0f-a2a2-4634-a330-c1618995b0b5}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {1d513a74-6145-4b5c-be45-09c2cccb94fe}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {398a2b47-57bb-41f7-b0b3-6483e94ba275}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {3448cadf-e9c3-4b80-bcad-b7de0599a467}, !- Handle + Schedule Rule 9, !- Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Ruleset Name + 1, !- Rule Order + {b44f7aba-47de-4c92-b319-b5139d10b0ba}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {b44f7aba-47de-4c92-b319-b5139d10b0ba}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH SmrDsn|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Day, + {12cd9b0f-a2a2-4634-a330-c1618995b0b5}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {02cddb29-ea72-4797-966c-484d88a4c75e}, !- Handle + Schedule Rule 10, !- Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Ruleset Name + 0, !- Rule Order + {21059ccc-6f41-4767-82c7-6dd5b4a74111}, !- Day Schedule Name + , !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {21059ccc-6f41-4767-82c7-6dd5b4a74111}, !- Handle + OfficeSmall INFIL_QUARTER_ON_SCH WntrDsn|Sat Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 0.25, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:ThermostatSetpoint:DualSetpoint, + {d20dd7bc-e3f5-47fe-ae80-60baa779248d}, !- Handle + Office WholeBuilding - Sm Office Thermostat, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Handle + OfficeSmall HTGSETP_SCH_NO_OPTIMUM, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + {8015c3f2-0467-4a04-8dda-78d83fd7e969}, !- Default Day Schedule Name + {14126758-73ce-4c30-afae-333c230b781e}, !- Summer Design Day Schedule Name + {9565d4bc-d9db-4aa9-ad74-568d85f44983}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {8015c3f2-0467-4a04-8dda-78d83fd7e969}, !- Handle + OfficeSmall HTGSETP_SCH_NO_OPTIMUM Default, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.56; !- Value Until Time 1 + +OS:Schedule:Day, + {14126758-73ce-4c30-afae-333c230b781e}, !- Handle + OfficeSmall HTGSETP_SCH_NO_OPTIMUM Summer Design Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.56; !- Value Until Time 1 + +OS:Schedule:Rule, + {f946983e-d8a9-4d51-a48b-7f2777c8aa9e}, !- Handle + Schedule Rule 11, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Schedule Ruleset Name + 0, !- Rule Order + {06d1df42-055d-4dcc-92a5-61b39b137033}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {06d1df42-055d-4dcc-92a5-61b39b137033}, !- Handle + OfficeSmall HTGSETP_SCH_NO_OPTIMUM Wkdy Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.56, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 21.11, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 15.56; !- Value Until Time 3 + +OS:Schedule:Day, + {9565d4bc-d9db-4aa9-ad74-568d85f44983}, !- Handle + OfficeSmall HTGSETP_SCH_NO_OPTIMUM Winter Design Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 21.11; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {76bd7766-ea49-4859-b720-1e4307048177}, !- Handle + Temperature, !- Name + , !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + Temperature; !- Unit Type + +OS:Schedule:Ruleset, + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}, !- Handle + OfficeSmall CLGSETP_SCH_NO_OPTIMUM, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + {78e6de02-9702-4015-98e7-2a1baacd740a}, !- Default Day Schedule Name + {2dac0c0c-1e28-4c20-929f-eace18f208b7}, !- Summer Design Day Schedule Name + {4932ad6b-b5e2-41ba-b92d-d4f940df6cc3}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {78e6de02-9702-4015-98e7-2a1baacd740a}, !- Handle + OfficeSmall CLGSETP_SCH_NO_OPTIMUM Default, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 29.44; !- Value Until Time 1 + +OS:Schedule:Day, + {2dac0c0c-1e28-4c20-929f-eace18f208b7}, !- Handle + OfficeSmall CLGSETP_SCH_NO_OPTIMUM Summer Design Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 23.89; !- Value Until Time 1 + +OS:Schedule:Rule, + {1cc238b3-3bae-4327-a172-27e763604589}, !- Handle + Schedule Rule 12, !- Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}, !- Schedule Ruleset Name + 0, !- Rule Order + {e9740288-3ce6-4bce-bce7-1ca8e62343a1}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {e9740288-3ce6-4bce-bce7-1ca8e62343a1}, !- Handle + OfficeSmall CLGSETP_SCH_NO_OPTIMUM Wkdy Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 29.44, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 23.89, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 29.44; !- Value Until Time 3 + +OS:Schedule:Day, + {4932ad6b-b5e2-41ba-b92d-d4f940df6cc3}, !- Handle + OfficeSmall CLGSETP_SCH_NO_OPTIMUM Winter Design Day, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 29.44; !- Value Until Time 1 + +OS:SpaceInfiltration:DesignFlowRate, + {e6bd29a3-01fe-4683-b1d5-ab9b7f8f7d45}, !- Handle + Perimeter_ZN_1 Infiltration, !- Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space or SpaceType Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0005695733896, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {409673ff-01ad-4a1e-966e-143f354f971e}, !- Handle + Perimeter_ZN_2 Infiltration, !- Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space or SpaceType Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0005695733896, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {f31b0887-b523-4d68-abe6-c471a80d38ff}, !- Handle + Perimeter_ZN_3 Infiltration, !- Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space or SpaceType Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0005695733896, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {34143e02-e6dc-4467-a41b-1f8bbd1dbadd}, !- Handle + Perimeter_ZN_4 Infiltration, !- Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space or SpaceType Name + {6728532c-e17c-4aad-bdfc-7f0e00ddadb0}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0005695733896, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SurfaceConvectionAlgorithm:Inside, + {46ed258a-9fc6-412f-b150-98b8a4ff0984}, !- Handle + TARP; !- Algorithm + +OS:SurfaceConvectionAlgorithm:Outside, + {8d369bae-8c1f-4174-a1d5-08069db3102f}, !- Handle + TARP; !- Algorithm + +OS:ThermalZone, + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}, !- Handle + Attic ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {97696c1f-ba66-4bb2-9c0b-b91c2cd2e437}, !- Zone Air Inlet Port List + {f4feab5f-60d4-4db7-819a-ccf737dd6bdc}, !- Zone Air Exhaust Port List + {05f96a65-78bc-4cc1-b528-aeb33bbc67b5}, !- Zone Air Node Name + {dd62786f-1949-455f-aa13-b27f2aabc492}, !- Zone Return Air Port List + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {751e9a69-fb76-468d-b060-7fa570705ff8}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {894ed7c3-cdf3-4d16-8e8f-50fa30a376fe}, !- Handle + Attic ZN Zone Air Node, !- Name + {05f96a65-78bc-4cc1-b528-aeb33bbc67b5}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {05f96a65-78bc-4cc1-b528-aeb33bbc67b5}, !- Handle + {0bd4bf01-70c6-4d1c-b3c2-bc18b5d9fe41}, !- Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}, !- Source Object + 11, !- Outlet Port + {894ed7c3-cdf3-4d16-8e8f-50fa30a376fe}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {97696c1f-ba66-4bb2-9c0b-b91c2cd2e437}, !- Handle + {3a3ef968-a137-47d5-9f4d-1906ac514cbb}, !- Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}; !- HVAC Component + +OS:PortList, + {f4feab5f-60d4-4db7-819a-ccf737dd6bdc}, !- Handle + {86675403-ca5c-4cba-94bd-4151004e0964}, !- Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}; !- HVAC Component + +OS:PortList, + {dd62786f-1949-455f-aa13-b27f2aabc492}, !- Handle + {dfacee86-4db2-4ba0-8465-81a11610e727}, !- Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}; !- HVAC Component + +OS:Sizing:Zone, + {a2fd5b85-c88a-4b42-a65a-1d879d31aad4}, !- Handle + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {458fe773-bb44-4fcd-a7e5-d9393f8f0115}, !- Handle + Attic ZN Zone HVAC Equipment List, !- Name + {fb5d362f-7c51-43d1-83bf-bb4e511ae753}; !- Thermal Zone + +OS:ThermostatSetpoint:DualSetpoint, + {751e9a69-fb76-468d-b060-7fa570705ff8}, !- Handle + Office Attic Thermostat 1; !- Name + +OS:ThermalZone, + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Handle + Core_ZN ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {738f19b3-e487-4926-891b-d949fff4ecd8}, !- Zone Air Inlet Port List + {31b75b1e-52e3-45eb-95c7-9e769c6e0c22}, !- Zone Air Exhaust Port List + {4e6a0959-1ce5-4a52-99ae-cc13bdb348c3}, !- Zone Air Node Name + {d07557fb-a0fb-41e6-bcb6-7ee018077df7}, !- Zone Return Air Port List + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {f11a319b-cb44-49f1-9977-ef0b8ed4cfc6}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {64043451-4044-4e66-8c67-1cc241e7dd35}, !- Handle + Core_ZN ZN Zone Air Node, !- Name + {4e6a0959-1ce5-4a52-99ae-cc13bdb348c3}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {4e6a0959-1ce5-4a52-99ae-cc13bdb348c3}, !- Handle + {32a049b8-80fd-46da-ad6a-23741cb882f9}, !- Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Source Object + 11, !- Outlet Port + {64043451-4044-4e66-8c67-1cc241e7dd35}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {738f19b3-e487-4926-891b-d949fff4ecd8}, !- Handle + {50483004-bc95-42fe-a208-fa9219d3876a}, !- Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- HVAC Component + {00899900-f70f-404f-9af4-457fd80e1f81}; !- Port 1 + +OS:PortList, + {31b75b1e-52e3-45eb-95c7-9e769c6e0c22}, !- Handle + {443a6041-06e1-45c8-b733-0777aff4ffef}, !- Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}; !- HVAC Component + +OS:PortList, + {d07557fb-a0fb-41e6-bcb6-7ee018077df7}, !- Handle + {efe439bc-a35d-48d0-b370-d4593e2faa08}, !- Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- HVAC Component + {d2ac3d92-45ec-4213-ac78-da3de5743958}; !- Port 1 + +OS:Sizing:Zone, + {cb57ffda-d8cf-4535-824d-51cbd76980b6}, !- Handle + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {68306de4-f43b-4b3d-b804-a45cc5a1cccb}, !- Handle + Core_ZN ZN Zone HVAC Equipment List, !- Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Thermal Zone + , !- Load Distribution Scheme + {9c8acab6-f8b4-4f85-8aab-3921571d1657}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {f11a319b-cb44-49f1-9977-ef0b8ed4cfc6}, !- Handle + Office WholeBuilding - Sm Office Thermostat 1, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Handle + Perimeter_ZN_1 ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {7048c8fb-8e5d-40ec-8498-1a69f93e6348}, !- Zone Air Inlet Port List + {4f7dbb15-7310-49f2-8eb9-b66ef60277bf}, !- Zone Air Exhaust Port List + {faf0f132-ccf7-4d33-8b0d-54a12f45d967}, !- Zone Air Node Name + {82ec418d-9d3e-4002-8841-cf2ae63eb177}, !- Zone Return Air Port List + {e8cd16df-71d1-4a8b-92d3-aa509a0c0c52}, !- Primary Daylighting Control Name + 0.02, !- Fraction of Zone Controlled by Primary Daylighting Control + {19c12be3-4903-42f5-beac-a1f7083c2797}, !- Secondary Daylighting Control Name + 0.1, !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {1bf101a5-b88a-4ac0-8c5e-8ef1812e6f0a}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {1ba7e175-9943-4d52-8a92-87a7eed0037a}, !- Handle + Perimeter_ZN_1 ZN Zone Air Node, !- Name + {faf0f132-ccf7-4d33-8b0d-54a12f45d967}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {faf0f132-ccf7-4d33-8b0d-54a12f45d967}, !- Handle + {c6dcef5d-a9db-44f1-aec7-4ddd96cdd735}, !- Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Source Object + 11, !- Outlet Port + {1ba7e175-9943-4d52-8a92-87a7eed0037a}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {7048c8fb-8e5d-40ec-8498-1a69f93e6348}, !- Handle + {fe9ea2bf-c149-48fd-a2b2-0d6b0c3e9065}, !- Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- HVAC Component + {4cb9e21c-dd01-4033-859f-7c8fe218f2c8}; !- Port 1 + +OS:PortList, + {4f7dbb15-7310-49f2-8eb9-b66ef60277bf}, !- Handle + {909b9f62-9ab0-4035-b7be-4c16126bde94}, !- Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}; !- HVAC Component + +OS:PortList, + {82ec418d-9d3e-4002-8841-cf2ae63eb177}, !- Handle + {75fe1f8e-ee61-49b3-a599-e4c9069812eb}, !- Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- HVAC Component + {936010d5-c0e1-4dc8-ae1e-31067aea96a9}; !- Port 1 + +OS:Sizing:Zone, + {2eaab0c2-2316-411a-83af-ca001424ceb5}, !- Handle + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {0e2f6b86-3eb6-4071-96a2-12b2a8fe5e6b}, !- Handle + Perimeter_ZN_1 ZN Zone HVAC Equipment List, !- Name + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Thermal Zone + , !- Load Distribution Scheme + {96e7e295-850a-4c3c-bf50-b3486bb06e87}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {1bf101a5-b88a-4ac0-8c5e-8ef1812e6f0a}, !- Handle + Office WholeBuilding - Sm Office Thermostat 2, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Handle + Perimeter_ZN_2 ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {23a66b18-9d84-4ddf-bafa-bd4f8a78b6a5}, !- Zone Air Inlet Port List + {e94f36c7-202d-4678-b3fb-27ec339dbcdf}, !- Zone Air Exhaust Port List + {8f89c97c-4436-4d13-a96a-9140c0bdc6c5}, !- Zone Air Node Name + {c03be68e-6dfb-471a-8385-dde5e86ea62f}, !- Zone Return Air Port List + {42adacb8-8922-40d8-a156-92af6e998883}, !- Primary Daylighting Control Name + 0.06, !- Fraction of Zone Controlled by Primary Daylighting Control + {641bcb4b-14d8-47f2-a6b2-7c2618864678}, !- Secondary Daylighting Control Name + 0.15, !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {1002dc32-d9cf-4b23-9559-003bcc5b0e64}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {af4da552-8aff-437b-af9b-1eb57cd9299c}, !- Handle + Perimeter_ZN_2 ZN Zone Air Node, !- Name + {8f89c97c-4436-4d13-a96a-9140c0bdc6c5}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {8f89c97c-4436-4d13-a96a-9140c0bdc6c5}, !- Handle + {90ab0e6e-3dab-481d-b54a-66780ecd761d}, !- Name + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Source Object + 11, !- Outlet Port + {af4da552-8aff-437b-af9b-1eb57cd9299c}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {23a66b18-9d84-4ddf-bafa-bd4f8a78b6a5}, !- Handle + {29f2a29c-60c9-4bd5-b709-5de858fb3373}, !- Name + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- HVAC Component + {b0770bdb-5033-4102-941f-7ccbbd108aad}; !- Port 1 + +OS:PortList, + {e94f36c7-202d-4678-b3fb-27ec339dbcdf}, !- Handle + {c6c80758-0a16-4253-ab13-2cb27f0ba549}, !- Name + {3acfb282-f24e-43c2-9d4d-42663af84816}; !- HVAC Component + +OS:PortList, + {c03be68e-6dfb-471a-8385-dde5e86ea62f}, !- Handle + {c81cc8f9-d986-471d-a6d3-0620d3fa2821}, !- Name + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- HVAC Component + {a303975d-3e61-4cd7-82f9-3699f417e99c}; !- Port 1 + +OS:Sizing:Zone, + {153fe742-b8f3-4d7e-9b42-c6a1f803436c}, !- Handle + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {3588483c-9a43-4e8c-bcd9-e2046a9f189a}, !- Handle + Perimeter_ZN_2 ZN Zone HVAC Equipment List, !- Name + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Thermal Zone + , !- Load Distribution Scheme + {641a5424-04e4-45e8-a086-7e784f024341}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {1002dc32-d9cf-4b23-9559-003bcc5b0e64}, !- Handle + Office WholeBuilding - Sm Office Thermostat 3, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Handle + Perimeter_ZN_3 ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {73bb8a3a-d103-4fc9-9a6a-e5dbb7bbf9e5}, !- Zone Air Inlet Port List + {89d81afc-3744-4ffa-a46d-09307d2f2a4f}, !- Zone Air Exhaust Port List + {5813f1bf-edd8-4188-9420-8cc17695524f}, !- Zone Air Node Name + {ccb9cf69-9f4d-40f9-96ca-bde0a9cae703}, !- Zone Return Air Port List + {fc3bf81d-bfd3-46df-a1f5-7670c3076208}, !- Primary Daylighting Control Name + 0.1, !- Fraction of Zone Controlled by Primary Daylighting Control + {a361c842-3e20-4fd0-af27-9e26e7fafe6c}, !- Secondary Daylighting Control Name + 0.02, !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {b2980a73-e911-4347-b194-ea06dd04f1a0}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {5343dc79-0d4d-472d-bc04-8483b2e165b8}, !- Handle + Perimeter_ZN_3 ZN Zone Air Node, !- Name + {5813f1bf-edd8-4188-9420-8cc17695524f}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {5813f1bf-edd8-4188-9420-8cc17695524f}, !- Handle + {077b774e-4288-4ffe-9153-c0b51e452fa2}, !- Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Source Object + 11, !- Outlet Port + {5343dc79-0d4d-472d-bc04-8483b2e165b8}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {73bb8a3a-d103-4fc9-9a6a-e5dbb7bbf9e5}, !- Handle + {0268ee69-619c-4f0b-8421-074bddfc9d7d}, !- Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- HVAC Component + {e79c7857-2184-4c54-abc3-446837e3bbd8}; !- Port 1 + +OS:PortList, + {89d81afc-3744-4ffa-a46d-09307d2f2a4f}, !- Handle + {30b5cba8-5572-4bb2-870c-777f2aa31068}, !- Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}; !- HVAC Component + +OS:PortList, + {ccb9cf69-9f4d-40f9-96ca-bde0a9cae703}, !- Handle + {8ff9341b-846a-41e3-996f-cf80ebf092fc}, !- Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- HVAC Component + {0c4cb7a5-a4ac-46c5-83b3-e5bf1869c870}; !- Port 1 + +OS:Sizing:Zone, + {224a5216-9736-4830-b7b6-fc427c8d4057}, !- Handle + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {b1f6d3e0-345f-4e52-924a-7da40e544a17}, !- Handle + Perimeter_ZN_3 ZN Zone HVAC Equipment List, !- Name + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Thermal Zone + , !- Load Distribution Scheme + {e085a1bb-5070-48cc-9ade-6e67a8862df9}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {b2980a73-e911-4347-b194-ea06dd04f1a0}, !- Handle + Office WholeBuilding - Sm Office Thermostat 4, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Handle + Perimeter_ZN_4 ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {d7b69a7e-6231-4ebc-b75e-cad72ad17462}, !- Zone Air Inlet Port List + {b3bb74f8-9216-4d02-a847-a1704ad34567}, !- Zone Air Exhaust Port List + {05489099-803d-479b-8b33-b528ac59fe32}, !- Zone Air Node Name + {2b47021e-19c0-496f-a182-fba20966ad72}, !- Zone Return Air Port List + {896ce227-026e-4189-a13b-3468810eeeb0}, !- Primary Daylighting Control Name + 0.06, !- Fraction of Zone Controlled by Primary Daylighting Control + {ca02aeb9-446f-4395-84f8-b0078dcc1bbb}, !- Secondary Daylighting Control Name + 0.15, !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {ed671ab5-7fe2-4245-828e-b50d0d54faa3}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {33f64e1a-d301-42ca-a5a1-b044e2abe417}, !- Handle + Perimeter_ZN_4 ZN Zone Air Node, !- Name + {05489099-803d-479b-8b33-b528ac59fe32}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {05489099-803d-479b-8b33-b528ac59fe32}, !- Handle + {b89cdbe3-634c-4ca3-940d-dc3496e218e0}, !- Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Source Object + 11, !- Outlet Port + {33f64e1a-d301-42ca-a5a1-b044e2abe417}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {d7b69a7e-6231-4ebc-b75e-cad72ad17462}, !- Handle + {c4458da0-42ed-422d-8632-14f37e957f97}, !- Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- HVAC Component + {7d1744c9-efa0-43e8-b28a-1cd1f6404da1}; !- Port 1 + +OS:PortList, + {b3bb74f8-9216-4d02-a847-a1704ad34567}, !- Handle + {e31d64e0-bfdd-4c98-88d7-40f941306106}, !- Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}; !- HVAC Component + +OS:PortList, + {2b47021e-19c0-496f-a182-fba20966ad72}, !- Handle + {e207c1b0-4377-48c7-b905-7070f6dd3218}, !- Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- HVAC Component + {18260646-b037-4364-83e4-315c4a13f38e}; !- Port 1 + +OS:Sizing:Zone, + {881de3a9-81a2-4c3f-80fc-8e5223081d5b}, !- Handle + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {9d1220c2-702d-48ca-83d0-54fcce583150}, !- Handle + Perimeter_ZN_4 ZN Zone HVAC Equipment List, !- Name + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Thermal Zone + , !- Load Distribution Scheme + {b84260fa-6262-4255-b4da-3a275d1d0ac0}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {ed671ab5-7fe2-4245-828e-b50d0d54faa3}, !- Handle + Office WholeBuilding - Sm Office Thermostat 5, !- Name + {f3e0a4b8-de86-4e79-83d0-2ba48eaae78d}, !- Heating Setpoint Temperature Schedule Name + {04bd45fd-2ac7-455e-945e-c5cde612ad4a}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Handle + OfficeSmall HVACOperationSchd, !- Name + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Schedule Type Limits Name + {082036ba-195f-4dd8-a214-ec893fa3c6c8}, !- Default Day Schedule Name + {0412ec9f-5999-4c05-8f13-4ec330033abf}, !- Summer Design Day Schedule Name + {25293e9f-6468-42a5-837b-267e68eacc82}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {082036ba-195f-4dd8-a214-ec893fa3c6c8}, !- Handle + OfficeSmall HVACOperationSchd Default, !- Name + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {25293e9f-6468-42a5-837b-267e68eacc82}, !- Handle + OfficeSmall HVACOperationSchd Winter Design Day, !- Name + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {0412ec9f-5999-4c05-8f13-4ec330033abf}, !- Handle + OfficeSmall HVACOperationSchd Summer Design Day, !- Name + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:Schedule:Rule, + {82a3816f-52c4-4351-bdf7-d5cd8cab6306}, !- Handle + Schedule Rule 13, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Schedule Ruleset Name + 0, !- Rule Order + {f1e8543f-f5b0-48a8-b768-e6c650cab345}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {f1e8543f-f5b0-48a8-b768-e6c650cab345}, !- Handle + OfficeSmall HVACOperationSchd SmrDsn|Wkdy Day, !- Name + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:Schedule:Ruleset, + {7db16e7a-aee0-464f-a559-173a018bdcdc}, !- Handle + OfficeSmall MinOA_MotorizedDamper_Sched, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {11e60142-a30b-49c1-b542-ad76d1ad97cc}, !- Default Day Schedule Name + {cd321bef-835a-4740-be2e-1380a5bf691c}, !- Summer Design Day Schedule Name + {8446e80e-6eeb-4b7e-81cf-2760b657a8b0}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {11e60142-a30b-49c1-b542-ad76d1ad97cc}, !- Handle + OfficeSmall MinOA_MotorizedDamper_Sched Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {8446e80e-6eeb-4b7e-81cf-2760b657a8b0}, !- Handle + OfficeSmall MinOA_MotorizedDamper_Sched Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {cd321bef-835a-4740-be2e-1380a5bf691c}, !- Handle + OfficeSmall MinOA_MotorizedDamper_Sched Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:Schedule:Rule, + {436621a1-1cfe-413f-9375-386094d3a784}, !- Handle + Schedule Rule 14, !- Name + {7db16e7a-aee0-464f-a559-173a018bdcdc}, !- Schedule Ruleset Name + 0, !- Rule Order + {bf080776-d501-470d-8461-5df761512fba}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {bf080776-d501-470d-8461-5df761512fba}, !- Handle + OfficeSmall MinOA_MotorizedDamper_Sched SmrDsn|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 19, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:AirLoopHVAC, + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2, !- Name + , !- Controller List Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule + {dc830c08-2913-4a80-b61b-887a94a98ecc}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {82b01400-9a61-496f-824e-a17538782b30}, !- Supply Side Inlet Node Name + {18e4d519-7688-4d3f-968f-78c392201d5f}, !- Demand Side Outlet Node Name + {84947b2f-3602-4f04-b64e-e1cb0f80696b}, !- Demand Side Inlet Node A + {96aacc6a-e522-4e1d-ae70-e24ff8710802}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {a1a75a51-d497-4f87-a068-7d1f50d13568}, !- Demand Mixer Name + {c476129a-a1bd-4270-830e-b0e46668342d}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {190dff34-4615-4014-ab77-4760d2d09631}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Supply Inlet Node, !- Name + {82b01400-9a61-496f-824e-a17538782b30}, !- Inlet Port + {41a5ca1d-b563-4bee-87bd-bb088321d30a}; !- Outlet Port + +OS:Node, + {c8a682c2-20a9-4b43-979d-031b7d4af49e}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Supply Outlet Node, !- Name + {b877c6cb-9455-4dcd-b1fb-9644146a19f3}, !- Inlet Port + {96aacc6a-e522-4e1d-ae70-e24ff8710802}; !- Outlet Port + +OS:Connection, + {82b01400-9a61-496f-824e-a17538782b30}, !- Handle + {405bf3b0-05f7-4d27-9c14-8d652f1ac2ef}, !- Name + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- Source Object + 8, !- Outlet Port + {190dff34-4615-4014-ab77-4760d2d09631}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {96aacc6a-e522-4e1d-ae70-e24ff8710802}, !- Handle + {3b25784e-4e02-487e-957b-6b3a9bff775e}, !- Name + {c8a682c2-20a9-4b43-979d-031b7d4af49e}, !- Source Object + 3, !- Outlet Port + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {5ce81af2-d24e-45a8-8dee-a16cbf73daee}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Demand Inlet Node, !- Name + {84947b2f-3602-4f04-b64e-e1cb0f80696b}, !- Inlet Port + {1a9ef7a0-7369-4785-aa41-e0675c004644}; !- Outlet Port + +OS:Node, + {91ee69ac-846b-4198-b4ee-c5cb684e508a}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Demand Outlet Node, !- Name + {d899590c-4806-4a6a-9cb3-6b691d93edf5}, !- Inlet Port + {18e4d519-7688-4d3f-968f-78c392201d5f}; !- Outlet Port + +OS:Node, + {c3fcc6f1-3f81-4656-893a-3a36dbe3c3c8}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Diffuser Outlet Air Node, !- Name + {ea28bc5f-22c9-44d3-8066-35aef7aad9e5}, !- Inlet Port + {4cb9e21c-dd01-4033-859f-7c8fe218f2c8}; !- Outlet Port + +OS:Connection, + {84947b2f-3602-4f04-b64e-e1cb0f80696b}, !- Handle + {cd227cc6-8787-4b47-a8b4-d1f221c70f6b}, !- Name + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- Source Object + 10, !- Outlet Port + {5ce81af2-d24e-45a8-8dee-a16cbf73daee}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {18e4d519-7688-4d3f-968f-78c392201d5f}, !- Handle + {650360e0-0dc0-4cd5-b7fe-1ec137d51e98}, !- Name + {91ee69ac-846b-4198-b4ee-c5cb684e508a}, !- Source Object + 3, !- Outlet Port + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {c476129a-a1bd-4270-830e-b0e46668342d}, !- Handle + Air Loop HVAC Zone Splitter 1, !- Name + {1a9ef7a0-7369-4785-aa41-e0675c004644}, !- Inlet Node Name + {2895f297-43fa-408d-84b9-152d647ad01d}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {a1a75a51-d497-4f87-a068-7d1f50d13568}, !- Handle + Air Loop HVAC Zone Mixer 1, !- Name + {d899590c-4806-4a6a-9cb3-6b691d93edf5}, !- Outlet Node Name + {c1e8ef9e-e6b0-4302-b257-c270d6451f14}; !- Inlet Node Name 1 + +OS:Connection, + {1a9ef7a0-7369-4785-aa41-e0675c004644}, !- Handle + {783fb092-4a07-4b0f-8c96-8faefdc0465c}, !- Name + {5ce81af2-d24e-45a8-8dee-a16cbf73daee}, !- Source Object + 3, !- Outlet Port + {c476129a-a1bd-4270-830e-b0e46668342d}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {d899590c-4806-4a6a-9cb3-6b691d93edf5}, !- Handle + {520605ff-5dfb-47b3-aacb-0ee53ce69fa3}, !- Name + {a1a75a51-d497-4f87-a068-7d1f50d13568}, !- Source Object + 2, !- Outlet Port + {91ee69ac-846b-4198-b4ee-c5cb684e508a}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {10ceeb30-634e-49b5-9e60-4d741bc3cf7f}, !- Handle + {6eed6753-bbfe-4c99-9ce2-2e222861f0d0}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {dc830c08-2913-4a80-b61b-887a94a98ecc}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList, !- Name + {6a0d1ef9-4cf4-40d9-8bfe-ee1cf65f8291}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {5d5b33ee-3a21-4d47-973d-b3f7372eccae}, !- Handle + Perimeter_ZN_1 ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Control Zone Name + {c8a682c2-20a9-4b43-979d-031b7d4af49e}; !- Setpoint Node or NodeList Name + +OS:Fan:OnOff, + {db41e31b-8939-477d-b80f-3970c115d0e4}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Fan, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9416a274-fa75-4c46-834c-3eda9dbc8319}, !- Fan Power Ratio Function of Speed Ratio Curve Name + {678152b8-3bac-414a-ae40-6bd46ceda550}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name + ; !- End-Use Subcategory + +OS:Curve:Exponent, + {9416a274-fa75-4c46-834c-3eda9dbc8319}, !- Handle + Fan On Off Power Curve, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 Constant + 0, !- Coefficient3 Constant + 0, !- Minimum Value of x + 1, !- Maximum Value of x + , !- Minimum Curve Output + , !- Maximum Curve Output + , !- Input Unit Type for X + ; !- Output Unit Type + +OS:Curve:Cubic, + {678152b8-3bac-414a-ae40-6bd46ceda550}, !- Handle + Fan On Off Efficiency Curve, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:ScheduleTypeLimits, + {7d288485-dd6a-4c2c-9d31-2bbe6e66aa39}, !- Handle + OnOff, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Coil:Heating:DX:SingleSpeed, + {7623957f-ac9e-4467-9b4a-e7ebceab0332}, !- Handle + Perimeter_ZN_1 ZN HP Htg Coil 22 Clg kBtu/hr 7.7HSPF, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + Autosize, !- Rated Total Heating Capacity {W} + 3.292135, !- Rated COP {W/W} + Autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Total Heating Capacity Function of Temperature Curve Name + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Total Heating Capacity Function of Flow Fraction Curve Name + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Energy Input Ratio Function of Temperature Curve Name + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Part Load Fraction Correlation Curve Name + {a3527f09-a017-4459-b5a5-c0791c5b8c99}, !- Defrost Energy Input Ratio Function of Temperature Curve Name + -12.2, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C} + 1.67, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C} + 50, !- Crankcase Heater Capacity {W} + 4.4, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + ReverseCycle, !- Defrost Strategy + OnDemand, !- Defrost Control + , !- Defrost Time Period Fraction + 2000; !- Resistive Defrost Heater Capacity {W} + +OS:Curve:Biquadratic, + {a3527f09-a017-4459-b5a5-c0791c5b8c99}, !- Handle + Perimeter_ZN_1 ZN HP Htg Coil Defrost EIR Func of Temp Curve 1, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Coil:Heating:Gas, + {303808d8-b128-45ad-b384-0ba9b8b8e83b}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Gas Backup Htg Coil, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Cooling:DX:SingleSpeed, + {809d3672-6d6c-451c-a105-a50024540ae2}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 1spd DX HP Clg Coil 22kBtu/hr 13.0SEER, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + autosize, !- Rated Total Cooling Capacity {W} + autosize, !- Rated Sensible Heat Ratio + 3.91156806861466, !- Rated COP {W/W} + autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Total Cooling Capacity Function of Temperature Curve Name + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Energy Input Ratio Function of Temperature Curve Name + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Part Load Fraction Correlation Curve Name + , !- Nominal Time for Condensate Removal to Begin {s} + , !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless} + , !- Maximum Cycling Rate {cycles/hr} + , !- Latent Capacity Time Constant {s} + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Crankcase Heater Capacity {W} + 0, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 0, !- Basin Heater Capacity {W/K} + 10, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:AirLoopHVAC:UnitaryHeatPump:AirToAir, + {b0fd756d-d288-471a-88fd-52d8bfcdf9af}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Unitary HP, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {44325d81-507a-4a39-b564-3483813f358f}, !- Air Inlet Node Name + {b877c6cb-9455-4dcd-b1fb-9644146a19f3}, !- Air Outlet Node Name + Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} + Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} + , !- Supply Air Flow Rate When No Cooling or Heating is Needed {m3/s} + {a6ab9c53-44d3-45c7-933b-5bf01d0818c8}, !- Controlling Zone or Thermostat Location + {db41e31b-8939-477d-b80f-3970c115d0e4}, !- Supply Air Fan Name + {7623957f-ac9e-4467-9b4a-e7ebceab0332}, !- Heating Coil Name + {809d3672-6d6c-451c-a105-a50024540ae2}, !- Cooling Coil Name + {303808d8-b128-45ad-b384-0ba9b8b8e83b}, !- Supplemental Heating Coil Name + Autosize, !- Maximum Supply Air Temperature from Supplemental Heater {C} + 4.44444444444446, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} + BlowThrough, !- Fan Placement + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}; !- Supply Air Fan Operating Mode Schedule Name + +OS:Connection, + {b877c6cb-9455-4dcd-b1fb-9644146a19f3}, !- Handle + {9611a514-785a-4b1d-9853-172bfdc5041b}, !- Name + {b0fd756d-d288-471a-88fd-52d8bfcdf9af}, !- Source Object + 4, !- Outlet Port + {c8a682c2-20a9-4b43-979d-031b7d4af49e}, !- Target Object + 2; !- Inlet Port + +OS:Controller:OutdoorAir, + {005f6de1-5a1c-434d-8bfa-a7e2c8d20a67}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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 + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {fabac1af-6604-461a-ae1b-42137b95cd40}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {fabac1af-6604-461a-ae1b-42137b95cd40}, !- Handle + Controller Mechanical Ventilation 1, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {57cfb745-8f8e-4ead-a595-2708d5fb22b2}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 OA System, !- Name + {005f6de1-5a1c-434d-8bfa-a7e2c8d20a67}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {9fde2a2e-b6d5-4346-9936-74cc478004ae}, !- Mixed Air Node Name + {0d4a3f43-3576-48d3-958c-f751e3584ca3}, !- Outdoor Air Stream Node Name + {d4af0572-53bc-4099-8681-8e7237a07c8b}, !- Relief Air Stream Node Name + {41a5ca1d-b563-4bee-87bd-bb088321d30a}; !- Return Air Stream Node Name + +OS:Node, + {da69a9df-55d4-4a2e-af5f-2f3406a186d0}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Outdoor Air Node, !- Name + , !- Inlet Port + {0d4a3f43-3576-48d3-958c-f751e3584ca3}; !- Outlet Port + +OS:Connection, + {0d4a3f43-3576-48d3-958c-f751e3584ca3}, !- Handle + {e75cc804-757e-45a6-9370-0ebbec32d1d8}, !- Name + {da69a9df-55d4-4a2e-af5f-2f3406a186d0}, !- Source Object + 3, !- Outlet Port + {57cfb745-8f8e-4ead-a595-2708d5fb22b2}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {7b7685cf-f43b-4c4d-9619-43290a99a403}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Relief Air Node, !- Name + {d4af0572-53bc-4099-8681-8e7237a07c8b}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {d4af0572-53bc-4099-8681-8e7237a07c8b}, !- Handle + {b4ef81b8-b296-45b7-8c76-1951482b13a0}, !- Name + {57cfb745-8f8e-4ead-a595-2708d5fb22b2}, !- Source Object + 7, !- Outlet Port + {7b7685cf-f43b-4c4d-9619-43290a99a403}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {9c118b19-4297-488a-bb2e-a6af8c6fa899}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Mixed Air Node, !- Name + {9fde2a2e-b6d5-4346-9936-74cc478004ae}, !- Inlet Port + {44325d81-507a-4a39-b564-3483813f358f}; !- Outlet Port + +OS:Connection, + {41a5ca1d-b563-4bee-87bd-bb088321d30a}, !- Handle + {dd27eb42-06c9-4674-ba5e-0320c971611a}, !- Name + {190dff34-4615-4014-ab77-4760d2d09631}, !- Source Object + 3, !- Outlet Port + {57cfb745-8f8e-4ead-a595-2708d5fb22b2}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {9fde2a2e-b6d5-4346-9936-74cc478004ae}, !- Handle + {863dd519-cfe9-4b61-baf8-27ac2eec8342}, !- Name + {57cfb745-8f8e-4ead-a595-2708d5fb22b2}, !- Source Object + 5, !- Outlet Port + {9c118b19-4297-488a-bb2e-a6af8c6fa899}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {44325d81-507a-4a39-b564-3483813f358f}, !- Handle + {03582686-5716-49f4-bdb9-94d07dcc1cf5}, !- Name + {9c118b19-4297-488a-bb2e-a6af8c6fa899}, !- Source Object + 3, !- Outlet Port + {b0fd756d-d288-471a-88fd-52d8bfcdf9af}, !- Target Object + 3; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {6a0d1ef9-4cf4-40d9-8bfe-ee1cf65f8291}, !- Handle + Availability Manager Night Cycle 1, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {6e0104d1-9ae5-4743-ac96-b093e6aa1619}, !- Control Zone or Zone List Name + {71dd300d-8cc7-4e89-8349-18f69096404a}, !- Cooling Control Zone or Zone List Name + {2451d67a-a5b2-4aa7-8577-61be0cdacae4}, !- Heating Control Zone or Zone List Name + {12622b25-cbce-421b-9259-662dc6523e9d}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {6e0104d1-9ae5-4743-ac96-b093e6aa1619}, !- Handle + Availability Manager Night Cycle 1 Control Zone List; !- Name + +OS:ModelObjectList, + {71dd300d-8cc7-4e89-8349-18f69096404a}, !- Handle + Availability Manager Night Cycle 1 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {2451d67a-a5b2-4aa7-8577-61be0cdacae4}, !- Handle + Availability Manager Night Cycle 1 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {12622b25-cbce-421b-9259-662dc6523e9d}, !- Handle + Availability Manager Night Cycle 1 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {96e7e295-850a-4c3c-bf50-b3486bb06e87}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Diffuser, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {b284ecd7-bcaa-468d-bcf8-de79b71d1ef9}, !- Air Inlet Node Name + {ea28bc5f-22c9-44d3-8066-35aef7aad9e5}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {bc63542a-1245-471f-bb61-f1e907837797}, !- Handle + Perimeter_ZN_1 ZN Return Air Node, !- Name + {936010d5-c0e1-4dc8-ae1e-31067aea96a9}, !- Inlet Port + {c1e8ef9e-e6b0-4302-b257-c270d6451f14}; !- Outlet Port + +OS:Connection, + {4cb9e21c-dd01-4033-859f-7c8fe218f2c8}, !- Handle + {554a19bf-27bd-4c01-8ad4-973118ba56e8}, !- Name + {c3fcc6f1-3f81-4656-893a-3a36dbe3c3c8}, !- Source Object + 3, !- Outlet Port + {7048c8fb-8e5d-40ec-8498-1a69f93e6348}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {936010d5-c0e1-4dc8-ae1e-31067aea96a9}, !- Handle + {25e5c459-5c11-40e3-ab0a-0d8abb91eb77}, !- Name + {82ec418d-9d3e-4002-8841-cf2ae63eb177}, !- Source Object + 3, !- Outlet Port + {bc63542a-1245-471f-bb61-f1e907837797}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {c1e8ef9e-e6b0-4302-b257-c270d6451f14}, !- Handle + {a1f2edf1-6650-4a51-a0b5-823fb0dd5294}, !- Name + {bc63542a-1245-471f-bb61-f1e907837797}, !- Source Object + 3, !- Outlet Port + {a1a75a51-d497-4f87-a068-7d1f50d13568}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {18f72210-16ed-4414-968c-5cafa30d0bdb}, !- Handle + Perimeter_ZN_1 ZN PSZ-AC-2 Diffuser Inlet Air Node, !- Name + {2895f297-43fa-408d-84b9-152d647ad01d}, !- Inlet Port + {b284ecd7-bcaa-468d-bcf8-de79b71d1ef9}; !- Outlet Port + +OS:Connection, + {2895f297-43fa-408d-84b9-152d647ad01d}, !- Handle + {152a14a3-5220-4b1e-a57b-f6f4e6da90b1}, !- Name + {c476129a-a1bd-4270-830e-b0e46668342d}, !- Source Object + 3, !- Outlet Port + {18f72210-16ed-4414-968c-5cafa30d0bdb}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {b284ecd7-bcaa-468d-bcf8-de79b71d1ef9}, !- Handle + {a968f901-0fab-412c-a904-e15e427afa62}, !- Name + {18f72210-16ed-4414-968c-5cafa30d0bdb}, !- Source Object + 3, !- Outlet Port + {96e7e295-850a-4c3c-bf50-b3486bb06e87}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {ea28bc5f-22c9-44d3-8066-35aef7aad9e5}, !- Handle + {4dcbbaf5-90c0-4d3d-9424-80a7a3d8fa76}, !- Name + {96e7e295-850a-4c3c-bf50-b3486bb06e87}, !- Source Object + 4, !- Outlet Port + {c3fcc6f1-3f81-4656-893a-3a36dbe3c3c8}, !- Target Object + 2; !- Inlet Port + +OS:AirLoopHVAC, + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3, !- Name + , !- Controller List Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule + {91881dca-e963-4146-b44e-25655ed6309a}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {ea03bac5-1c41-4f8c-a3ba-97d72fc00994}, !- Supply Side Inlet Node Name + {48bc839a-4e76-468c-b981-0f3959935f60}, !- Demand Side Outlet Node Name + {b1b29cd7-f327-42b3-9a88-23029163a384}, !- Demand Side Inlet Node A + {398203dd-e7a6-4077-baeb-d609009f3645}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {f44e64b6-8231-4221-81b3-6675d1559562}, !- Demand Mixer Name + {10053c52-b56f-4905-a1a2-8bd5127822bb}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {9f7bb31c-e28a-40a3-8e4d-eaa0bf5a149c}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Supply Inlet Node, !- Name + {ea03bac5-1c41-4f8c-a3ba-97d72fc00994}, !- Inlet Port + {5fb59ee0-7f72-4fc0-a300-3e288c8b7b5f}; !- Outlet Port + +OS:Node, + {d3338b5d-ad8b-4ec2-b40c-b9a279137e0e}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Supply Outlet Node, !- Name + {ac8ea01e-b7ca-4e25-bfe1-7ba154563a61}, !- Inlet Port + {398203dd-e7a6-4077-baeb-d609009f3645}; !- Outlet Port + +OS:Connection, + {ea03bac5-1c41-4f8c-a3ba-97d72fc00994}, !- Handle + {ff5385fa-0f47-4587-9f36-a4f2b068bb27}, !- Name + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- Source Object + 8, !- Outlet Port + {9f7bb31c-e28a-40a3-8e4d-eaa0bf5a149c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {398203dd-e7a6-4077-baeb-d609009f3645}, !- Handle + {d29eb892-f343-4277-9129-1cde5862b4f3}, !- Name + {d3338b5d-ad8b-4ec2-b40c-b9a279137e0e}, !- Source Object + 3, !- Outlet Port + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {bb7d2421-a0fe-459d-8319-73f31d4b5dff}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Demand Inlet Node, !- Name + {b1b29cd7-f327-42b3-9a88-23029163a384}, !- Inlet Port + {a51cd55d-cd7b-4a77-a0ab-0e101a8ed10c}; !- Outlet Port + +OS:Node, + {48768dd2-23f3-4288-97eb-a0e5735737b1}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Demand Outlet Node, !- Name + {f6e03252-1b01-4b5c-ab46-20b43766d64f}, !- Inlet Port + {48bc839a-4e76-468c-b981-0f3959935f60}; !- Outlet Port + +OS:Node, + {be05416d-0800-4b1b-b55a-788b9e3cc3ac}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Diffuser Outlet Air Node, !- Name + {57232e6a-debb-45d2-97c2-2802f9a6e16f}, !- Inlet Port + {b0770bdb-5033-4102-941f-7ccbbd108aad}; !- Outlet Port + +OS:Connection, + {b1b29cd7-f327-42b3-9a88-23029163a384}, !- Handle + {84c772e1-499a-4bc3-8bbc-6a2fb8831e11}, !- Name + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- Source Object + 10, !- Outlet Port + {bb7d2421-a0fe-459d-8319-73f31d4b5dff}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {48bc839a-4e76-468c-b981-0f3959935f60}, !- Handle + {7eded69d-914a-4136-81c1-f6a4ee3d09a2}, !- Name + {48768dd2-23f3-4288-97eb-a0e5735737b1}, !- Source Object + 3, !- Outlet Port + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {10053c52-b56f-4905-a1a2-8bd5127822bb}, !- Handle + Air Loop HVAC Zone Splitter 2, !- Name + {a51cd55d-cd7b-4a77-a0ab-0e101a8ed10c}, !- Inlet Node Name + {8a0b6660-2c32-48d7-96d9-63bb21b13571}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {f44e64b6-8231-4221-81b3-6675d1559562}, !- Handle + Air Loop HVAC Zone Mixer 2, !- Name + {f6e03252-1b01-4b5c-ab46-20b43766d64f}, !- Outlet Node Name + {4dca5043-f3d1-4431-a9b4-4a35fcb31c0e}; !- Inlet Node Name 1 + +OS:Connection, + {a51cd55d-cd7b-4a77-a0ab-0e101a8ed10c}, !- Handle + {ffb6bdfe-e928-43d7-bb9c-e724073c5f29}, !- Name + {bb7d2421-a0fe-459d-8319-73f31d4b5dff}, !- Source Object + 3, !- Outlet Port + {10053c52-b56f-4905-a1a2-8bd5127822bb}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {f6e03252-1b01-4b5c-ab46-20b43766d64f}, !- Handle + {238ebb91-594b-4945-9c7d-dd9497f0d97d}, !- Name + {f44e64b6-8231-4221-81b3-6675d1559562}, !- Source Object + 2, !- Outlet Port + {48768dd2-23f3-4288-97eb-a0e5735737b1}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {b2796dd5-3ae7-4aa5-957d-a424151f28e8}, !- Handle + {ed43dafc-0bff-483f-9a2a-6a6dc9a1f4cd}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {91881dca-e963-4146-b44e-25655ed6309a}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList 1, !- Name + {3265b2c8-071d-4dcf-93d5-7192550a85c0}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {e33eab49-dc9b-4bb2-ad3a-6f8a867d2831}, !- Handle + Perimeter_ZN_2 ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Control Zone Name + {d3338b5d-ad8b-4ec2-b40c-b9a279137e0e}; !- Setpoint Node or NodeList Name + +OS:Fan:OnOff, + {2da478a8-6b81-48f8-9952-628b95f537f4}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Fan, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {0f032f7e-05b6-45df-8fb6-a8fd2efe50bf}, !- Fan Power Ratio Function of Speed Ratio Curve Name + {c4b39499-f102-4409-b6cb-8833bfdad13c}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name + ; !- End-Use Subcategory + +OS:Curve:Exponent, + {0f032f7e-05b6-45df-8fb6-a8fd2efe50bf}, !- Handle + Fan On Off Power Curve 1, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 Constant + 0, !- Coefficient3 Constant + 0, !- Minimum Value of x + 1, !- Maximum Value of x + , !- Minimum Curve Output + , !- Maximum Curve Output + , !- Input Unit Type for X + ; !- Output Unit Type + +OS:Curve:Cubic, + {c4b39499-f102-4409-b6cb-8833bfdad13c}, !- Handle + Fan On Off Efficiency Curve 1, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Coil:Heating:DX:SingleSpeed, + {ce8cb60f-2e29-4950-9817-886d80623266}, !- Handle + Perimeter_ZN_2 ZN HP Htg Coil 18 Clg kBtu/hr 7.7HSPF, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + Autosize, !- Rated Total Heating Capacity {W} + 3.292135, !- Rated COP {W/W} + Autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Total Heating Capacity Function of Temperature Curve Name + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Total Heating Capacity Function of Flow Fraction Curve Name + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Energy Input Ratio Function of Temperature Curve Name + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Part Load Fraction Correlation Curve Name + {6b61d1fe-c288-4b92-acf7-7f93a62d4b50}, !- Defrost Energy Input Ratio Function of Temperature Curve Name + -12.2, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C} + 1.67, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C} + 50, !- Crankcase Heater Capacity {W} + 4.4, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + ReverseCycle, !- Defrost Strategy + OnDemand, !- Defrost Control + , !- Defrost Time Period Fraction + 2000; !- Resistive Defrost Heater Capacity {W} + +OS:Curve:Biquadratic, + {6b61d1fe-c288-4b92-acf7-7f93a62d4b50}, !- Handle + Perimeter_ZN_2 ZN HP Htg Coil Defrost EIR Func of Temp Curve 1, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Coil:Heating:Gas, + {059c00a6-2839-4267-936c-f881ca5c4ba6}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Gas Backup Htg Coil, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Cooling:DX:SingleSpeed, + {90ce5ae2-6915-46ac-8c3b-005f3b7bc86a}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 1spd DX HP Clg Coil 18kBtu/hr 13.0SEER, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + autosize, !- Rated Total Cooling Capacity {W} + autosize, !- Rated Sensible Heat Ratio + 3.91156806861466, !- Rated COP {W/W} + autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Total Cooling Capacity Function of Temperature Curve Name + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Energy Input Ratio Function of Temperature Curve Name + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Part Load Fraction Correlation Curve Name + , !- Nominal Time for Condensate Removal to Begin {s} + , !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless} + , !- Maximum Cycling Rate {cycles/hr} + , !- Latent Capacity Time Constant {s} + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Crankcase Heater Capacity {W} + 0, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 0, !- Basin Heater Capacity {W/K} + 10, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:AirLoopHVAC:UnitaryHeatPump:AirToAir, + {a7cf8e10-9062-4aa3-8e8d-d6106f353e3f}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Unitary HP, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {5235314b-b7ca-4139-9e5e-dca0cc8baa55}, !- Air Inlet Node Name + {ac8ea01e-b7ca-4e25-bfe1-7ba154563a61}, !- Air Outlet Node Name + Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} + Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} + , !- Supply Air Flow Rate When No Cooling or Heating is Needed {m3/s} + {3acfb282-f24e-43c2-9d4d-42663af84816}, !- Controlling Zone or Thermostat Location + {2da478a8-6b81-48f8-9952-628b95f537f4}, !- Supply Air Fan Name + {ce8cb60f-2e29-4950-9817-886d80623266}, !- Heating Coil Name + {90ce5ae2-6915-46ac-8c3b-005f3b7bc86a}, !- Cooling Coil Name + {059c00a6-2839-4267-936c-f881ca5c4ba6}, !- Supplemental Heating Coil Name + Autosize, !- Maximum Supply Air Temperature from Supplemental Heater {C} + 4.44444444444446, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} + BlowThrough, !- Fan Placement + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}; !- Supply Air Fan Operating Mode Schedule Name + +OS:Connection, + {ac8ea01e-b7ca-4e25-bfe1-7ba154563a61}, !- Handle + {5a838f2c-7bb8-48f7-8b09-6d8105818f20}, !- Name + {a7cf8e10-9062-4aa3-8e8d-d6106f353e3f}, !- Source Object + 4, !- Outlet Port + {d3338b5d-ad8b-4ec2-b40c-b9a279137e0e}, !- Target Object + 2; !- Inlet Port + +OS:Controller:OutdoorAir, + {ae0be4a8-cd9d-43c4-a0fd-99c34afb79d5}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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 + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {b9e3992e-c29c-4cd2-9b85-944f03f4390c}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {b9e3992e-c29c-4cd2-9b85-944f03f4390c}, !- Handle + Controller Mechanical Ventilation 2, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {315ab3d1-a5f8-43c3-9e75-fe274c3cd96c}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 OA System, !- Name + {ae0be4a8-cd9d-43c4-a0fd-99c34afb79d5}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {6e34b169-6bf4-433f-9d91-629d9e9a21c9}, !- Mixed Air Node Name + {cfb50d88-7bbe-4e62-a7c2-4492fbf78521}, !- Outdoor Air Stream Node Name + {dbc1f57e-4900-4d95-a021-7c518d7d4a6d}, !- Relief Air Stream Node Name + {5fb59ee0-7f72-4fc0-a300-3e288c8b7b5f}; !- Return Air Stream Node Name + +OS:Node, + {9f0aa6ef-2cf3-4742-ad1d-857da391d9d9}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Outdoor Air Node, !- Name + , !- Inlet Port + {cfb50d88-7bbe-4e62-a7c2-4492fbf78521}; !- Outlet Port + +OS:Connection, + {cfb50d88-7bbe-4e62-a7c2-4492fbf78521}, !- Handle + {1121556b-538f-408b-bf9b-f46b26dd4eb0}, !- Name + {9f0aa6ef-2cf3-4742-ad1d-857da391d9d9}, !- Source Object + 3, !- Outlet Port + {315ab3d1-a5f8-43c3-9e75-fe274c3cd96c}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {ccdd964b-5996-4c6b-b3ab-f00a26821904}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Relief Air Node, !- Name + {dbc1f57e-4900-4d95-a021-7c518d7d4a6d}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {dbc1f57e-4900-4d95-a021-7c518d7d4a6d}, !- Handle + {92b3e8b5-0111-4bdf-8031-c5940bed5463}, !- Name + {315ab3d1-a5f8-43c3-9e75-fe274c3cd96c}, !- Source Object + 7, !- Outlet Port + {ccdd964b-5996-4c6b-b3ab-f00a26821904}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {b0f724a1-b22d-44a1-bb71-8339a47ca241}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Mixed Air Node, !- Name + {6e34b169-6bf4-433f-9d91-629d9e9a21c9}, !- Inlet Port + {5235314b-b7ca-4139-9e5e-dca0cc8baa55}; !- Outlet Port + +OS:Connection, + {5fb59ee0-7f72-4fc0-a300-3e288c8b7b5f}, !- Handle + {d0c72ad0-dbce-4ad5-b937-53e6e28d823d}, !- Name + {9f7bb31c-e28a-40a3-8e4d-eaa0bf5a149c}, !- Source Object + 3, !- Outlet Port + {315ab3d1-a5f8-43c3-9e75-fe274c3cd96c}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {6e34b169-6bf4-433f-9d91-629d9e9a21c9}, !- Handle + {3946bede-3feb-43c0-a6c6-530cea0a62f4}, !- Name + {315ab3d1-a5f8-43c3-9e75-fe274c3cd96c}, !- Source Object + 5, !- Outlet Port + {b0f724a1-b22d-44a1-bb71-8339a47ca241}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {5235314b-b7ca-4139-9e5e-dca0cc8baa55}, !- Handle + {093d1582-de11-47c9-bee0-1d216e90c0a7}, !- Name + {b0f724a1-b22d-44a1-bb71-8339a47ca241}, !- Source Object + 3, !- Outlet Port + {a7cf8e10-9062-4aa3-8e8d-d6106f353e3f}, !- Target Object + 3; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {3265b2c8-071d-4dcf-93d5-7192550a85c0}, !- Handle + Availability Manager Night Cycle 2, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {8460150b-427f-4898-ba8a-6c3efdc9da17}, !- Control Zone or Zone List Name + {426c2d14-7f5a-435d-8cc1-bc2cedac6e83}, !- Cooling Control Zone or Zone List Name + {b304c75d-64a3-4faa-866a-420be38c8251}, !- Heating Control Zone or Zone List Name + {0559b17d-9f98-42bf-9cb2-5f20d36e41f8}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {8460150b-427f-4898-ba8a-6c3efdc9da17}, !- Handle + Availability Manager Night Cycle 2 Control Zone List; !- Name + +OS:ModelObjectList, + {426c2d14-7f5a-435d-8cc1-bc2cedac6e83}, !- Handle + Availability Manager Night Cycle 2 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {b304c75d-64a3-4faa-866a-420be38c8251}, !- Handle + Availability Manager Night Cycle 2 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {0559b17d-9f98-42bf-9cb2-5f20d36e41f8}, !- Handle + Availability Manager Night Cycle 2 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {641a5424-04e4-45e8-a086-7e784f024341}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Diffuser, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {40ee4c9d-7a2a-4bea-bec0-cff1922fdad7}, !- Air Inlet Node Name + {57232e6a-debb-45d2-97c2-2802f9a6e16f}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {5c30b3b0-9db0-43eb-adb2-ff1d625ddbf5}, !- Handle + Perimeter_ZN_2 ZN Return Air Node, !- Name + {a303975d-3e61-4cd7-82f9-3699f417e99c}, !- Inlet Port + {4dca5043-f3d1-4431-a9b4-4a35fcb31c0e}; !- Outlet Port + +OS:Connection, + {b0770bdb-5033-4102-941f-7ccbbd108aad}, !- Handle + {21fe754a-28e6-4613-9dcf-48d0bcff2796}, !- Name + {be05416d-0800-4b1b-b55a-788b9e3cc3ac}, !- Source Object + 3, !- Outlet Port + {23a66b18-9d84-4ddf-bafa-bd4f8a78b6a5}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {a303975d-3e61-4cd7-82f9-3699f417e99c}, !- Handle + {9c3cf3a4-ef78-44b6-8eaa-3579e1f40c24}, !- Name + {c03be68e-6dfb-471a-8385-dde5e86ea62f}, !- Source Object + 3, !- Outlet Port + {5c30b3b0-9db0-43eb-adb2-ff1d625ddbf5}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {4dca5043-f3d1-4431-a9b4-4a35fcb31c0e}, !- Handle + {f7aaa661-e936-474a-bc33-b8ff7828d7ac}, !- Name + {5c30b3b0-9db0-43eb-adb2-ff1d625ddbf5}, !- Source Object + 3, !- Outlet Port + {f44e64b6-8231-4221-81b3-6675d1559562}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {0ea76034-d2d8-4356-ae32-67a020264ce9}, !- Handle + Perimeter_ZN_2 ZN PSZ-AC-3 Diffuser Inlet Air Node, !- Name + {8a0b6660-2c32-48d7-96d9-63bb21b13571}, !- Inlet Port + {40ee4c9d-7a2a-4bea-bec0-cff1922fdad7}; !- Outlet Port + +OS:Connection, + {8a0b6660-2c32-48d7-96d9-63bb21b13571}, !- Handle + {5d9ead0b-4e53-4fde-86e5-7c7969c4d067}, !- Name + {10053c52-b56f-4905-a1a2-8bd5127822bb}, !- Source Object + 3, !- Outlet Port + {0ea76034-d2d8-4356-ae32-67a020264ce9}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {40ee4c9d-7a2a-4bea-bec0-cff1922fdad7}, !- Handle + {a4a989ee-1a61-4bf1-8cef-5b751d2daf95}, !- Name + {0ea76034-d2d8-4356-ae32-67a020264ce9}, !- Source Object + 3, !- Outlet Port + {641a5424-04e4-45e8-a086-7e784f024341}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {57232e6a-debb-45d2-97c2-2802f9a6e16f}, !- Handle + {a2b7519b-463b-49b5-b50d-d0e843dcd36f}, !- Name + {641a5424-04e4-45e8-a086-7e784f024341}, !- Source Object + 4, !- Outlet Port + {be05416d-0800-4b1b-b55a-788b9e3cc3ac}, !- Target Object + 2; !- Inlet Port + +OS:AirLoopHVAC, + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4, !- Name + , !- Controller List Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule + {4b92dfe2-af74-438a-958d-18f955da33a2}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {e25a9b59-71d8-4e43-93a0-15f8ca92c43f}, !- Supply Side Inlet Node Name + {68f32ae5-2b74-4cfd-8821-44c4e5db56a8}, !- Demand Side Outlet Node Name + {2b0c7e5d-b27c-472f-b09a-b8e16de9a0d5}, !- Demand Side Inlet Node A + {f24bed18-11fb-4ca5-82e4-87be514699b3}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {1d62899a-629d-4c61-9e1a-7a4cd91208f1}, !- Demand Mixer Name + {508ef467-95c4-4561-a72f-1e31aadffdf5}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {dfaf3146-9288-4e08-8d04-80a0ce2d4d5e}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Supply Inlet Node, !- Name + {e25a9b59-71d8-4e43-93a0-15f8ca92c43f}, !- Inlet Port + {94628f0c-b298-445c-a33b-ef684e53b7ca}; !- Outlet Port + +OS:Node, + {50d60f3e-e391-4e3d-a3f0-a9c941f99baa}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Supply Outlet Node, !- Name + {9b4855e1-1fd7-4b2a-824c-658528e0d0a6}, !- Inlet Port + {f24bed18-11fb-4ca5-82e4-87be514699b3}; !- Outlet Port + +OS:Connection, + {e25a9b59-71d8-4e43-93a0-15f8ca92c43f}, !- Handle + {52b87ffa-825c-44f2-9d05-3944d1b25313}, !- Name + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- Source Object + 8, !- Outlet Port + {dfaf3146-9288-4e08-8d04-80a0ce2d4d5e}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {f24bed18-11fb-4ca5-82e4-87be514699b3}, !- Handle + {edf5d9f2-6ef1-4c91-bae5-cefc5a3fb06b}, !- Name + {50d60f3e-e391-4e3d-a3f0-a9c941f99baa}, !- Source Object + 3, !- Outlet Port + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {7457ba31-07dc-40ed-907c-2389a96376ef}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Demand Inlet Node, !- Name + {2b0c7e5d-b27c-472f-b09a-b8e16de9a0d5}, !- Inlet Port + {51e57a8a-2c3e-44b0-96cc-3e9f7f0d7dc5}; !- Outlet Port + +OS:Node, + {1a664fad-9832-45c2-82c3-fad18fc57787}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Demand Outlet Node, !- Name + {b564be43-191d-4264-9296-3f80743d0bff}, !- Inlet Port + {68f32ae5-2b74-4cfd-8821-44c4e5db56a8}; !- Outlet Port + +OS:Node, + {8353db1d-b682-43fb-b465-8654894321c5}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Diffuser Outlet Air Node, !- Name + {4bfc9932-de67-4fcb-b53d-0e70aaccff20}, !- Inlet Port + {e79c7857-2184-4c54-abc3-446837e3bbd8}; !- Outlet Port + +OS:Connection, + {2b0c7e5d-b27c-472f-b09a-b8e16de9a0d5}, !- Handle + {ca643b3a-8308-4195-b966-29772cc7f175}, !- Name + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- Source Object + 10, !- Outlet Port + {7457ba31-07dc-40ed-907c-2389a96376ef}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {68f32ae5-2b74-4cfd-8821-44c4e5db56a8}, !- Handle + {3048e745-bc6b-4f2d-92bd-13d9370ecd90}, !- Name + {1a664fad-9832-45c2-82c3-fad18fc57787}, !- Source Object + 3, !- Outlet Port + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {508ef467-95c4-4561-a72f-1e31aadffdf5}, !- Handle + Air Loop HVAC Zone Splitter 3, !- Name + {51e57a8a-2c3e-44b0-96cc-3e9f7f0d7dc5}, !- Inlet Node Name + {4f16cc3b-9237-4ca1-9543-d8f63bccf66d}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {1d62899a-629d-4c61-9e1a-7a4cd91208f1}, !- Handle + Air Loop HVAC Zone Mixer 3, !- Name + {b564be43-191d-4264-9296-3f80743d0bff}, !- Outlet Node Name + {0b39ce07-ff73-481a-845f-74348e3cf941}; !- Inlet Node Name 1 + +OS:Connection, + {51e57a8a-2c3e-44b0-96cc-3e9f7f0d7dc5}, !- Handle + {467b9ad0-08ad-4685-b405-eeabfededc03}, !- Name + {7457ba31-07dc-40ed-907c-2389a96376ef}, !- Source Object + 3, !- Outlet Port + {508ef467-95c4-4561-a72f-1e31aadffdf5}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {b564be43-191d-4264-9296-3f80743d0bff}, !- Handle + {57a1457b-2672-4993-89bf-1a4c207b0f3e}, !- Name + {1d62899a-629d-4c61-9e1a-7a4cd91208f1}, !- Source Object + 2, !- Outlet Port + {1a664fad-9832-45c2-82c3-fad18fc57787}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {98cda74e-3775-4c3e-85fe-f40798abf900}, !- Handle + {b02af5d8-457e-4b7d-8341-ab77fee4e92f}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {4b92dfe2-af74-438a-958d-18f955da33a2}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList 2, !- Name + {94f98fad-66f0-460d-9ee1-fcd7a5996a26}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {1801040c-123f-4349-b986-e810fe5f8c77}, !- Handle + Perimeter_ZN_3 ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Control Zone Name + {50d60f3e-e391-4e3d-a3f0-a9c941f99baa}; !- Setpoint Node or NodeList Name + +OS:Fan:OnOff, + {2427978a-a811-45fa-af3c-0a828a94ab82}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Fan, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7d7a386a-2c57-4972-a1e2-a5febb67a81e}, !- Fan Power Ratio Function of Speed Ratio Curve Name + {4ec2d5d8-5b93-4375-9a9c-cc697cc32549}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name + ; !- End-Use Subcategory + +OS:Curve:Exponent, + {7d7a386a-2c57-4972-a1e2-a5febb67a81e}, !- Handle + Fan On Off Power Curve 2, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 Constant + 0, !- Coefficient3 Constant + 0, !- Minimum Value of x + 1, !- Maximum Value of x + , !- Minimum Curve Output + , !- Maximum Curve Output + , !- Input Unit Type for X + ; !- Output Unit Type + +OS:Curve:Cubic, + {4ec2d5d8-5b93-4375-9a9c-cc697cc32549}, !- Handle + Fan On Off Efficiency Curve 2, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Coil:Heating:DX:SingleSpeed, + {a366f59c-5127-43b2-8959-b955dfdce9f7}, !- Handle + Perimeter_ZN_3 ZN HP Htg Coil 21 Clg kBtu/hr 7.7HSPF, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + Autosize, !- Rated Total Heating Capacity {W} + 3.292135, !- Rated COP {W/W} + Autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Total Heating Capacity Function of Temperature Curve Name + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Total Heating Capacity Function of Flow Fraction Curve Name + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Energy Input Ratio Function of Temperature Curve Name + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Part Load Fraction Correlation Curve Name + {86654de7-5510-4a6a-b41e-c71f6bf1fdaa}, !- Defrost Energy Input Ratio Function of Temperature Curve Name + -12.2, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C} + 1.67, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C} + 50, !- Crankcase Heater Capacity {W} + 4.4, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + ReverseCycle, !- Defrost Strategy + OnDemand, !- Defrost Control + , !- Defrost Time Period Fraction + 2000; !- Resistive Defrost Heater Capacity {W} + +OS:Curve:Biquadratic, + {86654de7-5510-4a6a-b41e-c71f6bf1fdaa}, !- Handle + Perimeter_ZN_3 ZN HP Htg Coil Defrost EIR Func of Temp Curve 1, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Coil:Heating:Gas, + {1289bc10-5727-44f4-8a8b-2f7c802d2b07}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Gas Backup Htg Coil, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Cooling:DX:SingleSpeed, + {2c9abceb-2b2c-4666-9d1e-f1587a6bf158}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 1spd DX HP Clg Coil 21kBtu/hr 13.0SEER, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + autosize, !- Rated Total Cooling Capacity {W} + autosize, !- Rated Sensible Heat Ratio + 3.91156806861466, !- Rated COP {W/W} + autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Total Cooling Capacity Function of Temperature Curve Name + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Energy Input Ratio Function of Temperature Curve Name + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Part Load Fraction Correlation Curve Name + , !- Nominal Time for Condensate Removal to Begin {s} + , !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless} + , !- Maximum Cycling Rate {cycles/hr} + , !- Latent Capacity Time Constant {s} + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Crankcase Heater Capacity {W} + 0, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 0, !- Basin Heater Capacity {W/K} + 10, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:AirLoopHVAC:UnitaryHeatPump:AirToAir, + {71f2ef1a-f1a7-4b38-910d-0639054df5ac}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Unitary HP, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {d2ba7ed1-8299-498b-94cd-d9603d9b61c1}, !- Air Inlet Node Name + {9b4855e1-1fd7-4b2a-824c-658528e0d0a6}, !- Air Outlet Node Name + Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} + Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} + , !- Supply Air Flow Rate When No Cooling or Heating is Needed {m3/s} + {4ed02c1c-656c-4e7f-b170-d1903b495d33}, !- Controlling Zone or Thermostat Location + {2427978a-a811-45fa-af3c-0a828a94ab82}, !- Supply Air Fan Name + {a366f59c-5127-43b2-8959-b955dfdce9f7}, !- Heating Coil Name + {2c9abceb-2b2c-4666-9d1e-f1587a6bf158}, !- Cooling Coil Name + {1289bc10-5727-44f4-8a8b-2f7c802d2b07}, !- Supplemental Heating Coil Name + Autosize, !- Maximum Supply Air Temperature from Supplemental Heater {C} + 4.44444444444446, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} + BlowThrough, !- Fan Placement + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}; !- Supply Air Fan Operating Mode Schedule Name + +OS:Connection, + {9b4855e1-1fd7-4b2a-824c-658528e0d0a6}, !- Handle + {0118388c-057f-4f82-8334-7efd0e18aaa5}, !- Name + {71f2ef1a-f1a7-4b38-910d-0639054df5ac}, !- Source Object + 4, !- Outlet Port + {50d60f3e-e391-4e3d-a3f0-a9c941f99baa}, !- Target Object + 2; !- Inlet Port + +OS:Controller:OutdoorAir, + {91682a8c-6162-4d6c-8264-2d8c880ed868}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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 + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {92fa781b-5af2-4610-9353-106a73b3a8de}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {92fa781b-5af2-4610-9353-106a73b3a8de}, !- Handle + Controller Mechanical Ventilation 3, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {fde41388-43c7-4be8-a6e9-a4cadad817ad}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 OA System, !- Name + {91682a8c-6162-4d6c-8264-2d8c880ed868}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {260e4697-0f45-4d85-80af-559a396aefe1}, !- Mixed Air Node Name + {ffc103cb-dd50-416b-b2b6-952d6df506ac}, !- Outdoor Air Stream Node Name + {b104ddfd-34f9-4fe5-9a56-89d42de6fa2c}, !- Relief Air Stream Node Name + {94628f0c-b298-445c-a33b-ef684e53b7ca}; !- Return Air Stream Node Name + +OS:Node, + {6dcf40ec-8f04-4c25-a7e7-c678f566e238}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Outdoor Air Node, !- Name + , !- Inlet Port + {ffc103cb-dd50-416b-b2b6-952d6df506ac}; !- Outlet Port + +OS:Connection, + {ffc103cb-dd50-416b-b2b6-952d6df506ac}, !- Handle + {6994db36-437b-41d1-a1c1-7f8c4a641b48}, !- Name + {6dcf40ec-8f04-4c25-a7e7-c678f566e238}, !- Source Object + 3, !- Outlet Port + {fde41388-43c7-4be8-a6e9-a4cadad817ad}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {96320aad-a69b-478f-b42a-3070eead41eb}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Relief Air Node, !- Name + {b104ddfd-34f9-4fe5-9a56-89d42de6fa2c}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {b104ddfd-34f9-4fe5-9a56-89d42de6fa2c}, !- Handle + {8a0e2ab7-e6c2-46bd-b232-2d1d833ed011}, !- Name + {fde41388-43c7-4be8-a6e9-a4cadad817ad}, !- Source Object + 7, !- Outlet Port + {96320aad-a69b-478f-b42a-3070eead41eb}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {5da99d3d-69d9-4111-b475-ebd5562e41e6}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Mixed Air Node, !- Name + {260e4697-0f45-4d85-80af-559a396aefe1}, !- Inlet Port + {d2ba7ed1-8299-498b-94cd-d9603d9b61c1}; !- Outlet Port + +OS:Connection, + {94628f0c-b298-445c-a33b-ef684e53b7ca}, !- Handle + {31a3903c-6c87-4645-9c83-8e229e17161a}, !- Name + {dfaf3146-9288-4e08-8d04-80a0ce2d4d5e}, !- Source Object + 3, !- Outlet Port + {fde41388-43c7-4be8-a6e9-a4cadad817ad}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {260e4697-0f45-4d85-80af-559a396aefe1}, !- Handle + {25cdd911-be16-4232-b7a9-d048aeb92148}, !- Name + {fde41388-43c7-4be8-a6e9-a4cadad817ad}, !- Source Object + 5, !- Outlet Port + {5da99d3d-69d9-4111-b475-ebd5562e41e6}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {d2ba7ed1-8299-498b-94cd-d9603d9b61c1}, !- Handle + {3a7414fe-06de-4ce7-b9b9-f1af3f4ddc00}, !- Name + {5da99d3d-69d9-4111-b475-ebd5562e41e6}, !- Source Object + 3, !- Outlet Port + {71f2ef1a-f1a7-4b38-910d-0639054df5ac}, !- Target Object + 3; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {94f98fad-66f0-460d-9ee1-fcd7a5996a26}, !- Handle + Availability Manager Night Cycle 3, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {b4586c98-c085-49c6-a1bc-2795d8f77419}, !- Control Zone or Zone List Name + {831c88f4-831a-48a7-9053-ff8c02f6a8ef}, !- Cooling Control Zone or Zone List Name + {36e6629f-acfc-4f52-8a8c-aa84260efcc2}, !- Heating Control Zone or Zone List Name + {51585213-04c9-4863-ad5b-20d57b84b1d6}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {b4586c98-c085-49c6-a1bc-2795d8f77419}, !- Handle + Availability Manager Night Cycle 3 Control Zone List; !- Name + +OS:ModelObjectList, + {831c88f4-831a-48a7-9053-ff8c02f6a8ef}, !- Handle + Availability Manager Night Cycle 3 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {36e6629f-acfc-4f52-8a8c-aa84260efcc2}, !- Handle + Availability Manager Night Cycle 3 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {51585213-04c9-4863-ad5b-20d57b84b1d6}, !- Handle + Availability Manager Night Cycle 3 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {e085a1bb-5070-48cc-9ade-6e67a8862df9}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Diffuser, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {08836333-41d6-4cfd-aaca-f64e11708c6f}, !- Air Inlet Node Name + {4bfc9932-de67-4fcb-b53d-0e70aaccff20}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {36df9f5f-75d5-4c68-a60b-e8306afcc86c}, !- Handle + Perimeter_ZN_3 ZN Return Air Node, !- Name + {0c4cb7a5-a4ac-46c5-83b3-e5bf1869c870}, !- Inlet Port + {0b39ce07-ff73-481a-845f-74348e3cf941}; !- Outlet Port + +OS:Connection, + {e79c7857-2184-4c54-abc3-446837e3bbd8}, !- Handle + {890d62b3-862d-43fd-89e4-18f2b8c35f5e}, !- Name + {8353db1d-b682-43fb-b465-8654894321c5}, !- Source Object + 3, !- Outlet Port + {73bb8a3a-d103-4fc9-9a6a-e5dbb7bbf9e5}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {0c4cb7a5-a4ac-46c5-83b3-e5bf1869c870}, !- Handle + {7601d499-ffd8-450f-bc97-9fe056d6ce97}, !- Name + {ccb9cf69-9f4d-40f9-96ca-bde0a9cae703}, !- Source Object + 3, !- Outlet Port + {36df9f5f-75d5-4c68-a60b-e8306afcc86c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0b39ce07-ff73-481a-845f-74348e3cf941}, !- Handle + {59fcb1d0-8fab-4f51-b379-e4d9e97332ad}, !- Name + {36df9f5f-75d5-4c68-a60b-e8306afcc86c}, !- Source Object + 3, !- Outlet Port + {1d62899a-629d-4c61-9e1a-7a4cd91208f1}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {ebb71ddf-1193-48cc-9606-42a25a17c08a}, !- Handle + Perimeter_ZN_3 ZN PSZ-AC-4 Diffuser Inlet Air Node, !- Name + {4f16cc3b-9237-4ca1-9543-d8f63bccf66d}, !- Inlet Port + {08836333-41d6-4cfd-aaca-f64e11708c6f}; !- Outlet Port + +OS:Connection, + {4f16cc3b-9237-4ca1-9543-d8f63bccf66d}, !- Handle + {bea4b66f-ac3b-45c2-aca0-7b49fdbf6416}, !- Name + {508ef467-95c4-4561-a72f-1e31aadffdf5}, !- Source Object + 3, !- Outlet Port + {ebb71ddf-1193-48cc-9606-42a25a17c08a}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {08836333-41d6-4cfd-aaca-f64e11708c6f}, !- Handle + {c4383044-a119-41b5-b92e-e24d4530d7ca}, !- Name + {ebb71ddf-1193-48cc-9606-42a25a17c08a}, !- Source Object + 3, !- Outlet Port + {e085a1bb-5070-48cc-9ade-6e67a8862df9}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {4bfc9932-de67-4fcb-b53d-0e70aaccff20}, !- Handle + {e3e7e079-162b-40a5-992a-1d2c696fb69d}, !- Name + {e085a1bb-5070-48cc-9ade-6e67a8862df9}, !- Source Object + 4, !- Outlet Port + {8353db1d-b682-43fb-b465-8654894321c5}, !- Target Object + 2; !- Inlet Port + +OS:AirLoopHVAC, + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5, !- Name + , !- Controller List Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule + {9054e992-4f5b-4cb1-87b6-273825de2fbf}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {488c0919-73d9-4abb-8f12-ca7614906bc2}, !- Supply Side Inlet Node Name + {171ab1dc-d2e9-4474-9002-fc7a7b28ca49}, !- Demand Side Outlet Node Name + {7f9c6003-8905-4b86-8ec1-caf053f1fb40}, !- Demand Side Inlet Node A + {119055fb-38b4-4064-a348-6f51c682daac}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {21fe5c76-df79-4e1c-8934-0370a9d4a393}, !- Demand Mixer Name + {94afab07-4452-4819-b196-2af619b22a58}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {1bdbfc8c-7dba-422b-8491-8f89329cfaf4}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Supply Inlet Node, !- Name + {488c0919-73d9-4abb-8f12-ca7614906bc2}, !- Inlet Port + {11ccbb0d-fa37-40f8-8a8c-69d3ef1e87e5}; !- Outlet Port + +OS:Node, + {99ea086d-4cf6-4443-a164-05d60ed3469e}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Supply Outlet Node, !- Name + {97581148-a2df-45fd-988c-358c338cbed0}, !- Inlet Port + {119055fb-38b4-4064-a348-6f51c682daac}; !- Outlet Port + +OS:Connection, + {488c0919-73d9-4abb-8f12-ca7614906bc2}, !- Handle + {d3380fbd-c7d2-41a5-bb09-539aabd4fb92}, !- Name + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- Source Object + 8, !- Outlet Port + {1bdbfc8c-7dba-422b-8491-8f89329cfaf4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {119055fb-38b4-4064-a348-6f51c682daac}, !- Handle + {d3e8558f-6ae9-43f2-b5ea-738afc28e4e4}, !- Name + {99ea086d-4cf6-4443-a164-05d60ed3469e}, !- Source Object + 3, !- Outlet Port + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {019f40f2-590d-444a-a7b6-402f398e825d}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Demand Inlet Node, !- Name + {7f9c6003-8905-4b86-8ec1-caf053f1fb40}, !- Inlet Port + {924aec62-2f0d-49fe-be76-8f07aa7eb643}; !- Outlet Port + +OS:Node, + {79c67119-c946-4bb3-95e0-0e2fecc1eb44}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Demand Outlet Node, !- Name + {3ee2e190-3b48-48b4-8478-0e73549d7b94}, !- Inlet Port + {171ab1dc-d2e9-4474-9002-fc7a7b28ca49}; !- Outlet Port + +OS:Node, + {4ef2dea8-76d4-41ef-8cf4-8575a6b4bec1}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Diffuser Outlet Air Node, !- Name + {45983ca6-b0df-4bcd-8109-a92de410698f}, !- Inlet Port + {7d1744c9-efa0-43e8-b28a-1cd1f6404da1}; !- Outlet Port + +OS:Connection, + {7f9c6003-8905-4b86-8ec1-caf053f1fb40}, !- Handle + {dff9f518-c48d-4b55-b472-8f9d781db4f1}, !- Name + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- Source Object + 10, !- Outlet Port + {019f40f2-590d-444a-a7b6-402f398e825d}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {171ab1dc-d2e9-4474-9002-fc7a7b28ca49}, !- Handle + {6fa8b643-8487-4142-9134-96ea24d3010a}, !- Name + {79c67119-c946-4bb3-95e0-0e2fecc1eb44}, !- Source Object + 3, !- Outlet Port + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {94afab07-4452-4819-b196-2af619b22a58}, !- Handle + Air Loop HVAC Zone Splitter 4, !- Name + {924aec62-2f0d-49fe-be76-8f07aa7eb643}, !- Inlet Node Name + {42ad46b7-bbc4-49e3-ae89-a6b289c54465}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {21fe5c76-df79-4e1c-8934-0370a9d4a393}, !- Handle + Air Loop HVAC Zone Mixer 4, !- Name + {3ee2e190-3b48-48b4-8478-0e73549d7b94}, !- Outlet Node Name + {b68d7bc2-bd30-43df-a255-2cf80ede631e}; !- Inlet Node Name 1 + +OS:Connection, + {924aec62-2f0d-49fe-be76-8f07aa7eb643}, !- Handle + {7bf74d74-0ed5-49d7-a2de-99ffede94100}, !- Name + {019f40f2-590d-444a-a7b6-402f398e825d}, !- Source Object + 3, !- Outlet Port + {94afab07-4452-4819-b196-2af619b22a58}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {3ee2e190-3b48-48b4-8478-0e73549d7b94}, !- Handle + {7dbed108-59a5-4b3a-9948-6c883fd295a0}, !- Name + {21fe5c76-df79-4e1c-8934-0370a9d4a393}, !- Source Object + 2, !- Outlet Port + {79c67119-c946-4bb3-95e0-0e2fecc1eb44}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {91de8fa7-e81b-4985-8125-9896dfaa81b3}, !- Handle + {a884da23-22a9-4e3d-b624-e0754be0a510}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {9054e992-4f5b-4cb1-87b6-273825de2fbf}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList 3, !- Name + {5fe74641-bcc3-446e-8d7d-6f552df1a750}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {e6ccad89-b9d3-41ce-a2cc-a52cdf3f1e13}, !- Handle + Perimeter_ZN_4 ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Control Zone Name + {99ea086d-4cf6-4443-a164-05d60ed3469e}; !- Setpoint Node or NodeList Name + +OS:Fan:OnOff, + {75a3f15d-6b7d-4b89-a739-794cecc42f55}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Fan, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {5e0341ce-fab9-4196-8a46-a392f30446ea}, !- Fan Power Ratio Function of Speed Ratio Curve Name + {94173071-8f5e-4478-af73-ade01f4f9f36}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name + ; !- End-Use Subcategory + +OS:Curve:Exponent, + {5e0341ce-fab9-4196-8a46-a392f30446ea}, !- Handle + Fan On Off Power Curve 3, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 Constant + 0, !- Coefficient3 Constant + 0, !- Minimum Value of x + 1, !- Maximum Value of x + , !- Minimum Curve Output + , !- Maximum Curve Output + , !- Input Unit Type for X + ; !- Output Unit Type + +OS:Curve:Cubic, + {94173071-8f5e-4478-af73-ade01f4f9f36}, !- Handle + Fan On Off Efficiency Curve 3, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Coil:Heating:DX:SingleSpeed, + {d4eea34f-df70-41b5-aea6-c96a371a7787}, !- Handle + Perimeter_ZN_4 ZN HP Htg Coil 20 Clg kBtu/hr 7.7HSPF, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + Autosize, !- Rated Total Heating Capacity {W} + 3.292135, !- Rated COP {W/W} + Autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Total Heating Capacity Function of Temperature Curve Name + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Total Heating Capacity Function of Flow Fraction Curve Name + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Energy Input Ratio Function of Temperature Curve Name + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Part Load Fraction Correlation Curve Name + {b9b05a4b-a7cf-410b-b8ef-04522c3a1feb}, !- Defrost Energy Input Ratio Function of Temperature Curve Name + -12.2, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C} + 1.67, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C} + 50, !- Crankcase Heater Capacity {W} + 4.4, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + ReverseCycle, !- Defrost Strategy + OnDemand, !- Defrost Control + , !- Defrost Time Period Fraction + 2000; !- Resistive Defrost Heater Capacity {W} + +OS:Curve:Biquadratic, + {b9b05a4b-a7cf-410b-b8ef-04522c3a1feb}, !- Handle + Perimeter_ZN_4 ZN HP Htg Coil Defrost EIR Func of Temp Curve 1, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Coil:Heating:Gas, + {eed2c3c2-00a6-44fc-9ce2-8dfc211241c0}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Gas Backup Htg Coil, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Cooling:DX:SingleSpeed, + {1b4fed38-aef7-4348-a411-c06e79d1cc78}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 1spd DX HP Clg Coil 20kBtu/hr 13.0SEER, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + autosize, !- Rated Total Cooling Capacity {W} + autosize, !- Rated Sensible Heat Ratio + 3.91156806861466, !- Rated COP {W/W} + autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Total Cooling Capacity Function of Temperature Curve Name + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Energy Input Ratio Function of Temperature Curve Name + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Part Load Fraction Correlation Curve Name + , !- Nominal Time for Condensate Removal to Begin {s} + , !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless} + , !- Maximum Cycling Rate {cycles/hr} + , !- Latent Capacity Time Constant {s} + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Crankcase Heater Capacity {W} + 0, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 0, !- Basin Heater Capacity {W/K} + 10, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:AirLoopHVAC:UnitaryHeatPump:AirToAir, + {e64257cb-6e9d-486f-95f0-2903ff18e9db}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Unitary HP, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {4dabbe39-3e70-4800-80cc-4e88afe4a5e8}, !- Air Inlet Node Name + {97581148-a2df-45fd-988c-358c338cbed0}, !- Air Outlet Node Name + Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} + Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} + , !- Supply Air Flow Rate When No Cooling or Heating is Needed {m3/s} + {09f74fa0-7ea6-46a0-b548-7264a366a508}, !- Controlling Zone or Thermostat Location + {75a3f15d-6b7d-4b89-a739-794cecc42f55}, !- Supply Air Fan Name + {d4eea34f-df70-41b5-aea6-c96a371a7787}, !- Heating Coil Name + {1b4fed38-aef7-4348-a411-c06e79d1cc78}, !- Cooling Coil Name + {eed2c3c2-00a6-44fc-9ce2-8dfc211241c0}, !- Supplemental Heating Coil Name + Autosize, !- Maximum Supply Air Temperature from Supplemental Heater {C} + 4.44444444444446, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} + BlowThrough, !- Fan Placement + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}; !- Supply Air Fan Operating Mode Schedule Name + +OS:Connection, + {97581148-a2df-45fd-988c-358c338cbed0}, !- Handle + {044a5532-f1a2-4634-84b6-3470ad8f7548}, !- Name + {e64257cb-6e9d-486f-95f0-2903ff18e9db}, !- Source Object + 4, !- Outlet Port + {99ea086d-4cf6-4443-a164-05d60ed3469e}, !- Target Object + 2; !- Inlet Port + +OS:Controller:OutdoorAir, + {9d420ded-651d-48e6-80a7-54275395477f}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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 + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {374252f7-6519-4a0a-84a5-e9400fd3e6e0}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {374252f7-6519-4a0a-84a5-e9400fd3e6e0}, !- Handle + Controller Mechanical Ventilation 4, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {f0ec9948-3454-468e-a166-bc21f4b68a2f}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 OA System, !- Name + {9d420ded-651d-48e6-80a7-54275395477f}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {cfcd11a2-8480-4600-a3a1-c14198df7f64}, !- Mixed Air Node Name + {91bc9918-d620-4fad-9c45-26878d6151ea}, !- Outdoor Air Stream Node Name + {4a2a4037-31ac-4500-963b-f689058cff7f}, !- Relief Air Stream Node Name + {11ccbb0d-fa37-40f8-8a8c-69d3ef1e87e5}; !- Return Air Stream Node Name + +OS:Node, + {58cba674-127f-4fb5-9481-1c8d3a046c8b}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Outdoor Air Node, !- Name + , !- Inlet Port + {91bc9918-d620-4fad-9c45-26878d6151ea}; !- Outlet Port + +OS:Connection, + {91bc9918-d620-4fad-9c45-26878d6151ea}, !- Handle + {eed602ed-b501-4453-a858-d40781b60e91}, !- Name + {58cba674-127f-4fb5-9481-1c8d3a046c8b}, !- Source Object + 3, !- Outlet Port + {f0ec9948-3454-468e-a166-bc21f4b68a2f}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {cfdd6ee8-ffe2-4d7c-9489-d99ef5c97636}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Relief Air Node, !- Name + {4a2a4037-31ac-4500-963b-f689058cff7f}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {4a2a4037-31ac-4500-963b-f689058cff7f}, !- Handle + {2b67a31a-75f4-4b01-853e-a1dbecc18ccb}, !- Name + {f0ec9948-3454-468e-a166-bc21f4b68a2f}, !- Source Object + 7, !- Outlet Port + {cfdd6ee8-ffe2-4d7c-9489-d99ef5c97636}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {02dded44-b278-4ec8-9359-271e23cad6f4}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Mixed Air Node, !- Name + {cfcd11a2-8480-4600-a3a1-c14198df7f64}, !- Inlet Port + {4dabbe39-3e70-4800-80cc-4e88afe4a5e8}; !- Outlet Port + +OS:Connection, + {11ccbb0d-fa37-40f8-8a8c-69d3ef1e87e5}, !- Handle + {4d6a8b65-68f8-4b53-a44d-4f702dc23162}, !- Name + {1bdbfc8c-7dba-422b-8491-8f89329cfaf4}, !- Source Object + 3, !- Outlet Port + {f0ec9948-3454-468e-a166-bc21f4b68a2f}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {cfcd11a2-8480-4600-a3a1-c14198df7f64}, !- Handle + {0362009e-c3de-4b9e-a002-59ec4868c65a}, !- Name + {f0ec9948-3454-468e-a166-bc21f4b68a2f}, !- Source Object + 5, !- Outlet Port + {02dded44-b278-4ec8-9359-271e23cad6f4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {4dabbe39-3e70-4800-80cc-4e88afe4a5e8}, !- Handle + {0620b00f-b0e8-4751-92e7-83c45bb58213}, !- Name + {02dded44-b278-4ec8-9359-271e23cad6f4}, !- Source Object + 3, !- Outlet Port + {e64257cb-6e9d-486f-95f0-2903ff18e9db}, !- Target Object + 3; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {5fe74641-bcc3-446e-8d7d-6f552df1a750}, !- Handle + Availability Manager Night Cycle 4, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {5b7d66bd-d1ce-4a21-abfb-d7deadadcadb}, !- Control Zone or Zone List Name + {45be6af8-d1c0-4aa9-8428-f7f7e8d0946a}, !- Cooling Control Zone or Zone List Name + {baf3136b-ebd6-44d8-a567-a7f8e822037f}, !- Heating Control Zone or Zone List Name + {2c654ca9-52a8-4f90-b2b7-2a3c50428309}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {5b7d66bd-d1ce-4a21-abfb-d7deadadcadb}, !- Handle + Availability Manager Night Cycle 4 Control Zone List; !- Name + +OS:ModelObjectList, + {45be6af8-d1c0-4aa9-8428-f7f7e8d0946a}, !- Handle + Availability Manager Night Cycle 4 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {baf3136b-ebd6-44d8-a567-a7f8e822037f}, !- Handle + Availability Manager Night Cycle 4 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {2c654ca9-52a8-4f90-b2b7-2a3c50428309}, !- Handle + Availability Manager Night Cycle 4 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {b84260fa-6262-4255-b4da-3a275d1d0ac0}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Diffuser, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {8f1deaa6-5c36-438a-924c-d6991f2c82e7}, !- Air Inlet Node Name + {45983ca6-b0df-4bcd-8109-a92de410698f}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {4e539ba8-7473-4e22-804a-5658c3990700}, !- Handle + Perimeter_ZN_4 ZN Return Air Node, !- Name + {18260646-b037-4364-83e4-315c4a13f38e}, !- Inlet Port + {b68d7bc2-bd30-43df-a255-2cf80ede631e}; !- Outlet Port + +OS:Connection, + {7d1744c9-efa0-43e8-b28a-1cd1f6404da1}, !- Handle + {8dbce318-5873-432d-abdc-90442f327753}, !- Name + {4ef2dea8-76d4-41ef-8cf4-8575a6b4bec1}, !- Source Object + 3, !- Outlet Port + {d7b69a7e-6231-4ebc-b75e-cad72ad17462}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {18260646-b037-4364-83e4-315c4a13f38e}, !- Handle + {233280f6-5459-4408-92be-801a8c5dfb5c}, !- Name + {2b47021e-19c0-496f-a182-fba20966ad72}, !- Source Object + 3, !- Outlet Port + {4e539ba8-7473-4e22-804a-5658c3990700}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {b68d7bc2-bd30-43df-a255-2cf80ede631e}, !- Handle + {93078142-71f2-4ed8-887e-eb1d8b33f733}, !- Name + {4e539ba8-7473-4e22-804a-5658c3990700}, !- Source Object + 3, !- Outlet Port + {21fe5c76-df79-4e1c-8934-0370a9d4a393}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {11f03161-1c2e-444f-ad77-a12262f5c86f}, !- Handle + Perimeter_ZN_4 ZN PSZ-AC-5 Diffuser Inlet Air Node, !- Name + {42ad46b7-bbc4-49e3-ae89-a6b289c54465}, !- Inlet Port + {8f1deaa6-5c36-438a-924c-d6991f2c82e7}; !- Outlet Port + +OS:Connection, + {42ad46b7-bbc4-49e3-ae89-a6b289c54465}, !- Handle + {b1400649-60e4-4293-850a-3d9a0fe40384}, !- Name + {94afab07-4452-4819-b196-2af619b22a58}, !- Source Object + 3, !- Outlet Port + {11f03161-1c2e-444f-ad77-a12262f5c86f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {8f1deaa6-5c36-438a-924c-d6991f2c82e7}, !- Handle + {1a357e6f-af15-44ad-9ef9-653a5f27425c}, !- Name + {11f03161-1c2e-444f-ad77-a12262f5c86f}, !- Source Object + 3, !- Outlet Port + {b84260fa-6262-4255-b4da-3a275d1d0ac0}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {45983ca6-b0df-4bcd-8109-a92de410698f}, !- Handle + {27f72063-78be-462a-bd82-7ab5d1cd98a7}, !- Name + {b84260fa-6262-4255-b4da-3a275d1d0ac0}, !- Source Object + 4, !- Outlet Port + {4ef2dea8-76d4-41ef-8cf4-8575a6b4bec1}, !- Target Object + 2; !- Inlet Port + +OS:AirLoopHVAC, + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- Handle + Core_ZN ZN PSZ-AC-1, !- Name + , !- Controller List Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule + {313478d1-5da2-4ff5-836d-fa8888b3c0be}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {3a9fd9ce-e85d-43d7-ab6e-8895b077848a}, !- Supply Side Inlet Node Name + {28d0b9ee-016a-42e7-8a6a-0ab295b5274a}, !- Demand Side Outlet Node Name + {946081f4-712f-41a4-97fa-9a9da200c262}, !- Demand Side Inlet Node A + {c5226cb7-c398-4291-b5dd-f0c0a54dcc4b}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {e8dff67f-ea6b-4deb-a37e-08042d689f84}, !- Demand Mixer Name + {d515869b-46a8-4a2d-beb1-9f07edbd1cfa}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {10b7cbe5-c201-4575-a713-19a61317682a}, !- Handle + Core_ZN ZN PSZ-AC-1 Supply Inlet Node, !- Name + {3a9fd9ce-e85d-43d7-ab6e-8895b077848a}, !- Inlet Port + {c2af5a34-6b66-4a3d-a7a6-a3a67b369f0e}; !- Outlet Port + +OS:Node, + {02d21220-4509-4e5e-a851-f5fb36460ee1}, !- Handle + Core_ZN ZN PSZ-AC-1 Supply Outlet Node, !- Name + {baa1f051-37ae-49c1-abec-47df3aae2b95}, !- Inlet Port + {c5226cb7-c398-4291-b5dd-f0c0a54dcc4b}; !- Outlet Port + +OS:Connection, + {3a9fd9ce-e85d-43d7-ab6e-8895b077848a}, !- Handle + {7ea3a822-cdb9-4d27-ae3b-e13beac23a91}, !- Name + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- Source Object + 8, !- Outlet Port + {10b7cbe5-c201-4575-a713-19a61317682a}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {c5226cb7-c398-4291-b5dd-f0c0a54dcc4b}, !- Handle + {6e39cc15-c077-4eeb-a8b0-d461eb215702}, !- Name + {02d21220-4509-4e5e-a851-f5fb36460ee1}, !- Source Object + 3, !- Outlet Port + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {6439cd07-9d05-49e7-8597-01d061e46950}, !- Handle + Core_ZN ZN PSZ-AC-1 Demand Inlet Node, !- Name + {946081f4-712f-41a4-97fa-9a9da200c262}, !- Inlet Port + {b3404ff9-299c-455c-a7cb-b8c1910d995d}; !- Outlet Port + +OS:Node, + {cd2b73c1-de5d-493d-a876-3fd82c5853a7}, !- Handle + Core_ZN ZN PSZ-AC-1 Demand Outlet Node, !- Name + {651af670-88b5-4f5a-9b85-e397c3370d5d}, !- Inlet Port + {28d0b9ee-016a-42e7-8a6a-0ab295b5274a}; !- Outlet Port + +OS:Node, + {21bc30db-d18e-46c1-bd1b-70ca1e26d5f4}, !- Handle + Core_ZN ZN PSZ-AC-1 Diffuser Outlet Air Node, !- Name + {0f33ae82-6f8f-4dcb-8765-66fd39b21593}, !- Inlet Port + {00899900-f70f-404f-9af4-457fd80e1f81}; !- Outlet Port + +OS:Connection, + {946081f4-712f-41a4-97fa-9a9da200c262}, !- Handle + {8db477f9-ea9c-4b6f-b563-50530b9f643a}, !- Name + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- Source Object + 10, !- Outlet Port + {6439cd07-9d05-49e7-8597-01d061e46950}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {28d0b9ee-016a-42e7-8a6a-0ab295b5274a}, !- Handle + {e44a1637-7ba6-40b0-965f-0c625eb0384d}, !- Name + {cd2b73c1-de5d-493d-a876-3fd82c5853a7}, !- Source Object + 3, !- Outlet Port + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {d515869b-46a8-4a2d-beb1-9f07edbd1cfa}, !- Handle + Air Loop HVAC Zone Splitter 5, !- Name + {b3404ff9-299c-455c-a7cb-b8c1910d995d}, !- Inlet Node Name + {681a6d0c-e713-4a8c-b9ed-a0715a701b17}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {e8dff67f-ea6b-4deb-a37e-08042d689f84}, !- Handle + Air Loop HVAC Zone Mixer 5, !- Name + {651af670-88b5-4f5a-9b85-e397c3370d5d}, !- Outlet Node Name + {1223eb46-0c81-4a79-9d2e-84f58455bc79}; !- Inlet Node Name 1 + +OS:Connection, + {b3404ff9-299c-455c-a7cb-b8c1910d995d}, !- Handle + {4ca7c1bf-8d89-4800-9833-f7ae713415fc}, !- Name + {6439cd07-9d05-49e7-8597-01d061e46950}, !- Source Object + 3, !- Outlet Port + {d515869b-46a8-4a2d-beb1-9f07edbd1cfa}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {651af670-88b5-4f5a-9b85-e397c3370d5d}, !- Handle + {882af687-0bad-4184-81f3-e82979dd3a7c}, !- Name + {e8dff67f-ea6b-4deb-a37e-08042d689f84}, !- Source Object + 2, !- Outlet Port + {cd2b73c1-de5d-493d-a876-3fd82c5853a7}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {328d3992-a07e-4f78-8017-567683c81759}, !- Handle + {ab4ac7e5-824f-4697-823e-da94946d3a3c}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {313478d1-5da2-4ff5-836d-fa8888b3c0be}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList 4, !- Name + {2f12554d-bfd5-4ec1-b299-834cb8f8c1f2}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {2180dc9c-bcd7-47a9-a272-fae23e1eca97}, !- Handle + Core_ZN ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Control Zone Name + {02d21220-4509-4e5e-a851-f5fb36460ee1}; !- Setpoint Node or NodeList Name + +OS:Fan:OnOff, + {d727a6fd-8b78-4d4e-b5a5-0de20e31c541}, !- Handle + Core_ZN ZN PSZ-AC-1 Fan, !- Name + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + autosize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {c6ba95f3-967d-499c-aa81-4d2f2329da3c}, !- Fan Power Ratio Function of Speed Ratio Curve Name + {2bca47dc-3b5f-4e20-b6b9-e76311a176da}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name + ; !- End-Use Subcategory + +OS:Curve:Exponent, + {c6ba95f3-967d-499c-aa81-4d2f2329da3c}, !- Handle + Fan On Off Power Curve 4, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 Constant + 0, !- Coefficient3 Constant + 0, !- Minimum Value of x + 1, !- Maximum Value of x + , !- Minimum Curve Output + , !- Maximum Curve Output + , !- Input Unit Type for X + ; !- Output Unit Type + +OS:Curve:Cubic, + {2bca47dc-3b5f-4e20-b6b9-e76311a176da}, !- Handle + Fan On Off Efficiency Curve 4, !- Name + 1, !- Coefficient1 Constant + 0, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Coil:Heating:DX:SingleSpeed, + {e5c653be-2493-4901-a52c-487b4a5af31f}, !- Handle + Core_ZN ZN HP Htg Coil 20 Clg kBtu/hr 7.7HSPF, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + Autosize, !- Rated Total Heating Capacity {W} + 3.292135, !- Rated COP {W/W} + Autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Total Heating Capacity Function of Temperature Curve Name + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Total Heating Capacity Function of Flow Fraction Curve Name + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Energy Input Ratio Function of Temperature Curve Name + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Part Load Fraction Correlation Curve Name + {fc616f66-4933-4fec-b903-0ae889c779e8}, !- Defrost Energy Input Ratio Function of Temperature Curve Name + -12.2, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C} + 1.67, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C} + 50, !- Crankcase Heater Capacity {W} + 4.4, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + ReverseCycle, !- Defrost Strategy + OnDemand, !- Defrost Control + , !- Defrost Time Period Fraction + 2000; !- Resistive Defrost Heater Capacity {W} + +OS:Curve:Biquadratic, + {fc616f66-4933-4fec-b903-0ae889c779e8}, !- Handle + Core_ZN ZN HP Htg Coil Defrost EIR Func of Temp Curve 1, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Coil:Heating:Gas, + {71a06091-6927-4421-938a-575f5980641f}, !- Handle + Core_ZN ZN PSZ-AC-1 Gas Backup Htg Coil, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Cooling:DX:SingleSpeed, + {7fe54394-3750-41cd-a890-c8a2ea1d0fc9}, !- Handle + Core_ZN ZN PSZ-AC-1 1spd DX HP Clg Coil 20kBtu/hr 13.0SEER, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + autosize, !- Rated Total Cooling Capacity {W} + autosize, !- Rated Sensible Heat Ratio + 3.91156806861466, !- Rated COP {W/W} + autosize, !- Rated Air Flow Rate {m3/s} + 773.3, !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Total Cooling Capacity Function of Temperature Curve Name + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Energy Input Ratio Function of Temperature Curve Name + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Part Load Fraction Correlation Curve Name + , !- Nominal Time for Condensate Removal to Begin {s} + , !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless} + , !- Maximum Cycling Rate {cycles/hr} + , !- Latent Capacity Time Constant {s} + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Crankcase Heater Capacity {W} + 0, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 0, !- Basin Heater Capacity {W/K} + 10, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:AirLoopHVAC:UnitaryHeatPump:AirToAir, + {d674f799-43a1-48a3-aff3-9004d7f95907}, !- Handle + Core_ZN ZN PSZ-AC-1 Unitary HP, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {c7aa7a8e-ab93-4404-8ccb-c981663401a3}, !- Air Inlet Node Name + {baa1f051-37ae-49c1-abec-47df3aae2b95}, !- Air Outlet Node Name + Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} + Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} + , !- Supply Air Flow Rate When No Cooling or Heating is Needed {m3/s} + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Controlling Zone or Thermostat Location + {d727a6fd-8b78-4d4e-b5a5-0de20e31c541}, !- Supply Air Fan Name + {e5c653be-2493-4901-a52c-487b4a5af31f}, !- Heating Coil Name + {7fe54394-3750-41cd-a890-c8a2ea1d0fc9}, !- Cooling Coil Name + {71a06091-6927-4421-938a-575f5980641f}, !- Supplemental Heating Coil Name + Autosize, !- Maximum Supply Air Temperature from Supplemental Heater {C} + 4.44444444444446, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} + BlowThrough, !- Fan Placement + {f0b2cdbc-332b-4197-b896-9c6d2b4a8c05}; !- Supply Air Fan Operating Mode Schedule Name + +OS:Connection, + {baa1f051-37ae-49c1-abec-47df3aae2b95}, !- Handle + {d91e09e2-ba92-427b-b69a-d3aa11ada1f9}, !- Name + {d674f799-43a1-48a3-aff3-9004d7f95907}, !- Source Object + 4, !- Outlet Port + {02d21220-4509-4e5e-a851-f5fb36460ee1}, !- Target Object + 2; !- Inlet Port + +OS:Controller:OutdoorAir, + {fa1f7b07-c2c9-42db-9d3e-ea4a3ef2047b}, !- Handle + Core_ZN ZN PSZ-AC-1 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- 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 + 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 + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {66f24625-5dce-4e98-aa88-cd8fd005539a}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {66f24625-5dce-4e98-aa88-cd8fd005539a}, !- Handle + Controller Mechanical Ventilation 5, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {f4128c32-af24-47ff-ae83-d26a5e62ae36}, !- Handle + Core_ZN ZN PSZ-AC-1 OA System, !- Name + {fa1f7b07-c2c9-42db-9d3e-ea4a3ef2047b}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {c486aaf0-7749-4a6b-af47-6cc71bb09961}, !- Mixed Air Node Name + {1631444c-7553-4ac1-91d6-2c11f5300025}, !- Outdoor Air Stream Node Name + {56f0e951-aee2-4151-abb7-2223fc80bf01}, !- Relief Air Stream Node Name + {c2af5a34-6b66-4a3d-a7a6-a3a67b369f0e}; !- Return Air Stream Node Name + +OS:Node, + {8f39990b-b596-40f8-9026-e5f53b916e09}, !- Handle + Core_ZN ZN PSZ-AC-1 Outdoor Air Node, !- Name + , !- Inlet Port + {1631444c-7553-4ac1-91d6-2c11f5300025}; !- Outlet Port + +OS:Connection, + {1631444c-7553-4ac1-91d6-2c11f5300025}, !- Handle + {c7da874d-2e7f-4bb2-a3c5-a67a36d135e0}, !- Name + {8f39990b-b596-40f8-9026-e5f53b916e09}, !- Source Object + 3, !- Outlet Port + {f4128c32-af24-47ff-ae83-d26a5e62ae36}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {f613790c-0563-4de5-b9c5-f9aeb204640c}, !- Handle + Core_ZN ZN PSZ-AC-1 Relief Air Node, !- Name + {56f0e951-aee2-4151-abb7-2223fc80bf01}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {56f0e951-aee2-4151-abb7-2223fc80bf01}, !- Handle + {1bf47b0e-1d74-4cbc-b54f-215e7a686e5f}, !- Name + {f4128c32-af24-47ff-ae83-d26a5e62ae36}, !- Source Object + 7, !- Outlet Port + {f613790c-0563-4de5-b9c5-f9aeb204640c}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {70d28114-29b1-4b66-b7c4-cafb4c94dad4}, !- Handle + Core_ZN ZN PSZ-AC-1 Mixed Air Node, !- Name + {c486aaf0-7749-4a6b-af47-6cc71bb09961}, !- Inlet Port + {c7aa7a8e-ab93-4404-8ccb-c981663401a3}; !- Outlet Port + +OS:Connection, + {c2af5a34-6b66-4a3d-a7a6-a3a67b369f0e}, !- Handle + {dcf3f3e0-eaad-4c53-93dd-2e6bfb7613bc}, !- Name + {10b7cbe5-c201-4575-a713-19a61317682a}, !- Source Object + 3, !- Outlet Port + {f4128c32-af24-47ff-ae83-d26a5e62ae36}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {c486aaf0-7749-4a6b-af47-6cc71bb09961}, !- Handle + {e77bbfe6-49f3-47d9-8e83-3b429c26cee3}, !- Name + {f4128c32-af24-47ff-ae83-d26a5e62ae36}, !- Source Object + 5, !- Outlet Port + {70d28114-29b1-4b66-b7c4-cafb4c94dad4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {c7aa7a8e-ab93-4404-8ccb-c981663401a3}, !- Handle + {d8572d67-409b-4d5f-a392-76ff4dd89bae}, !- Name + {70d28114-29b1-4b66-b7c4-cafb4c94dad4}, !- Source Object + 3, !- Outlet Port + {d674f799-43a1-48a3-aff3-9004d7f95907}, !- Target Object + 3; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {2f12554d-bfd5-4ec1-b299-834cb8f8c1f2}, !- Handle + Availability Manager Night Cycle 5, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {c697f5d5-1da4-41cd-af9f-590e4da8ec03}, !- Control Zone or Zone List Name + {4d95291c-0d44-4d01-bb17-39ae2c1ae9a1}, !- Cooling Control Zone or Zone List Name + {14cae634-8209-4c34-b783-0d591598c380}, !- Heating Control Zone or Zone List Name + {584568bc-041b-44a2-bcfd-8ab2d8598522}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {c697f5d5-1da4-41cd-af9f-590e4da8ec03}, !- Handle + Availability Manager Night Cycle 5 Control Zone List; !- Name + +OS:ModelObjectList, + {4d95291c-0d44-4d01-bb17-39ae2c1ae9a1}, !- Handle + Availability Manager Night Cycle 5 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {14cae634-8209-4c34-b783-0d591598c380}, !- Handle + Availability Manager Night Cycle 5 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {584568bc-041b-44a2-bcfd-8ab2d8598522}, !- Handle + Availability Manager Night Cycle 5 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {9c8acab6-f8b4-4f85-8aab-3921571d1657}, !- Handle + Core_ZN ZN PSZ-AC-1 Diffuser, !- Name + {2e6db8d8-28be-4362-a7a1-350557f1af32}, !- Availability Schedule Name + {5b4664c4-1e5a-49b0-b7bf-7fd377f53264}, !- Air Inlet Node Name + {0f33ae82-6f8f-4dcb-8765-66fd39b21593}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {4fb9dd41-52c3-45e8-9a58-c3d09564858f}, !- Handle + Core_ZN ZN Return Air Node, !- Name + {d2ac3d92-45ec-4213-ac78-da3de5743958}, !- Inlet Port + {1223eb46-0c81-4a79-9d2e-84f58455bc79}; !- Outlet Port + +OS:Connection, + {00899900-f70f-404f-9af4-457fd80e1f81}, !- Handle + {246db236-d4c2-47c9-b641-dc25ed251c21}, !- Name + {21bc30db-d18e-46c1-bd1b-70ca1e26d5f4}, !- Source Object + 3, !- Outlet Port + {738f19b3-e487-4926-891b-d949fff4ecd8}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {d2ac3d92-45ec-4213-ac78-da3de5743958}, !- Handle + {3a670744-5527-45b5-b904-22852c4db4fd}, !- Name + {d07557fb-a0fb-41e6-bcb6-7ee018077df7}, !- Source Object + 3, !- Outlet Port + {4fb9dd41-52c3-45e8-9a58-c3d09564858f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {1223eb46-0c81-4a79-9d2e-84f58455bc79}, !- Handle + {702b2bd0-ee39-4e6e-9d43-b7ac392e7c3e}, !- Name + {4fb9dd41-52c3-45e8-9a58-c3d09564858f}, !- Source Object + 3, !- Outlet Port + {e8dff67f-ea6b-4deb-a37e-08042d689f84}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {505cea88-a271-430a-a10e-96d1646596fa}, !- Handle + Core_ZN ZN PSZ-AC-1 Diffuser Inlet Air Node, !- Name + {681a6d0c-e713-4a8c-b9ed-a0715a701b17}, !- Inlet Port + {5b4664c4-1e5a-49b0-b7bf-7fd377f53264}; !- Outlet Port + +OS:Connection, + {681a6d0c-e713-4a8c-b9ed-a0715a701b17}, !- Handle + {b660a2d5-fd99-4b93-98c7-935cf31ec845}, !- Name + {d515869b-46a8-4a2d-beb1-9f07edbd1cfa}, !- Source Object + 3, !- Outlet Port + {505cea88-a271-430a-a10e-96d1646596fa}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {5b4664c4-1e5a-49b0-b7bf-7fd377f53264}, !- Handle + {64fa3814-a28d-4d9a-bdb5-8552a5b48152}, !- Name + {505cea88-a271-430a-a10e-96d1646596fa}, !- Source Object + 3, !- Outlet Port + {9c8acab6-f8b4-4f85-8aab-3921571d1657}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {0f33ae82-6f8f-4dcb-8765-66fd39b21593}, !- Handle + {48a036ab-dfcc-4ee3-a8dc-99adf2777b5a}, !- Name + {9c8acab6-f8b4-4f85-8aab-3921571d1657}, !- Source Object + 4, !- Outlet Port + {21bc30db-d18e-46c1-bd1b-70ca1e26d5f4}, !- Target Object + 2; !- Inlet Port + +OS:Material:NoMass, + {7f0d28d3-0117-4aef-96c1-9280d507ae8f}, !- Handle + CP02 CARPET PAD, !- Name + VeryRough, !- Roughness + 0.21648, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.8; !- Visible Absorptance + +OS:Material, + {1c16b257-1901-44c3-bd11-98dcb0906e50}, !- Handle + 100mm Normalweight concrete floor, !- Name + MediumSmooth, !- Roughness + 0.1016, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2322, !- Density {kg/m3} + 832; !- Specific Heat {J/kg-K} + +OS:Material:NoMass, + {1822699b-79e3-4b9a-9f53-ece510893da8}, !- Handle + Nonres_Floor_Insulation, !- Name + MediumSmooth, !- Roughness + 2.88291975297193, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {a4778db7-c480-4f29-80b9-cd0cccef51ce}, !- Handle + G01 13mm gypsum board, !- Name + Smooth, !- Roughness + 0.0127, !- Thickness {m} + 0.16, !- Conductivity {W/m-K} + 800, !- Density {kg/m3} + 1090, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.5; !- Visible Absorptance + +OS:Material, + {1363e4a4-fd40-40ec-a275-e2e7e1d9299a}, !- Handle + M10 200mm concrete block basement wall, !- Name + MediumRough, !- Roughness + 0.2032, !- Thickness {m} + 1.326, !- Conductivity {W/m-K} + 1842, !- Density {kg/m3} + 912; !- Specific Heat {J/kg-K} + +OS:DefaultConstructionSet, + {3e9377ab-df2f-40c2-b323-8bd552f635d5}, !- Handle + 90.1-2010 - SmOffice - ASHRAE 169-2013-3B, !- Name + {d8f2964b-6d37-4e55-b957-ef28301a50a2}, !- Default Exterior Surface Constructions Name + {08131bdb-e98d-467a-afb4-e3f58d322e91}, !- Default Interior Surface Constructions Name + {c72e997f-e6b3-4c1c-a478-0c45c9f88f62}, !- Default Ground Contact Surface Constructions Name + {95875e0c-1964-4710-863d-e0edaa227e68}, !- Default Exterior SubSurface Constructions Name + {bbf7ef4b-08c8-4948-963a-b5b7f029f0b5}, !- Default Interior SubSurface Constructions Name + {867c457f-58ce-476b-ba1d-c3346ea2a320}, !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {d8f2964b-6d37-4e55-b957-ef28301a50a2}, !- Handle + Default Surface Constructions 1, !- Name + {364132b7-bd45-47dd-8aef-ab860fb92d80}, !- Floor Construction Name + {d238af6e-a84d-4670-8cfe-67b62bf7d236}, !- Wall Construction Name + {a1c15be7-efef-4ed4-8ff0-e181ceb9fae9}; !- Roof Ceiling Construction Name + +OS:Construction, + {364132b7-bd45-47dd-8aef-ab860fb92d80}, !- Handle + Typical Insulated Exterior Mass Floor R-11.49, !- Name + , !- Surface Rendering Name + {9ed5c733-7597-4d6b-bf43-98485d7200b7}, !- Layer 1 + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Layer 2 + {24813403-481c-4d85-bf47-6ddf32f7b5bd}; !- Layer 3 + +OS:StandardsInformation:Construction, + {3cc5a1b2-f10b-4c9d-bd85-18076865b5d1}, !- Handle + {364132b7-bd45-47dd-8aef-ab860fb92d80}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {9ed5c733-7597-4d6b-bf43-98485d7200b7}, !- Handle + Typical Insulation R-8.93, !- Name + Smooth, !- Roughness + 1.57183221366242, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Handle + 4 in. Normalweight Concrete Floor, !- Name + MediumRough, !- Roughness + 0.1016, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2321.99999999999, !- Density {kg/m3} + 831.999999999997, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material:NoMass, + {24813403-481c-4d85-bf47-6ddf32f7b5bd}, !- Handle + Typical Carpet Pad, !- Name + Smooth, !- Roughness + 0.216479986995276, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.8; !- Visible Absorptance + +OS:Construction, + {d238af6e-a84d-4670-8cfe-67b62bf7d236}, !- Handle + Typical Insulated Wood Framed Exterior Wall R-11.24, !- Name + , !- Surface Rendering Name + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Layer 1 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 2 + {ee75f740-1cc5-4645-b7ba-38da2ab5c916}, !- Layer 3 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}; !- Layer 4 + +OS:StandardsInformation:Construction, + {0e575551-ef4d-4e7f-a0c2-2fceea5aae76}, !- Handle + {d238af6e-a84d-4670-8cfe-67b62bf7d236}, !- Construction Name + ExteriorWall, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material, + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Handle + 25mm Stucco, !- Name + Smooth, !- Roughness + 0.0254, !- Thickness {m} + 0.719999999999999, !- Conductivity {W/m-K} + 1855.99999999999, !- Density {kg/m3} + 839.999999999997, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Handle + 5/8 in. Gypsum Board, !- Name + MediumSmooth, !- Roughness + 0.0159, !- Thickness {m} + 0.159999999999999, !- Conductivity {W/m-K} + 799.999999999999, !- Density {kg/m3} + 1090, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material:NoMass, + {ee75f740-1cc5-4645-b7ba-38da2ab5c916}, !- Handle + Typical Insulation R-9.06, !- Name + Smooth, !- Roughness + 1.59504467488221, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {a1c15be7-efef-4ed4-8ff0-e181ceb9fae9}, !- Handle + Typical Wood Joist Attic Floor R-37.04, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {19cde7a0-398f-434a-8f1b-e25bdf7c6b2c}; !- Layer 2 + +OS:StandardsInformation:Construction, + {ade7aa58-d706-40ca-8058-1136abed47ce}, !- Handle + {a1c15be7-efef-4ed4-8ff0-e181ceb9fae9}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {19cde7a0-398f-434a-8f1b-e25bdf7c6b2c}, !- Handle + Typical Insulation R-35.4, !- Name + Smooth, !- Roughness + 6.23478649910089, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {08131bdb-e98d-467a-afb4-e3f58d322e91}, !- Handle + Default Surface Constructions 2, !- Name + {849359d3-23a1-4eb7-b69f-4c035a1d7ec5}, !- Floor Construction Name + {739a5b03-03f4-4c10-9fe0-0eb14ac8bf9d}, !- Wall Construction Name + {8a07ddac-0668-4491-ab46-1b3da85b32c8}; !- Roof Ceiling Construction Name + +OS:Construction, + {849359d3-23a1-4eb7-b69f-4c035a1d7ec5}, !- Handle + Typical Interior Floor, !- Name + , !- Surface Rendering Name + {1c16b257-1901-44c3-bd11-98dcb0906e50}, !- Layer 1 + {7f0d28d3-0117-4aef-96c1-9280d507ae8f}; !- Layer 2 + +OS:StandardsInformation:Construction, + {1d1888c2-fe68-4d07-b96d-7ef46dae1c62}, !- Handle + {849359d3-23a1-4eb7-b69f-4c035a1d7ec5}, !- Construction Name + InteriorFloor, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Construction, + {739a5b03-03f4-4c10-9fe0-0eb14ac8bf9d}, !- Handle + Typical Interior Wall, !- Name + , !- Surface Rendering Name + {a4778db7-c480-4f29-80b9-cd0cccef51ce}, !- Layer 1 + {a4778db7-c480-4f29-80b9-cd0cccef51ce}; !- Layer 2 + +OS:StandardsInformation:Construction, + {f335d41f-3d92-41f6-b6ee-dc591d5e4bdc}, !- Handle + {739a5b03-03f4-4c10-9fe0-0eb14ac8bf9d}, !- Construction Name + InteriorWall, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Construction, + {8a07ddac-0668-4491-ab46-1b3da85b32c8}, !- Handle + Typical Interior Ceiling, !- Name + , !- Surface Rendering Name + {7f0d28d3-0117-4aef-96c1-9280d507ae8f}, !- Layer 1 + {1c16b257-1901-44c3-bd11-98dcb0906e50}; !- Layer 2 + +OS:StandardsInformation:Construction, + {e1632b67-3e5c-4341-a718-f1919dfba19a}, !- Handle + {8a07ddac-0668-4491-ab46-1b3da85b32c8}, !- Construction Name + InteriorCeiling, !- Intended Surface Type + ; !- Standards Construction Type + +OS:DefaultSurfaceConstructions, + {c72e997f-e6b3-4c1c-a478-0c45c9f88f62}, !- Handle + Default Surface Constructions 3, !- Name + {2c07d12d-a2e6-4686-8faf-151d69778c22}, !- Floor Construction Name + {b4e297c5-7804-4dd4-b67a-037fd2955d0a}, !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:Construction, + {2c07d12d-a2e6-4686-8faf-151d69778c22}, !- Handle + Smallhotel 2010 Slab Floor, !- Name + , !- Surface Rendering Name + {85f6116e-e162-4c81-96db-f2903ae7d740}, !- Layer 1 + {7f0d28d3-0117-4aef-96c1-9280d507ae8f}; !- Layer 2 + +OS:StandardsInformation:Construction, + {2e265a93-b76d-4f6b-8a56-2b5cbc34e3d6}, !- Handle + {2c07d12d-a2e6-4686-8faf-151d69778c22}, !- Construction Name + GroundContactFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material, + {85f6116e-e162-4c81-96db-f2903ae7d740}, !- Handle + 8 in. Normalweight Concrete Floor, !- Name + MediumRough, !- Roughness + 0.2032, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2321.99999999999, !- Density {kg/m3} + 831.999999999997, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {b4e297c5-7804-4dd4-b67a-037fd2955d0a}, !- Handle + Typical Insulated Basement Mass Wall, !- Name + , !- Surface Rendering Name + {c75a363d-6ddd-43ea-a1ba-07fff356beef}; !- Layer 1 + +OS:StandardsInformation:Construction, + {83e9188c-a9f1-4ad8-9746-e1804cfc14db}, !- Handle + {b4e297c5-7804-4dd4-b67a-037fd2955d0a}, !- Construction Name + GroundContactWall, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {9e20aea1-4d1e-489d-80af-d413a88d151a}, !- Handle + Typical Insulation R-0.58, !- Name + Smooth, !- Roughness + 0.101874652714525, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {c75a363d-6ddd-43ea-a1ba-07fff356beef}, !- Handle + 8 in. Concrete Block Basement Wall, !- Name + MediumRough, !- Roughness + 0.2032, !- Thickness {m} + 1.326, !- Conductivity {W/m-K} + 1841.99999999999, !- Density {kg/m3} + 911.999999999999, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSubSurfaceConstructions, + {95875e0c-1964-4710-863d-e0edaa227e68}, !- Handle + Default Sub Surface Constructions 1, !- Name + {fafa2403-6cad-48d7-a621-54b874ca2974}, !- Fixed Window Construction Name + {fafa2403-6cad-48d7-a621-54b874ca2974}, !- Operable Window Construction Name + {15650416-fe2a-4eae-929b-ed6c13d46b45}, !- Door Construction Name + {c486967b-c5c6-4d59-b0b9-1900eda929a7}, !- Glass Door Construction Name + {20ac1d4b-1f40-4823-aaa0-59e6c113fa02}, !- Overhead Door Construction Name + {206e3db7-6a43-4dc5-b6eb-143aff5ce4f3}, !- Skylight Construction Name + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}, !- Tubular Daylight Dome Construction Name + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {fafa2403-6cad-48d7-a621-54b874ca2974}, !- Handle + U 0.62 SHGC 0.25 Dbl Ref-C-H Clr 6mm/6mm Air, !- Name + , !- Surface Rendering Name + {9295e0fa-6f18-477b-aec5-01f75411a84c}, !- Layer 1 + {2bfaf403-d54a-46f1-832d-672d384de76a}, !- Layer 2 + {be338252-d98f-4e32-b641-591619110e64}; !- Layer 3 + +OS:StandardsInformation:Construction, + {009c3b8c-3ef6-49d8-8ff6-66eae7a95311}, !- Handle + {fafa2403-6cad-48d7-a621-54b874ca2974}, !- Construction Name + ExteriorWindow, !- Intended Surface Type + Metal framing (all other), !- Standards Construction Type + , !- Perturbable Layer + , !- Perturbable Layer Type + , !- Other Perturbable Layer Type + , !- Construction Standard + , !- Construction Standard Source + , !- Fenestration Type + , !- Fenestration Assembly Context + , !- Fenestration Number of Panes + Metal Framing; !- Fenestration Frame Type + +OS:WindowMaterial:Glazing, + {9295e0fa-6f18-477b-aec5-01f75411a84c}, !- Handle + REF C CLEAR HI 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00599999999999998, !- Thickness {m} + 0.2, !- Solar Transmittance at Normal Incidence + 0.16, !- Front Side Solar Reflectance at Normal Incidence + 0.39, !- Back Side Solar Reflectance at Normal Incidence + 0.22, !- Visible Transmittance at Normal Incidence + 0.17, !- Front Side Visible Reflectance at Normal Incidence + 0.35, !- Back Side Visible Reflectance at Normal Incidence + 0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.55, !- Back Side Infrared Hemispherical Emissivity + 0.9, !- Conductivity {W/m-K} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:WindowMaterial:Gas, + {2bfaf403-d54a-46f1-832d-672d384de76a}, !- Handle + AIR 6MM, !- Name + Air, !- Gas Type + 0.0063; !- Thickness {m} + +OS:WindowMaterial:Glazing, + {be338252-d98f-4e32-b641-591619110e64}, !- Handle + CLEAR 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00599999999999998, !- 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.08, !- Front Side Visible Reflectance at Normal Incidence + 0.08, !- Back Side Visible Reflectance at Normal Incidence + 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} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:Construction, + {15650416-fe2a-4eae-929b-ed6c13d46b45}, !- Handle + Typical Insulated Metal Door R-1.43, !- Name + , !- Surface Rendering Name + {9b056bbb-353d-4dc9-b535-8ad8d51805b9}, !- Layer 1 + {9e20aea1-4d1e-489d-80af-d413a88d151a}; !- Layer 2 + +OS:StandardsInformation:Construction, + {16065f0f-f445-49cf-b800-f0b989340bb7}, !- Handle + {15650416-fe2a-4eae-929b-ed6c13d46b45}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Material, + {9b056bbb-353d-4dc9-b535-8ad8d51805b9}, !- Handle + F08 Metal surface, !- Name + Smooth, !- Roughness + 0.0008, !- Thickness {m} + 45.2800000000001, !- Conductivity {W/m-K} + 7823.99999999999, !- Density {kg/m3} + 500, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {c486967b-c5c6-4d59-b0b9-1900eda929a7}, !- Handle + U 0.88 SHGC 0.16 Sgl Ref-A-L Clr 6mm, !- Name + , !- Surface Rendering Name + {723a0706-fe81-488d-8fb8-59de89e86cc1}; !- Layer 1 + +OS:StandardsInformation:Construction, + {987cb818-6b0a-46e6-99f5-82e2f25c5ba7}, !- Handle + {c486967b-c5c6-4d59-b0b9-1900eda929a7}, !- Construction Name + ExteriorWindow, !- Intended Surface Type + Metal framing (all other), !- Standards Construction Type + , !- Perturbable Layer + , !- Perturbable Layer Type + , !- Other Perturbable Layer Type + , !- Construction Standard + , !- Construction Standard Source + , !- Fenestration Type + , !- Fenestration Assembly Context + , !- Fenestration Number of Panes + Metal Framing; !- Fenestration Frame Type + +OS:WindowMaterial:Glazing, + {723a0706-fe81-488d-8fb8-59de89e86cc1}, !- Handle + REF A CLEAR LO 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00599999999999998, !- Thickness {m} + 0.066, !- Solar Transmittance at Normal Incidence + 0.341, !- Front Side Solar Reflectance at Normal Incidence + 0.493, !- Back Side Solar Reflectance at Normal Incidence + 0.08, !- Visible Transmittance at Normal Incidence + 0.41, !- Front Side Visible Reflectance at Normal Incidence + 0.37, !- Back Side Visible Reflectance at Normal Incidence + 0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.4, !- Back Side Infrared Hemispherical Emissivity + 0.9, !- Conductivity {W/m-K} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:Construction, + {20ac1d4b-1f40-4823-aaa0-59e6c113fa02}, !- Handle + Typical Overhead Door, !- Name + , !- Surface Rendering Name + {2d597dda-4f7a-4871-a012-5098b3012565}; !- Layer 1 + +OS:StandardsInformation:Construction, + {d05ada6e-9d99-407a-a7ed-096d810b4100}, !- Handle + {20ac1d4b-1f40-4823-aaa0-59e6c113fa02}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + RollUp; !- Standards Construction Type + +OS:Material:NoMass, + {2d597dda-4f7a-4871-a012-5098b3012565}, !- Handle + Typical Insulation R-35.4 1, !- Name + Smooth, !- Roughness + 6.23478649910089, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {206e3db7-6a43-4dc5-b6eb-143aff5ce4f3}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing Skylight U-1.17 SHGC 0.39, !- Name + , !- Surface Rendering Name + {7edff116-b1a4-4005-bf41-98b2a54b5275}; !- Layer 1 + +OS:StandardsInformation:Construction, + {82ee6e9f-81f6-4af1-826f-37e94242120c}, !- Handle + {206e3db7-6a43-4dc5-b6eb-143aff5ce4f3}, !- Construction Name + , !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:SimpleGlazingSystem, + {7edff116-b1a4-4005-bf41-98b2a54b5275}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing U-1.17 SHGC 0.39, !- Name + 6.64356810910278, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + 0.23; !- Visible Transmittance + +OS:Construction, + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}, !- Handle + Typical Interior Window, !- Name + , !- Surface Rendering Name + {c021ccb1-0dbb-4f58-9226-fbea9a2c6860}; !- Layer 1 + +OS:StandardsInformation:Construction, + {2c210123-c1e5-403e-bd0b-808417162ad9}, !- Handle + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}, !- Construction Name + InteriorWindow, !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:Glazing, + {c021ccb1-0dbb-4f58-9226-fbea9a2c6860}, !- Handle + Clear 3mm, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00299999999999999, !- 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, !- 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} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:DefaultSubSurfaceConstructions, + {bbf7ef4b-08c8-4948-963a-b5b7f029f0b5}, !- Handle + Default Sub Surface Constructions 2, !- Name + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}, !- Fixed Window Construction Name + {ebd0cd59-8390-47fc-91e5-b12eb78c0d8f}, !- Operable Window Construction Name + {2bc210b6-f956-4e14-bdfa-0a3c26296ef4}, !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {2bc210b6-f956-4e14-bdfa-0a3c26296ef4}, !- Handle + Typical Interior Door, !- Name + , !- Surface Rendering Name + {3c908cbe-795c-4337-8f9a-d7d154c64d7d}; !- Layer 1 + +OS:StandardsInformation:Construction, + {37c20e2f-6f84-4ad2-a66b-624855e69685}, !- Handle + {2bc210b6-f956-4e14-bdfa-0a3c26296ef4}, !- Construction Name + InteriorDoor, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Material, + {3c908cbe-795c-4337-8f9a-d7d154c64d7d}, !- Handle + G05 25mm wood, !- Name + MediumSmooth, !- Roughness + 0.0254, !- Thickness {m} + 0.15, !- Conductivity {W/m-K} + 608, !- Density {kg/m3} + 1630, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.5, !- Solar Absorptance + 0.5; !- Visible Absorptance + +OS:Construction, + {867c457f-58ce-476b-ba1d-c3346ea2a320}, !- Handle + Typical Interior Partition, !- Name + , !- Surface Rendering Name + {3c908cbe-795c-4337-8f9a-d7d154c64d7d}; !- Layer 1 + +OS:StandardsInformation:Construction, + {03b952e6-5c4a-48ba-88ec-e83ba87516fb}, !- Handle + {867c457f-58ce-476b-ba1d-c3346ea2a320}, !- Construction Name + InteriorPartition, !- Intended Surface Type + ; !- Standards Construction Type + +OS:DefaultConstructionSet, + {a1ddcd7c-6b4e-4834-a2e0-9b25545a9727}, !- Handle + 90.1-2010 - - Attic - ASHRAE 169-2013-3B, !- Name + {f050fe26-3c53-4a83-a17f-039d7c065f09}, !- Default Exterior Surface Constructions Name + {ade84479-9702-47ca-b426-0e851cb1fb77}, !- Default Interior Surface Constructions Name + {86fb7557-4589-4a82-b7b2-068d61655557}, !- Default Ground Contact Surface Constructions Name + {350b8c86-58fe-44b2-9984-9d752edb4043}, !- Default Exterior SubSurface Constructions Name + {c7207fcd-9960-4804-9083-d0b6e84e6943}, !- Default Interior SubSurface Constructions Name + , !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {f050fe26-3c53-4a83-a17f-039d7c065f09}, !- Handle + Default Surface Constructions 4, !- Name + {0db960da-c480-497e-af16-7f104cb5945c}, !- Floor Construction Name + , !- Wall Construction Name + {f7f2497f-2ba2-4549-9101-2a414c40392f}; !- Roof Ceiling Construction Name + +OS:Construction, + {0db960da-c480-497e-af16-7f104cb5945c}, !- Handle + Typical Attic Soffit, !- Name + , !- Surface Rendering Name + {f6ad5cf0-fdfe-4708-a42a-cbd50e2db921}; !- Layer 1 + +OS:StandardsInformation:Construction, + {c362b6fe-8577-45ec-a713-426a00ff6b0a}, !- Handle + {0db960da-c480-497e-af16-7f104cb5945c}, !- Construction Name + AtticWall, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Material, + {f6ad5cf0-fdfe-4708-a42a-cbd50e2db921}, !- Handle + 5/8 in. Plywood, !- Name + Smooth, !- Roughness + 0.0159, !- Thickness {m} + 0.12, !- Conductivity {W/m-K} + 543.999999999999, !- Density {kg/m3} + 1210, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {f7f2497f-2ba2-4549-9101-2a414c40392f}, !- Handle + Typical Uninsulated Wood Joist Attic Roof, !- Name + , !- Surface Rendering Name + {99b13f44-2e60-492c-b8a2-569b5bf0a76b}, !- Layer 1 + {f6ad5cf0-fdfe-4708-a42a-cbd50e2db921}; !- Layer 2 + +OS:StandardsInformation:Construction, + {e455f475-d317-471a-9ece-550da2152554}, !- Handle + {f7f2497f-2ba2-4549-9101-2a414c40392f}, !- Construction Name + AtticRoof, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material, + {99b13f44-2e60-492c-b8a2-569b5bf0a76b}, !- Handle + Asphalt Shingles, !- Name + VeryRough, !- Roughness + 0.00319999999999998, !- Thickness {m} + 0.04, !- Conductivity {W/m-K} + 1120, !- Density {kg/m3} + 1260, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {ade84479-9702-47ca-b426-0e851cb1fb77}, !- Handle + Default Surface Constructions 5, !- Name + {39225aeb-1874-48e1-ba26-75b30ca496c4}, !- Floor Construction Name + , !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:Construction, + {39225aeb-1874-48e1-ba26-75b30ca496c4}, !- Handle + Typical Wood Joist Attic Floor R-37.04 1, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {2d597dda-4f7a-4871-a012-5098b3012565}; !- Layer 2 + +OS:StandardsInformation:Construction, + {fc147f64-ba12-4ed3-a987-d5fb6e081104}, !- Handle + {39225aeb-1874-48e1-ba26-75b30ca496c4}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:DefaultSurfaceConstructions, + {86fb7557-4589-4a82-b7b2-068d61655557}, !- Handle + Default Surface Constructions 6, !- Name + , !- Floor Construction Name + , !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:DefaultSubSurfaceConstructions, + {350b8c86-58fe-44b2-9984-9d752edb4043}, !- Handle + Default Sub Surface Constructions 3, !- Name + , !- Fixed Window Construction Name + , !- Operable Window Construction Name + , !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:DefaultSubSurfaceConstructions, + {c7207fcd-9960-4804-9083-d0b6e84e6943}, !- Handle + Default Sub Surface Constructions 4, !- Name + , !- Fixed Window Construction Name + , !- Operable Window Construction Name + , !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:SpaceInfiltration:DesignFlowRate, + {34f5671b-f393-4928-826b-c1f09ef4ec91}, !- Handle + entry door Infiltration, !- Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space or SpaceType Name + {a41c71d8-c090-48c8-a966-82759f9b622c}, !- Schedule Name + Flow/Space, !- Design Flow Rate Calculation Method + 0.076455414, !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:Schedule:Ruleset, + {a41c71d8-c090-48c8-a966-82759f9b622c}, !- Handle + OfficeSmall INFIL_Door_Opening_SCH_2013, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {381602f4-d80d-40e4-b67d-39361862cf9e}, !- Default Day Schedule Name + {a193c223-50b3-474d-a998-2870004890d7}, !- Summer Design Day Schedule Name + {0524e2ca-97a5-4d8b-9038-8d126792b67f}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {381602f4-d80d-40e4-b67d-39361862cf9e}, !- Handle + OfficeSmall INFIL_Door_Opening_SCH_2013 Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {0524e2ca-97a5-4d8b-9038-8d126792b67f}, !- Handle + OfficeSmall INFIL_Door_Opening_SCH_2013 Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {a193c223-50b3-474d-a998-2870004890d7}, !- Handle + OfficeSmall INFIL_Door_Opening_SCH_2013 Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {8df75ea5-9fa9-4e5d-adb6-ffaf9d515361}, !- Handle + Schedule Rule 15, !- Name + {a41c71d8-c090-48c8-a966-82759f9b622c}, !- Schedule Ruleset Name + 0, !- Rule Order + {0de1356c-5308-4d51-8227-00dde65d90ad}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {0de1356c-5308-4d51-8227-00dde65d90ad}, !- Handle + OfficeSmall INFIL_Door_Opening_SCH_2013 Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.131, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 1, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 0.131, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 1, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 0.131, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 1, !- Value Until Time 7 + 19, !- Hour 8 + 0, !- Minute 8 + 0.131, !- Value Until Time 8 + 24, !- Hour 9 + 0, !- Minute 9 + 0; !- Value Until Time 9 + +OS:SpaceInfiltration:DesignFlowRate, + {6466cabc-9379-44ce-84f0-45e8e32039f0}, !- Handle + attic Infiltration, !- Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space or SpaceType Name + {82bb3b97-58df-4fd0-b6a1-0160d3df938f}, !- Schedule Name + Flow/Space, !- Design Flow Rate Calculation Method + 0.2001, !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:Schedule:Ruleset, + {82bb3b97-58df-4fd0-b6a1-0160d3df938f}, !- Handle + Always On, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {0b21e2fe-87ec-47ac-96dc-5694d4542516}; !- Default Day Schedule Name + +OS:Schedule:Day, + {0b21e2fe-87ec-47ac-96dc-5694d4542516}, !- Handle + Always On Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Material, + {04f6daa0-59eb-4042-82ac-72a020309e8e}, !- Handle + Std Wood 6inch, !- Name + MediumSmooth, !- Roughness + 0.15, !- Thickness {m} + 0.12, !- Conductivity {W/m-K} + 540, !- Density {kg/m3} + 1210, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {fa97e2b0-539c-423b-9edd-263de65284ea}, !- Handle + InteriorFurnishings, !- Name + , !- Surface Rendering Name + {04f6daa0-59eb-4042-82ac-72a020309e8e}; !- Layer 1 + +OS:InternalMass:Definition, + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Handle + Internal Mass Definition 1, !- Name + {fa97e2b0-539c-423b-9edd-263de65284ea}, !- Construction Name + SurfaceArea/Area, !- Design Level Calculation Method + , !- Surface Area {m2} + 2, !- Surface Area per Space Floor Area {dimensionless} + ; !- Surface Area per Person {m2/person} + +OS:InternalMass, + {54b5d19a-5719-4e53-bcd1-a7b5000cb7a4}, !- Handle + Perimeter_ZN_4 Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {6c849a34-6415-4788-98e9-ded805c84de3}, !- Handle + Core_ZN Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {32844cd3-cab3-4870-bbb6-6c79a28481b7}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {1e29e753-8b30-44ad-8c6d-75f2947f2cf7}, !- Handle + Attic Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {fb08bb0a-69e7-4942-8807-550e21855286}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {d0f4da21-857d-43cd-ac6f-3d282d4540bb}, !- Handle + Perimeter_ZN_3 Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {fc9a332d-4c1e-4d28-b4c3-23c7dda5ac27}, !- Handle + Perimeter_ZN_2 Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {162b3cc6-b5ca-4685-8c68-7266f414d000}, !- Handle + Perimeter_ZN_1 Mass, !- Name + {ef4de638-e014-4ef8-aa9f-71d07e371623}, !- Internal Mass Definition Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:PlantLoop, + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Handle + Main Service Water Loop, !- Name + , !- Fluid Type + 0, !- Glycol Concentration + , !- User Defined Fluid Type + , !- Plant Equipment Operation Heating Load + , !- Plant Equipment Operation Cooling Load + , !- Primary Plant Equipment Operation Scheme + {18adf15c-1143-4cba-87b1-eb54293812b3}, !- Loop Temperature Setpoint Node Name + 60, !- Maximum Loop Temperature {C} + 10, !- Minimum Loop Temperature {C} + , !- Maximum Loop Flow Rate {m3/s} + , !- Minimum Loop Flow Rate {m3/s} + Autocalculate, !- Plant Loop Volume {m3} + {19e29614-e5ca-48e7-ae59-4b050aaf9eb1}, !- Plant Side Inlet Node Name + {dc7b5594-6f2c-4923-8007-63de4e6ed66b}, !- Plant Side Outlet Node Name + , !- Plant Side Branch List Name + {56aeb757-d34c-4b25-9212-d2e47c455275}, !- Demand Side Inlet Node Name + {0c2238cd-94fd-4e76-8da4-92e3ca610fbe}, !- Demand Side Outlet Node Name + , !- Demand Side Branch List Name + , !- Demand Side Connector List Name + Optimal, !- Load Distribution Scheme + {8846e91e-583f-4421-ac73-eee85b2fc8cc}, !- Availability Manager List Name + , !- Plant Loop Demand Calculation Scheme + , !- Common Pipe Simulation + , !- Pressure Simulation Type + , !- Plant Equipment Operation Heating Load Schedule + , !- Plant Equipment Operation Cooling Load Schedule + , !- Primary Plant Equipment Operation Scheme Schedule + , !- Component Setpoint Operation Scheme Schedule + {eec0c615-5d70-46e8-8f2f-4565de23a9ee}, !- Demand Mixer Name + {fa569ace-a074-4bed-afae-f4fe7cada7d5}, !- Demand Splitter Name + {e1e1c7e2-6fcd-43e5-b452-b1432b1f1689}, !- Supply Mixer Name + {444cb5c6-0a5b-4c70-a74e-6d2a05c8a3ca}; !- Supply Splitter Name + +OS:Node, + {b94549e4-a84a-483e-a75b-2985f4323f72}, !- Handle + Main Service Water Loop Supply Inlet Node, !- Name + {19e29614-e5ca-48e7-ae59-4b050aaf9eb1}, !- Inlet Port + {916bfbfe-5113-4731-8913-5537e38281ed}; !- Outlet Port + +OS:Node, + {18adf15c-1143-4cba-87b1-eb54293812b3}, !- Handle + Main Service Water Loop Supply Outlet Node, !- Name + {44765024-acb0-4566-bc20-86e4a41b8457}, !- Inlet Port + {dc7b5594-6f2c-4923-8007-63de4e6ed66b}; !- Outlet Port + +OS:Node, + {d54cdbf8-92fc-420c-8cb1-584c06c9c668}, !- Handle + 40gal Electricity Water Heater - 40kBtu/hr 1.0 Therm Eff Supply Inlet Water Node, !- Name + {59a58114-85c2-4568-88f1-854747b7dad6}, !- Inlet Port + {6e707370-207c-40b3-a282-4f0c53206f1a}; !- Outlet Port + +OS:Connector:Mixer, + {e1e1c7e2-6fcd-43e5-b452-b1432b1f1689}, !- Handle + Connector Mixer 1, !- Name + {9c91a2fb-ae9f-448d-8a70-cb71a0071fc6}, !- Outlet Branch Name + {05aabfe0-d6a7-42e8-aacb-e2cd6b91b271}, !- Inlet Branch Name 1 + {0224bba3-f5fe-49cf-beed-ff13e696e38f}; !- Inlet Branch Name 2 + +OS:Connector:Splitter, + {444cb5c6-0a5b-4c70-a74e-6d2a05c8a3ca}, !- Handle + Connector Splitter 1, !- Name + {482e039e-0bc3-425b-b43f-2dbbc2e04fde}, !- Inlet Branch Name + {59a58114-85c2-4568-88f1-854747b7dad6}, !- Outlet Branch Name 1 + {7dee1890-a43f-47be-b1a9-459ec2805902}; !- Outlet Branch Name 2 + +OS:Connection, + {19e29614-e5ca-48e7-ae59-4b050aaf9eb1}, !- Handle + {053873ff-94a8-4606-aa48-157b70e0f2f3}, !- Name + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Source Object + 14, !- Outlet Port + {b94549e4-a84a-483e-a75b-2985f4323f72}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {59a58114-85c2-4568-88f1-854747b7dad6}, !- Handle + {bd19cde7-5fd9-40d1-942b-9cee59270f88}, !- Name + {444cb5c6-0a5b-4c70-a74e-6d2a05c8a3ca}, !- Source Object + 3, !- Outlet Port + {d54cdbf8-92fc-420c-8cb1-584c06c9c668}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {dc7b5594-6f2c-4923-8007-63de4e6ed66b}, !- Handle + {39a44f9e-a2d0-4cd5-be62-70e83705623a}, !- Name + {18adf15c-1143-4cba-87b1-eb54293812b3}, !- Source Object + 3, !- Outlet Port + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Target Object + 15; !- Inlet Port + +OS:Node, + {ad9d2cd5-2a5a-4cdc-91b3-321489fa986c}, !- Handle + Main Service Water Loop Demand Inlet Node, !- Name + {56aeb757-d34c-4b25-9212-d2e47c455275}, !- Inlet Port + {fa2574d0-6034-43df-97a5-6b29c13fb276}; !- Outlet Port + +OS:Node, + {648e8c89-9c32-417e-8aff-a6637156a3cb}, !- Handle + Main Service Water Loop Demand Outlet Node, !- Name + {aa4e61bd-73fe-4711-b7a5-8f92706f721d}, !- Inlet Port + {0c2238cd-94fd-4e76-8da4-92e3ca610fbe}; !- Outlet Port + +OS:Node, + {a2739789-8d8c-49ba-a2f4-2a65acb167f4}, !- Handle + Pipe Adiabatic 2 Inlet Water Node, !- Name + {0a6ae641-5344-43b1-a92f-c7ac63e7375b}, !- Inlet Port + {8e07cfd4-2e04-473f-b4e7-2171fb1cdaa5}; !- Outlet Port + +OS:Connector:Mixer, + {eec0c615-5d70-46e8-8f2f-4565de23a9ee}, !- Handle + Connector Mixer 2, !- Name + {19e152f3-4713-48d6-b0af-5e8bc3e60b61}, !- Outlet Branch Name + {0c300b64-c0b0-468e-a894-e92c8290f48b}, !- Inlet Branch Name 1 + {bd7d1e99-a215-4611-a5b3-a851765a1e5f}; !- Inlet Branch Name 2 + +OS:Connector:Splitter, + {fa569ace-a074-4bed-afae-f4fe7cada7d5}, !- Handle + Connector Splitter 2, !- Name + {fa2574d0-6034-43df-97a5-6b29c13fb276}, !- Inlet Branch Name + {0a6ae641-5344-43b1-a92f-c7ac63e7375b}, !- Outlet Branch Name 1 + {294daabd-d063-4329-9685-9bc633f48d7d}; !- Outlet Branch Name 2 + +OS:Connection, + {56aeb757-d34c-4b25-9212-d2e47c455275}, !- Handle + {f4d9bd09-dc39-496b-b4e2-c99a6a2a2c13}, !- Name + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Source Object + 17, !- Outlet Port + {ad9d2cd5-2a5a-4cdc-91b3-321489fa986c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {fa2574d0-6034-43df-97a5-6b29c13fb276}, !- Handle + {5acb04ab-fa97-4c36-bf14-57d35348be0a}, !- Name + {ad9d2cd5-2a5a-4cdc-91b3-321489fa986c}, !- Source Object + 3, !- Outlet Port + {fa569ace-a074-4bed-afae-f4fe7cada7d5}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0a6ae641-5344-43b1-a92f-c7ac63e7375b}, !- Handle + {94e93706-d852-46d0-a2f6-6e74a5c9bb48}, !- Name + {fa569ace-a074-4bed-afae-f4fe7cada7d5}, !- Source Object + 3, !- Outlet Port + {a2739789-8d8c-49ba-a2f4-2a65acb167f4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0c2238cd-94fd-4e76-8da4-92e3ca610fbe}, !- Handle + {d0f5ec01-8ae8-4623-89bc-cfba4fc08aa3}, !- Name + {648e8c89-9c32-417e-8aff-a6637156a3cb}, !- Source Object + 3, !- Outlet Port + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Target Object + 18; !- Inlet Port + +OS:Sizing:Plant, + {74272cd5-a94b-482b-8fc4-81ceb59e1ca2}, !- Handle + {02be1869-26f9-447f-a88e-d69204568dcb}, !- Plant or Condenser Loop Name + Heating, !- Loop Type + 60.0000000000001, !- Design Loop Exit Temperature {C} + 5, !- Loop Design Temperature Difference {deltaC} + NonCoincident, !- Sizing Option + 1, !- Zone Timesteps in Averaging Window + None; !- Coincident Sizing Factor Mode + +OS:AvailabilityManagerAssignmentList, + {8846e91e-583f-4421-ac73-eee85b2fc8cc}, !- Handle + Plant Loop 1 AvailabilityManagerAssignmentList; !- Name + +OS:ScheduleTypeLimits, + {e84b0e2b-8b96-482d-8910-780cd01b87e5}, !- Handle + Temperature Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 100, !- Upper Limit Value + Continuous, !- Numeric Type + Temperature; !- Unit Type + +OS:Schedule:Ruleset, + {0048aec8-b51a-4e8c-89d5-5e72337bf1fd}, !- Handle + Service Water Loop Temp - 140F, !- Name + {e84b0e2b-8b96-482d-8910-780cd01b87e5}, !- Schedule Type Limits Name + {cd7f8699-6aa2-465f-a777-8cd96b922d47}; !- Default Day Schedule Name + +OS:Schedule:Day, + {cd7f8699-6aa2-465f-a777-8cd96b922d47}, !- Handle + Service Water Loop Temp - 140F Default, !- Name + {e84b0e2b-8b96-482d-8910-780cd01b87e5}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60.0000000000001; !- Value Until Time 1 + +OS:SetpointManager:Scheduled, + {270f065c-032a-4799-b391-5780c1176d64}, !- Handle + Service hot water setpoint manager, !- Name + Temperature, !- Control Variable + {0048aec8-b51a-4e8c-89d5-5e72337bf1fd}, !- Schedule Name + {18adf15c-1143-4cba-87b1-eb54293812b3}; !- Setpoint Node or NodeList Name + +OS:Pump:VariableSpeed, + {35aefa59-071a-4280-89bb-9209d4f05902}, !- Handle + Main Service Water Loop Water Mains Pressure Driven, !- Name + {916bfbfe-5113-4731-8913-5537e38281ed}, !- Inlet Node Name + {7e32084e-2505-4ca7-a4fb-ef2172317aea}, !- Outlet Node Name + , !- Rated Flow Rate {m3/s} + 0.001, !- Rated Pump Head {Pa} + , !- Rated Power Consumption {W} + 0.855, !- Motor Efficiency + , !- Fraction of Motor Inefficiencies to Fluid Stream + , !- Coefficient 1 of the Part Load Performance Curve + , !- Coefficient 2 of the Part Load Performance Curve + , !- Coefficient 3 of the Part Load Performance Curve + , !- Coefficient 4 of the Part Load Performance Curve + , !- Minimum Flow Rate {m3/s} + Continuous, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule {Pa} + , !- Maximum Pressure Schedule {Pa} + , !- Minimum RPM Schedule {rev/min} + , !- Maximum RPM Schedule {rev/min} + , !- 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-s/m3-Pa} + 0, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + +OS:Node, + {86f48dde-76a3-45c3-9e9b-0c199dbe75ee}, !- Handle + Main Service Water Loop Water Mains Pressure Driven Outlet Water Node, !- Name + {7e32084e-2505-4ca7-a4fb-ef2172317aea}, !- Inlet Port + {482e039e-0bc3-425b-b43f-2dbbc2e04fde}; !- Outlet Port + +OS:Connection, + {916bfbfe-5113-4731-8913-5537e38281ed}, !- Handle + {a88b16d4-6d16-4fc3-b051-f58cf96af0bc}, !- Name + {b94549e4-a84a-483e-a75b-2985f4323f72}, !- Source Object + 3, !- Outlet Port + {35aefa59-071a-4280-89bb-9209d4f05902}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {7e32084e-2505-4ca7-a4fb-ef2172317aea}, !- Handle + {d8711732-b9d6-44b3-a5c6-b0e727a3aeb3}, !- Name + {35aefa59-071a-4280-89bb-9209d4f05902}, !- Source Object + 3, !- Outlet Port + {86f48dde-76a3-45c3-9e9b-0c199dbe75ee}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {482e039e-0bc3-425b-b43f-2dbbc2e04fde}, !- Handle + {4a33e72c-8f5a-4491-88a0-b590629b8676}, !- Name + {86f48dde-76a3-45c3-9e9b-0c199dbe75ee}, !- Source Object + 3, !- Outlet Port + {444cb5c6-0a5b-4c70-a74e-6d2a05c8a3ca}, !- Target Object + 2; !- Inlet Port + +OS:WaterHeater:Mixed, + {8b1fcddd-92a1-49ac-9166-3210e611b41c}, !- Handle + 40gal Electricity Water Heater - 40kBtu/hr 1.0 Therm Eff, !- Name + 0.151416471358794, !- Tank Volume {m3} + {0048aec8-b51a-4e8c-89d5-5e72337bf1fd}, !- Setpoint Temperature Schedule Name + 2, !- Deadband Temperature Difference {deltaC} + 60.0000000000001, !- Maximum Temperature Limit {C} + Cycle, !- Heater Control Type + 11722.8428068889, !- Heater Maximum Capacity {W} + , !- Heater Minimum Capacity {W} + , !- Heater Ignition Minimum Flow Rate {m3/s} + , !- Heater Ignition Delay {s} + Electricity, !- Heater Fuel Type + 1, !- Heater Thermal Efficiency + , !- Part Load Factor Curve Name + 571.000061393684, !- Off Cycle Parasitic Fuel Consumption Rate {W} + Electricity, !- Off Cycle Parasitic Fuel Type + 0, !- Off Cycle Parasitic Heat Fraction to Tank + 571.000061393684, !- On Cycle Parasitic Fuel Consumption Rate {W} + Electricity, !- On Cycle Parasitic Fuel Type + 0, !- On Cycle Parasitic Heat Fraction to Tank + ThermalZone, !- Ambient Temperature Indicator + , !- Ambient Temperature Schedule Name + {f47a58ac-b6ac-4c1a-b30e-1665ea1bde2d}, !- Ambient Temperature Thermal Zone Name + , !- Ambient Temperature Outdoor Air Node Name + 1.20802284703933, !- Off Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- Off Cycle Loss Fraction to Thermal Zone + 1.20802284703933, !- On Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- On Cycle Loss Fraction to Thermal Zone + , !- Peak Use Flow Rate {m3/s} + , !- Use Flow Rate Fraction Schedule Name + , !- Cold Water Supply Temperature Schedule Name + {6e707370-207c-40b3-a282-4f0c53206f1a}, !- Use Side Inlet Node Name + {40956d6a-dba1-475c-96b2-07423d2b9f35}, !- Use Side Outlet Node Name + 1, !- Use Side Effectiveness + , !- Source Side Inlet Node Name + , !- Source Side Outlet Node Name + 1, !- Source Side Effectiveness + autosize, !- Use Side Design Flow Rate {m3/s} + autosize, !- Source Side Design Flow Rate {m3/s} + 1.5, !- Indirect Water Heating Recovery Time {hr} + IndirectHeatPrimarySetpoint, !- Source Side Flow Control Mode + , !- Indirect Alternate Setpoint Temperature Schedule Name + General; !- End-Use Subcategory + +OS:Schedule:Day, + {42c527c8-0b89-412a-9662-71ea826abfc0}, !- Handle + Schedule Day 23, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 22; !- Value Until Time 1 + +OS:Schedule:Day, + {77f7ba20-581e-4593-96f4-5a84e3e421f2}, !- Handle + Schedule Day 24, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60; !- Value Until Time 1 + +OS:Node, + {937d1e09-ed81-45c9-b618-6b15a08b9417}, !- Handle + 40gal Electricity Water Heater - 40kBtu/hr 1.0 Therm Eff Supply Outlet Water Node, !- Name + {40956d6a-dba1-475c-96b2-07423d2b9f35}, !- Inlet Port + {05aabfe0-d6a7-42e8-aacb-e2cd6b91b271}; !- Outlet Port + +OS:Connection, + {6e707370-207c-40b3-a282-4f0c53206f1a}, !- Handle + {b72630af-5e4c-4246-a64f-cdbc83aeead6}, !- Name + {d54cdbf8-92fc-420c-8cb1-584c06c9c668}, !- Source Object + 3, !- Outlet Port + {8b1fcddd-92a1-49ac-9166-3210e611b41c}, !- Target Object + 31; !- Inlet Port + +OS:Connection, + {40956d6a-dba1-475c-96b2-07423d2b9f35}, !- Handle + {c029da98-fe76-4d62-8763-0e4a75bc0a7a}, !- Name + {8b1fcddd-92a1-49ac-9166-3210e611b41c}, !- Source Object + 32, !- Outlet Port + {937d1e09-ed81-45c9-b618-6b15a08b9417}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {05aabfe0-d6a7-42e8-aacb-e2cd6b91b271}, !- Handle + {71228427-e620-4a61-8a32-21548ca33b1f}, !- Name + {937d1e09-ed81-45c9-b618-6b15a08b9417}, !- Source Object + 3, !- Outlet Port + {e1e1c7e2-6fcd-43e5-b452-b1432b1f1689}, !- Target Object + 3; !- Inlet Port + +OS:Pipe:Adiabatic, + {a83fccd3-95df-42d3-949b-cf0a999db0bb}, !- Handle + Pipe Adiabatic 1, !- Name + {a0b04dda-6653-43bf-9fe0-ff535dbe472d}, !- Inlet Node Name + {1358fa50-ca5b-4760-a2e9-8d26ccbb2c51}; !- Outlet Node Name + +OS:Node, + {64aa19e8-56d9-45b7-b997-bf9810380206}, !- Handle + Pipe Adiabatic 1 Inlet Water Node, !- Name + {7dee1890-a43f-47be-b1a9-459ec2805902}, !- Inlet Port + {a0b04dda-6653-43bf-9fe0-ff535dbe472d}; !- Outlet Port + +OS:Connection, + {7dee1890-a43f-47be-b1a9-459ec2805902}, !- Handle + {4ae1f658-9745-4818-9a84-ae8c6c920451}, !- Name + {444cb5c6-0a5b-4c70-a74e-6d2a05c8a3ca}, !- Source Object + 4, !- Outlet Port + {64aa19e8-56d9-45b7-b997-bf9810380206}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {3a5e2d23-0386-4c24-b22b-37786abd9a93}, !- Handle + Pipe Adiabatic 1 Outlet Water Node, !- Name + {1358fa50-ca5b-4760-a2e9-8d26ccbb2c51}, !- Inlet Port + {0224bba3-f5fe-49cf-beed-ff13e696e38f}; !- Outlet Port + +OS:Connection, + {a0b04dda-6653-43bf-9fe0-ff535dbe472d}, !- Handle + {314b9bf3-ce87-46db-ac74-7defa8426e97}, !- Name + {64aa19e8-56d9-45b7-b997-bf9810380206}, !- Source Object + 3, !- Outlet Port + {a83fccd3-95df-42d3-949b-cf0a999db0bb}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {1358fa50-ca5b-4760-a2e9-8d26ccbb2c51}, !- Handle + {185c5689-16ba-4191-b66f-f037e0269a85}, !- Name + {a83fccd3-95df-42d3-949b-cf0a999db0bb}, !- Source Object + 3, !- Outlet Port + {3a5e2d23-0386-4c24-b22b-37786abd9a93}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0224bba3-f5fe-49cf-beed-ff13e696e38f}, !- Handle + {c495d0b6-1a0b-4cec-acd7-6561af6e8386}, !- Name + {3a5e2d23-0386-4c24-b22b-37786abd9a93}, !- Source Object + 3, !- Outlet Port + {e1e1c7e2-6fcd-43e5-b452-b1432b1f1689}, !- Target Object + 4; !- Inlet Port + +OS:Pipe:Adiabatic, + {995915a7-a006-4256-bc51-e16bb460cb36}, !- Handle + Pipe Adiabatic 2, !- Name + {8e07cfd4-2e04-473f-b4e7-2171fb1cdaa5}, !- Inlet Node Name + {bc9b4d1e-095f-46a8-80f9-d5688c558863}; !- Outlet Node Name + +OS:Node, + {dad7c4ca-090b-4904-ba5a-42a2a845dccf}, !- Handle + Pipe Adiabatic 2 Outlet Water Node, !- Name + {bc9b4d1e-095f-46a8-80f9-d5688c558863}, !- Inlet Port + {0c300b64-c0b0-468e-a894-e92c8290f48b}; !- Outlet Port + +OS:Connection, + {8e07cfd4-2e04-473f-b4e7-2171fb1cdaa5}, !- Handle + {b131bf7c-d150-4998-a7bd-329656074989}, !- Name + {a2739789-8d8c-49ba-a2f4-2a65acb167f4}, !- Source Object + 3, !- Outlet Port + {995915a7-a006-4256-bc51-e16bb460cb36}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {bc9b4d1e-095f-46a8-80f9-d5688c558863}, !- Handle + {c1ab9f02-0b9b-4082-b767-80efe6f0116e}, !- Name + {995915a7-a006-4256-bc51-e16bb460cb36}, !- Source Object + 3, !- Outlet Port + {dad7c4ca-090b-4904-ba5a-42a2a845dccf}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0c300b64-c0b0-468e-a894-e92c8290f48b}, !- Handle + {58093463-eee9-49d5-a576-0b99b549908f}, !- Name + {dad7c4ca-090b-4904-ba5a-42a2a845dccf}, !- Source Object + 3, !- Outlet Port + {eec0c615-5d70-46e8-8f2f-4565de23a9ee}, !- Target Object + 3; !- Inlet Port + +OS:Pipe:Adiabatic, + {b29dd0c4-8751-4a90-9976-64d4ec222da9}, !- Handle + Pipe Adiabatic 3, !- Name + {231fb31e-8bde-40f4-9bc8-555809b09c3f}, !- Inlet Node Name + {44765024-acb0-4566-bc20-86e4a41b8457}; !- Outlet Node Name + +OS:Node, + {9bb651d2-bfd9-45cd-8c82-4e4856a342f4}, !- Handle + Pipe Adiabatic 3 Inlet Water Node, !- Name + {9c91a2fb-ae9f-448d-8a70-cb71a0071fc6}, !- Inlet Port + {231fb31e-8bde-40f4-9bc8-555809b09c3f}; !- Outlet Port + +OS:Connection, + {9c91a2fb-ae9f-448d-8a70-cb71a0071fc6}, !- Handle + {82cc49d7-1aea-4cf6-8d45-da46b6712c05}, !- Name + {e1e1c7e2-6fcd-43e5-b452-b1432b1f1689}, !- Source Object + 2, !- Outlet Port + {9bb651d2-bfd9-45cd-8c82-4e4856a342f4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {231fb31e-8bde-40f4-9bc8-555809b09c3f}, !- Handle + {e2e0c499-f4e7-4603-b03f-1fbf94f0c9cb}, !- Name + {9bb651d2-bfd9-45cd-8c82-4e4856a342f4}, !- Source Object + 3, !- Outlet Port + {b29dd0c4-8751-4a90-9976-64d4ec222da9}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {44765024-acb0-4566-bc20-86e4a41b8457}, !- Handle + {b58b5b2c-9c31-4479-b897-b69fe9b57a12}, !- Name + {b29dd0c4-8751-4a90-9976-64d4ec222da9}, !- Source Object + 3, !- Outlet Port + {18adf15c-1143-4cba-87b1-eb54293812b3}, !- Target Object + 2; !- Inlet Port + +OS:Pipe:Adiabatic, + {8bb4c783-70de-440e-bd86-29f859e99fe1}, !- Handle + Pipe Adiabatic 4, !- Name + {35752e76-3739-4d49-817b-54fea21ff0e2}, !- Inlet Node Name + {aa4e61bd-73fe-4711-b7a5-8f92706f721d}; !- Outlet Node Name + +OS:Node, + {a7d47b95-ff83-49e6-b358-2fa2422c9bf8}, !- Handle + Pipe Adiabatic 4 Inlet Water Node, !- Name + {19e152f3-4713-48d6-b0af-5e8bc3e60b61}, !- Inlet Port + {35752e76-3739-4d49-817b-54fea21ff0e2}; !- Outlet Port + +OS:Connection, + {19e152f3-4713-48d6-b0af-5e8bc3e60b61}, !- Handle + {ad651bb1-901d-4e9f-a971-dc10c2183386}, !- Name + {eec0c615-5d70-46e8-8f2f-4565de23a9ee}, !- Source Object + 2, !- Outlet Port + {a7d47b95-ff83-49e6-b358-2fa2422c9bf8}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {35752e76-3739-4d49-817b-54fea21ff0e2}, !- Handle + {b56ff215-062e-4e0f-b2a0-1b5f4323ce83}, !- Name + {a7d47b95-ff83-49e6-b358-2fa2422c9bf8}, !- Source Object + 3, !- Outlet Port + {8bb4c783-70de-440e-bd86-29f859e99fe1}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {aa4e61bd-73fe-4711-b7a5-8f92706f721d}, !- Handle + {46608be0-2f77-4d60-aee5-b168619d8deb}, !- Name + {8bb4c783-70de-440e-bd86-29f859e99fe1}, !- Source Object + 3, !- Outlet Port + {648e8c89-9c32-417e-8aff-a6637156a3cb}, !- Target Object + 2; !- Inlet Port + +OS:WaterUse:Connections, + {c070e591-a24b-4335-8f0b-5dcb06e48a96}, !- Handle + Main WUC 0.06gpm at 140F, !- Name + {1cee1470-8687-4e2e-92ba-b3d82e804fe1}, !- Inlet Node Name + {59197b6e-d21e-49c4-b029-3ed69c11a773}, !- Outlet Node Name + , !- Supply Water Storage Tank Name + , !- Reclamation Water Storage Tank Name + , !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + , !- Drain Water Heat Exchanger Type + , !- Drain Water Heat Exchanger Destination + , !- Drain Water Heat Exchanger U-Factor Times Area {W/K} + {24942c5e-38d4-46e4-a5f0-7ca804149c8f}; !- Water Use Equipment Name 1 + +OS:WaterUse:Equipment:Definition, + {2cfff13a-9a24-4623-b62f-b4d7bdaadcc2}, !- Handle + Main Service Water Use Def 0.06gpm, !- Name + , !- End-Use Subcategory + 4.03777256956784e-06, !- Peak Flow Rate {m3/s} + {1a3701c2-f6a4-4015-8736-6a01cd17b102}, !- Target Temperature Schedule Name + {94cf414f-2e7c-4078-a625-464fe60ab6ab}, !- Sensible Fraction Schedule Name + {04035f02-0659-4c2a-b25b-52ce7e4e7002}; !- Latent Fraction Schedule Name + +OS:Schedule:Ruleset, + {94cf414f-2e7c-4078-a625-464fe60ab6ab}, !- Handle + Fraction Sensible - 0.2, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {792983be-41d8-45c2-be45-600349bcc2e1}; !- Default Day Schedule Name + +OS:Schedule:Day, + {792983be-41d8-45c2-be45-600349bcc2e1}, !- Handle + Fraction Sensible - 0.2 Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.2; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {04035f02-0659-4c2a-b25b-52ce7e4e7002}, !- Handle + Fraction Latent - 0.05, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {08323328-9e44-416b-8997-f53851c70583}; !- Default Day Schedule Name + +OS:Schedule:Day, + {08323328-9e44-416b-8997-f53851c70583}, !- Handle + Fraction Latent - 0.05 Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.05; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {1a3701c2-f6a4-4015-8736-6a01cd17b102}, !- Handle + Mixed Water At Faucet Temp - 140F, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + {1218a46c-8fbb-4010-b7f9-6ae234d13639}; !- Default Day Schedule Name + +OS:Schedule:Day, + {1218a46c-8fbb-4010-b7f9-6ae234d13639}, !- Handle + Mixed Water At Faucet Temp - 140F Default, !- Name + {76bd7766-ea49-4859-b720-1e4307048177}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60.0000000000001; !- Value Until Time 1 + +OS:WaterUse:Equipment, + {24942c5e-38d4-46e4-a5f0-7ca804149c8f}, !- Handle + Main Service Water Use 0.06gpm at 140F, !- Name + {2cfff13a-9a24-4623-b62f-b4d7bdaadcc2}, !- Water Use Equipment Definition Name + , !- Space Name + {f2741db2-f1e7-4401-8287-4327365c751a}; !- Flow Rate Fraction Schedule Name + +OS:Schedule:Ruleset, + {f2741db2-f1e7-4401-8287-4327365c751a}, !- Handle + OfficeSmall BLDG_SWH_SCH, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {338b563a-d1ec-4197-ba4a-c91441398f96}, !- Default Day Schedule Name + {9e18999e-7244-4359-8ee3-70a446f3526e}, !- Summer Design Day Schedule Name + {b085e1dc-3a23-4b05-b251-126c5268ec18}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {338b563a-d1ec-4197-ba4a-c91441398f96}, !- Handle + OfficeSmall BLDG_SWH_SCH Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {b085e1dc-3a23-4b05-b251-126c5268ec18}, !- Handle + OfficeSmall BLDG_SWH_SCH Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.27, !- Value Until Time 2 + 9, !- Hour 3 + 0, !- Minute 3 + 0.55, !- Value Until Time 3 + 11, !- Hour 4 + 0, !- Minute 4 + 0.64, !- Value Until Time 4 + 12, !- Hour 5 + 0, !- Minute 5 + 0.82, !- Value Until Time 5 + 13, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 14, !- Hour 7 + 0, !- Minute 7 + 0.91, !- Value Until Time 7 + 16, !- Hour 8 + 0, !- Minute 8 + 0.55, !- Value Until Time 8 + 17, !- Hour 9 + 0, !- Minute 9 + 0.73, !- Value Until Time 9 + 19, !- Hour 10 + 0, !- Minute 10 + 0.37, !- Value Until Time 10 + 20, !- Hour 11 + 0, !- Minute 11 + 0.18, !- Value Until Time 11 + 21, !- Hour 12 + 0, !- Minute 12 + 0.27, !- Value Until Time 12 + 22, !- Hour 13 + 0, !- Minute 13 + 0.09, !- Value Until Time 13 + 24, !- Hour 14 + 0, !- Minute 14 + 0; !- Value Until Time 14 + +OS:Schedule:Day, + {9e18999e-7244-4359-8ee3-70a446f3526e}, !- Handle + OfficeSmall BLDG_SWH_SCH Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.27, !- Value Until Time 2 + 9, !- Hour 3 + 0, !- Minute 3 + 0.55, !- Value Until Time 3 + 11, !- Hour 4 + 0, !- Minute 4 + 0.64, !- Value Until Time 4 + 12, !- Hour 5 + 0, !- Minute 5 + 0.82, !- Value Until Time 5 + 13, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 14, !- Hour 7 + 0, !- Minute 7 + 0.91, !- Value Until Time 7 + 16, !- Hour 8 + 0, !- Minute 8 + 0.55, !- Value Until Time 8 + 17, !- Hour 9 + 0, !- Minute 9 + 0.73, !- Value Until Time 9 + 19, !- Hour 10 + 0, !- Minute 10 + 0.37, !- Value Until Time 10 + 20, !- Hour 11 + 0, !- Minute 11 + 0.18, !- Value Until Time 11 + 21, !- Hour 12 + 0, !- Minute 12 + 0.27, !- Value Until Time 12 + 22, !- Hour 13 + 0, !- Minute 13 + 0.09, !- Value Until Time 13 + 24, !- Hour 14 + 0, !- Minute 14 + 0; !- Value Until Time 14 + +OS:Schedule:Rule, + {29fae5ea-3a08-4dce-a7d3-fb8c63bc8729}, !- Handle + Schedule Rule 16, !- Name + {f2741db2-f1e7-4401-8287-4327365c751a}, !- Schedule Ruleset Name + 0, !- Rule Order + {46743933-9cbc-4b71-9f82-ef204aef970f}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {46743933-9cbc-4b71-9f82-ef204aef970f}, !- Handle + OfficeSmall BLDG_SWH_SCH WntrDsn|SmrDsn|Wkdy Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.27, !- Value Until Time 2 + 9, !- Hour 3 + 0, !- Minute 3 + 0.55, !- Value Until Time 3 + 11, !- Hour 4 + 0, !- Minute 4 + 0.64, !- Value Until Time 4 + 12, !- Hour 5 + 0, !- Minute 5 + 0.82, !- Value Until Time 5 + 13, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 14, !- Hour 7 + 0, !- Minute 7 + 0.91, !- Value Until Time 7 + 16, !- Hour 8 + 0, !- Minute 8 + 0.55, !- Value Until Time 8 + 17, !- Hour 9 + 0, !- Minute 9 + 0.73, !- Value Until Time 9 + 19, !- Hour 10 + 0, !- Minute 10 + 0.37, !- Value Until Time 10 + 20, !- Hour 11 + 0, !- Minute 11 + 0.18, !- Value Until Time 11 + 21, !- Hour 12 + 0, !- Minute 12 + 0.27, !- Value Until Time 12 + 22, !- Hour 13 + 0, !- Minute 13 + 0.09, !- Value Until Time 13 + 24, !- Hour 14 + 0, !- Minute 14 + 0; !- Value Until Time 14 + +OS:Node, + {807061cc-bc68-42f4-a870-0ff82972266a}, !- Handle + Main WUC 0.06gpm at 140F Inlet Water Node, !- Name + {294daabd-d063-4329-9685-9bc633f48d7d}, !- Inlet Port + {1cee1470-8687-4e2e-92ba-b3d82e804fe1}; !- Outlet Port + +OS:Connection, + {294daabd-d063-4329-9685-9bc633f48d7d}, !- Handle + {e636d658-2fac-4ed7-802d-331e347c496b}, !- Name + {fa569ace-a074-4bed-afae-f4fe7cada7d5}, !- Source Object + 4, !- Outlet Port + {807061cc-bc68-42f4-a870-0ff82972266a}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {baaab56d-3f76-48fb-8476-ddbd58613d0d}, !- Handle + Main WUC 0.06gpm at 140F Outlet Water Node, !- Name + {59197b6e-d21e-49c4-b029-3ed69c11a773}, !- Inlet Port + {bd7d1e99-a215-4611-a5b3-a851765a1e5f}; !- Outlet Port + +OS:Connection, + {1cee1470-8687-4e2e-92ba-b3d82e804fe1}, !- Handle + {e03d1538-39df-43b1-859b-16785dfcbd34}, !- Name + {807061cc-bc68-42f4-a870-0ff82972266a}, !- Source Object + 3, !- Outlet Port + {c070e591-a24b-4335-8f0b-5dcb06e48a96}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {59197b6e-d21e-49c4-b029-3ed69c11a773}, !- Handle + {e86a2a89-122a-418d-807d-42b92e6e24af}, !- Name + {c070e591-a24b-4335-8f0b-5dcb06e48a96}, !- Source Object + 3, !- Outlet Port + {baaab56d-3f76-48fb-8476-ddbd58613d0d}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {bd7d1e99-a215-4611-a5b3-a851765a1e5f}, !- Handle + {3104a7f7-72e5-42e0-a3b8-97097b9c9c7c}, !- Name + {baaab56d-3f76-48fb-8476-ddbd58613d0d}, !- Source Object + 3, !- Outlet Port + {eec0c615-5d70-46e8-8f2f-4565de23a9ee}, !- Target Object + 4; !- Inlet Port + +OS:Exterior:Lights:Definition, + {0bd1545a-d1aa-4316-9e5f-4ea1626ee5c4}, !- Handle + Occ Sensing Exterior Lights Def, !- Name + 861.3; !- Design Level {W} + +OS:Schedule:Ruleset, + {7797fdd0-8401-47b1-b577-e42c468414c7}, !- Handle + OfficeSmall Exterior_lighting_schedule_b, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {2a179893-6cff-4642-8283-689930067c49}, !- Default Day Schedule Name + {e72dccd1-7f31-420b-839a-6d326de2bd39}, !- Summer Design Day Schedule Name + {92648abe-63f6-42a7-848c-016cfc9ee37a}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {2a179893-6cff-4642-8283-689930067c49}, !- Handle + OfficeSmall Exterior_lighting_schedule_b Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {92648abe-63f6-42a7-848c-016cfc9ee37a}, !- Handle + OfficeSmall Exterior_lighting_schedule_b Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {e72dccd1-7f31-420b-839a-6d326de2bd39}, !- Handle + OfficeSmall Exterior_lighting_schedule_b Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Exterior:Lights, + {bcb819d4-9426-498b-bc7f-b5fdf6a23648}, !- Handle + Occ Sensing Exterior Lights Def, !- Name + {0bd1545a-d1aa-4316-9e5f-4ea1626ee5c4}, !- Exterior Lights Definition Name + {7797fdd0-8401-47b1-b577-e42c468414c7}, !- Schedule Name + AstronomicalClock, !- Control Option + , !- Multiplier + General; !- End-Use Subcategory + +OS:Exterior:Lights:Definition, + {0a69db04-b019-4641-88b2-6a7a05f1f308}, !- Handle + NonDimming Exterior Lights Def, !- Name + 50.7; !- Design Level {W} + +OS:Schedule:Ruleset, + {ff2e3784-c7a0-4f28-9d72-4fce9ff481b1}, !- Handle + OfficeSmall Exterior_lighting_schedule_a, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + {3a32ea1e-fce5-4d9f-89ac-67d2cfee6d42}, !- Default Day Schedule Name + {24148555-dc42-4377-862f-06cfeeed7f34}, !- Summer Design Day Schedule Name + {2e0df353-c958-4abe-8911-bb42bca4b7d8}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {3a32ea1e-fce5-4d9f-89ac-67d2cfee6d42}, !- Handle + OfficeSmall Exterior_lighting_schedule_a Default, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {2e0df353-c958-4abe-8911-bb42bca4b7d8}, !- Handle + OfficeSmall Exterior_lighting_schedule_a Winter Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {24148555-dc42-4377-862f-06cfeeed7f34}, !- Handle + OfficeSmall Exterior_lighting_schedule_a Summer Design Day, !- Name + {a0e11dfe-a316-4f65-a2a6-71e1155251f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Exterior:Lights, + {87a28c6d-67c4-45c5-8603-dbfd53fee26a}, !- Handle + NonDimming Exterior Lights Def, !- Name + {0a69db04-b019-4641-88b2-6a7a05f1f308}, !- Exterior Lights Definition Name + {ff2e3784-c7a0-4f28-9d72-4fce9ff481b1}, !- Schedule Name + AstronomicalClock, !- Control Option + , !- Multiplier + General; !- End-Use Subcategory + +OS:Site:WaterMainsTemperature, + {a35e14d9-5d4c-4890-9782-5ba38e0f2485}, !- Handle + Correlation, !- Calculation Method + , !- Temperature Schedule Name + 17.9416666666667, !- Annual Average Outdoor Air Temperature {C} + 21.1; !- Maximum Difference In Monthly Average Outdoor Air Temperatures {deltaC} + +OS:SizingPeriod:DesignDay, + {b42e00ae-9ff2-449f-8d59-d1f8ccc929a7}, !- Handle + El Paso International Ap Ut Ann Clg .4% Condns DB=>MWB, !- Name + 38.1, !- Maximum Dry-Bulb Temperature {C} + 13, !- Daily Dry-Bulb Temperature Range {deltaC} + 18.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 87865, !- Barometric Pressure {Pa} + 3.9, !- Wind Speed {m/s} + 280, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.605, !- ASHRAE Taub {dimensionless} + 1.547; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {740cbb7d-40f2-4ab6-8cd7-253e67180cbd}, !- Handle + El Paso International Ap Ut Ann Htg 99.6% Condns DB, !- Name + -5.2, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -5.2, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 87865, !- Barometric Pressure {Pa} + 2.2, !- Wind Speed {m/s} + 20, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 12, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:RunPeriodControl:DaylightSavingTime, + {b5820828-cad8-4363-894f-aae160351fab}, !- Handle + 2nd Sunday in March, !- Start Date + 1st Sunday in November; !- End Date + +OS:Site:GroundTemperature:BuildingSurface, + {01569298-9d4a-428e-b835-3cb13144d5fe}, !- Handle + 20.17, !- January Ground Temperature {C} + 20.16, !- February Ground Temperature {C} + 20.25, !- March Ground Temperature {C} + 20.51, !- April Ground Temperature {C} + 20.82, !- May Ground Temperature {C} + 22.99, !- June Ground Temperature {C} + 23.5, !- July Ground Temperature {C} + 23.64, !- August Ground Temperature {C} + 23.62, !- September Ground Temperature {C} + 21.47, !- October Ground Temperature {C} + 20.78, !- November Ground Temperature {C} + 20.35; !- December Ground Temperature {C} + +OS:Schedule:Day, + {e098e5bd-d8af-4c2d-83ba-89f8cef6c855}, !- Handle + Economizer Max OA Fraction 70 pct Default, !- Name + , !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.7; !- Value Until Time 1 + +OS:Curve:Cubic, + {7b2b5732-b1f4-4348-9be3-882ad5731b3f}, !- Handle + DXHEAT-NECB2011-REF-CAPFT, !- Name + 0.729, !- Coefficient1 Constant + 0.0319, !- Coefficient2 x + 0.000136, !- Coefficient3 x**2 + -8.75e-06, !- Coefficient4 x**3 + -20, !- Minimum Value of x + 20; !- Maximum Value of x + +OS:Curve:Cubic, + {185fd394-08e0-4307-aa6b-55d376f9231b}, !- Handle + DXHEAT-NECB2011-REF-CAPFFLOW, !- Name + 0.84, !- Coefficient1 Constant + 0.16, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Coefficient4 x**3 + 0.5, !- Minimum Value of x + 1.5; !- Maximum Value of x + +OS:Curve:Cubic, + {45c88caa-1628-4ec3-9463-2a5b156a6105}, !- Handle + DXHEAT-NECB2011-REF-EIRFT, !- Name + 1.2183, !- Coefficient1 Constant + -0.03612, !- Coefficient2 x + 0.00142, !- Coefficient3 x**2 + -2.68e-05, !- Coefficient4 x**3 + -20, !- Minimum Value of x + 20; !- Maximum Value of x + +OS:Curve:Quadratic, + {0f149e0d-5c2e-450b-b3d2-3785d980084a}, !- Handle + DXHEAT-NECB2011-REF-EIRFFLOW, !- Name + 1.3824, !- Coefficient1 Constant + -0.4336, !- Coefficient2 x + 0.0512, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Curve:Cubic, + {2bb36c8f-d775-4599-a1d6-2a4871d4f143}, !- Handle + DXHEAT-NECB2011-REF-PLFFPLR, !- Name + 0.3696, !- Coefficient1 Constant + 2.3362, !- Coefficient2 x + -2.9577, !- Coefficient3 x**2 + 1.2596, !- Coefficient4 x**3 + 0.7, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Curve:Biquadratic, + {9c138ab4-9bdb-4b6c-a80e-e9b005d1fb94}, !- Handle + HPACCoolCapFT, !- Name + 0.766956, !- Coefficient1 Constant + 0.0107756, !- Coefficient2 x + -4.14703e-05, !- Coefficient3 x**2 + 0.00134961, !- Coefficient4 y + -0.000261144, !- Coefficient5 y**2 + 0.000457488, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Curve:Quadratic, + {76a537cd-32b4-4424-8105-6e7481b5df39}, !- Handle + HPACCoolCapFFF, !- Name + 0.8, !- Coefficient1 Constant + 0.2, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0.5, !- Minimum Value of x + 1.5; !- Maximum Value of x + +OS:Curve:Biquadratic, + {606d6e5d-29f5-47cc-bd72-f141fad5821a}, !- Handle + HPACCOOLEIRFT, !- Name + 0.297145, !- Coefficient1 Constant + 0.0430933, !- Coefficient2 x + -0.000748766, !- Coefficient3 x**2 + 0.00597727, !- Coefficient4 y + 0.000482112, !- Coefficient5 y**2 + -0.000956448, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 21.11111, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Curve:Quadratic, + {9b2ac67e-8318-4e20-b07e-1e6ed75e20b7}, !- Handle + HPACCOOLEIRFFF, !- Name + 1.156, !- Coefficient1 Constant + -0.1816, !- Coefficient2 x + 0.0256, !- Coefficient3 x**2 + 0.5, !- Minimum Value of x + 1.5; !- Maximum Value of x + +OS:Curve:Quadratic, + {4b0f8267-eecd-4c31-b0c2-452a21759502}, !- Handle + HPACCOOLPLFFPLR, !- Name + 0.85, !- Coefficient1 Constant + 0.15, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:AdditionalProperties, + {e918274e-c81c-4122-994c-33fc8acd63c1}, !- Handle + {8b1fcddd-92a1-49ac-9166-3210e611b41c}; !- Object Name + +OS:Daylighting:Control, + {e8cd16df-71d1-4a8b-92d3-aa509a0c0c52}, !- Handle + Perimeter_ZN_1 Daylt Sensor 1, !- Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + 3.3236, !- Position X-Coordinate {m} + 1.6002, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {19c12be3-4903-42f5-beac-a1f7083c2797}, !- Handle + Perimeter_ZN_1 Daylt Sensor 2, !- Name + {72459874-7e2c-4ecd-ae58-b2d96c368b31}, !- Space Name + 8.9611, !- Position X-Coordinate {m} + 1.6002, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {42adacb8-8922-40d8-a156-92af6e998883}, !- Handle + Perimeter_ZN_2 Daylt Sensor 1, !- Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + 26.0898, !- Position X-Coordinate {m} + 3.3236, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {641bcb4b-14d8-47f2-a6b2-7c2618864678}, !- Handle + Perimeter_ZN_2 Daylt Sensor 2, !- Name + {0ebdaea7-c6cb-452f-b121-7bbfcb1d95b8}, !- Space Name + 26.0898, !- Position X-Coordinate {m} + 9.23, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {fc3bf81d-bfd3-46df-a1f5-7670c3076208}, !- Handle + Perimeter_ZN_3 Daylt Sensor 1, !- Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + 13.8684, !- Position X-Coordinate {m} + 16.8598, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {a361c842-3e20-4fd0-af27-9e26e7fafe6c}, !- Handle + Perimeter_ZN_3 Daylt Sensor 2, !- Name + {bb97cae6-ab6e-4ca9-a862-a3e532ee5e5d}, !- Space Name + 24.3664, !- Position X-Coordinate {m} + 16.8598, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {896ce227-026e-4189-a13b-3468810eeeb0}, !- Handle + Perimeter_ZN_4 Daylt Sensor 1, !- Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + 1.6002, !- Position X-Coordinate {m} + 15.1364, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {ca02aeb9-446f-4395-84f8-b0078dcc1bbb}, !- Handle + Perimeter_ZN_4 Daylt Sensor 2, !- Name + {f9fb4430-2ed2-4cfb-bf10-1172712402a2}, !- Space Name + 1.6002, !- Position X-Coordinate {m} + 9.2446, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Construction, + {1ab35ace-e7d4-4c6b-b9d3-21788b23d144}, !- Handle + Perimeter_ZN_4_wall_west Typical Insulated Wood Framed Exterior Wall R-11.24, !- Name + , !- Surface Rendering Name + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Layer 1 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 2 + {be1bfdce-da65-463c-8aff-fad6123531c8}, !- Layer 3 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}; !- Layer 4 + +OS:StandardsInformation:Construction, + {0dfc6403-6e0c-443e-adf0-198b351f6ff8}, !- Handle + {1ab35ace-e7d4-4c6b-b9d3-21788b23d144}, !- Construction Name + ExteriorWall, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {be1bfdce-da65-463c-8aff-fad6123531c8}, !- Handle + Perimeter_ZN_4_wall_west Typical Insulation R-9.06 1, !- Name + Smooth, !- Roughness + 0.627017921571203, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {1837f704-ad63-4a2b-8b8f-265c18722d36}, !- Handle + Perimeter_ZN_2_wall_east Typical Insulated Wood Framed Exterior Wall R-11.24, !- Name + , !- Surface Rendering Name + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Layer 1 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 2 + {04edf2e7-f4a1-44da-bf23-b6d6fba011b7}, !- Layer 3 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}; !- Layer 4 + +OS:StandardsInformation:Construction, + {1e399d16-ec34-4faf-b9a1-783a0fa2fe30}, !- Handle + {1837f704-ad63-4a2b-8b8f-265c18722d36}, !- Construction Name + ExteriorWall, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {04edf2e7-f4a1-44da-bf23-b6d6fba011b7}, !- Handle + Perimeter_ZN_2_wall_east Typical Insulation R-9.06 1, !- Name + Smooth, !- Roughness + 0.627017921571203, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {febeb1fb-5d53-4a08-ab40-07e507af8f12}, !- Handle + Attic_soffit_west Typical Insulated Exterior Mass Floor R-11.49, !- Name + , !- Surface Rendering Name + {a3b17fcb-79cb-45ea-b384-b7bfb9133f59}, !- Layer 1 + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Layer 2 + {24813403-481c-4d85-bf47-6ddf32f7b5bd}; !- Layer 3 + +OS:StandardsInformation:Construction, + {9faf5a7e-1b90-42c4-8378-1bc3ab075e96}, !- Handle + {febeb1fb-5d53-4a08-ab40-07e507af8f12}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {a3b17fcb-79cb-45ea-b384-b7bfb9133f59}, !- Handle + Attic_soffit_west Typical Insulation R-8.93 1, !- Name + Smooth, !- Roughness + 0.469273467910884, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {845356c6-80e1-4252-933c-884e4f5409ed}, !- Handle + Perimeter_ZN_3_wall_north Typical Insulated Wood Framed Exterior Wall R-11.24, !- Name + , !- Surface Rendering Name + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Layer 1 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 2 + {b229b6e0-9376-481a-984a-8dacd44743b3}, !- Layer 3 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}; !- Layer 4 + +OS:StandardsInformation:Construction, + {d4305039-5a42-45cc-b7b4-2c42ccfeb600}, !- Handle + {845356c6-80e1-4252-933c-884e4f5409ed}, !- Construction Name + ExteriorWall, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {b229b6e0-9376-481a-984a-8dacd44743b3}, !- Handle + Perimeter_ZN_3_wall_north Typical Insulation R-9.06 1, !- Name + Smooth, !- Roughness + 0.634634664168606, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {dfd9632f-efdd-48e1-a271-289d41533d5a}, !- Handle + Attic_soffit_east Typical Insulated Exterior Mass Floor R-11.49, !- Name + , !- Surface Rendering Name + {ad809b4b-fcec-4fe9-8136-5da6d2fe0031}, !- Layer 1 + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Layer 2 + {24813403-481c-4d85-bf47-6ddf32f7b5bd}; !- Layer 3 + +OS:StandardsInformation:Construction, + {f28dc4d2-7c48-40f7-aee7-af561d14e90a}, !- Handle + {dfd9632f-efdd-48e1-a271-289d41533d5a}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {ad809b4b-fcec-4fe9-8136-5da6d2fe0031}, !- Handle + Attic_soffit_east Typical Insulation R-8.93 1, !- Name + Smooth, !- Roughness + 0.469273467910883, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {f63f829b-82a3-45ae-b43e-d64448eee8cc}, !- Handle + Attic_soffit_north Typical Insulated Exterior Mass Floor R-11.49, !- Name + , !- Surface Rendering Name + {10df80e4-5141-4192-940c-0f44a6f3b269}, !- Layer 1 + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Layer 2 + {24813403-481c-4d85-bf47-6ddf32f7b5bd}; !- Layer 3 + +OS:StandardsInformation:Construction, + {5d8a5bbe-b717-41e8-acba-e06c6e9d4030}, !- Handle + {f63f829b-82a3-45ae-b43e-d64448eee8cc}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {10df80e4-5141-4192-940c-0f44a6f3b269}, !- Handle + Attic_soffit_north Typical Insulation R-8.93 1, !- Name + Smooth, !- Roughness + 0.468896808229875, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {d464d6a4-d11f-4387-bb9e-fb578c0175a7}, !- Handle + Attic_roof_west Typical Wood Joist Attic Floor R-37.04, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {51c6121b-c44a-4373-8743-7bbf4d718e01}; !- Layer 2 + +OS:StandardsInformation:Construction, + {27372cdc-4c8f-476c-b0b8-022bebaf98c6}, !- Handle + {d464d6a4-d11f-4387-bb9e-fb578c0175a7}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {51c6121b-c44a-4373-8743-7bbf4d718e01}, !- Handle + Attic_roof_west Typical Insulation R-35.4 2, !- Name + Smooth, !- Roughness + 4.20893587096259, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {7934de66-30c0-4999-9fa1-11810c1886a6}, !- Handle + Attic_roof_south Typical Wood Joist Attic Floor R-37.04, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {c41495da-083d-4c1d-9f4a-5521dec41a15}; !- Layer 2 + +OS:StandardsInformation:Construction, + {45c9e0fc-b7ce-4c73-8951-f113ebd84aeb}, !- Handle + {7934de66-30c0-4999-9fa1-11810c1886a6}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {c41495da-083d-4c1d-9f4a-5521dec41a15}, !- Handle + Attic_roof_south Typical Insulation R-35.4 2, !- Name + Smooth, !- Roughness + 4.56834898224902, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {25e20e5b-e82a-4286-a4c1-6971be319c18}, !- Handle + Attic_soffit_south Typical Insulated Exterior Mass Floor R-11.49, !- Name + , !- Surface Rendering Name + {dfc2c73f-df5b-4ae1-86d9-d0e599148717}, !- Layer 1 + {9f463c98-cf39-48e7-8b7f-25d713475471}, !- Layer 2 + {24813403-481c-4d85-bf47-6ddf32f7b5bd}; !- Layer 3 + +OS:StandardsInformation:Construction, + {b2c07227-cbd3-4831-9ad5-79b13a35276b}, !- Handle + {25e20e5b-e82a-4286-a4c1-6971be319c18}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {dfc2c73f-df5b-4ae1-86d9-d0e599148717}, !- Handle + Attic_soffit_south Typical Insulation R-8.93 1, !- Name + Smooth, !- Roughness + 0.468896808229876, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {588f33d0-e3f2-406c-8759-28a57601add0}, !- Handle + Attic_roof_east Typical Wood Joist Attic Floor R-37.04, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {c64186be-9f1d-420b-ba2a-6cc3af7c2123}; !- Layer 2 + +OS:StandardsInformation:Construction, + {596ca39b-aaf1-4a4f-9c9c-f903614048ab}, !- Handle + {588f33d0-e3f2-406c-8759-28a57601add0}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {c64186be-9f1d-420b-ba2a-6cc3af7c2123}, !- Handle + Attic_roof_east Typical Insulation R-35.4 2, !- Name + Smooth, !- Roughness + 4.20893587096259, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {1296f169-6fa2-4db3-a598-be70282232ee}, !- Handle + Perimeter_ZN_1_wall_south Typical Insulated Wood Framed Exterior Wall R-11.24, !- Name + , !- Surface Rendering Name + {2fd0d831-523d-4fcb-920c-96e14be680e9}, !- Layer 1 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 2 + {3155bd47-a99e-44c7-acd0-e0239bb23a5c}, !- Layer 3 + {f8171c6e-121f-478a-915a-a01fcc2a37a7}; !- Layer 4 + +OS:StandardsInformation:Construction, + {fade83ae-0a93-4129-85ad-168675bfda1d}, !- Handle + {1296f169-6fa2-4db3-a598-be70282232ee}, !- Construction Name + ExteriorWall, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {3155bd47-a99e-44c7-acd0-e0239bb23a5c}, !- Handle + Perimeter_ZN_1_wall_south Typical Insulation R-9.06 1, !- Name + Smooth, !- Roughness + 0.594690149255382, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {2a92f2cc-010e-4151-b20e-dda58f6c6a5f}, !- Handle + Attic_roof_north Typical Wood Joist Attic Floor R-37.04, !- Name + , !- Surface Rendering Name + {f8171c6e-121f-478a-915a-a01fcc2a37a7}, !- Layer 1 + {0c123c3f-62ee-4735-8dae-799af27e4d9c}; !- Layer 2 + +OS:StandardsInformation:Construction, + {671cc240-33a7-4d3b-b29e-cb136190bb79}, !- Handle + {2a92f2cc-010e-4151-b20e-dda58f6c6a5f}, !- Construction Name + AtticFloor, !- Intended Surface Type + WoodFramed; !- Standards Construction Type + +OS:Material:NoMass, + {0c123c3f-62ee-4735-8dae-799af27e4d9c}, !- Handle + Attic_roof_north Typical Insulation R-35.4 2, !- Name + Smooth, !- Roughness + 4.56834898224902, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance diff --git a/tests/files/osms/in/warehouse.osm b/tests/files/osms/in/warehouse.osm new file mode 100644 index 0000000..f13cfaf --- /dev/null +++ b/tests/files/osms/in/warehouse.osm @@ -0,0 +1,7107 @@ + +OS:Version, + {3984e9e8-62e7-4e57-87b4-79a3e4ecb931}, !- Handle + 2.9.1; !- Version Identifier + +OS:Schedule:Constant, + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Handle + Always On Discrete, !- Name + {1ab205d4-a33a-4074-bbea-78f9a7c19099}, !- Schedule Type Limits Name + 1; !- Value + +OS:ScheduleTypeLimits, + {1ab205d4-a33a-4074-bbea-78f9a7c19099}, !- Handle + Always On Discrete Limits, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Timestep, + {b0fa043b-3e91-4705-b798-a26bbea47620}, !- Handle + 6; !- Number of Timesteps per Hour + +OS:Sizing:Parameters, + {004b243b-4b6a-4f4c-8e8e-be8491724b37}, !- Handle + 1.2, !- Heating Sizing Factor + 1.2, !- Cooling Sizing Factor + 6; !- Timesteps in Averaging Window + +OS:ConvergenceLimits, + {ceac8795-dbb3-4040-a5d6-64105977a538}, !- Handle + 1, !- Minimum System Timestep {minutes} + 20; !- Maximum HVAC Iterations + +OS:Connection, + {b742b2ef-79b6-4b4e-bc85-5c20c1c8300f}, !- Handle + {15de7a4c-1724-4ba3-a1e6-a66b0ba90514}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Handle + Zone3 Bulk Storage, !- Name + {aabbd8d8-a688-47dd-8dd9-7290bdad9599}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {db75d8b1-6332-4998-b7c2-ad46d4bbd08b}, !- Building Story Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:SubSurface, + {6dac61d8-7411-4423-985c-36b2c5e8b7cf}, !- Handle + Skylight_r2c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 37.39673, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 37.39673, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 36.17753, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 36.17753, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Handle + Bulk Storage Roof, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 100.579094839222, 8.53398380454007, !- X,Y,Z Vertex 2 {m} + 0, 100.579094839222, 8.53398380454007, !- X,Y,Z Vertex 3 {m} + 0, 30.4785135876431, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {5985fe05-ad32-4b65-b0c2-46302891e062}, !- Handle + Fine Storage Left Door, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {e7c4e556-9445-43b4-bfcc-f9fc21f24f21}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 20.2682115357827, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 0, 20.2682115357827, 0, !- X,Y,Z Vertex 2 {m} + 0, 19.3538561281534, 0, !- X,Y,Z Vertex 3 {m} + 0, 19.3538561281534, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {e7c4e556-9445-43b4-bfcc-f9fc21f24f21}, !- Handle + Fine Storage Left Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 0, 30.4785135876431, 0, !- X,Y,Z Vertex 2 {m} + 0, 9.14355407629293, 0, !- X,Y,Z Vertex 3 {m} + 0, 9.14355407629293, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {dc04fefb-3f18-45be-8f68-9d2cd3eb4a21}, !- Handle + {e66b1d83-cc39-44fb-8764-30d98d02c75a}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Handle + Zone2 Fine Storage, !- Name + {fa494797-3b47-43b7-8d83-65371f4bbb13}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {db75d8b1-6332-4998-b7c2-ad46d4bbd08b}, !- Building Story Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:Surface, + {b8444fba-ff4e-4e81-b369-e9f3efc4a2d6}, !- Handle + Office Roof, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Surface, !- Outside Boundary Condition + {a273ffc4-632f-4b89-9d6d-f94185f45049}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 0, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 2 {m} + 0, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 3 {m} + 0, 0, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:Connection, + {3386e9fe-e830-491d-a1bc-dbb0ba0af916}, !- Handle + {20ab44d7-01dc-49cd-b623-cd8f0a86b916}, !- Name + , !- Source Object + 11, !- Outlet Port + , !- Target Object + 2; !- Inlet Port + +OS:Space, + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Handle + Zone1 Office, !- Name + {626ccb3f-df17-4651-ba00-0696cb5a3ca7}, !- Space Type Name + , !- Default Construction Set Name + , !- Default Schedule Set Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + {db75d8b1-6332-4998-b7c2-ad46d4bbd08b}, !- Building Story Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Thermal Zone Name + Yes; !- Part of Total Floor Area + +OS:Surface, + {a273ffc4-632f-4b89-9d6d-f94185f45049}, !- Handle + Office Roof Reversed, !- Name + Floor, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Surface, !- Outside Boundary Condition + {b8444fba-ff4e-4e81-b369-e9f3efc4a2d6}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 0, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 0, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {cc340669-2635-4608-ad68-8448960033df}, !- Handle + Skylight_r7c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 9.50753, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 9.50753, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 8.28833, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 8.28833, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ca7079b5-217f-4c8e-9b5f-7ce447ae706c}, !- Handle + Skylight_r1c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 42.97457, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 42.97457, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 41.75537, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 41.75537, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {b8b06532-b20c-4b27-b353-fb685ea15ba8}, !- Handle + Bulk Storage Rear Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 100.579094839222, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 100.579094839222, 0, !- X,Y,Z Vertex 2 {m} + 0, 100.579094839222, 0, !- X,Y,Z Vertex 3 {m} + 0, 100.579094839222, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {b189551d-e42f-4762-b7d3-22cefb330f22}, !- Handle + Skylight_r5c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 20.66321, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 20.66321, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 19.44401, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 19.44401, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {e86312f3-df9c-4a72-8bf5-276fd9968053}, !- Handle + Bulk Storage Floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 100.579094839222, 0, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 2 {m} + 0, 30.4785135876431, 0, !- X,Y,Z Vertex 3 {m} + 0, 100.579094839222, 0; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {9f541237-384a-4267-84c0-29c65974973b}, !- Handle + Skylight_r1c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 42.97457, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 42.97457, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 41.75537, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 41.75537, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {2d7ae645-bbe8-4865-b17c-c19f599fae46}, !- Handle + Skylight_r4c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 26.24105, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 26.24105, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 25.02185, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 25.02185, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {d7dee294-b5d7-44b5-95a1-700bae533d52}, !- Handle + Skylight_r5c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 20.66321, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 20.66321, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 19.44401, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 19.44401, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {21b9512b-88b8-4df7-8ddf-b5b9f2c9f530}, !- Handle + Overhead Door 3, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 75.8153025492622, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 75.8153025492622, 0, !- X,Y,Z Vertex 2 {m} + 0, 73.3770214622508, 0, !- X,Y,Z Vertex 3 {m} + 0, 73.3770214622508, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Handle + Bulk Storage Left Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 100.579094839222, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 0, 100.579094839222, 0, !- X,Y,Z Vertex 2 {m} + 0, 30.4785135876431, 0, !- X,Y,Z Vertex 3 {m} + 0, 30.4785135876431, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {eafc8f7a-abc5-4cd4-9dbf-f615e529ab78}, !- Handle + Skylight_r3c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 31.81889, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 31.81889, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 30.59969, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 30.59969, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {fc6efd96-2946-4c9e-b61a-a97517f30481}, !- Handle + Overhead Door 7, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 39.5458713799669, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 39.5458713799669, 0, !- X,Y,Z Vertex 2 {m} + 0, 37.1075902929555, 0, !- X,Y,Z Vertex 3 {m} + 0, 37.1075902929555, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {eb38baf8-4819-4f38-99d7-de17082804a6}, !- Handle + Fine Storage Floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 0, 0, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 4 {m} + 0, 9.14355407629293, 0, !- X,Y,Z Vertex 5 {m} + 0, 30.4785135876431, 0; !- X,Y,Z Vertex 6 {m} + +OS:SubSurface, + {deca29f3-9920-47db-8341-dfaef5245578}, !- Handle + Fine Storage Right Door, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {a0ba0fa9-aa51-4fbe-bdcc-bf0a22e397dd}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 45.7177703814647, 14.7820790900069, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 14.7820790900069, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 15.6964344976362, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 15.6964344976362, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {a0ba0fa9-aa51-4fbe-bdcc-bf0a22e397dd}, !- Handle + Fine Storage Right Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 0, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 0, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 30.4785135876431, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {71b64072-759e-42a0-8204-04b81749a0fb}, !- Handle + Skylight_r3c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 31.81889, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 31.81889, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 30.59969, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 30.59969, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {65a4927d-efbe-4ffa-bee2-c79215c46ccd}, !- Handle + Skylight_r4c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 26.24105, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 26.24105, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 25.02185, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 25.02185, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {000ddd2c-3ea4-4776-9e8e-e4d848761cac}, !- Handle + Skylight_r6c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 15.08537, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 15.08537, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 13.86617, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 13.86617, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {74e5cc19-6b77-40e3-bb48-dd2003bc1d25}, !- Handle + FineStorage_skylight_5, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 40.6146, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 40.6146, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 39.3954, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 39.3954, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Handle + Fine Storage Roof, !- Name + RoofCeiling, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 0, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 2 {m} + 0, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 3 {m} + 0, 0, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {5bb15698-f168-4579-82ad-82ac03a40e93}, !- Handle + Skylight_r7c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 9.50753, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 9.50753, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 8.28833, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 8.28833, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {723b4775-b4d1-44f3-962a-910d9d76a9e6}, !- Handle + FineStorage_skylight_14, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 17.7546, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 17.7546, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 16.5354, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 16.5354, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {cad599ac-bdde-493c-83a4-f9617becb319}, !- Handle + FineStorage_skylight_6, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 17.7546, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 17.7546, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 16.5354, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 16.5354, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {9068a0fd-e4ed-49cc-abe3-df5dbff873c7}, !- Handle + Skylight_r2c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 37.39673, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 37.39673, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 36.17753, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 36.17753, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {acb38544-5d65-4bc8-9c65-f5b58d540d1a}, !- Handle + Skylight_r6c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 15.08537, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 15.08537, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 13.86617, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 13.86617, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {4163e0f8-32c9-4f3c-a01f-27d86e349545}, !- Handle + Skylight_r3c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 31.81889, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 31.81889, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 30.59969, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 30.59969, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {1b2bce67-d0d6-4a6e-9c3c-4796cf73b0e2}, !- Handle + Office Left Wall Window1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {af7ffab5-cb7d-4793-a68a-918ca67f7479}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 7.51904930207155, 2.43929602151392, !- X,Y,Z Vertex 1 {m} + 0, 7.51904930207155, 0.914355407629293, !- X,Y,Z Vertex 2 {m} + 0, 5.38555335093654, 0.914355407629293, !- X,Y,Z Vertex 3 {m} + 0, 5.38555335093654, 2.43929602151392; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {af7ffab5-cb7d-4793-a68a-918ca67f7479}, !- Handle + Office Left Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 0, 9.14355407629293, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 0, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {a966bae9-9301-4492-ae85-a3416cb9da09}, !- Handle + Office Floor, !- Name + Floor, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 2 {m} + 0, 0, 0, !- X,Y,Z Vertex 3 {m} + 0, 9.14355407629293, 0; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {fbc62a85-f0b5-40f2-be1b-0a363ae6f388}, !- Handle + FineStorage_skylight_10, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 40.6146, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 40.6146, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 39.3954, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 39.3954, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {a3206222-0b02-4aa5-bcc4-af8f70e1eec4}, !- Handle + FineStorage_skylight_12, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 6.3246, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 6.3246, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 5.1054, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 5.1054, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {7f4aebb1-9044-44cb-91ee-e1a559b436a0}, !- Handle + Office Right Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Surface, !- Outside Boundary Condition + {12dbc2fb-3517-42f9-9f00-f6147aaade5b}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 0, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 9.14355407629293, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {12dbc2fb-3517-42f9-9f00-f6147aaade5b}, !- Handle + Office Right Wall Reversed, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Surface, !- Outside Boundary Condition + {7f4aebb1-9044-44cb-91ee-e1a559b436a0}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 0, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ae336c51-d6bc-43de-b204-2d60f16d3d8e}, !- Handle + Office Front Door, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {a722f50f-fda4-4b2c-843f-44ea72a832c9}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 12.039012867119, 0, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 12.039012867119, 0, 0, !- X,Y,Z Vertex 2 {m} + 13.8677236823776, 0, 0, !- X,Y,Z Vertex 3 {m} + 13.8677236823776, 0, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {a722f50f-fda4-4b2c-843f-44ea72a832c9}, !- Handle + Office Front Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 0, 0, 0, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 0, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ddb38950-c035-4666-b655-f318ba7f0342}, !- Handle + Overhead Door 2, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 84.882660341586, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 84.882660341586, 0, !- X,Y,Z Vertex 2 {m} + 0, 82.4443792545746, 0, !- X,Y,Z Vertex 3 {m} + 0, 82.4443792545746, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {26cfb3f0-e78e-41d5-8957-e61cf58a1db9}, !- Handle + Skylight_r2c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 37.39673, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 37.39673, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 36.17753, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 36.17753, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {b269fc4f-b539-46ab-a05e-93c4dd91399b}, !- Handle + FineStorage_skylight_13, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.0396, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 12.0396, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 10.8204, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 10.8204, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {2ce21271-4aa0-4b4e-af87-47994c8beac1}, !- Handle + Bulk Storage Front Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Surface, !- Outside Boundary Condition + {139e955e-746e-43dc-9033-026507021b5a}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 2 {m} + 0, 30.4785135876431, 0, !- X,Y,Z Vertex 3 {m} + 0, 30.4785135876431, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {139e955e-746e-43dc-9033-026507021b5a}, !- Handle + Bulk Storage Front Wall Reversed, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Surface, !- Outside Boundary Condition + {2ce21271-4aa0-4b4e-af87-47994c8beac1}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 0, 30.4785135876431, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 30.4785135876431, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {bfd58ce8-1370-448e-89bc-dc1d1aa79552}, !- Handle + Office Front Wall Window2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {a722f50f-fda4-4b2c-843f-44ea72a832c9}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 18.5918932884623, 0, 2.43929602151392, !- X,Y,Z Vertex 1 {m} + 18.5918932884623, 0, 0.914355407629293, !- X,Y,Z Vertex 2 {m} + 22.2493149189795, 0, 0.914355407629293, !- X,Y,Z Vertex 3 {m} + 22.2493149189795, 0, 2.43929602151392; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ff679961-81cf-4795-9c24-deb699dd97b4}, !- Handle + FineStorage_skylight_7, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 23.4696, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 23.4696, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 22.2504, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 22.2504, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {145bfd04-ce48-4581-a2a9-e8970362044f}, !- Handle + Fine Storage Office Left Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 9.14355407629293, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 0, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 2 {m} + 0, 0, 4.26699190227003, !- X,Y,Z Vertex 3 {m} + 0, 0, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {de362f6f-5304-403a-9858-e02e47775660}, !- Handle + Bulk Storage Door-1, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {93a00761-ab33-4e9d-bff7-fed32e66feb1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 45.7177703814647, 47.5464811967232, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 47.5464811967232, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 48.4608366043525, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 48.4608366043525, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {93a00761-ab33-4e9d-bff7-fed32e66feb1}, !- Handle + Bulk Storage Right Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 45.7177703814647, 30.4785135876431, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 30.4785135876431, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 100.579094839222, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 100.579094839222, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {63248e82-ac72-47a3-bc8f-4fca4c4cc602}, !- Handle + FineStorage_skylight_11, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 6.3246, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 6.3246, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 5.1054, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 5.1054, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {06c61cc1-a825-4c84-afd9-2f77dd05133f}, !- Handle + Skylight_r1c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 42.97457, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 42.97457, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 41.75537, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 41.75537, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {fe5ff198-983e-4083-9bbd-55550c42673c}, !- Handle + Office Front Wall Window 1, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {a722f50f-fda4-4b2c-843f-44ea72a832c9}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 3.65742163051717, 0, 2.43929602151392, !- X,Y,Z Vertex 1 {m} + 3.65742163051717, 0, 0.914355407629293, !- X,Y,Z Vertex 2 {m} + 7.31484326103434, 0, 0.914355407629293, !- X,Y,Z Vertex 3 {m} + 7.31484326103434, 0, 2.43929602151392; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {77c7155f-c910-4a10-b06a-073c4dc43d10}, !- Handle + Overhead Door 4, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 66.7479447569384, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 66.7479447569384, 0, !- X,Y,Z Vertex 2 {m} + 0, 64.3096636699269, 0, !- X,Y,Z Vertex 3 {m} + 0, 64.3096636699269, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {203ed4e9-1069-4391-b393-bf5122d95e51}, !- Handle + Office Left Wall Door, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {af7ffab5-cb7d-4793-a68a-918ca67f7479}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 5.02895474196111, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 0, 5.02895474196111, 0, !- X,Y,Z Vertex 2 {m} + 0, 4.11459933433182, 0, !- X,Y,Z Vertex 3 {m} + 0, 4.11459933433182, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {0a0502e2-60ef-4c6a-b711-c7eef0da342c}, !- Handle + Skylight_r1c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 42.97457, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 42.97457, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 41.75537, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 41.75537, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {16519e3d-8e15-4801-a2f2-c20194bff92d}, !- Handle + Skylight_r5c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 20.66321, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 20.66321, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 19.44401, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 19.44401, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {14bef6c2-f2cb-44cc-a950-c64694551653}, !- Handle + Skylight_r4c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 26.24105, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 26.24105, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 25.02185, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 25.02185, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {3e0e2784-6483-4b29-9e66-6e25721edc69}, !- Handle + Overhead Door 6, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 48.6132291722907, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 48.6132291722907, 0, !- X,Y,Z Vertex 2 {m} + 0, 46.1749480852793, 0, !- X,Y,Z Vertex 3 {m} + 0, 46.1749480852793, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {c82475ee-c086-4192-b350-9a8ca99d1640}, !- Handle + Overhead Door 1, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 93.9500181339099, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 93.9500181339099, 0, !- X,Y,Z Vertex 2 {m} + 0, 91.5117370468984, 0, !- X,Y,Z Vertex 3 {m} + 0, 91.5117370468984, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {f77edabe-bbe0-41d3-b18f-375612f55f46}, !- Handle + FineStorage_skylight_3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 29.1846, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 29.1846, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 27.9654, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 27.9654, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {81ba3a04-e516-409e-a5a3-f95b0f1c45a2}, !- Handle + Skylight_r8c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 3.92969, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 3.92969, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 2.71049, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 2.71049, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {ddfb59e9-8491-4429-8cc9-ede8a5389d06}, !- Handle + FineStorage_skylight_2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 23.4696, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 23.4696, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 22.2504, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 22.2504, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {893f81b8-5a3d-4ade-bae7-a4ae16f2e54f}, !- Handle + Skylight_r7c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 9.50753, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 9.50753, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 8.28833, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 8.28833, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {06082934-0979-49fc-be68-3926952b5b43}, !- Handle + Overhead Door 5, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {2eb36d53-8956-4573-9d42-f3de2486a693}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 57.6805869646146, 3.04785135876431, !- X,Y,Z Vertex 1 {m} + 0, 57.6805869646146, 0, !- X,Y,Z Vertex 2 {m} + 0, 55.2423058776031, 0, !- X,Y,Z Vertex 3 {m} + 0, 55.2423058776031, 3.04785135876431; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {55af93ba-f5f7-4ea3-b37f-75d24979c576}, !- Handle + Skylight_r7c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 9.50753, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 9.50753, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 8.28833, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 8.28833, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {857f9ef3-3061-45eb-b04c-b4a4b76ff6cd}, !- Handle + Office Rear Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + Surface, !- Outside Boundary Condition + {4047aa22-d7b0-4e4a-a8a7-99a21122cc53}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 2 {m} + 0, 9.14355407629293, 0, !- X,Y,Z Vertex 3 {m} + 0, 9.14355407629293, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {4047aa22-d7b0-4e4a-a8a7-99a21122cc53}, !- Handle + Office Rear Wall Reversed, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Surface, !- Outside Boundary Condition + {857f9ef3-3061-45eb-b04c-b4a4b76ff6cd}, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 9.14355407629293, 4.26699190227003, !- X,Y,Z Vertex 1 {m} + 0, 9.14355407629293, 0, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 9.14355407629293, 0, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 9.14355407629293, 4.26699190227003; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {4961241f-39bd-4641-a266-965f00075f05}, !- Handle + Office Left Wall Window2, !- Name + FixedWindow, !- Sub Surface Type + , !- Construction Name + {af7ffab5-cb7d-4793-a68a-918ca67f7479}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 0, 3.75800072535639, 2.43929602151392, !- X,Y,Z Vertex 1 {m} + 0, 3.75800072535639, 0.914355407629293, !- X,Y,Z Vertex 2 {m} + 0, 1.62450477422138, 0.914355407629293, !- X,Y,Z Vertex 3 {m} + 0, 1.62450477422138, 2.43929602151392; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {08c17da5-fd99-4f4f-baf6-5047f75e5f9b}, !- Handle + Skylight_r8c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 3.92969, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 3.92969, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 2.71049, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 2.71049, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {0a7f9d39-e106-4c1b-b394-2e172c184462}, !- Handle + FineStorage_skylight_8, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 29.1846, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 29.1846, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 27.9654, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 27.9654, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {fd037e5f-9b53-49b8-bdb3-18ca014ef11e}, !- Handle + Bulk Storage Door-2, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {93a00761-ab33-4e9d-bff7-fed32e66feb1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 45.7177703814647, 65.071626509618, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 65.071626509618, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 65.9859819172473, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 65.9859819172473, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {1ceb88b4-39b3-42d2-85d2-298472205cfe}, !- Handle + Skylight_r8c1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 3.92969, 34.440914, 8.533984, !- X,Y,Z Vertex 1 {m} + 3.92969, 35.660114, 8.533984, !- X,Y,Z Vertex 2 {m} + 2.71049, 35.660114, 8.533984, !- X,Y,Z Vertex 3 {m} + 2.71049, 34.440914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {e59e81bf-fe4e-491f-a56e-ae1fab10310f}, !- Handle + Skylight_r5c3, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 20.66321, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 20.66321, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 19.44401, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 19.44401, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {a50eff28-8688-422b-9443-0a4fe183df9f}, !- Handle + Fine Storage Front Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 25.9067365494966, 0, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 25.9067365494966, 0, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 0, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 0, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {110a020c-6a19-4d4a-8aec-67e0503fa40e}, !- Handle + Skylight_r6c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 15.08537, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 15.08537, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 13.86617, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 13.86617, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {d237d869-aeeb-49fc-9e36-79d55341f2c9}, !- Handle + Bulk Storage Door-3, !- Name + Door, !- Sub Surface Type + , !- Construction Name + {93a00761-ab33-4e9d-bff7-fed32e66feb1}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1, !- Multiplier + , !- Number of Vertices + 45.7177703814647, 82.5967718225128, 2.13349595113502, !- X,Y,Z Vertex 1 {m} + 45.7177703814647, 82.5967718225128, 0, !- X,Y,Z Vertex 2 {m} + 45.7177703814647, 83.5111272301421, 0, !- X,Y,Z Vertex 3 {m} + 45.7177703814647, 83.5111272301421, 2.13349595113502; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {7d251698-d80f-4ca6-9fb9-a26a36c0f281}, !- Handle + FineStorage_skylight_4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 34.8996, 26.058914, 8.533984, !- X,Y,Z Vertex 1 {m} + 34.8996, 27.278114, 8.533984, !- X,Y,Z Vertex 2 {m} + 33.6804, 27.278114, 8.533984, !- X,Y,Z Vertex 3 {m} + 33.6804, 26.058914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {0ff5fa4f-c6c0-4cf3-b75e-3745e253f927}, !- Handle + FineStorage_skylight_1, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 12.0396, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 12.0396, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 10.8204, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 10.8204, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:Surface, + {5b1ce779-a299-4910-83a2-6fb6d1cee24f}, !- Handle + Fine Storage Office Front Wall, !- Name + Wall, !- Surface Type + , !- Construction Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + , !- View Factor to Ground + , !- Number of Vertices + 0, 0, 8.53398380454007, !- X,Y,Z Vertex 1 {m} + 0, 0, 4.26699190227003, !- X,Y,Z Vertex 2 {m} + 25.9067365494966, 0, 4.26699190227003, !- X,Y,Z Vertex 3 {m} + 25.9067365494966, 0, 8.53398380454007; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {af4a4bae-04c9-4642-b347-76863b4b56bf}, !- Handle + Skylight_r2c2, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 37.39673, 43.076914, 8.533984, !- X,Y,Z Vertex 1 {m} + 37.39673, 44.296114, 8.533984, !- X,Y,Z Vertex 2 {m} + 36.17753, 44.296114, 8.533984, !- X,Y,Z Vertex 3 {m} + 36.17753, 43.076914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {891a1ea7-f396-4874-ac74-83aab7bdef53}, !- Handle + Skylight_r3c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 31.81889, 51.712914, 8.533984, !- X,Y,Z Vertex 1 {m} + 31.81889, 52.932114, 8.533984, !- X,Y,Z Vertex 2 {m} + 30.59969, 52.932114, 8.533984, !- X,Y,Z Vertex 3 {m} + 30.59969, 51.712914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {85aa7a62-9fef-4759-9a95-6835bafd426b}, !- Handle + Skylight_r8c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 3.92969, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 3.92969, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 2.71049, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 2.71049, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {854ce644-01ce-4842-bb1c-ba3491ad5197}, !- Handle + FineStorage_skylight_9, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {dcc10c35-212a-4ba7-8909-e38fa0c8d3e8}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 34.8996, 18.438914, 8.533984, !- X,Y,Z Vertex 1 {m} + 34.8996, 19.658114, 8.533984, !- X,Y,Z Vertex 2 {m} + 33.6804, 19.658114, 8.533984, !- X,Y,Z Vertex 3 {m} + 33.6804, 18.438914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {49483e8c-e8d5-4cf0-a3a3-01c73866ba6b}, !- Handle + Skylight_r6c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 15.08537, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 15.08537, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 13.86617, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 13.86617, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:SubSurface, + {b376154b-e1fb-47a6-a929-969dc028bada}, !- Handle + Skylight_r4c4, !- Name + Skylight, !- Sub Surface Type + , !- Construction Name + {516ff702-eb03-4a25-9228-e1ad9dc5895c}, !- Surface Name + , !- Outside Boundary Condition Object + , !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + , !- Multiplier + , !- Number of Vertices + 26.24105, 60.348914, 8.533984, !- X,Y,Z Vertex 1 {m} + 26.24105, 61.568114, 8.533984, !- X,Y,Z Vertex 2 {m} + 25.02185, 61.568114, 8.533984, !- X,Y,Z Vertex 3 {m} + 25.02185, 60.348914, 8.533984; !- X,Y,Z Vertex 4 {m} + +OS:ClimateZones, + {376b058c-4e5c-42e7-91c5-a7e3e46c14bb}, !- Handle + , !- Active Institution + , !- Active Year + ASHRAE, !- Climate Zone Institution Name 1 + ANSI/ASHRAE Standard 169, !- Climate Zone Document Name 1 + 2006, !- Climate Zone Document Year 1 + 3B; !- Climate Zone Value 1 + +OS:LifeCycleCost:Parameters, + {9b956084-335f-4719-be60-6c3e1f278aa5}, !- Handle + FEMP, !- Analysis Type + , !- Discounting Convention + , !- Inflation Approach + , !- Real Discount Rate + , !- Nominal Discount Rate + , !- Inflation + , !- Base Date Month + , !- Base Date Year + , !- Service Date Month + , !- Service Date Year + , !- Length of Study Period in Years + , !- Tax Rate + , !- Depreciation Method + Yes; !- Use NIST Fuel Escalation Rates + +OS:YearDescription, + {429de7de-6704-419c-b62c-ed3f08bd405f}, !- Handle + , !- Calendar Year + Sunday; !- Day of Week for Start Day + +OS:Building, + {c23ded4b-6f18-4e30-b6db-cc00e1198751}, !- Handle + -Warehouse-ASHRAE 169-2013-3B created: 2020-09-13 14:34:30 -0400, !- Name + , !- Building Sector Type + , !- North Axis {deg} + , !- Nominal Floor to Floor Height {m} + , !- Space Type Name + {c99232a4-00e1-48ec-aa23-aecb05855d37}, !- Default Construction Set Name + , !- Default Schedule Set Name + 1, !- Standards Number of Stories + 1, !- Standards Number of Above Ground Stories + , !- Standards Template + Warehouse; !- Standards Building Type + +OS:Facility, + {df4e9cbf-49a4-4de4-b2f6-6cba678a29a8}; !- Handle + +OS:BuildingStory, + {db75d8b1-6332-4998-b7c2-ad46d4bbd08b}, !- Handle + Building Story 1, !- Name + 0, !- Nominal Z Coordinate {m} + , !- Nominal Floor to Floor Height {m} + , !- Default Construction Set Name + , !- Default Schedule Set Name + ; !- Group Rendering Name + +OS:SpaceType, + {aabbd8d8-a688-47dd-8dd9-7290bdad9599}, !- Handle + Warehouse Bulk, !- Name + {ed15bfb0-21d6-4e35-bd9f-898c0e2a0040}, !- Default Construction Set Name + {2d495c68-5976-4304-87a6-a9db83980fd9}, !- Default Schedule Set Name + {397a9834-ca46-44f2-bf97-1aa5fc23a67d}, !- Group Rendering Name + {942fa9b8-a027-44bc-b161-52b25ef42125}, !- Design Specification Outdoor Air Object Name + , !- Standards Template + Warehouse, !- Standards Building Type + Bulk; !- Standards Space Type + +OS:Rendering:Color, + {397a9834-ca46-44f2-bf97-1aa5fc23a67d}, !- Handle + Warehouse Bulk, !- Name + 41, !- Rendering Red Value + 31, !- Rendering Green Value + 169; !- Rendering Blue Value + +OS:SpaceType, + {fa494797-3b47-43b7-8d83-65371f4bbb13}, !- Handle + Warehouse Fine, !- Name + {d62c5b92-0d22-4e3e-ab39-1e07e2a927e9}, !- Default Construction Set Name + {09d862b0-be72-4723-bac9-41e51e79fba0}, !- Default Schedule Set Name + {f4306e95-b5d7-4c53-b22d-f8fa8e9ac849}, !- Group Rendering Name + {228500fa-fa0e-46e7-9bf3-f46bd8b5720b}, !- Design Specification Outdoor Air Object Name + , !- Standards Template + Warehouse, !- Standards Building Type + Fine; !- Standards Space Type + +OS:Rendering:Color, + {f4306e95-b5d7-4c53-b22d-f8fa8e9ac849}, !- Handle + Warehouse Fine, !- Name + 120, !- Rendering Red Value + 149, !- Rendering Green Value + 230; !- Rendering Blue Value + +OS:SpaceType, + {626ccb3f-df17-4651-ba00-0696cb5a3ca7}, !- Handle + Warehouse Office, !- Name + {1d26ed1d-dcb3-4e00-8739-759394e87a9c}, !- Default Construction Set Name + {bd895036-261d-454c-b19d-59c5e8629c2a}, !- Default Schedule Set Name + {c5bf423d-0ee6-40ac-b721-797e5dbdcfa2}, !- Group Rendering Name + {7ca430ea-1111-4060-84a7-2dea28f9e67f}, !- Design Specification Outdoor Air Object Name + , !- Standards Template + Warehouse, !- Standards Building Type + Office; !- Standards Space Type + +OS:Rendering:Color, + {c5bf423d-0ee6-40ac-b721-797e5dbdcfa2}, !- Handle + Warehouse Office, !- Name + 120, !- Rendering Red Value + 230, !- Rendering Green Value + 199; !- Rendering Blue Value + +OS:Lights:Definition, + {3d4f7a61-52bb-41ab-9bd6-52e305812218}, !- Handle + Warehouse Bulk Lights Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 6.24306804169164, !- Watts per Space Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.42, !- Fraction Radiant + 0.18; !- Fraction Visible + +OS:Lights, + {5e66653c-6672-4aa7-9c7b-b9e14dc74a98}, !- Handle + Warehouse Bulk Lights, !- Name + {3d4f7a61-52bb-41ab-9bd6-52e305812218}, !- Lights Definition Name + {aabbd8d8-a688-47dd-8dd9-7290bdad9599}, !- Space or SpaceType Name + , !- Schedule Name + 1, !- Fraction Replaceable + , !- Multiplier + General; !- End-Use Subcategory + +OS:AdditionalProperties, + {ac500663-3e34-4cda-a3ad-577fbce1aae9}, !- Handle + {3d4f7a61-52bb-41ab-9bd6-52e305812218}, !- Object Name + lpd_fraction_linear_fluorescent, !- Feature Name 1 + Double, !- Feature Data Type 1 + 1; !- Feature Value 1 + +OS:ElectricEquipment:Definition, + {4a4ce912-19e3-4d03-9377-ebd6b62fda62}, !- Handle + Warehouse Bulk Elec Equip Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 2.55841615086008, !- Watts per Space Floor Area {W/m2} + ; !- Watts per Person {W/person} + +OS:ElectricEquipment, + {27a25be9-0180-4f23-9337-adb392ffa97d}, !- Handle + Warehouse Bulk Elec Equip, !- Name + {4a4ce912-19e3-4d03-9377-ebd6b62fda62}, !- Electric Equipment Definition Name + {aabbd8d8-a688-47dd-8dd9-7290bdad9599}, !- Space or SpaceType Name + , !- Schedule Name + , !- Multiplier + General; !- End-Use Subcategory + +OS:DesignSpecification:OutdoorAir, + {942fa9b8-a027-44bc-b161-52b25ef42125}, !- Handle + Warehouse Bulk Ventilation, !- Name + Sum, !- Outdoor Air Method + , !- Outdoor Air Flow per Person {m3/s-person} + 0.0003048, !- Outdoor Air Flow per Floor Area {m3/s-m2} + , !- Outdoor Air Flow Rate {m3/s} + , !- Outdoor Air Flow Air Changes per Hour {1/hr} + ; !- Outdoor Air Flow Rate Fraction Schedule Name + +OS:DefaultScheduleSet, + {2d495c68-5976-4304-87a6-a9db83980fd9}, !- Handle + Warehouse Bulk Schedule Set, !- Name + , !- Hours of Operation Schedule Name + {4ba9fc77-4cc5-416c-a8c6-7cda5a62c47f}, !- Number of People Schedule Name + {07fef766-cf84-4a84-a794-8ea3f92c8e73}, !- People Activity Level Schedule Name + {5c128e1d-bfc6-4304-99b3-6c5f446e2bb8}, !- Lighting Schedule Name + {167bfc28-d976-4f1c-8e8c-4d05109ec795}, !- Electric Equipment Schedule Name + , !- Gas Equipment Schedule Name + , !- Hot Water Equipment Schedule Name + {01fc67bb-02c0-4027-b29d-14c133cad401}, !- Infiltration Schedule Name + , !- Steam Equipment Schedule Name + ; !- Other Equipment Schedule Name + +OS:Schedule:Ruleset, + {4ba9fc77-4cc5-416c-a8c6-7cda5a62c47f}, !- Handle + Warehouse BLDG_OCC_SCH, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {923f2674-2f30-461e-a17f-32aa9e67947c}, !- Default Day Schedule Name + {ab0c2b81-43ae-4f8a-ba46-d4821e1f3161}, !- Summer Design Day Schedule Name + {8c09733c-d28b-4774-9807-683cb94345f0}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {923f2674-2f30-461e-a17f-32aa9e67947c}, !- Handle + Warehouse BLDG_OCC_SCH Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {8c09733c-d28b-4774-9807-683cb94345f0}, !- Handle + Warehouse BLDG_OCC_SCH Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.11, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.21, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.53, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.32, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0; !- Value Until Time 8 + +OS:Schedule:Day, + {ab0c2b81-43ae-4f8a-ba46-d4821e1f3161}, !- Handle + Warehouse BLDG_OCC_SCH Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.11, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.21, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.53, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.32, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0; !- Value Until Time 8 + +OS:Schedule:Rule, + {5f56eca6-ccee-4733-ba3c-4ba523edecd1}, !- Handle + Schedule Rule 1, !- Name + {4ba9fc77-4cc5-416c-a8c6-7cda5a62c47f}, !- Schedule Ruleset Name + 0, !- Rule Order + {5f7ae38d-0ee3-4220-a4e9-8e33595158d9}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {5f7ae38d-0ee3-4220-a4e9-8e33595158d9}, !- Handle + Warehouse BLDG_OCC_SCH WntrDsn|SmrDsn|Sat|Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.11, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.21, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.53, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 1, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.32, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0; !- Value Until Time 8 + +OS:ScheduleTypeLimits, + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Handle + Fractional, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Continuous; !- Numeric Type + +OS:Schedule:Ruleset, + {07fef766-cf84-4a84-a794-8ea3f92c8e73}, !- Handle + Warehouse Office Activity Schedule, !- Name + {289d92ae-e5d9-4315-ad44-a07a0081d6f8}, !- Schedule Type Limits Name + {58aab38e-ba76-4f1d-a8ec-f500aedba243}, !- Default Day Schedule Name + {6136d8ec-772b-4233-a74e-4b6396af5630}, !- Summer Design Day Schedule Name + {0575cd8e-4ed9-4246-b694-acc73dff3e75}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {58aab38e-ba76-4f1d-a8ec-f500aedba243}, !- Handle + Warehouse Office Activity Schedule Default, !- Name + {289d92ae-e5d9-4315-ad44-a07a0081d6f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 131.85; !- Value Until Time 1 + +OS:Schedule:Day, + {0575cd8e-4ed9-4246-b694-acc73dff3e75}, !- Handle + Warehouse Office Activity Schedule Winter Design Day, !- Name + {289d92ae-e5d9-4315-ad44-a07a0081d6f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 131.85; !- Value Until Time 1 + +OS:Schedule:Day, + {6136d8ec-772b-4233-a74e-4b6396af5630}, !- Handle + Warehouse Office Activity Schedule Summer Design Day, !- Name + {289d92ae-e5d9-4315-ad44-a07a0081d6f8}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 131.85; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {289d92ae-e5d9-4315-ad44-a07a0081d6f8}, !- Handle + ActivityLevel, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + ActivityLevel; !- Unit Type + +OS:Schedule:Ruleset, + {5c128e1d-bfc6-4304-99b3-6c5f446e2bb8}, !- Handle + Warehouse BLDG_LIGHT_STORAGE_SCH, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {719bb0eb-6821-4b6a-a230-0ea7decbfc62}, !- Default Day Schedule Name + {9d13e7c3-4b95-4696-9f41-51bf915d01e7}, !- Summer Design Day Schedule Name + {9a69f479-88bf-48c7-9fcf-f5deabfd5888}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {719bb0eb-6821-4b6a-a230-0ea7decbfc62}, !- Handle + Warehouse BLDG_LIGHT_STORAGE_SCH Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.1; !- Value Until Time 1 + +OS:Schedule:Rule, + {bd3426b3-1ee4-496f-bc64-a1044269a98e}, !- Handle + Schedule Rule 2, !- Name + {5c128e1d-bfc6-4304-99b3-6c5f446e2bb8}, !- Schedule Ruleset Name + 0, !- Rule Order + {e307ec97-1c59-4f5c-af9b-d580bf9878dc}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {e307ec97-1c59-4f5c-af9b-d580bf9878dc}, !- Handle + Warehouse BLDG_LIGHT_STORAGE_SCH Sat|Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0.1, !- Value Until Time 1 + 8, !- Hour 2 + 0, !- Minute 2 + 0.6, !- Value Until Time 2 + 9, !- Hour 3 + 0, !- Minute 3 + 0.75, !- Value Until Time 3 + 16, !- Hour 4 + 0, !- Minute 4 + 0.85, !- Value Until Time 4 + 17, !- Hour 5 + 0, !- Minute 5 + 0.75, !- Value Until Time 5 + 18, !- Hour 6 + 0, !- Minute 6 + 0.6, !- Value Until Time 6 + 24, !- Hour 7 + 0, !- Minute 7 + 0.1; !- Value Until Time 7 + +OS:Schedule:Day, + {9d13e7c3-4b95-4696-9f41-51bf915d01e7}, !- Handle + Warehouse BLDG_LIGHT_STORAGE_SCH Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {9a69f479-88bf-48c7-9fcf-f5deabfd5888}, !- Handle + Warehouse BLDG_LIGHT_STORAGE_SCH Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {167bfc28-d976-4f1c-8e8c-4d05109ec795}, !- Handle + Warehouse Bldg Equip, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {26a285f6-dde2-4289-9116-db942cacbc15}, !- Default Day Schedule Name + {eefe20b8-b436-44e0-b9a1-6f8884580d66}, !- Summer Design Day Schedule Name + {3d716541-abea-4979-bca8-4312391e3bc6}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {26a285f6-dde2-4289-9116-db942cacbc15}, !- Handle + Warehouse Bldg Equip Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {b45de0fd-837b-479c-9814-5b8b48edc579}, !- Handle + Schedule Rule 3, !- Name + {167bfc28-d976-4f1c-8e8c-4d05109ec795}, !- Schedule Ruleset Name + 1, !- Rule Order + {e74565fb-dfb5-40d7-9b00-760e64f5c75d}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {e74565fb-dfb5-40d7-9b00-760e64f5c75d}, !- Handle + Warehouse Bldg Equip Mon|Tue|Wed|Thu|Fri|Sat Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0.25, !- Value Until Time 1 + 12, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 13, !- Hour 3 + 0, !- Minute 3 + 0.25, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 0.25; !- Value Until Time 5 + +OS:Schedule:Day, + {eefe20b8-b436-44e0-b9a1-6f8884580d66}, !- Handle + Warehouse Bldg Equip Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0.25, !- Value Until Time 1 + 12, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 13, !- Hour 3 + 0, !- Minute 3 + 0.25, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 0.25; !- Value Until Time 5 + +OS:Schedule:Rule, + {4b4193cd-d60e-43b2-bc7a-3ec542a462c9}, !- Handle + Schedule Rule 4, !- Name + {167bfc28-d976-4f1c-8e8c-4d05109ec795}, !- Schedule Ruleset Name + 0, !- Rule Order + {c149ab08-d5fd-426c-b33c-2abd900c3c59}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {c149ab08-d5fd-426c-b33c-2abd900c3c59}, !- Handle + Warehouse Bldg Equip Sun|Hol Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Day, + {3d716541-abea-4979-bca8-4312391e3bc6}, !- Handle + Warehouse Bldg Equip Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0.25, !- Value Until Time 1 + 12, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 13, !- Hour 3 + 0, !- Minute 3 + 0.25, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 0.25; !- Value Until Time 5 + +OS:Schedule:Ruleset, + {01fc67bb-02c0-4027-b29d-14c133cad401}, !- Handle + Warehouse Bulk Infil Schedule, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {3a2a761b-d249-4386-95c5-9806ea15b785}; !- Default Day Schedule Name + +OS:Schedule:Day, + {3a2a761b-d249-4386-95c5-9806ea15b785}, !- Handle + Schedule Day 9, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {c8a5aeb1-47d1-4b74-ba2d-3c799df3d592}, !- Handle + Schedule Rule 5, !- Name + {01fc67bb-02c0-4027-b29d-14c133cad401}, !- Schedule Ruleset Name + 1, !- Rule Order + {2bc22b29-95e2-40f4-8379-d40fb32d1a25}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {2bc22b29-95e2-40f4-8379-d40fb32d1a25}, !- Handle + Warehouse Bulk Infil Schedule Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0.765, !- Value Until Time 1 + 12, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 13, !- Hour 3 + 0, !- Minute 3 + 0.765, !- Value Until Time 3 + 17, !- Hour 4 + 0, !- Minute 4 + 1, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 0.765; !- Value Until Time 5 + +OS:Schedule:Rule, + {a3802381-7eaa-4368-aff9-16ca97770029}, !- Handle + Schedule Rule 6, !- Name + {01fc67bb-02c0-4027-b29d-14c133cad401}, !- Schedule Ruleset Name + 0, !- Rule Order + {7e1c12a7-a774-4753-9bf3-b37452da3ae1}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {7e1c12a7-a774-4753-9bf3-b37452da3ae1}, !- Handle + Warehouse Bulk Infil Schedule Wknd Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.765; !- Value Until Time 1 + +OS:ThermostatSetpoint:DualSetpoint, + {603a1523-c2e1-4939-8bde-1e7cdec3f0a1}, !- Handle + Warehouse Bulk Thermostat, !- Name + {481cbfc4-91f3-4cee-b788-6270a8fa877a}, !- Heating Setpoint Temperature Schedule Name + {eabcb337-3952-4a02-ab7e-24bdce96b93c}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {481cbfc4-91f3-4cee-b788-6270a8fa877a}, !- Handle + Warehouse Bulk Storage Heating Setpoint Schedule, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {7ad00489-7990-4cf4-8b38-0f24129a12d8}, !- Default Day Schedule Name + {c11afae3-4a58-4a7e-837a-ed11b562fcc8}, !- Summer Design Day Schedule Name + {b02e72d9-f3e2-4da7-a6c7-365f6e946aba}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {7ad00489-7990-4cf4-8b38-0f24129a12d8}, !- Handle + Warehouse Bulk Storage Heating Setpoint Schedule Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 10; !- Value Until Time 1 + +OS:Schedule:Day, + {b02e72d9-f3e2-4da7-a6c7-365f6e946aba}, !- Handle + Warehouse Bulk Storage Heating Setpoint Schedule Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 10; !- Value Until Time 1 + +OS:Schedule:Day, + {c11afae3-4a58-4a7e-837a-ed11b562fcc8}, !- Handle + Warehouse Bulk Storage Heating Setpoint Schedule Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 10; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Handle + Temperature, !- Name + , !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + Temperature; !- Unit Type + +OS:Schedule:Ruleset, + {eabcb337-3952-4a02-ab7e-24bdce96b93c}, !- Handle + Warehouse ClgSetp BulkStorage, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {c808bff4-7abf-46c8-a621-108b3fbf5239}, !- Default Day Schedule Name + {ac2cb378-97e7-4441-bf03-2e06368f2c0b}, !- Summer Design Day Schedule Name + {9c388830-71c7-45a3-8008-b29202ab55a2}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {c808bff4-7abf-46c8-a621-108b3fbf5239}, !- Handle + Warehouse ClgSetp BulkStorage Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 50; !- Value Until Time 1 + +OS:Schedule:Day, + {9c388830-71c7-45a3-8008-b29202ab55a2}, !- Handle + Warehouse ClgSetp BulkStorage Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 50; !- Value Until Time 1 + +OS:Schedule:Day, + {ac2cb378-97e7-4441-bf03-2e06368f2c0b}, !- Handle + Warehouse ClgSetp BulkStorage Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 50; !- Value Until Time 1 + +OS:Lights:Definition, + {05a5917a-7c5e-4f17-a765-9640681bbec8}, !- Handle + Warehouse Fine Lights Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.2257148958742, !- Watts per Space Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.42, !- Fraction Radiant + 0.18; !- Fraction Visible + +OS:Lights, + {88699197-f06a-4a36-8b5d-cce152d4023e}, !- Handle + Warehouse Fine Lights, !- Name + {05a5917a-7c5e-4f17-a765-9640681bbec8}, !- Lights Definition Name + {fa494797-3b47-43b7-8d83-65371f4bbb13}, !- Space or SpaceType Name + , !- Schedule Name + 1, !- Fraction Replaceable + , !- Multiplier + General; !- End-Use Subcategory + +OS:AdditionalProperties, + {69817dd6-4941-4be8-b473-97ced65496c2}, !- Handle + {05a5917a-7c5e-4f17-a765-9640681bbec8}, !- Object Name + lpd_fraction_linear_fluorescent, !- Feature Name 1 + Double, !- Feature Data Type 1 + 1; !- Feature Value 1 + +OS:DesignSpecification:OutdoorAir, + {228500fa-fa0e-46e7-9bf3-f46bd8b5720b}, !- Handle + Warehouse Fine Ventilation, !- Name + Sum, !- Outdoor Air Method + 0, !- Outdoor Air Flow per Person {m3/s-person} + 0.0003048, !- Outdoor Air Flow per Floor Area {m3/s-m2} + 0, !- Outdoor Air Flow Rate {m3/s} + 0, !- Outdoor Air Flow Air Changes per Hour {1/hr} + ; !- Outdoor Air Flow Rate Fraction Schedule Name + +OS:DefaultScheduleSet, + {09d862b0-be72-4723-bac9-41e51e79fba0}, !- Handle + Warehouse Fine Schedule Set, !- Name + , !- Hours of Operation Schedule Name + {4ba9fc77-4cc5-416c-a8c6-7cda5a62c47f}, !- Number of People Schedule Name + {07fef766-cf84-4a84-a794-8ea3f92c8e73}, !- People Activity Level Schedule Name + {5c128e1d-bfc6-4304-99b3-6c5f446e2bb8}, !- Lighting Schedule Name + {167bfc28-d976-4f1c-8e8c-4d05109ec795}, !- Electric Equipment Schedule Name + , !- Gas Equipment Schedule Name + , !- Hot Water Equipment Schedule Name + {8efe48f5-f09d-4c96-958a-2ae30b0eb0e4}, !- Infiltration Schedule Name + , !- Steam Equipment Schedule Name + ; !- Other Equipment Schedule Name + +OS:Schedule:Ruleset, + {8efe48f5-f09d-4c96-958a-2ae30b0eb0e4}, !- Handle + Warehouse Fine Infil Schedule, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {786fec26-e3be-42d8-88a6-fe8325f1dafa}; !- Default Day Schedule Name + +OS:Schedule:Day, + {786fec26-e3be-42d8-88a6-fe8325f1dafa}, !- Handle + Schedule Day 14, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {b830e1d3-d950-4cb0-8459-1fd204089b7b}, !- Handle + Schedule Rule 7, !- Name + {8efe48f5-f09d-4c96-958a-2ae30b0eb0e4}, !- Schedule Ruleset Name + 1, !- Rule Order + {9f941589-fba2-480b-b7c1-f6270875c844}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {9f941589-fba2-480b-b7c1-f6270875c844}, !- Handle + Warehouse Fine Infil Schedule Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 9, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 16, !- Hour 2 + 0, !- Minute 2 + 0.5, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {5ecffc0c-b630-469e-9bbd-5c258a71c42a}, !- Handle + Schedule Rule 8, !- Name + {8efe48f5-f09d-4c96-958a-2ae30b0eb0e4}, !- Schedule Ruleset Name + 0, !- Rule Order + {1a7fa3e7-d3c2-44ac-b7e1-37dc4a0df4c0}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {1a7fa3e7-d3c2-44ac-b7e1-37dc4a0df4c0}, !- Handle + Warehouse Fine Infil Schedule Wknd Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:ThermostatSetpoint:DualSetpoint, + {5d44f15a-3280-473a-8a51-ecfec9250355}, !- Handle + Warehouse Fine Thermostat, !- Name + {40c3c1fd-bef2-48f5-807c-11dc1230fe44}, !- Heating Setpoint Temperature Schedule Name + {7f2d99f8-e224-475c-9e77-c3acd1e33004}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {40c3c1fd-bef2-48f5-807c-11dc1230fe44}, !- Handle + Warehouse Fine Storage Heating Setpoint Schedule, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {328a5c7d-6486-4951-92ea-296601002976}, !- Default Day Schedule Name + {3f323d53-45ee-4ee8-9f5e-dd9193a8bfcd}, !- Summer Design Day Schedule Name + {6478e3eb-d22b-461f-b824-b621363056e3}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {328a5c7d-6486-4951-92ea-296601002976}, !- Handle + Warehouse Fine Storage Heating Setpoint Schedule Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.56; !- Value Until Time 1 + +OS:Schedule:Day, + {6478e3eb-d22b-461f-b824-b621363056e3}, !- Handle + Warehouse Fine Storage Heating Setpoint Schedule Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.56; !- Value Until Time 1 + +OS:Schedule:Day, + {3f323d53-45ee-4ee8-9f5e-dd9193a8bfcd}, !- Handle + Warehouse Fine Storage Heating Setpoint Schedule Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.56; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {7f2d99f8-e224-475c-9e77-c3acd1e33004}, !- Handle + Warehouse Fine Storage Cooling Setpoint Schedule, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {5bfce755-1cc2-4f38-8b09-4985d5d536a4}, !- Default Day Schedule Name + {7ef012dc-c76b-442d-95d1-5ee3bf396f9f}, !- Summer Design Day Schedule Name + {cef91877-3134-49e1-9df5-70e80453a124}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {5bfce755-1cc2-4f38-8b09-4985d5d536a4}, !- Handle + Warehouse Fine Storage Cooling Setpoint Schedule Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 26.7; !- Value Until Time 1 + +OS:Schedule:Day, + {cef91877-3134-49e1-9df5-70e80453a124}, !- Handle + Warehouse Fine Storage Cooling Setpoint Schedule Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 26.7; !- Value Until Time 1 + +OS:Schedule:Day, + {7ef012dc-c76b-442d-95d1-5ee3bf396f9f}, !- Handle + Warehouse Fine Storage Cooling Setpoint Schedule Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 26.7; !- Value Until Time 1 + +OS:People:Definition, + {67884c5e-fe25-494a-95af-79b3f6c427e5}, !- Handle + Warehouse Office People Definition, !- Name + People/Area, !- Number of People Calculation Method + , !- Number of People {people} + 0.0210972644167511, !- People per Space Floor Area {person/m2} + , !- Space Floor Area per Person {m2/person} + 0.3; !- Fraction Radiant + +OS:People, + {5ab1c3bc-beb0-4ceb-975b-263319b2047c}, !- Handle + Warehouse Office People, !- Name + {67884c5e-fe25-494a-95af-79b3f6c427e5}, !- People Definition Name + {626ccb3f-df17-4651-ba00-0696cb5a3ca7}, !- Space or SpaceType Name + , !- Number of People Schedule Name + , !- Activity Level Schedule Name + , !- Surface Name/Angle Factor List Name + {94f36268-5fe5-4885-8cad-366c5f8d1164}, !- Work Efficiency Schedule Name + {74b19b73-b881-4184-aa17-3ea220738f6b}, !- Clothing Insulation Schedule Name + {ceafe7c9-7daf-45a0-af1a-bc2cd9cf0a67}, !- Air Velocity Schedule Name + 1; !- Multiplier + +OS:Schedule:Ruleset, + {74b19b73-b881-4184-aa17-3ea220738f6b}, !- Handle + Clothing Schedule, !- Name + {e3b6afa2-1db8-4715-b9e2-ca4c30349e3a}, !- Schedule Type Limits Name + {74d8f7ec-66a5-4561-be81-4e20b1be2ff9}; !- Default Day Schedule Name + +OS:Schedule:Day, + {74d8f7ec-66a5-4561-be81-4e20b1be2ff9}, !- Handle + Clothing Schedule Default Winter Clothes, !- Name + {e3b6afa2-1db8-4715-b9e2-ca4c30349e3a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Rule, + {155d9fe3-0e39-49a8-92aa-b68464f0820c}, !- Handle + Schedule Rule 9, !- Name + {74b19b73-b881-4184-aa17-3ea220738f6b}, !- Schedule Ruleset Name + 0, !- Rule Order + {5e9f72e3-2c41-412c-a24a-247eaef2cc5a}, !- Day Schedule Name + , !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 5, !- Start Month + 1, !- Start Day + 9, !- End Month + 30; !- End Day + +OS:Schedule:Day, + {5e9f72e3-2c41-412c-a24a-247eaef2cc5a}, !- Handle + Clothing Schedule Summer Clothes, !- Name + {e3b6afa2-1db8-4715-b9e2-ca4c30349e3a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.5; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {e3b6afa2-1db8-4715-b9e2-ca4c30349e3a}, !- Handle + ClothingInsulation, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + ClothingInsulation; !- Unit Type + +OS:Schedule:Ruleset, + {ceafe7c9-7daf-45a0-af1a-bc2cd9cf0a67}, !- Handle + Air Velocity Schedule, !- Name + {6e1b06ea-3134-4f43-b2ed-fedef1a8482a}, !- Schedule Type Limits Name + {a643679e-a68f-47ad-aa79-9f266f495feb}; !- Default Day Schedule Name + +OS:Schedule:Day, + {a643679e-a68f-47ad-aa79-9f266f495feb}, !- Handle + Air Velocity Schedule Default, !- Name + {6e1b06ea-3134-4f43-b2ed-fedef1a8482a}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.2; !- Value Until Time 1 + +OS:ScheduleTypeLimits, + {6e1b06ea-3134-4f43-b2ed-fedef1a8482a}, !- Handle + Velocity, !- Name + 0, !- Lower Limit Value + , !- Upper Limit Value + Continuous, !- Numeric Type + Velocity; !- Unit Type + +OS:Schedule:Ruleset, + {94f36268-5fe5-4885-8cad-366c5f8d1164}, !- Handle + Work Efficiency Schedule, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {513b19b1-0867-4324-9f14-5895f61d68b6}; !- Default Day Schedule Name + +OS:Schedule:Day, + {513b19b1-0867-4324-9f14-5895f61d68b6}, !- Handle + Work Efficiency Schedule Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Lights:Definition, + {be1a2234-30f2-48d3-9db0-24fe6656e1c5}, !- Handle + Warehouse Office Lights Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 9.68751937503875, !- Watts per Space Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.37, !- Fraction Radiant + 0.18; !- Fraction Visible + +OS:Lights, + {5fc29a6d-4035-4e8d-b70f-0d83c3ef83d2}, !- Handle + Warehouse Office Lights, !- Name + {be1a2234-30f2-48d3-9db0-24fe6656e1c5}, !- Lights Definition Name + {626ccb3f-df17-4651-ba00-0696cb5a3ca7}, !- Space or SpaceType Name + , !- Schedule Name + 1, !- Fraction Replaceable + , !- Multiplier + General; !- End-Use Subcategory + +OS:AdditionalProperties, + {729005ea-1c50-405e-822a-7ee8b4a20940}, !- Handle + {be1a2234-30f2-48d3-9db0-24fe6656e1c5}, !- Object Name + lpd_fraction_linear_fluorescent, !- Feature Name 1 + Double, !- Feature Data Type 1 + 1; !- Feature Value 1 + +OS:ElectricEquipment:Definition, + {5a175c2e-a4a8-4899-a989-618743296c23}, !- Handle + Warehouse Office Elec Equip Definition, !- Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 8.07293281253229, !- Watts per Space Floor Area {W/m2} + ; !- Watts per Person {W/person} + +OS:ElectricEquipment, + {6c6e0ce0-0783-473e-80e5-213dfbfb1b28}, !- Handle + Warehouse Office Elec Equip, !- Name + {5a175c2e-a4a8-4899-a989-618743296c23}, !- Electric Equipment Definition Name + {626ccb3f-df17-4651-ba00-0696cb5a3ca7}, !- Space or SpaceType Name + , !- Schedule Name + , !- Multiplier + General; !- End-Use Subcategory + +OS:DesignSpecification:OutdoorAir, + {7ca430ea-1111-4060-84a7-2dea28f9e67f}, !- Handle + Warehouse Office Ventilation, !- Name + Sum, !- Outdoor Air Method + 0, !- Outdoor Air Flow per Person {m3/s-person} + 0.000354584, !- Outdoor Air Flow per Floor Area {m3/s-m2} + 0, !- Outdoor Air Flow Rate {m3/s} + 0, !- Outdoor Air Flow Air Changes per Hour {1/hr} + ; !- Outdoor Air Flow Rate Fraction Schedule Name + +OS:DefaultScheduleSet, + {bd895036-261d-454c-b19d-59c5e8629c2a}, !- Handle + Warehouse Office Schedule Set, !- Name + , !- Hours of Operation Schedule Name + {4ba9fc77-4cc5-416c-a8c6-7cda5a62c47f}, !- Number of People Schedule Name + {07fef766-cf84-4a84-a794-8ea3f92c8e73}, !- People Activity Level Schedule Name + {2597f80b-9115-412b-b4ea-ab0a5ffa4c21}, !- Lighting Schedule Name + {da99fe61-f94e-4faa-8f00-c7195a4a89f0}, !- Electric Equipment Schedule Name + , !- Gas Equipment Schedule Name + , !- Hot Water Equipment Schedule Name + {62c14ee4-73e5-436c-aa16-98d54617aa62}, !- Infiltration Schedule Name + , !- Steam Equipment Schedule Name + ; !- Other Equipment Schedule Name + +OS:Schedule:Ruleset, + {2597f80b-9115-412b-b4ea-ab0a5ffa4c21}, !- Handle + Warehouse BLDG_LIGHT_OFFICE_SCH_2010, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {302220b7-a94d-4f09-a2c0-f5cc04144445}, !- Default Day Schedule Name + {a2f64224-0966-4230-a131-4e054ddec513}, !- Summer Design Day Schedule Name + {cb45f6fa-5ead-4ffc-bffe-93b91504ef2c}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {302220b7-a94d-4f09-a2c0-f5cc04144445}, !- Handle + Warehouse BLDG_LIGHT_OFFICE_SCH_2010 Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.18; !- Value Until Time 1 + +OS:Schedule:Rule, + {4c61f110-5220-4e0d-b1f9-43268dbfe723}, !- Handle + Schedule Rule 10, !- Name + {2597f80b-9115-412b-b4ea-ab0a5ffa4c21}, !- Schedule Ruleset Name + 0, !- Rule Order + {2e882730-4818-491e-93a4-8436b79b4615}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {2e882730-4818-491e-93a4-8436b79b4615}, !- Handle + Warehouse BLDG_LIGHT_OFFICE_SCH_2010 Sat|Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.18, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.196742, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.359268, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 0.658658, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.581672, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 0.658658, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.521794, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0.18; !- Value Until Time 8 + +OS:Schedule:Day, + {a2f64224-0966-4230-a131-4e054ddec513}, !- Handle + Warehouse BLDG_LIGHT_OFFICE_SCH_2010 Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {cb45f6fa-5ead-4ffc-bffe-93b91504ef2c}, !- Handle + Warehouse BLDG_LIGHT_OFFICE_SCH_2010 Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {da99fe61-f94e-4faa-8f00-c7195a4a89f0}, !- Handle + Warehouse Office_Plug_SCH, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {b1ccba65-dbca-4e88-bcdd-d35bd0db0270}, !- Default Day Schedule Name + {a80a764a-d638-4ac6-8a28-92cf8a44be6a}, !- Summer Design Day Schedule Name + {93ff9377-7d09-4600-8544-7fb35e960d3b}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {b1ccba65-dbca-4e88-bcdd-d35bd0db0270}, !- Handle + Warehouse Office_Plug_SCH Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.25545; !- Value Until Time 1 + +OS:Schedule:Rule, + {cb1115a6-c5b1-4db5-8afc-6e25070a4de9}, !- Handle + Schedule Rule 11, !- Name + {da99fe61-f94e-4faa-8f00-c7195a4a89f0}, !- Schedule Ruleset Name + 0, !- Rule Order + {e7899373-9b29-4642-a340-32f05fc2491c}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {e7899373-9b29-4642-a340-32f05fc2491c}, !- Handle + Warehouse Office_Plug_SCH Sat|Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.25545, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.2908065, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.4846775, !- Value Until Time 3 + 12, !- Hour 4 + 0, !- Minute 4 + 0.969355, !- Value Until Time 4 + 13, !- Hour 5 + 0, !- Minute 5 + 0.9111937, !- Value Until Time 5 + 17, !- Hour 6 + 0, !- Minute 6 + 0.969355, !- Value Until Time 6 + 18, !- Hour 7 + 0, !- Minute 7 + 0.4846775, !- Value Until Time 7 + 24, !- Hour 8 + 0, !- Minute 8 + 0.25545; !- Value Until Time 8 + +OS:Schedule:Day, + {a80a764a-d638-4ac6-8a28-92cf8a44be6a}, !- Handle + Warehouse Office_Plug_SCH Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {93ff9377-7d09-4600-8544-7fb35e960d3b}, !- Handle + Warehouse Office_Plug_SCH Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {62c14ee4-73e5-436c-aa16-98d54617aa62}, !- Handle + Warehouse Office Infil Schedule, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {1d2ac9b7-9881-4dca-8b3d-91fb313daf63}; !- Default Day Schedule Name + +OS:Schedule:Day, + {1d2ac9b7-9881-4dca-8b3d-91fb313daf63}, !- Handle + Schedule Day 23, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {4d28fa1d-6359-4131-8961-67dd4cce86a8}, !- Handle + Schedule Rule 12, !- Name + {62c14ee4-73e5-436c-aa16-98d54617aa62}, !- Schedule Ruleset Name + 1, !- Rule Order + {4ff5418b-d1f5-4bc8-85a7-a920b3a16cea}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {4ff5418b-d1f5-4bc8-85a7-a920b3a16cea}, !- Handle + Warehouse Office Infil Schedule Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 9, !- Hour 1 + 0, !- Minute 1 + 1, !- Value Until Time 1 + 16, !- Hour 2 + 0, !- Minute 2 + 0.5, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 1; !- Value Until Time 3 + +OS:Schedule:Rule, + {f576f1b2-c82d-41b3-9686-878932381de6}, !- Handle + Schedule Rule 13, !- Name + {62c14ee4-73e5-436c-aa16-98d54617aa62}, !- Schedule Ruleset Name + 0, !- Rule Order + {880d178a-04b2-4b49-9c6e-3d1d46c5e77b}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {880d178a-04b2-4b49-9c6e-3d1d46c5e77b}, !- Handle + Warehouse Office Infil Schedule Wknd Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:ThermostatSetpoint:DualSetpoint, + {6c5a9908-65f5-4b54-bb7b-5638a6f198ac}, !- Handle + Warehouse Office Thermostat, !- Name + {9a9222af-93c5-4a4d-b07a-a532a98f368e}, !- Heating Setpoint Temperature Schedule Name + {e493d4b4-3e09-4a3e-889c-f74841df5c78}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {9a9222af-93c5-4a4d-b07a-a532a98f368e}, !- Handle + Warehouse HtgSetp, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {2a8832b9-19ae-4fcf-b6fd-079197dca5f6}, !- Default Day Schedule Name + {a924dcba-b3b1-46b5-858c-fe502ed70256}, !- Summer Design Day Schedule Name + {1deee009-4493-4f11-ac8a-a9de0e05c99b}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {2a8832b9-19ae-4fcf-b6fd-079197dca5f6}, !- Handle + Warehouse HtgSetp Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.6, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 21.1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 15.6; !- Value Until Time 3 + +OS:Schedule:Rule, + {58f2caa2-3b6c-4d50-94f5-6a5c5021cfb5}, !- Handle + Schedule Rule 14, !- Name + {9a9222af-93c5-4a4d-b07a-a532a98f368e}, !- Schedule Ruleset Name + 1, !- Rule Order + {27ed4aab-1cf4-487b-956a-87bb9e375e53}, !- Day Schedule Name + , !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {27ed4aab-1cf4-487b-956a-87bb9e375e53}, !- Handle + Warehouse HtgSetp Sat Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.6, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 21.1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 15.6; !- Value Until Time 3 + +OS:Schedule:Rule, + {85bb8466-8f2e-4af3-923b-d409607bce04}, !- Handle + Schedule Rule 15, !- Name + {9a9222af-93c5-4a4d-b07a-a532a98f368e}, !- Schedule Ruleset Name + 0, !- Rule Order + {c178c252-332c-4cad-b28c-420a3df04060}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {c178c252-332c-4cad-b28c-420a3df04060}, !- Handle + Warehouse HtgSetp Sun Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 15.6; !- Value Until Time 1 + +OS:Schedule:Day, + {1deee009-4493-4f11-ac8a-a9de0e05c99b}, !- Handle + Warehouse HtgSetp Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.6, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 17.8, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 20, !- Value Until Time 3 + 18, !- Hour 4 + 0, !- Minute 4 + 21, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 15.6; !- Value Until Time 5 + +OS:Schedule:Day, + {a924dcba-b3b1-46b5-858c-fe502ed70256}, !- Handle + Warehouse HtgSetp Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 15.6, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 17.8, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 20, !- Value Until Time 3 + 18, !- Hour 4 + 0, !- Minute 4 + 21, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 15.6; !- Value Until Time 5 + +OS:Schedule:Ruleset, + {e493d4b4-3e09-4a3e-889c-f74841df5c78}, !- Handle + Warehouse ClgSetp, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {bc147f41-ba2d-417f-ad2c-cab77e45ed98}, !- Default Day Schedule Name + {a6080d6a-536a-4553-b088-1c056caba81a}, !- Summer Design Day Schedule Name + {dc291efa-da7f-4220-9f93-95b201146d4e}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {bc147f41-ba2d-417f-ad2c-cab77e45ed98}, !- Handle + Warehouse ClgSetp Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 29.4, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 23.9, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 29.4; !- Value Until Time 3 + +OS:Schedule:Rule, + {5c320861-7243-4542-bb19-19a722fb25c2}, !- Handle + Schedule Rule 16, !- Name + {e493d4b4-3e09-4a3e-889c-f74841df5c78}, !- Schedule Ruleset Name + 0, !- Rule Order + {066eda78-165d-4ca2-a199-0501f6a6c212}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {066eda78-165d-4ca2-a199-0501f6a6c212}, !- Handle + Warehouse ClgSetp Sun Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 29.4; !- Value Until Time 1 + +OS:Schedule:Day, + {dc291efa-da7f-4220-9f93-95b201146d4e}, !- Handle + Warehouse ClgSetp Winter Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 29.4, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 27.8, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 25.6, !- Value Until Time 3 + 18, !- Hour 4 + 0, !- Minute 4 + 23.9, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 29.4; !- Value Until Time 5 + +OS:Schedule:Day, + {a6080d6a-536a-4553-b088-1c056caba81a}, !- Handle + Warehouse ClgSetp Summer Design Day, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 29.4, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 27.8, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 25.6, !- Value Until Time 3 + 18, !- Hour 4 + 0, !- Minute 4 + 23.9, !- Value Until Time 4 + 24, !- Hour 5 + 0, !- Minute 5 + 29.4; !- Value Until Time 5 + +OS:SpaceInfiltration:DesignFlowRate, + {8950111d-dcc3-4d5a-8d48-477c89f4d44d}, !- Handle + Zone1 Office Infiltration, !- Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space or SpaceType Name + {62c14ee4-73e5-436c-aa16-98d54617aa62}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0005695733896, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {1f199c14-1cb3-4821-9dfa-9ec06d36da7c}, !- Handle + Zone2 Fine Storage Infiltration, !- Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space or SpaceType Name + {8efe48f5-f09d-4c96-958a-2ae30b0eb0e4}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0002011559319, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:SpaceInfiltration:DesignFlowRate, + {a587b8f8-178d-45f9-ac39-ace135166641}, !- Handle + Zone3 Bulk Storage Infiltration, !- Name + {39655c19-15b3-4081-92c2-4613ae84d8e6}, !- Space or SpaceType Name + {01fc67bb-02c0-4027-b29d-14c133cad401}, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Space Floor Area {m3/s-m2} + 0.0001886063105, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0; !- Velocity Squared Term Coefficient + +OS:Site, + {c74e9698-cd78-4149-9047-58811f9a5767}, !- Handle + El Paso International Ap Ut_TX_USA, !- Name + 31, !- Latitude {deg} + -106, !- Longitude {deg} + -7, !- Time Zone {hr} + 1186, !- Elevation {m} + Urban; !- Terrain + +OS:SurfaceConvectionAlgorithm:Inside, + {088709d1-6981-4820-a264-f1cc5542ed4e}, !- Handle + TARP; !- Algorithm + +OS:SurfaceConvectionAlgorithm:Outside, + {434b4790-6094-453d-9843-11feede8ca76}, !- Handle + TARP; !- Algorithm + +OS:ThermalZone, + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Handle + Zone1 Office ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {14fdfff4-47f8-49a3-aa88-85135633f226}, !- Zone Air Inlet Port List + {41e992a1-e6b0-4445-8995-d72c17889195}, !- Zone Air Exhaust Port List + {4f295cac-5d09-4fe3-aa10-746aa4af5de7}, !- Zone Air Node Name + {faeaa9b9-5a41-4020-b1de-80ba96ba34b1}, !- Zone Return Air Port List + {810ebe1b-d9eb-428d-b046-e2dc0d3fe399}, !- Primary Daylighting Control Name + 0.085, !- Fraction of Zone Controlled by Primary Daylighting Control + {ef04a2f5-10cb-4990-900e-5910323b3e66}, !- Secondary Daylighting Control Name + 0.085, !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {29614c52-cc79-49a2-9859-61fd532d0057}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {42201296-c3a3-4b1a-9aeb-fcadc441bb51}, !- Handle + Zone1 Office ZN Zone Air Node, !- Name + {4f295cac-5d09-4fe3-aa10-746aa4af5de7}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {4f295cac-5d09-4fe3-aa10-746aa4af5de7}, !- Handle + {bce1c3d0-95a8-4b82-962b-2dd63181cbfb}, !- Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Source Object + 11, !- Outlet Port + {42201296-c3a3-4b1a-9aeb-fcadc441bb51}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {14fdfff4-47f8-49a3-aa88-85135633f226}, !- Handle + {d9844bbf-08fd-4728-a872-92b9ee06379a}, !- Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- HVAC Component + {0148dad5-4a85-482f-92fc-7eca6b3ec49b}; !- Port 1 + +OS:PortList, + {41e992a1-e6b0-4445-8995-d72c17889195}, !- Handle + {c3a34385-8dfc-4688-98a0-9c5dec95fc98}, !- Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}; !- HVAC Component + +OS:PortList, + {faeaa9b9-5a41-4020-b1de-80ba96ba34b1}, !- Handle + {d22d6c0a-e4af-45bd-b987-5da4ee15d0ed}, !- Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- HVAC Component + {909d945c-8464-4456-9973-c93b78ddb182}; !- Port 1 + +OS:Sizing:Zone, + {5fec605f-723b-4070-89d5-01e633ab8118}, !- Handle + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {5e932f27-6db0-4ae4-9686-52117869b1d5}, !- Handle + Zone1 Office ZN Zone HVAC Equipment List, !- Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Thermal Zone + , !- Load Distribution Scheme + {7919ed84-1780-45df-aa2c-df7dc40765e4}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {29614c52-cc79-49a2-9859-61fd532d0057}, !- Handle + Warehouse Office Thermostat 1, !- Name + {9a9222af-93c5-4a4d-b07a-a532a98f368e}, !- Heating Setpoint Temperature Schedule Name + {e493d4b4-3e09-4a3e-889c-f74841df5c78}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Handle + Zone2 Fine Storage ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {770bfe67-c97d-4c2a-a623-abc337ee287b}, !- Zone Air Inlet Port List + {0451efed-c4c6-48dd-9ea9-a15fde96faf9}, !- Zone Air Exhaust Port List + {0313b8dc-3939-4edb-9816-e929d3fd903d}, !- Zone Air Node Name + {d00784c7-878c-48bd-bb56-db5008cd76f8}, !- Zone Return Air Port List + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {694aa827-664c-4582-9180-84ad7fed88cc}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {a86d64db-eb75-4b2a-b031-0c43e5298d98}, !- Handle + Zone2 Fine Storage ZN Zone Air Node, !- Name + {0313b8dc-3939-4edb-9816-e929d3fd903d}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {0313b8dc-3939-4edb-9816-e929d3fd903d}, !- Handle + {f4008f2e-f9c1-4ac9-9e4b-448f39f6c5a7}, !- Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Source Object + 11, !- Outlet Port + {a86d64db-eb75-4b2a-b031-0c43e5298d98}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {770bfe67-c97d-4c2a-a623-abc337ee287b}, !- Handle + {c93ab01b-fcf8-4e59-91be-aadc75a5ca3c}, !- Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- HVAC Component + {caf7517e-d99a-4bcb-b6c3-7fbbf19a73eb}; !- Port 1 + +OS:PortList, + {0451efed-c4c6-48dd-9ea9-a15fde96faf9}, !- Handle + {65f3cb36-804f-41d9-8273-1cb98db99969}, !- Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}; !- HVAC Component + +OS:PortList, + {d00784c7-878c-48bd-bb56-db5008cd76f8}, !- Handle + {1ecb1f14-af6d-4198-bd92-4dd32318c80a}, !- Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- HVAC Component + {58e42913-adcf-41a6-80cf-f2a51bb4da83}; !- Port 1 + +OS:Sizing:Zone, + {7b152e06-5546-4be5-a209-38c9f0fe1c96}, !- Handle + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.7777777777778, !- Zone Cooling Design Supply Air Temperature {C} + 11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {0169f565-d125-496a-a2e2-65429e50c0f9}, !- Handle + Zone2 Fine Storage ZN Zone HVAC Equipment List, !- Name + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Thermal Zone + , !- Load Distribution Scheme + {0ceee5cf-bef0-4d06-8728-dc0a2d572945}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + +OS:ThermostatSetpoint:DualSetpoint, + {694aa827-664c-4582-9180-84ad7fed88cc}, !- Handle + Warehouse Fine Thermostat 1, !- Name + {40c3c1fd-bef2-48f5-807c-11dc1230fe44}, !- Heating Setpoint Temperature Schedule Name + {7f2d99f8-e224-475c-9e77-c3acd1e33004}; !- Cooling Setpoint Temperature Schedule Name + +OS:ThermalZone, + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- Handle + Zone3 Bulk Storage ZN, !- Name + , !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + , !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + , !- Zone Conditioning Equipment List Name + {29e5c2ed-c4ce-48bd-88f1-61fe01328f4d}, !- Zone Air Inlet Port List + {9bea9730-4b2b-4b44-a10e-49028e4329dc}, !- Zone Air Exhaust Port List + {348ff4c4-de0e-4bbb-81c5-2c4b13636658}, !- Zone Air Node Name + {e19379ac-837d-4430-b255-360083fa644d}, !- Zone Return Air Port List + , !- Primary Daylighting Control Name + , !- Fraction of Zone Controlled by Primary Daylighting Control + , !- Secondary Daylighting Control Name + , !- Fraction of Zone Controlled by Secondary Daylighting Control + , !- Illuminance Map Name + , !- Group Rendering Name + {63507396-93e8-4124-865d-fbe37a00cb39}, !- Thermostat Name + No; !- Use Ideal Air Loads + +OS:Node, + {c661337e-0a7e-4b31-9e38-52cd43237a34}, !- Handle + Zone3 Bulk Storage ZN Zone Air Node, !- Name + {348ff4c4-de0e-4bbb-81c5-2c4b13636658}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {348ff4c4-de0e-4bbb-81c5-2c4b13636658}, !- Handle + {de090677-65c6-4ab5-a02d-5e038d123457}, !- Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- Source Object + 11, !- Outlet Port + {c661337e-0a7e-4b31-9e38-52cd43237a34}, !- Target Object + 2; !- Inlet Port + +OS:PortList, + {29e5c2ed-c4ce-48bd-88f1-61fe01328f4d}, !- Handle + {a33994ab-a734-4dd0-9ada-4f49144a8a42}, !- Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- HVAC Component + {a15b8b7e-af57-48b9-9467-285ba87378df}; !- Port 1 + +OS:PortList, + {9bea9730-4b2b-4b44-a10e-49028e4329dc}, !- Handle + {5874ec1c-094d-4819-8b9d-3abbd9cca777}, !- Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- HVAC Component + {a10c6987-179b-46fc-b645-e97347c35bf6}; !- Port 1 + +OS:PortList, + {e19379ac-837d-4430-b255-360083fa644d}, !- Handle + {afdd8875-a2ff-4a0a-905b-fe3907e1e9c6}, !- Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}; !- HVAC Component + +OS:Sizing:Zone, + {158aa880-6c4a-4f5c-b1bf-5cb0351769ad}, !- Handle + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- Zone or ZoneList Name + SupplyAirTemperature, !- 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} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000000000001, !- 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 {kg-H2O/kg-air} + 0.008, !- Zone Heating Design Supply Air Humidity Ratio {kg-H2O/kg-air} + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- 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 Zone Air Distribution Effectiveness in Cooling Mode + , !- Design Zone Air Distribution Effectiveness in Heating Mode + 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} + +OS:ZoneHVAC:EquipmentList, + {70dfd0fd-678d-4eb8-a64f-9a1cc646487f}, !- Handle + Zone3 Bulk Storage ZN Zone HVAC Equipment List, !- Name + {be29d86a-a4ff-43ee-9aef-2e65b408bb9f}, !- Thermal Zone + , !- Load Distribution Scheme + {28e5f181-b6d7-4b69-93c7-588713ef093b}, !- Zone Equipment 1 + 1, !- Zone Equipment Cooling Sequence 1 + 1, !- Zone Equipment Heating or No-Load Sequence 1 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 1 + , !- Zone Equipment Sequential Heating Fraction Schedule Name 1 + {644dc883-1242-4948-bde2-cdff3d0bebb4}, !- Zone Equipment 2 + 2, !- Zone Equipment Cooling Sequence 2 + 2, !- Zone Equipment Heating or No-Load Sequence 2 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 2 + , !- Zone Equipment Sequential Heating Fraction Schedule Name 2 + {f8b0ec9f-3184-4fec-a660-dd830e5e4736}, !- Zone Equipment 3 + 3, !- Zone Equipment Cooling Sequence 3 + 3, !- Zone Equipment Heating or No-Load Sequence 3 + , !- Zone Equipment Sequential Cooling Fraction Schedule Name 3 + ; !- Zone Equipment Sequential Heating Fraction Schedule Name 3 + +OS:ThermostatSetpoint:DualSetpoint, + {63507396-93e8-4124-865d-fbe37a00cb39}, !- Handle + Warehouse Bulk Thermostat 1, !- Name + {481cbfc4-91f3-4cee-b788-6270a8fa877a}, !- Heating Setpoint Temperature Schedule Name + {eabcb337-3952-4a02-ab7e-24bdce96b93c}; !- Cooling Setpoint Temperature Schedule Name + +OS:Schedule:Ruleset, + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Handle + Warehouse FanSched, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + {bc7b073e-dfeb-4736-835e-ad9dec59c450}, !- Default Day Schedule Name + {41d37e1d-f630-4382-b203-648bff7bf41d}, !- Summer Design Day Schedule Name + {029b0582-a196-4e8d-a4a6-666cdcfa1dd3}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {bc7b073e-dfeb-4736-835e-ad9dec59c450}, !- Handle + Warehouse FanSched Default, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {58189c31-817a-4319-8d28-9ebcfc2f81f2}, !- Handle + Schedule Rule 17, !- Name + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Schedule Ruleset Name + 0, !- Rule Order + {3e505de5-240e-4727-ac56-e7c914ec1746}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {3e505de5-240e-4727-ac56-e7c914ec1746}, !- Handle + Warehouse FanSched Sat|Wkdy Day, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 7, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:Schedule:Day, + {029b0582-a196-4e8d-a4a6-666cdcfa1dd3}, !- Handle + Warehouse FanSched Winter Design Day, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {41d37e1d-f630-4382-b203-648bff7bf41d}, !- Handle + Warehouse FanSched Summer Design Day, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {4f9c674b-7b27-453a-8602-a8158bb91eb7}, !- Handle + Warehouse MinOA_MotorizedDamper_Sched, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {74cdd887-89f3-4979-b3bc-929299b65ab4}, !- Default Day Schedule Name + {dd97b6ec-add3-4552-b5cc-bb09b38dd5cc}, !- Summer Design Day Schedule Name + {d94e717f-3a18-4f82-af76-0ad5d49d9cd3}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {74cdd887-89f3-4979-b3bc-929299b65ab4}, !- Handle + Warehouse MinOA_MotorizedDamper_Sched Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0; !- Value Until Time 1 + +OS:Schedule:Rule, + {77888bf0-bda0-443e-ba54-f5a7343182db}, !- Handle + Schedule Rule 18, !- Name + {4f9c674b-7b27-453a-8602-a8158bb91eb7}, !- Schedule Ruleset Name + 0, !- Rule Order + {b9c955e8-3f9b-4700-9034-3320de529fab}, !- Day Schedule Name + , !- Apply Sunday + Yes, !- Apply Monday + Yes, !- Apply Tuesday + Yes, !- Apply Wednesday + Yes, !- Apply Thursday + Yes, !- Apply Friday + Yes, !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {b9c955e8-3f9b-4700-9034-3320de529fab}, !- Handle + Warehouse MinOA_MotorizedDamper_Sched Sat|Wkdy Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 8, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 18, !- Hour 2 + 0, !- Minute 2 + 1, !- Value Until Time 2 + 24, !- Hour 3 + 0, !- Minute 3 + 0; !- Value Until Time 3 + +OS:Schedule:Day, + {d94e717f-3a18-4f82-af76-0ad5d49d9cd3}, !- Handle + Warehouse MinOA_MotorizedDamper_Sched Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Schedule:Day, + {dd97b6ec-add3-4552-b5cc-bb09b38dd5cc}, !- Handle + Warehouse MinOA_MotorizedDamper_Sched Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:AirLoopHVAC, + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- Handle + Zone1 Office ZN HVAC_1, !- Name + , !- Controller List Name + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Availability Schedule + {d798028d-1d03-44f2-96fe-fda68af946ea}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {69c2a76c-e6dd-4f77-ac96-36fa0e7c3426}, !- Supply Side Inlet Node Name + {806b2c70-e7bf-4204-8cf9-791f9332bb8f}, !- Demand Side Outlet Node Name + {134b100d-67dc-4aaa-9f36-68d17689b61f}, !- Demand Side Inlet Node A + {f9552ab8-2573-4a4e-83fd-66f7b47981af}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {b3b817e9-0640-4b2e-9a4f-dc7c33378011}, !- Demand Mixer Name + {f2222084-d326-4e2e-b955-3376b578a301}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {2abda90c-010e-4677-9b1f-a225e6426414}, !- Handle + Zone1 Office ZN HVAC_1 Supply Inlet Node, !- Name + {69c2a76c-e6dd-4f77-ac96-36fa0e7c3426}, !- Inlet Port + {1028be7d-2b0d-418b-8916-ce736974a2f7}; !- Outlet Port + +OS:Node, + {710b155c-82a9-40b1-9aba-917c938057a7}, !- Handle + Zone1 Office ZN HVAC_1 Supply Outlet Node, !- Name + {17456497-0601-4040-a3d1-74842477baf8}, !- Inlet Port + {f9552ab8-2573-4a4e-83fd-66f7b47981af}; !- Outlet Port + +OS:Connection, + {69c2a76c-e6dd-4f77-ac96-36fa0e7c3426}, !- Handle + {e2127646-02ea-4a7d-9988-4cd6fc08dc37}, !- Name + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- Source Object + 8, !- Outlet Port + {2abda90c-010e-4677-9b1f-a225e6426414}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {f9552ab8-2573-4a4e-83fd-66f7b47981af}, !- Handle + {953ac64d-f2fe-496e-ab29-6936f355230b}, !- Name + {710b155c-82a9-40b1-9aba-917c938057a7}, !- Source Object + 3, !- Outlet Port + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {fc260fc6-1a15-4826-a14a-adff19413ddf}, !- Handle + Zone1 Office ZN HVAC_1 Demand Inlet Node, !- Name + {134b100d-67dc-4aaa-9f36-68d17689b61f}, !- Inlet Port + {9d0f74fb-caec-449c-88ca-430faad28c48}; !- Outlet Port + +OS:Node, + {7210affb-4622-4609-8f26-4b032692c778}, !- Handle + Zone1 Office ZN HVAC_1 Demand Outlet Node, !- Name + {e898db2a-f4c2-450d-af9d-f0453f8451aa}, !- Inlet Port + {806b2c70-e7bf-4204-8cf9-791f9332bb8f}; !- Outlet Port + +OS:Node, + {4c91eee9-e190-4de5-9809-cc83552e2ccc}, !- Handle + Zone1 Office ZN HVAC_1 Diffuser Outlet Air Node, !- Name + {29fb13d7-7413-498d-8992-2034eeffca34}, !- Inlet Port + {0148dad5-4a85-482f-92fc-7eca6b3ec49b}; !- Outlet Port + +OS:Connection, + {134b100d-67dc-4aaa-9f36-68d17689b61f}, !- Handle + {d03c8c28-4875-4073-b5bf-43872f432f2a}, !- Name + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- Source Object + 10, !- Outlet Port + {fc260fc6-1a15-4826-a14a-adff19413ddf}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {806b2c70-e7bf-4204-8cf9-791f9332bb8f}, !- Handle + {2dfc3cef-3627-4bd7-9000-83e37350eb93}, !- Name + {7210affb-4622-4609-8f26-4b032692c778}, !- Source Object + 3, !- Outlet Port + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {f2222084-d326-4e2e-b955-3376b578a301}, !- Handle + Air Loop HVAC Zone Splitter 1, !- Name + {9d0f74fb-caec-449c-88ca-430faad28c48}, !- Inlet Node Name + {4bbc892d-d6b0-41b5-87d3-2bf339b7ae7c}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {b3b817e9-0640-4b2e-9a4f-dc7c33378011}, !- Handle + Air Loop HVAC Zone Mixer 1, !- Name + {e898db2a-f4c2-450d-af9d-f0453f8451aa}, !- Outlet Node Name + {117c87fa-8e9a-4b92-8c7e-fd0cdcc2afed}; !- Inlet Node Name 1 + +OS:Connection, + {9d0f74fb-caec-449c-88ca-430faad28c48}, !- Handle + {868eba6b-36eb-492f-ad94-da81e3a5b39f}, !- Name + {fc260fc6-1a15-4826-a14a-adff19413ddf}, !- Source Object + 3, !- Outlet Port + {f2222084-d326-4e2e-b955-3376b578a301}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {e898db2a-f4c2-450d-af9d-f0453f8451aa}, !- Handle + {78c9aeea-55eb-4141-bd65-2d050548b70a}, !- Name + {b3b817e9-0640-4b2e-9a4f-dc7c33378011}, !- Source Object + 2, !- Outlet Port + {7210affb-4622-4609-8f26-4b032692c778}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {0851f77b-b6d5-4c0b-9c88-a50370894866}, !- Handle + {f3981a67-c229-4be0-8cb3-1334c3dd3f8a}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {d798028d-1d03-44f2-96fe-fda68af946ea}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList, !- Name + {60e6f146-66c5-4950-9875-ff171c9c6ec6}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {99ee7f33-0d2a-42a4-9bad-dadb4f2415f7}, !- Handle + Zone1 Office ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Control Zone Name + {710b155c-82a9-40b1-9aba-917c938057a7}; !- Setpoint Node or NodeList Name + +OS:Fan:ConstantVolume, + {e96be975-108b-4384-a08c-3ce47da48ea7}, !- Handle + Zone1 Office ZN HVAC_1 Fan, !- Name + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Availability Schedule Name + 0.56225, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + AutoSize, !- Maximum Flow Rate {m3/s} + 0.865, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + {ec929029-b8f1-421e-97a6-786ffaea560f}, !- Air Inlet Node Name + {17456497-0601-4040-a3d1-74842477baf8}, !- Air Outlet Node Name + ; !- End-Use Subcategory + +OS:ScheduleTypeLimits, + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Handle + OnOff, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Coil:Heating:Gas, + {d4bf2c27-92ed-4177-a706-1a645da33153}, !- Handle + Zone1 Office ZN HVAC_1 Gas Htg Coil, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + {c54e1da2-0fe3-4554-9ea2-7da9a64a8100}, !- Air Inlet Node Name + {b3980069-d6c1-442a-b3b6-847a9163bb2f}, !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Schedule:Constant, + {aa41ca63-59df-4ec8-b707-e32f1eb8b2e6}, !- Handle + Always Off Discrete, !- Name + {8a2a3c3c-912d-455e-9493-6f4b8574b667}, !- Schedule Type Limits Name + 0; !- Value + +OS:ScheduleTypeLimits, + {8a2a3c3c-912d-455e-9493-6f4b8574b667}, !- Handle + OnOff 1, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + Discrete, !- Numeric Type + Availability; !- Unit Type + +OS:Coil:Heating:Electric, + {95a3bf7a-a275-43d6-9333-e96dbe47cebd}, !- Handle + Zone1 Office ZN HVAC_1 No Heat, !- Name + {aa41ca63-59df-4ec8-b707-e32f1eb8b2e6}, !- Availability Schedule Name + 1, !- Efficiency + 0, !- Nominal Capacity {W} + {19bdae02-45dd-4b11-b94b-e6da631ee4de}, !- Air Inlet Node Name + {5ee42591-cc87-4696-b418-83d289fe665d}; !- Air Outlet Node Name + +OS:Coil:Cooling:DX:TwoSpeed, + {810cb75c-1aac-45a7-8ab0-17f5d665460c}, !- Handle + Zone1 Office ZN HVAC_1 2spd DX AC Clg Coil 65kBtu/hr 13.0SEER, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + Autosize, !- Rated High Speed Total Cooling Capacity {W} + Autosize, !- Rated High Speed Sensible Heat Ratio + 3.91156806861466, !- Rated High Speed COP {W/W} + Autosize, !- Rated High Speed Air Flow Rate {m3/s} + {0f0709ba-a1de-4238-8832-3a40551f0c52}, !- Air Inlet Node Name + {084bc586-6541-4280-aa15-06e785e78476}, !- Air Outlet Node Name + {f6b2da2f-90a9-484f-a68c-96feb6cc67fe}, !- Total Cooling Capacity Function of Temperature Curve Name + {1e5c201f-f719-4044-8b97-bef2bb885144}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {1688d136-800f-45b7-b2f5-fb8eefcb8ef6}, !- Energy Input Ratio Function of Temperature Curve Name + {3127684e-06d9-4ed3-b5b8-66a752c1ef42}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {1f4c9e8a-7656-4302-8ca8-4c6a4907347c}, !- Part Load Fraction Correlation Curve Name + Autosize, !- Rated Low Speed Total Cooling Capacity {W} + 0.69, !- Rated Low Speed Sensible Heat Ratio + 3.91156806861466, !- Rated Low Speed COP {W/W} + , !- Rated Low Speed Air Flow Rate {m3/s} + {f6b2da2f-90a9-484f-a68c-96feb6cc67fe}, !- Low Speed Total Cooling Capacity Function of Temperature Curve Name + {1688d136-800f-45b7-b2f5-fb8eefcb8ef6}, !- Low Speed Energy Input Ratio Function of Temperature Curve Name + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- High Speed Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- High Speed Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- High Speed Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Low Speed Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Low Speed Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Low Speed Evaporative Condenser Pump Rated Power Consumption {W} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 10, !- Basin Heater Capacity {W/K} + 2, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:Connection, + {17456497-0601-4040-a3d1-74842477baf8}, !- Handle + {9e4a7f89-2dcd-4ce0-a82a-2b7f4e13ba54}, !- Name + {e96be975-108b-4384-a08c-3ce47da48ea7}, !- Source Object + 9, !- Outlet Port + {710b155c-82a9-40b1-9aba-917c938057a7}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {f224ed4f-f4e8-42c8-810a-254c10230c6d}, !- Handle + Zone1 Office ZN HVAC_1 No Heat Outlet Air Node, !- Name + {5ee42591-cc87-4696-b418-83d289fe665d}, !- Inlet Port + {ec929029-b8f1-421e-97a6-786ffaea560f}; !- Outlet Port + +OS:Connection, + {5ee42591-cc87-4696-b418-83d289fe665d}, !- Handle + {8cd9cf84-e18e-4196-8c31-58e08c7e9043}, !- Name + {95a3bf7a-a275-43d6-9333-e96dbe47cebd}, !- Source Object + 6, !- Outlet Port + {f224ed4f-f4e8-42c8-810a-254c10230c6d}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {ec929029-b8f1-421e-97a6-786ffaea560f}, !- Handle + {ab021739-9f8f-4f8d-b721-d3f3ba363cc4}, !- Name + {f224ed4f-f4e8-42c8-810a-254c10230c6d}, !- Source Object + 3, !- Outlet Port + {e96be975-108b-4384-a08c-3ce47da48ea7}, !- Target Object + 8; !- Inlet Port + +OS:Node, + {af0da572-2b8b-4f35-96dc-4e5dd8e476ab}, !- Handle + Zone1 Office ZN HVAC_1 Gas Htg Coil Outlet Air Node, !- Name + {b3980069-d6c1-442a-b3b6-847a9163bb2f}, !- Inlet Port + {19bdae02-45dd-4b11-b94b-e6da631ee4de}; !- Outlet Port + +OS:Connection, + {b3980069-d6c1-442a-b3b6-847a9163bb2f}, !- Handle + {2cf19f57-d045-4735-8291-1e966e6f048c}, !- Name + {d4bf2c27-92ed-4177-a706-1a645da33153}, !- Source Object + 6, !- Outlet Port + {af0da572-2b8b-4f35-96dc-4e5dd8e476ab}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {19bdae02-45dd-4b11-b94b-e6da631ee4de}, !- Handle + {ae4f7c21-1dc1-49c9-9525-3ba73bcb9d25}, !- Name + {af0da572-2b8b-4f35-96dc-4e5dd8e476ab}, !- Source Object + 3, !- Outlet Port + {95a3bf7a-a275-43d6-9333-e96dbe47cebd}, !- Target Object + 5; !- Inlet Port + +OS:Node, + {202e0150-9efb-4711-b623-ddafa96d1f00}, !- Handle + Zone1 Office ZN HVAC_1 2spd DX AC Clg Coil 65kBtu/hr 13.0SEER Outlet Air Node, !- Name + {084bc586-6541-4280-aa15-06e785e78476}, !- Inlet Port + {c54e1da2-0fe3-4554-9ea2-7da9a64a8100}; !- Outlet Port + +OS:Connection, + {084bc586-6541-4280-aa15-06e785e78476}, !- Handle + {0ed6049f-68e7-4dbf-a05e-cfab48a5a7c5}, !- Name + {810cb75c-1aac-45a7-8ab0-17f5d665460c}, !- Source Object + 8, !- Outlet Port + {202e0150-9efb-4711-b623-ddafa96d1f00}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {c54e1da2-0fe3-4554-9ea2-7da9a64a8100}, !- Handle + {26902223-4ded-4d7e-91d9-dfc8dd3d3b07}, !- Name + {202e0150-9efb-4711-b623-ddafa96d1f00}, !- Source Object + 3, !- Outlet Port + {d4bf2c27-92ed-4177-a706-1a645da33153}, !- Target Object + 5; !- Inlet Port + +OS:Controller:OutdoorAir, + {718b2381-d244-4dee-9dc9-c8aae4fb9c87}, !- Handle + Zone1 Office ZN HVAC_1 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- Actuator Node Name + autosize, !- Minimum Outdoor Air Flow Rate {m3/s} + Autosize, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + , !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {4f9c674b-7b27-453a-8602-a8158bb91eb7}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {7ae1e7b3-a2d4-4969-b668-7dc118d4dab6}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {7ae1e7b3-a2d4-4969-b668-7dc118d4dab6}, !- Handle + Controller Mechanical Ventilation 1, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {079bd7db-7d8a-49fb-b321-c28736d69447}, !- Handle + Zone1 Office ZN HVAC_1 OA System, !- Name + {718b2381-d244-4dee-9dc9-c8aae4fb9c87}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {8104ce83-d85a-48fd-9089-56d0c98e4c31}, !- Mixed Air Node Name + {36510d31-615f-405f-862c-fe876d1163dd}, !- Outdoor Air Stream Node Name + {eb54ff48-1609-463f-b574-33d940db76d7}, !- Relief Air Stream Node Name + {1028be7d-2b0d-418b-8916-ce736974a2f7}; !- Return Air Stream Node Name + +OS:Node, + {b292a1dd-e338-41c8-8cbd-25e352ad8def}, !- Handle + Zone1 Office ZN HVAC_1 Outdoor Air Node, !- Name + , !- Inlet Port + {36510d31-615f-405f-862c-fe876d1163dd}; !- Outlet Port + +OS:Connection, + {36510d31-615f-405f-862c-fe876d1163dd}, !- Handle + {b748ed57-f061-4d69-93ce-3e07f3975fee}, !- Name + {b292a1dd-e338-41c8-8cbd-25e352ad8def}, !- Source Object + 3, !- Outlet Port + {079bd7db-7d8a-49fb-b321-c28736d69447}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {810b927e-2578-4e71-a362-bcdf0f14298d}, !- Handle + Zone1 Office ZN HVAC_1 Relief Air Node, !- Name + {eb54ff48-1609-463f-b574-33d940db76d7}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {eb54ff48-1609-463f-b574-33d940db76d7}, !- Handle + {fc434722-065e-45ac-8058-a0497ecbfbb6}, !- Name + {079bd7db-7d8a-49fb-b321-c28736d69447}, !- Source Object + 7, !- Outlet Port + {810b927e-2578-4e71-a362-bcdf0f14298d}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {445fad7f-df23-45a6-b581-e2b6b1d854f4}, !- Handle + Zone1 Office ZN HVAC_1 Mixed Air Node, !- Name + {8104ce83-d85a-48fd-9089-56d0c98e4c31}, !- Inlet Port + {0f0709ba-a1de-4238-8832-3a40551f0c52}; !- Outlet Port + +OS:Connection, + {1028be7d-2b0d-418b-8916-ce736974a2f7}, !- Handle + {f87058ee-d816-4b27-8e8e-3aaeb66db52e}, !- Name + {2abda90c-010e-4677-9b1f-a225e6426414}, !- Source Object + 3, !- Outlet Port + {079bd7db-7d8a-49fb-b321-c28736d69447}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {8104ce83-d85a-48fd-9089-56d0c98e4c31}, !- Handle + {e620600b-2a0d-4341-90c0-cecc08efba2e}, !- Name + {079bd7db-7d8a-49fb-b321-c28736d69447}, !- Source Object + 5, !- Outlet Port + {445fad7f-df23-45a6-b581-e2b6b1d854f4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0f0709ba-a1de-4238-8832-3a40551f0c52}, !- Handle + {ec74e912-c0cd-465c-b32c-aaff2190c487}, !- Name + {445fad7f-df23-45a6-b581-e2b6b1d854f4}, !- Source Object + 3, !- Outlet Port + {810cb75c-1aac-45a7-8ab0-17f5d665460c}, !- Target Object + 7; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {60e6f146-66c5-4950-9875-ff171c9c6ec6}, !- Handle + Availability Manager Night Cycle 1, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {9ab4d3a6-a05e-4923-b842-2ebad590f812}, !- Control Zone or Zone List Name + {e0230166-2d1b-46fe-a39e-34371eaa6a0d}, !- Cooling Control Zone or Zone List Name + {5df1a57c-1510-46b8-9a7e-7190b786d4f3}, !- Heating Control Zone or Zone List Name + {13f00919-33ed-4a6d-9042-52ed7be2e982}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {9ab4d3a6-a05e-4923-b842-2ebad590f812}, !- Handle + Availability Manager Night Cycle 1 Control Zone List; !- Name + +OS:ModelObjectList, + {e0230166-2d1b-46fe-a39e-34371eaa6a0d}, !- Handle + Availability Manager Night Cycle 1 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {5df1a57c-1510-46b8-9a7e-7190b786d4f3}, !- Handle + Availability Manager Night Cycle 1 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {13f00919-33ed-4a6d-9042-52ed7be2e982}, !- Handle + Availability Manager Night Cycle 1 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {7919ed84-1780-45df-aa2c-df7dc40765e4}, !- Handle + Zone1 Office ZN HVAC_1 Diffuser, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + {85123251-51ed-4926-82d6-c9f66d6a7f29}, !- Air Inlet Node Name + {29fb13d7-7413-498d-8992-2034eeffca34}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {c9eab791-9595-43bf-b9e9-9e752b734b12}, !- Handle + Zone1 Office ZN Return Air Node, !- Name + {909d945c-8464-4456-9973-c93b78ddb182}, !- Inlet Port + {117c87fa-8e9a-4b92-8c7e-fd0cdcc2afed}; !- Outlet Port + +OS:Connection, + {0148dad5-4a85-482f-92fc-7eca6b3ec49b}, !- Handle + {c4f9ca3a-ff4b-424c-bf1f-1a0bbb46e25b}, !- Name + {4c91eee9-e190-4de5-9809-cc83552e2ccc}, !- Source Object + 3, !- Outlet Port + {14fdfff4-47f8-49a3-aa88-85135633f226}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {909d945c-8464-4456-9973-c93b78ddb182}, !- Handle + {95d394af-e763-480c-8222-8b689fa83963}, !- Name + {faeaa9b9-5a41-4020-b1de-80ba96ba34b1}, !- Source Object + 3, !- Outlet Port + {c9eab791-9595-43bf-b9e9-9e752b734b12}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {117c87fa-8e9a-4b92-8c7e-fd0cdcc2afed}, !- Handle + {4577c090-99a4-4daf-8890-7891a3195bdb}, !- Name + {c9eab791-9595-43bf-b9e9-9e752b734b12}, !- Source Object + 3, !- Outlet Port + {b3b817e9-0640-4b2e-9a4f-dc7c33378011}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {cb2f3999-653a-4f4d-b2fb-ab178542d435}, !- Handle + Zone1 Office ZN HVAC_1 Diffuser Inlet Air Node, !- Name + {4bbc892d-d6b0-41b5-87d3-2bf339b7ae7c}, !- Inlet Port + {85123251-51ed-4926-82d6-c9f66d6a7f29}; !- Outlet Port + +OS:Connection, + {4bbc892d-d6b0-41b5-87d3-2bf339b7ae7c}, !- Handle + {c6940341-4529-4155-9312-9b50daf75e3b}, !- Name + {f2222084-d326-4e2e-b955-3376b578a301}, !- Source Object + 3, !- Outlet Port + {cb2f3999-653a-4f4d-b2fb-ab178542d435}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {85123251-51ed-4926-82d6-c9f66d6a7f29}, !- Handle + {0a52c5ae-fafe-407a-990b-6b18ec59bf63}, !- Name + {cb2f3999-653a-4f4d-b2fb-ab178542d435}, !- Source Object + 3, !- Outlet Port + {7919ed84-1780-45df-aa2c-df7dc40765e4}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {29fb13d7-7413-498d-8992-2034eeffca34}, !- Handle + {f312c616-c356-4724-ada4-bfadc00d6e59}, !- Name + {7919ed84-1780-45df-aa2c-df7dc40765e4}, !- Source Object + 4, !- Outlet Port + {4c91eee9-e190-4de5-9809-cc83552e2ccc}, !- Target Object + 2; !- Inlet Port + +OS:AirLoopHVAC, + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- Handle + Zone2 Fine Storage ZN HVAC_2, !- Name + , !- Controller List Name + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Availability Schedule + {ad7d79f2-6d17-461d-9292-16ec63475547}, !- Availability Manager List Name + AutoSize, !- Design Supply Air Flow Rate {m3/s} + , !- Branch List Name + , !- Connector List Name + {c2f36e7b-64fe-460c-96a7-5ddf9862745f}, !- Supply Side Inlet Node Name + {7d9110d4-baa0-4328-9491-c4fb7d89ce84}, !- Demand Side Outlet Node Name + {bed3d74f-611f-41c7-ac6d-b53b8b152932}, !- Demand Side Inlet Node A + {ccecd6cc-a110-4847-bbac-d795dab7bae0}, !- Supply Side Outlet Node A + , !- Demand Side Inlet Node B + , !- Supply Side Outlet Node B + , !- Return Air Bypass Flow Temperature Setpoint Schedule Name + {f48a7f02-1332-4542-9403-41e75a34fbe5}, !- Demand Mixer Name + {64458484-184f-4ef3-99b6-ef4bb5dbd97f}, !- Demand Splitter A Name + , !- Demand Splitter B Name + ; !- Supply Splitter Name + +OS:Node, + {7e3ccadc-4338-4015-a3a0-28fc411334be}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Supply Inlet Node, !- Name + {c2f36e7b-64fe-460c-96a7-5ddf9862745f}, !- Inlet Port + {dbc7d206-61b2-4a24-9b89-69ea3805285f}; !- Outlet Port + +OS:Node, + {8352cad3-e01b-42f7-a77f-f86873486ea7}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Supply Outlet Node, !- Name + {5bfdee91-ae2f-4775-bf91-75e365230ba3}, !- Inlet Port + {ccecd6cc-a110-4847-bbac-d795dab7bae0}; !- Outlet Port + +OS:Connection, + {c2f36e7b-64fe-460c-96a7-5ddf9862745f}, !- Handle + {556afa7d-b437-424e-bccb-b180ea57a0f0}, !- Name + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- Source Object + 8, !- Outlet Port + {7e3ccadc-4338-4015-a3a0-28fc411334be}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {ccecd6cc-a110-4847-bbac-d795dab7bae0}, !- Handle + {ab637794-145d-4f6b-be85-a7f636eb969b}, !- Name + {8352cad3-e01b-42f7-a77f-f86873486ea7}, !- Source Object + 3, !- Outlet Port + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- Target Object + 11; !- Inlet Port + +OS:Node, + {6014d880-3f12-441b-b775-d9a69c0a9a09}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Demand Inlet Node, !- Name + {bed3d74f-611f-41c7-ac6d-b53b8b152932}, !- Inlet Port + {8dfa4124-efe1-464c-a120-cc8d74355662}; !- Outlet Port + +OS:Node, + {29948318-560b-4829-8836-b2ec4b70e1e0}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Demand Outlet Node, !- Name + {25eb4a0b-f449-46e4-a4ab-3afdd8ff7dd7}, !- Inlet Port + {7d9110d4-baa0-4328-9491-c4fb7d89ce84}; !- Outlet Port + +OS:Node, + {3b4bf328-a1d0-4092-a90f-aba6df6b23bc}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Diffuser Outlet Air Node, !- Name + {43c2324b-d5ce-4e3e-ac25-81095ae4ccc3}, !- Inlet Port + {caf7517e-d99a-4bcb-b6c3-7fbbf19a73eb}; !- Outlet Port + +OS:Connection, + {bed3d74f-611f-41c7-ac6d-b53b8b152932}, !- Handle + {7578db8d-c2d5-4d85-9608-dbcdb6463bfd}, !- Name + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- Source Object + 10, !- Outlet Port + {6014d880-3f12-441b-b775-d9a69c0a9a09}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {7d9110d4-baa0-4328-9491-c4fb7d89ce84}, !- Handle + {2058a633-1d52-4645-8ba4-b488369959b8}, !- Name + {29948318-560b-4829-8836-b2ec4b70e1e0}, !- Source Object + 3, !- Outlet Port + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- Target Object + 9; !- Inlet Port + +OS:AirLoopHVAC:ZoneSplitter, + {64458484-184f-4ef3-99b6-ef4bb5dbd97f}, !- Handle + Air Loop HVAC Zone Splitter 2, !- Name + {8dfa4124-efe1-464c-a120-cc8d74355662}, !- Inlet Node Name + {745703e7-d67a-48f2-901f-51d4d6d1d773}; !- Outlet Node Name 1 + +OS:AirLoopHVAC:ZoneMixer, + {f48a7f02-1332-4542-9403-41e75a34fbe5}, !- Handle + Air Loop HVAC Zone Mixer 2, !- Name + {25eb4a0b-f449-46e4-a4ab-3afdd8ff7dd7}, !- Outlet Node Name + {2c540f08-2233-42e7-a3e2-8b89c8ee177e}; !- Inlet Node Name 1 + +OS:Connection, + {8dfa4124-efe1-464c-a120-cc8d74355662}, !- Handle + {dae8b76e-7a7e-4b5e-8e70-0e4d2c6040f0}, !- Name + {6014d880-3f12-441b-b775-d9a69c0a9a09}, !- Source Object + 3, !- Outlet Port + {64458484-184f-4ef3-99b6-ef4bb5dbd97f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {25eb4a0b-f449-46e4-a4ab-3afdd8ff7dd7}, !- Handle + {3c506674-0aed-4a1d-bc89-2fbfbc02cc7c}, !- Name + {f48a7f02-1332-4542-9403-41e75a34fbe5}, !- Source Object + 2, !- Outlet Port + {29948318-560b-4829-8836-b2ec4b70e1e0}, !- Target Object + 2; !- Inlet Port + +OS:Sizing:System, + {5f738e4a-0e31-4b47-995d-d3bb6b9d3054}, !- Handle + {fe14157f-7077-4875-ba0c-ada6bd698667}, !- AirLoop Name + Sensible, !- Type of Load to Size On + Autosize, !- Design Outdoor Air Flow Rate {m3/s} + 1, !- Central Heating Maximum System Air Flow Ratio + 7.22222222222229, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kg-H2O/kg-Air} + 12.7777777777778, !- Central Cooling Design Supply Air Temperature {C} + 50.0000000000001, !- Central Heating Design Supply Air Temperature {C} + Coincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + 0.008, !- Central Heating Design Supply Air Humidity Ratio {kg-H2O/kg-Air} + DesignDay, !- Cooling Design Air Flow Method + 0, !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + 0, !- Heating Design Air Flow Rate {m3/s} + ZoneSum, !- System Outdoor Air Method + 1, !- Zone Maximum Outdoor Air Fraction {dimensionless} + 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-05, !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + 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-05, !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + 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 + +OS:AvailabilityManagerAssignmentList, + {ad7d79f2-6d17-461d-9292-16ec63475547}, !- Handle + Air Loop HVAC 1 AvailabilityManagerAssignmentList 1, !- Name + {0ea17e00-f3cb-4236-98f2-100704c0fd99}; !- Availability Manager Name 1 + +OS:SetpointManager:SingleZone:Reheat, + {24071933-688d-49c1-a23d-4b74ee74a96e}, !- Handle + Zone2 Fine Storage ZN Setpoint Manager SZ Reheat, !- Name + 12.7777777777778, !- Minimum Supply Air Temperature {C} + 50.0000000000001, !- Maximum Supply Air Temperature {C} + {3230a61a-488a-477c-bc81-f7fed1dfe7b0}, !- Control Zone Name + {8352cad3-e01b-42f7-a77f-f86873486ea7}; !- Setpoint Node or NodeList Name + +OS:Fan:ConstantVolume, + {abcc5e9e-5e0a-4e86-b925-151791967b3e}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Fan, !- Name + {f575a3cd-5131-4672-9b4b-4077d4ecf8dd}, !- Availability Schedule Name + 0.58175, !- Fan Total Efficiency + 622.722275, !- Pressure Rise {Pa} + AutoSize, !- Maximum Flow Rate {m3/s} + 0.895, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + {b327ddbd-f33c-4a57-b80e-14e2ab608ea9}, !- Air Inlet Node Name + {5bfdee91-ae2f-4775-bf91-75e365230ba3}, !- Air Outlet Node Name + ; !- End-Use Subcategory + +OS:Coil:Heating:Gas, + {7087f4db-1922-4f22-92eb-2cf4d73148d4}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Gas Htg Coil, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + {f9ec964b-f318-4618-997d-b74ed0a97660}, !- Air Inlet Node Name + {a387d3c6-1599-4ba5-a55d-a1aa27c4025c}, !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:Coil:Heating:Electric, + {fd6603e7-156e-411c-bc56-a507d64b5d5f}, !- Handle + Zone2 Fine Storage ZN HVAC_2 No Heat, !- Name + {aa41ca63-59df-4ec8-b707-e32f1eb8b2e6}, !- Availability Schedule Name + 1, !- Efficiency + 0, !- Nominal Capacity {W} + {de97d5a0-851d-4166-8b84-1b3cdf099e4d}, !- Air Inlet Node Name + {4dbd0e5b-7a28-4c77-94dd-0e1e7a93b59d}; !- Air Outlet Node Name + +OS:Coil:Cooling:DX:TwoSpeed, + {93e9f4eb-ef76-4dad-abfc-1f564986ae78}, !- Handle + Zone2 Fine Storage ZN HVAC_2 2spd DX AC Clg Coil 175kBtu/hr 10.8EER, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + Autosize, !- Rated High Speed Total Cooling Capacity {W} + Autosize, !- Rated High Speed Sensible Heat Ratio + 3.73224036438218, !- Rated High Speed COP {W/W} + Autosize, !- Rated High Speed Air Flow Rate {m3/s} + {025b4265-8b96-4054-a0f6-9c5b810fd7fd}, !- Air Inlet Node Name + {3c100989-a69c-4d7c-ac19-b01e4c5c0b4e}, !- Air Outlet Node Name + {146906a8-1178-404b-90a5-96b5b70f836e}, !- Total Cooling Capacity Function of Temperature Curve Name + {cccea7a4-0bef-410f-bb50-0501b2de86eb}, !- Total Cooling Capacity Function of Flow Fraction Curve Name + {329133a8-11d6-48fe-b1e3-dd58f7893802}, !- Energy Input Ratio Function of Temperature Curve Name + {315c9c06-7982-45ad-a003-85c2101a0384}, !- Energy Input Ratio Function of Flow Fraction Curve Name + {d186e2df-d98a-4407-872e-53069b0f0d90}, !- Part Load Fraction Correlation Curve Name + Autosize, !- Rated Low Speed Total Cooling Capacity {W} + 0.69, !- Rated Low Speed Sensible Heat Ratio + 3.73224036438218, !- Rated Low Speed COP {W/W} + , !- Rated Low Speed Air Flow Rate {m3/s} + {146906a8-1178-404b-90a5-96b5b70f836e}, !- Low Speed Total Cooling Capacity Function of Temperature Curve Name + {329133a8-11d6-48fe-b1e3-dd58f7893802}, !- Low Speed Energy Input Ratio Function of Temperature Curve Name + , !- Condenser Air Inlet Node Name + AirCooled, !- Condenser Type + 0, !- High Speed Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- High Speed Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- High Speed Evaporative Condenser Pump Rated Power Consumption {W} + 0, !- Low Speed Evaporative Condenser Effectiveness {dimensionless} + Autosize, !- Low Speed Evaporative Condenser Air Flow Rate {m3/s} + Autosize, !- Low Speed Evaporative Condenser Pump Rated Power Consumption {W} + , !- Supply Water Storage Tank Name + , !- Condensate Collection Water Storage Tank Name + 10, !- Basin Heater Capacity {W/K} + 2, !- Basin Heater Setpoint Temperature {C} + ; !- Basin Heater Operating Schedule Name + +OS:Connection, + {5bfdee91-ae2f-4775-bf91-75e365230ba3}, !- Handle + {8d9971f6-1acd-4209-b5f8-0378b9591726}, !- Name + {abcc5e9e-5e0a-4e86-b925-151791967b3e}, !- Source Object + 9, !- Outlet Port + {8352cad3-e01b-42f7-a77f-f86873486ea7}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {e6ef2488-b1bd-45de-b16d-c65c62360c8d}, !- Handle + Zone2 Fine Storage ZN HVAC_2 No Heat Outlet Air Node, !- Name + {4dbd0e5b-7a28-4c77-94dd-0e1e7a93b59d}, !- Inlet Port + {b327ddbd-f33c-4a57-b80e-14e2ab608ea9}; !- Outlet Port + +OS:Connection, + {4dbd0e5b-7a28-4c77-94dd-0e1e7a93b59d}, !- Handle + {6d66ffd9-f951-49df-96db-3268dc2a7553}, !- Name + {fd6603e7-156e-411c-bc56-a507d64b5d5f}, !- Source Object + 6, !- Outlet Port + {e6ef2488-b1bd-45de-b16d-c65c62360c8d}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {b327ddbd-f33c-4a57-b80e-14e2ab608ea9}, !- Handle + {7908012f-3f30-4d2e-812d-a3be87b8072a}, !- Name + {e6ef2488-b1bd-45de-b16d-c65c62360c8d}, !- Source Object + 3, !- Outlet Port + {abcc5e9e-5e0a-4e86-b925-151791967b3e}, !- Target Object + 8; !- Inlet Port + +OS:Node, + {8b1640b4-6712-4ed5-8e4e-4f9fd109021e}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Gas Htg Coil Outlet Air Node, !- Name + {a387d3c6-1599-4ba5-a55d-a1aa27c4025c}, !- Inlet Port + {de97d5a0-851d-4166-8b84-1b3cdf099e4d}; !- Outlet Port + +OS:Connection, + {a387d3c6-1599-4ba5-a55d-a1aa27c4025c}, !- Handle + {a04ede1e-f372-426e-907b-0429242df701}, !- Name + {7087f4db-1922-4f22-92eb-2cf4d73148d4}, !- Source Object + 6, !- Outlet Port + {8b1640b4-6712-4ed5-8e4e-4f9fd109021e}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {de97d5a0-851d-4166-8b84-1b3cdf099e4d}, !- Handle + {1bbd6f7c-0b9b-4bc3-a2d3-a9fb380cc5ba}, !- Name + {8b1640b4-6712-4ed5-8e4e-4f9fd109021e}, !- Source Object + 3, !- Outlet Port + {fd6603e7-156e-411c-bc56-a507d64b5d5f}, !- Target Object + 5; !- Inlet Port + +OS:Node, + {05b80a3d-e871-46f8-9bf0-654874c7c72e}, !- Handle + Zone2 Fine Storage ZN HVAC_2 2spd DX AC Clg Coil 175kBtu/hr 10.8EER Outlet Air Node, !- Name + {3c100989-a69c-4d7c-ac19-b01e4c5c0b4e}, !- Inlet Port + {f9ec964b-f318-4618-997d-b74ed0a97660}; !- Outlet Port + +OS:Connection, + {3c100989-a69c-4d7c-ac19-b01e4c5c0b4e}, !- Handle + {768b04ee-e9ad-46e5-969f-ef1f73af7957}, !- Name + {93e9f4eb-ef76-4dad-abfc-1f564986ae78}, !- Source Object + 8, !- Outlet Port + {05b80a3d-e871-46f8-9bf0-654874c7c72e}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {f9ec964b-f318-4618-997d-b74ed0a97660}, !- Handle + {a575d800-3e58-481c-8d35-a65f86d89b0c}, !- Name + {05b80a3d-e871-46f8-9bf0-654874c7c72e}, !- Source Object + 3, !- Outlet Port + {7087f4db-1922-4f22-92eb-2cf4d73148d4}, !- Target Object + 5; !- Inlet Port + +OS:Controller:OutdoorAir, + {cf5e9cad-314f-4e00-9e8e-268f965fd5c1}, !- Handle + Zone2 Fine Storage ZN HVAC_2 OA System Controller, !- Name + , !- Relief Air Outlet Node Name + , !- Return Air Node Name + , !- Mixed Air Node Name + , !- Actuator Node Name + autosize, !- Minimum Outdoor Air Flow Rate {m3/s} + Autosize, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + , !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + , !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + {4f9c674b-7b27-453a-8602-a8158bb91eb7}, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + {eeed6fc6-c23c-474d-a57c-42fefd7d5356}, !- Controller Mechanical Ventilation + , !- Time of Day Economizer Control Schedule Name + No, !- High Humidity Control + , !- Humidistat Control Zone Name + , !- High Humidity Outdoor Air Flow Ratio + , !- Control High Indoor Humidity Based on Outdoor Humidity Ratio + BypassWhenWithinEconomizerLimits; !- Heat Recovery Bypass Control Type + +OS:Controller:MechanicalVentilation, + {eeed6fc6-c23c-474d-a57c-42fefd7d5356}, !- Handle + Controller Mechanical Ventilation 2, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule + , !- Demand Controlled Ventilation + ZoneSum; !- System Outdoor Air Method + +OS:AirLoopHVAC:OutdoorAirSystem, + {6616acb5-4b04-44be-96c8-75b2c07b2851}, !- Handle + Zone2 Fine Storage ZN HVAC_2 OA System, !- Name + {cf5e9cad-314f-4e00-9e8e-268f965fd5c1}, !- Controller Name + , !- Outdoor Air Equipment List Name + , !- Availability Manager List Name + {0917a552-a01b-42dc-8fe8-6cf444504f06}, !- Mixed Air Node Name + {5f2624dc-bb9f-4631-8cdc-c71e55db933c}, !- Outdoor Air Stream Node Name + {2bef5139-f9af-412a-a49b-84ea0725e8fa}, !- Relief Air Stream Node Name + {dbc7d206-61b2-4a24-9b89-69ea3805285f}; !- Return Air Stream Node Name + +OS:Node, + {be3d474c-d518-4902-9c61-67d4bf09b637}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Outdoor Air Node, !- Name + , !- Inlet Port + {5f2624dc-bb9f-4631-8cdc-c71e55db933c}; !- Outlet Port + +OS:Connection, + {5f2624dc-bb9f-4631-8cdc-c71e55db933c}, !- Handle + {dbda1c3c-f215-44ed-b824-68e4738202ae}, !- Name + {be3d474c-d518-4902-9c61-67d4bf09b637}, !- Source Object + 3, !- Outlet Port + {6616acb5-4b04-44be-96c8-75b2c07b2851}, !- Target Object + 6; !- Inlet Port + +OS:Node, + {e8661939-ef7a-4b0c-b592-f9d7928e9178}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Relief Air Node, !- Name + {2bef5139-f9af-412a-a49b-84ea0725e8fa}, !- Inlet Port + ; !- Outlet Port + +OS:Connection, + {2bef5139-f9af-412a-a49b-84ea0725e8fa}, !- Handle + {99f61b55-ad40-466d-b203-9f601e77c3e9}, !- Name + {6616acb5-4b04-44be-96c8-75b2c07b2851}, !- Source Object + 7, !- Outlet Port + {e8661939-ef7a-4b0c-b592-f9d7928e9178}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {1c1d6577-5037-4c19-bc8b-96104be31250}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Mixed Air Node, !- Name + {0917a552-a01b-42dc-8fe8-6cf444504f06}, !- Inlet Port + {025b4265-8b96-4054-a0f6-9c5b810fd7fd}; !- Outlet Port + +OS:Connection, + {dbc7d206-61b2-4a24-9b89-69ea3805285f}, !- Handle + {acda51d0-4b4a-428f-a502-8638e0dc3bcf}, !- Name + {7e3ccadc-4338-4015-a3a0-28fc411334be}, !- Source Object + 3, !- Outlet Port + {6616acb5-4b04-44be-96c8-75b2c07b2851}, !- Target Object + 8; !- Inlet Port + +OS:Connection, + {0917a552-a01b-42dc-8fe8-6cf444504f06}, !- Handle + {1922fbd5-ed02-40fd-9ec1-4c7e1501f3e3}, !- Name + {6616acb5-4b04-44be-96c8-75b2c07b2851}, !- Source Object + 5, !- Outlet Port + {1c1d6577-5037-4c19-bc8b-96104be31250}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {025b4265-8b96-4054-a0f6-9c5b810fd7fd}, !- Handle + {e2de789f-1a34-47b5-aba0-2ac1bc55ae60}, !- Name + {1c1d6577-5037-4c19-bc8b-96104be31250}, !- Source Object + 3, !- Outlet Port + {93e9f4eb-ef76-4dad-abfc-1f564986ae78}, !- Target Object + 7; !- Inlet Port + +OS:AvailabilityManager:NightCycle, + {0ea17e00-f3cb-4236-98f2-100704c0fd99}, !- Handle + Availability Manager Night Cycle 2, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Applicability Schedule + , !- Fan Schedule + CycleOnAny, !- Control Type + 1, !- Thermostat Tolerance {deltaC} + , !- Cycling Run Time Control Type + 1800, !- Cycling Run Time {s} + {11af6438-3c02-4b09-aecd-5dd4043e9927}, !- Control Zone or Zone List Name + {1b9598c8-d521-43e8-ab0d-4895b7c24d56}, !- Cooling Control Zone or Zone List Name + {67082667-f78f-4ef1-875c-3918441cac5c}, !- Heating Control Zone or Zone List Name + {9f27daad-e4e2-4108-a1bb-26c71b255798}; !- Heating Zone Fans Only Zone or Zone List Name + +OS:ModelObjectList, + {11af6438-3c02-4b09-aecd-5dd4043e9927}, !- Handle + Availability Manager Night Cycle 2 Control Zone List; !- Name + +OS:ModelObjectList, + {1b9598c8-d521-43e8-ab0d-4895b7c24d56}, !- Handle + Availability Manager Night Cycle 2 Cooling Control Zone List; !- Name + +OS:ModelObjectList, + {67082667-f78f-4ef1-875c-3918441cac5c}, !- Handle + Availability Manager Night Cycle 2 Heating Control Zone List; !- Name + +OS:ModelObjectList, + {9f27daad-e4e2-4108-a1bb-26c71b255798}, !- Handle + Availability Manager Night Cycle 2 Heating Zone Fans Only Zone List; !- Name + +OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, + {0ceee5cf-bef0-4d06-8728-dc0a2d572945}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Diffuser, !- Name + {b3794e0e-1450-423f-aa4b-5046b9d06672}, !- Availability Schedule Name + {0bf7572d-20ee-4f53-9ad8-83be4c06f657}, !- Air Inlet Node Name + {43c2324b-d5ce-4e3e-ac25-81095ae4ccc3}, !- Air Outlet Node Name + AutoSize; !- Maximum Air Flow Rate {m3/s} + +OS:Node, + {d5a048d9-87ad-40a7-a0c5-2c97f23e0b3f}, !- Handle + Zone2 Fine Storage ZN Return Air Node, !- Name + {58e42913-adcf-41a6-80cf-f2a51bb4da83}, !- Inlet Port + {2c540f08-2233-42e7-a3e2-8b89c8ee177e}; !- Outlet Port + +OS:Connection, + {caf7517e-d99a-4bcb-b6c3-7fbbf19a73eb}, !- Handle + {f1a26449-54ab-4de2-a090-29f87159b248}, !- Name + {3b4bf328-a1d0-4092-a90f-aba6df6b23bc}, !- Source Object + 3, !- Outlet Port + {770bfe67-c97d-4c2a-a623-abc337ee287b}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {58e42913-adcf-41a6-80cf-f2a51bb4da83}, !- Handle + {2412f034-a851-4a07-9221-be842c2bb5c0}, !- Name + {d00784c7-878c-48bd-bb56-db5008cd76f8}, !- Source Object + 3, !- Outlet Port + {d5a048d9-87ad-40a7-a0c5-2c97f23e0b3f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {2c540f08-2233-42e7-a3e2-8b89c8ee177e}, !- Handle + {f0c35b20-d8f0-4538-a12d-9d83adae7076}, !- Name + {d5a048d9-87ad-40a7-a0c5-2c97f23e0b3f}, !- Source Object + 3, !- Outlet Port + {f48a7f02-1332-4542-9403-41e75a34fbe5}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {45e07fb5-35e9-44eb-871a-9db4894f8656}, !- Handle + Zone2 Fine Storage ZN HVAC_2 Diffuser Inlet Air Node, !- Name + {745703e7-d67a-48f2-901f-51d4d6d1d773}, !- Inlet Port + {0bf7572d-20ee-4f53-9ad8-83be4c06f657}; !- Outlet Port + +OS:Connection, + {745703e7-d67a-48f2-901f-51d4d6d1d773}, !- Handle + {2276239d-9fd7-433b-9c12-798092e13fbc}, !- Name + {64458484-184f-4ef3-99b6-ef4bb5dbd97f}, !- Source Object + 3, !- Outlet Port + {45e07fb5-35e9-44eb-871a-9db4894f8656}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {0bf7572d-20ee-4f53-9ad8-83be4c06f657}, !- Handle + {b37e6dd4-7fac-4d56-bda3-d767196914ba}, !- Name + {45e07fb5-35e9-44eb-871a-9db4894f8656}, !- Source Object + 3, !- Outlet Port + {0ceee5cf-bef0-4d06-8728-dc0a2d572945}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {43c2324b-d5ce-4e3e-ac25-81095ae4ccc3}, !- Handle + {6187b1a1-d960-4c17-bfde-183b06726e36}, !- Name + {0ceee5cf-bef0-4d06-8728-dc0a2d572945}, !- Source Object + 4, !- Outlet Port + {3b4bf328-a1d0-4092-a90f-aba6df6b23bc}, !- Target Object + 2; !- Inlet Port + +OS:Schedule:Ruleset, + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Handle + Always On, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + {9eefa1e9-afec-4885-9a21-d3c17c0ff11b}; !- Default Day Schedule Name + +OS:Schedule:Day, + {9eefa1e9-afec-4885-9a21-d3c17c0ff11b}, !- Handle + Always On Default, !- Name + {e695cf0d-8c38-41d9-b07d-c8b5a7fd6cea}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 1; !- Value Until Time 1 + +OS:Fan:ConstantVolume, + {d149a11c-aa96-49da-91b0-e418edc631ab}, !- Handle + Zone3 Bulk Storage ZN UnitHeater Fan, !- Name + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Availability Schedule Name + 0.55575, !- Fan Total Efficiency + 49.817782, !- Pressure Rise {Pa} + AutoSize, !- Maximum Flow Rate {m3/s} + 0.855, !- Motor Efficiency + 1, !- Motor In Airstream Fraction + , !- Air Inlet Node Name + , !- Air Outlet Node Name + ; !- End-Use Subcategory + +OS:Coil:Heating:Gas, + {2cc5cdb1-25bc-48bc-a4bf-510e26ff9116}, !- Handle + Zone3 Bulk Storage ZN UnitHeater Gas Htg Coil, !- Name + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Availability Schedule Name + 0.8, !- Gas Burner Efficiency + AutoSize, !- Nominal Capacity {W} + , !- Air Inlet Node Name + , !- Air Outlet Node Name + , !- Temperature Setpoint Node Name + 0, !- Parasitic Electric Load {W} + , !- Part Load Fraction Correlation Curve Name + 0; !- Parasitic Gas Load {W} + +OS:ZoneHVAC:UnitHeater, + {28e5f181-b6d7-4b69-93c7-588713ef093b}, !- Handle + Zone3 Bulk Storage ZN Unit Heater, !- Name + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Availability Schedule Name + {f092697d-742e-4dce-a439-f731cb41dc0b}, !- Air Inlet Node Name + {cfde54a3-da23-442d-a1f7-3a98bb66d9da}, !- Air Outlet Node Name + {d149a11c-aa96-49da-91b0-e418edc631ab}, !- Supply Air Fan Name + autosize, !- Maximum Supply Air Flow Rate {m3/s} + OnOff, !- Fan Control Type + {2cc5cdb1-25bc-48bc-a4bf-510e26ff9116}, !- Heating Coil Name + , !- Maximum Hot Water Flow Rate {m3/s} + 0, !- Minimum Hot Water Flow Rate {m3/s} + 0.001, !- Heating Convergence Tolerance + ; !- Availability Manager List Name + +OS:Node, + {a3d76a6d-8b20-4126-8b89-586eb706d13f}, !- Handle + Zone3 Bulk Storage ZN Unit Heater Inlet Air Node, !- Name + {a10c6987-179b-46fc-b645-e97347c35bf6}, !- Inlet Port + {f092697d-742e-4dce-a439-f731cb41dc0b}; !- Outlet Port + +OS:Connection, + {a10c6987-179b-46fc-b645-e97347c35bf6}, !- Handle + {3a5b3ac2-dadb-49b4-a623-9e47f7e9d794}, !- Name + {9bea9730-4b2b-4b44-a10e-49028e4329dc}, !- Source Object + 3, !- Outlet Port + {a3d76a6d-8b20-4126-8b89-586eb706d13f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {f092697d-742e-4dce-a439-f731cb41dc0b}, !- Handle + {76501224-84af-41a7-a755-1b375adfe07b}, !- Name + {a3d76a6d-8b20-4126-8b89-586eb706d13f}, !- Source Object + 3, !- Outlet Port + {28e5f181-b6d7-4b69-93c7-588713ef093b}, !- Target Object + 3; !- Inlet Port + +OS:Node, + {b1e2b582-0a41-44d5-a232-5024602de67f}, !- Handle + Zone3 Bulk Storage ZN Unit Heater Outlet Air Node, !- Name + {cfde54a3-da23-442d-a1f7-3a98bb66d9da}, !- Inlet Port + {a15b8b7e-af57-48b9-9467-285ba87378df}; !- Outlet Port + +OS:Connection, + {a15b8b7e-af57-48b9-9467-285ba87378df}, !- Handle + {f44ca070-96f8-4381-8d95-f8427586758e}, !- Name + {b1e2b582-0a41-44d5-a232-5024602de67f}, !- Source Object + 3, !- Outlet Port + {29e5c2ed-c4ce-48bd-88f1-61fe01328f4d}, !- Target Object + 3; !- Inlet Port + +OS:Connection, + {cfde54a3-da23-442d-a1f7-3a98bb66d9da}, !- Handle + {89393105-4fa5-4d33-9769-5345c1e4f699}, !- Name + {28e5f181-b6d7-4b69-93c7-588713ef093b}, !- Source Object + 4, !- Outlet Port + {b1e2b582-0a41-44d5-a232-5024602de67f}, !- Target Object + 2; !- Inlet Port + +OS:ZoneVentilation:DesignFlowRate, + {644dc883-1242-4948-bde2-cdff3d0bebb4}, !- Handle + Zone3 Bulk Storage ZN Ventilation, !- Name + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Schedule Name + Flow/Zone, !- Design Flow Rate Calculation Method + 37.7600048024407, !- Design Flow Rate {m3/s} + 0, !- Flow Rate per Zone Floor Area {m3/s-m2} + 0, !- Flow Rate per Person {m3/s-person} + 0, !- Air Changes per Hour {1/hr} + Exhaust, !- Ventilation Type + 31.1361206455786, !- Fan Pressure Rise {Pa} + 0.51, !- Fan Total Efficiency + 1, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0, !- Velocity Term Coefficient + 0, !- Velocity Squared Term Coefficient + 29.4444452244559, !- Minimum Indoor Temperature {C} + , !- Minimum Indoor Temperature Schedule Name + 100, !- Maximum Indoor Temperature {C} + , !- Maximum Indoor Temperature Schedule Name + -100, !- Delta Temperature {deltaC} + , !- Delta Temperature Schedule Name + -100, !- Minimum Outdoor Temperature {C} + , !- Minimum Outdoor Temperature Schedule Name + 100, !- Maximum Outdoor Temperature {C} + , !- Maximum Outdoor Temperature Schedule Name + 40; !- Maximum Wind Speed {m/s} + +OS:ZoneVentilation:DesignFlowRate, + {f8b0ec9f-3184-4fec-a660-dd830e5e4736}, !- Handle + Zone3 Bulk Storage ZN Ventilation 1, !- Name + {06c70b81-2930-46ed-a9e0-addf2a0ffb74}, !- Schedule Name + Flow/Zone, !- Design Flow Rate Calculation Method + 0.9438948864, !- Design Flow Rate {m3/s} + 0, !- Flow Rate per Zone Floor Area {m3/s-m2} + 0, !- Flow Rate per Person {m3/s-person} + 0, !- Air Changes per Hour {1/hr} + Natural, !- Ventilation Type + 0, !- Fan Pressure Rise {Pa} + 1, !- Fan Total Efficiency + 0, !- Constant Term Coefficient + 0, !- Temperature Term Coefficient + 0.224, !- Velocity Term Coefficient + 0, !- Velocity Squared Term Coefficient + -73.3333352760033, !- Minimum Indoor Temperature {C} + , !- Minimum Indoor Temperature Schedule Name + 29.4444452244559, !- Maximum Indoor Temperature {C} + , !- Maximum Indoor Temperature Schedule Name + -100, !- Delta Temperature {deltaC} + , !- Delta Temperature Schedule Name + -100, !- Minimum Outdoor Temperature {C} + , !- Minimum Outdoor Temperature Schedule Name + 100, !- Maximum Outdoor Temperature {C} + , !- Maximum Outdoor Temperature Schedule Name + 40; !- Maximum Wind Speed {m/s} + +OS:Material:NoMass, + {8e60f7a5-826b-4960-90da-86349518b4c0}, !- Handle + CP02 CARPET PAD, !- Name + VeryRough, !- Roughness + 0.21648, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.8; !- Visible Absorptance + +OS:Material, + {d00920e3-91a5-4b41-a7bd-2c26aef66c8d}, !- Handle + 100mm Normalweight concrete floor, !- Name + MediumSmooth, !- Roughness + 0.1016, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2322, !- Density {kg/m3} + 832; !- Specific Heat {J/kg-K} + +OS:Material:NoMass, + {d5bf31f5-441e-424f-9c81-cd8f6f9449c7}, !- Handle + Nonres_Floor_Insulation, !- Name + MediumSmooth, !- Roughness + 2.88291975297193, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {94aa1c6d-4087-4920-84e5-cf6254f9e573}, !- Handle + G01 13mm gypsum board, !- Name + Smooth, !- Roughness + 0.0127, !- Thickness {m} + 0.16, !- Conductivity {W/m-K} + 800, !- Density {kg/m3} + 1090, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.5; !- Visible Absorptance + +OS:Material, + {f0522b18-1de9-47f5-b613-b4b54d5f6f1d}, !- Handle + M10 200mm concrete block basement wall, !- Name + MediumRough, !- Roughness + 0.2032, !- Thickness {m} + 1.326, !- Conductivity {W/m-K} + 1842, !- Density {kg/m3} + 912; !- Specific Heat {J/kg-K} + +OS:DefaultConstructionSet, + {c99232a4-00e1-48ec-aa23-aecb05855d37}, !- Handle + 90.1-2010 - Warehouse - ASHRAE 169-2013-3B, !- Name + {21656f89-4b57-4220-875b-2429d56c3e63}, !- Default Exterior Surface Constructions Name + {14d67030-aa78-4692-9d01-0ed24d7fc197}, !- Default Interior Surface Constructions Name + {ec6c5e52-b0d1-4384-a927-8fbaa1fad1de}, !- Default Ground Contact Surface Constructions Name + {6241899b-7d09-4127-8c1a-da0b44b7d1be}, !- Default Exterior SubSurface Constructions Name + {154bb149-211f-4bfe-bd5b-1b87a5e6c560}, !- Default Interior SubSurface Constructions Name + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {21656f89-4b57-4220-875b-2429d56c3e63}, !- Handle + Default Surface Constructions 1, !- Name + {ae980f0c-e675-4b71-ab1b-a1e5fae42d67}, !- Floor Construction Name + {2cac27dd-92ec-471d-ab16-a05683b871a0}, !- Wall Construction Name + {987e6236-b488-446d-9e61-877d6fb4f469}; !- Roof Ceiling Construction Name + +OS:Construction, + {ae980f0c-e675-4b71-ab1b-a1e5fae42d67}, !- Handle + Typical Insulated Exterior Mass Floor R-9.35, !- Name + , !- Surface Rendering Name + {1358e683-15ad-48bc-a7aa-11b15666d54a}, !- Layer 1 + {a35896e8-e047-40c1-be2e-49f72fb5d4c8}, !- Layer 2 + {12ba7a16-a66c-4c66-a342-32f13797cacb}; !- Layer 3 + +OS:StandardsInformation:Construction, + {2c07a260-a22c-4d8a-bf9c-88024a2c362a}, !- Handle + {ae980f0c-e675-4b71-ab1b-a1e5fae42d67}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {1358e683-15ad-48bc-a7aa-11b15666d54a}, !- Handle + Typical Insulation R-6.78, !- Name + Smooth, !- Roughness + 1.19346679593268, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {a35896e8-e047-40c1-be2e-49f72fb5d4c8}, !- Handle + 4 in. Normalweight Concrete Floor, !- Name + MediumRough, !- Roughness + 0.1016, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2321.99999999999, !- Density {kg/m3} + 831.999999999997, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material:NoMass, + {12ba7a16-a66c-4c66-a342-32f13797cacb}, !- Handle + Typical Carpet Pad, !- Name + Smooth, !- Roughness + 0.216479986995276, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.8; !- Visible Absorptance + +OS:Construction, + {2cac27dd-92ec-471d-ab16-a05683b871a0}, !- Handle + Typical Insulated Metal Building Wall R-8.85, !- Name + , !- Surface Rendering Name + {f217eba0-4d73-4b33-bdb2-c6731abd2047}, !- Layer 1 + {0d72b87d-ebba-4cb9-a66f-47b3a61f7cb4}, !- Layer 2 + {c0c15930-2857-4b94-8539-ce991ed28ae4}; !- Layer 3 + +OS:StandardsInformation:Construction, + {1e095dc8-48fa-435d-b51d-2778784c5665}, !- Handle + {2cac27dd-92ec-471d-ab16-a05683b871a0}, !- Construction Name + ExteriorWall, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material, + {f217eba0-4d73-4b33-bdb2-c6731abd2047}, !- Handle + Metal Siding, !- Name + Smooth, !- Roughness + 0.0015, !- Thickness {m} + 44.9599999999999, !- Conductivity {W/m-K} + 7688.86, !- Density {kg/m3} + 410, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material:NoMass, + {0d72b87d-ebba-4cb9-a66f-47b3a61f7cb4}, !- Handle + Typical Insulation R-7.55, !- Name + Smooth, !- Roughness + 1.32939518160909, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {c0c15930-2857-4b94-8539-ce991ed28ae4}, !- Handle + 1/2IN Gypsum, !- Name + Smooth, !- Roughness + 0.0127, !- Thickness {m} + 0.16, !- Conductivity {W/m-K} + 784.9, !- Density {kg/m3} + 830.000000000001, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.4, !- Solar Absorptance + 0.4; !- Visible Absorptance + +OS:Construction, + {987e6236-b488-446d-9e61-877d6fb4f469}, !- Handle + Typical Insulated Metal Building Roof R-10.31, !- Name + , !- Surface Rendering Name + {1dbb61d0-d0bd-433a-89f8-e5f77f5ea82b}, !- Layer 1 + {ead9251d-9dce-462f-a87f-096834815522}; !- Layer 2 + +OS:StandardsInformation:Construction, + {8036439b-32d1-4c62-8a87-4f079f1221b9}, !- Handle + {987e6236-b488-446d-9e61-877d6fb4f469}, !- Construction Name + ExteriorRoof, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material, + {1dbb61d0-d0bd-433a-89f8-e5f77f5ea82b}, !- Handle + Metal Roof Surface, !- Name + Smooth, !- Roughness + 0.000799999999999998, !- Thickness {m} + 45.2799999999999, !- Conductivity {W/m-K} + 7823.99999999999, !- Density {kg/m3} + 499.999999999996, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material:NoMass, + {ead9251d-9dce-462f-a87f-096834815522}, !- Handle + Typical Insulation R-9.53, !- Name + Smooth, !- Roughness + 1.67818529282458, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {14d67030-aa78-4692-9d01-0ed24d7fc197}, !- Handle + Default Surface Constructions 2, !- Name + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Floor Construction Name + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Wall Construction Name + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}; !- Roof Ceiling Construction Name + +OS:Construction, + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Handle + Typical Interior Floor, !- Name + , !- Surface Rendering Name + {d00920e3-91a5-4b41-a7bd-2c26aef66c8d}, !- Layer 1 + {8e60f7a5-826b-4960-90da-86349518b4c0}; !- Layer 2 + +OS:StandardsInformation:Construction, + {e1119b8b-4ed7-46c3-a43c-d01b52ecabfb}, !- Handle + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Construction Name + InteriorFloor, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Construction, + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Handle + Typical Interior Wall, !- Name + , !- Surface Rendering Name + {94aa1c6d-4087-4920-84e5-cf6254f9e573}, !- Layer 1 + {94aa1c6d-4087-4920-84e5-cf6254f9e573}; !- Layer 2 + +OS:StandardsInformation:Construction, + {7a5a8c1b-ad13-44d2-bca8-88632d87cb65}, !- Handle + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Construction Name + InteriorWall, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Construction, + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}, !- Handle + Typical Interior Ceiling, !- Name + , !- Surface Rendering Name + {8e60f7a5-826b-4960-90da-86349518b4c0}, !- Layer 1 + {d00920e3-91a5-4b41-a7bd-2c26aef66c8d}; !- Layer 2 + +OS:StandardsInformation:Construction, + {3861b29a-0a58-46a1-b3cd-757fdd53ede4}, !- Handle + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}, !- Construction Name + InteriorCeiling, !- Intended Surface Type + ; !- Standards Construction Type + +OS:DefaultSurfaceConstructions, + {ec6c5e52-b0d1-4384-a927-8fbaa1fad1de}, !- Handle + Default Surface Constructions 3, !- Name + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Floor Construction Name + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:Construction, + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Handle + ext-slab, !- Name + , !- Surface Rendering Name + {b53775ff-6867-4133-9035-5942c2bb4023}; !- Layer 1 + +OS:StandardsInformation:Construction, + {86bfa189-4497-40c4-80af-a433f2abbfd6}, !- Handle + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Construction Name + GroundContactFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material, + {b53775ff-6867-4133-9035-5942c2bb4023}, !- Handle + 6 in. Normalweight Concrete Floor, !- Name + MediumRough, !- Roughness + 0.1524, !- Thickness {m} + 2.31, !- Conductivity {W/m-K} + 2321.99999999999, !- Density {kg/m3} + 831.999999999997, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Handle + Typical Insulated Basement Mass Wall, !- Name + , !- Surface Rendering Name + {96cf6af3-b705-47ed-a16b-09041784be46}; !- Layer 1 + +OS:StandardsInformation:Construction, + {21e7a751-2047-4d04-b2d6-251ec731f71d}, !- Handle + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Construction Name + GroundContactWall, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {5759fd9f-860f-46d9-a94b-4bf54b126b45}, !- Handle + Typical Insulation R-0.58, !- Name + Smooth, !- Roughness + 0.101892320559048, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Material, + {96cf6af3-b705-47ed-a16b-09041784be46}, !- Handle + 8 in. Concrete Block Basement Wall, !- Name + MediumRough, !- Roughness + 0.2032, !- Thickness {m} + 1.326, !- Conductivity {W/m-K} + 1841.99999999999, !- Density {kg/m3} + 911.999999999999, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSubSurfaceConstructions, + {6241899b-7d09-4127-8c1a-da0b44b7d1be}, !- Handle + Default Sub Surface Constructions 1, !- Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Fixed Window Construction Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Operable Window Construction Name + {04710858-b6ca-41ce-9b4a-196e3c03794c}, !- Door Construction Name + , !- Glass Door Construction Name + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Overhead Door Construction Name + {a4793330-85fd-494c-b058-b2395d50bd07}, !- Skylight Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Tubular Daylight Dome Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Handle + U 0.62 SHGC 0.25 Dbl Ref-C-H Clr 6mm/6mm Air, !- Name + , !- Surface Rendering Name + {bb220900-4a29-4959-aaa5-03490d5ae01e}, !- Layer 1 + {1a11a815-dc7c-4215-bb55-f2def3272927}, !- Layer 2 + {b0919052-e4d0-45eb-9858-ec3c72ebd856}; !- Layer 3 + +OS:StandardsInformation:Construction, + {31a0bbd0-2438-4a6b-a525-f08edd71158b}, !- Handle + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Construction Name + ExteriorWindow, !- Intended Surface Type + Metal framing (all other), !- Standards Construction Type + , !- Perturbable Layer + , !- Perturbable Layer Type + , !- Other Perturbable Layer Type + , !- Construction Standard + , !- Construction Standard Source + , !- Fenestration Type + , !- Fenestration Assembly Context + , !- Fenestration Number of Panes + Metal Framing; !- Fenestration Frame Type + +OS:WindowMaterial:Glazing, + {bb220900-4a29-4959-aaa5-03490d5ae01e}, !- Handle + REF C CLEAR HI 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00599999999999998, !- Thickness {m} + 0.2, !- Solar Transmittance at Normal Incidence + 0.16, !- Front Side Solar Reflectance at Normal Incidence + 0.39, !- Back Side Solar Reflectance at Normal Incidence + 0.22, !- Visible Transmittance at Normal Incidence + 0.17, !- Front Side Visible Reflectance at Normal Incidence + 0.35, !- Back Side Visible Reflectance at Normal Incidence + 0, !- Infrared Transmittance at Normal Incidence + 0.84, !- Front Side Infrared Hemispherical Emissivity + 0.55, !- Back Side Infrared Hemispherical Emissivity + 0.9, !- Conductivity {W/m-K} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:WindowMaterial:Gas, + {1a11a815-dc7c-4215-bb55-f2def3272927}, !- Handle + AIR 6MM, !- Name + Air, !- Gas Type + 0.0063; !- Thickness {m} + +OS:WindowMaterial:Glazing, + {b0919052-e4d0-45eb-9858-ec3c72ebd856}, !- Handle + CLEAR 6MM, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00599999999999998, !- 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.08, !- Front Side Visible Reflectance at Normal Incidence + 0.08, !- Back Side Visible Reflectance at Normal Incidence + 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} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:Construction, + {04710858-b6ca-41ce-9b4a-196e3c03794c}, !- Handle + Typical Uninsulated Swinging Door R-1.43, !- Name + , !- Surface Rendering Name + {5759fd9f-860f-46d9-a94b-4bf54b126b45}; !- Layer 1 + +OS:StandardsInformation:Construction, + {3ca04235-342d-4ea4-9fb3-8fbd12cc1b4e}, !- Handle + {04710858-b6ca-41ce-9b4a-196e3c03794c}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + Swinging; !- Standards Construction Type + +OS:Construction, + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Handle + Typical Overhead Door, !- Name + , !- Surface Rendering Name + {45b495c2-d5ae-43c2-aa47-b11ffe6fc3eb}; !- Layer 1 + +OS:StandardsInformation:Construction, + {73934110-c9c3-4fa8-961a-1e2bf467b6c9}, !- Handle + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + RollUp; !- Standards Construction Type + +OS:Material:NoMass, + {45b495c2-d5ae-43c2-aa47-b11ffe6fc3eb}, !- Handle + Typical Insulation R-6.78 1, !- Name + Smooth, !- Roughness + 1.19346679593268, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {a4793330-85fd-494c-b058-b2395d50bd07}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing Skylight U-1.17 SHGC 0.39, !- Name + , !- Surface Rendering Name + {a44bd12e-99b7-4136-8280-0c5fec392f09}; !- Layer 1 + +OS:StandardsInformation:Construction, + {ed8319bf-094f-418c-8438-aabc8e04d9ba}, !- Handle + {a4793330-85fd-494c-b058-b2395d50bd07}, !- Construction Name + , !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:SimpleGlazingSystem, + {a44bd12e-99b7-4136-8280-0c5fec392f09}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing U-1.17 SHGC 0.39, !- Name + 6.64356810910278, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + 0.23; !- Visible Transmittance + +OS:Construction, + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Handle + Typical Interior Window, !- Name + , !- Surface Rendering Name + {45be67e1-7b97-420a-bcc0-1229ea2bd3c1}; !- Layer 1 + +OS:StandardsInformation:Construction, + {e9142943-d9c0-49b0-89dc-03f1705b9bb4}, !- Handle + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Construction Name + InteriorWindow, !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:Glazing, + {45be67e1-7b97-420a-bcc0-1229ea2bd3c1}, !- Handle + Clear 3mm, !- Name + SpectralAverage, !- Optical Data Type + , !- Window Glass Spectral Data Set Name + 0.00299999999999999, !- 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, !- 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} + 1, !- Dirt Correction Factor for Solar and Visible Transmittance + No; !- Solar Diffusing + +OS:DefaultSubSurfaceConstructions, + {154bb149-211f-4bfe-bd5b-1b87a5e6c560}, !- Handle + Default Sub Surface Constructions 2, !- Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Fixed Window Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Operable Window Construction Name + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Handle + Typical Interior Door, !- Name + , !- Surface Rendering Name + {0acc0848-3b2c-4a0a-a5b1-d09994a302c1}; !- Layer 1 + +OS:StandardsInformation:Construction, + {0f81b448-12e5-42ae-8347-3512ae24f878}, !- Handle + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Construction Name + InteriorDoor, !- Intended Surface Type + ; !- Standards Construction Type + +OS:Material, + {0acc0848-3b2c-4a0a-a5b1-d09994a302c1}, !- Handle + G05 25mm wood, !- Name + MediumSmooth, !- Roughness + 0.0254, !- Thickness {m} + 0.15, !- Conductivity {W/m-K} + 608, !- Density {kg/m3} + 1630, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.5, !- Solar Absorptance + 0.5; !- Visible Absorptance + +OS:Construction, + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Handle + Typical Interior Partition, !- Name + , !- Surface Rendering Name + {0acc0848-3b2c-4a0a-a5b1-d09994a302c1}; !- Layer 1 + +OS:StandardsInformation:Construction, + {3b4ec848-ed4e-4df2-a94a-07fb61252ae9}, !- Handle + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Construction Name + InteriorPartition, !- Intended Surface Type + ; !- Standards Construction Type + +OS:DefaultConstructionSet, + {ed15bfb0-21d6-4e35-bd9f-898c0e2a0040}, !- Handle + 90.1-2010 - Warehouse - Bulk - ASHRAE 169-2013-3B, !- Name + {7728a4db-7f9e-4358-8986-eb210290c9de}, !- Default Exterior Surface Constructions Name + {a95bee57-405b-4e18-92cb-aaf2fcc28241}, !- Default Interior Surface Constructions Name + {c9193a87-8bb5-4c24-816e-2025a4232473}, !- Default Ground Contact Surface Constructions Name + {11d12ef3-2c18-439f-a405-99f958c75052}, !- Default Exterior SubSurface Constructions Name + {16dc9275-ee1c-4930-bf11-932e28803c9e}, !- Default Interior SubSurface Constructions Name + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {7728a4db-7f9e-4358-8986-eb210290c9de}, !- Handle + Default Surface Constructions 4, !- Name + {e6c28602-b850-47f0-85da-685bee9c1a3a}, !- Floor Construction Name + {413f307e-0707-436d-aee5-bb0ce476d5af}, !- Wall Construction Name + {39e788c4-0ff3-424e-8326-b5bf9110fb87}; !- Roof Ceiling Construction Name + +OS:Construction, + {e6c28602-b850-47f0-85da-685bee9c1a3a}, !- Handle + Typical Insulated Exterior Mass Floor R-9.35 1, !- Name + , !- Surface Rendering Name + {45b495c2-d5ae-43c2-aa47-b11ffe6fc3eb}, !- Layer 1 + {a35896e8-e047-40c1-be2e-49f72fb5d4c8}, !- Layer 2 + {12ba7a16-a66c-4c66-a342-32f13797cacb}; !- Layer 3 + +OS:StandardsInformation:Construction, + {d5e853c5-d416-4032-87de-cf151ff2e658}, !- Handle + {e6c28602-b850-47f0-85da-685bee9c1a3a}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Construction, + {413f307e-0707-436d-aee5-bb0ce476d5af}, !- Handle + Typical Insulated Metal Building Wall R-8.85 1, !- Name + , !- Surface Rendering Name + {f217eba0-4d73-4b33-bdb2-c6731abd2047}, !- Layer 1 + {47b9ca09-a014-4ec2-94de-4d04678ee6aa}, !- Layer 2 + {c0c15930-2857-4b94-8539-ce991ed28ae4}; !- Layer 3 + +OS:StandardsInformation:Construction, + {492cb072-120e-4a44-9b3b-d7bbe8dffe78}, !- Handle + {413f307e-0707-436d-aee5-bb0ce476d5af}, !- Construction Name + ExteriorWall, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {47b9ca09-a014-4ec2-94de-4d04678ee6aa}, !- Handle + Typical Insulation R-7.55 1, !- Name + Smooth, !- Roughness + 1.32939518160909, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {39e788c4-0ff3-424e-8326-b5bf9110fb87}, !- Handle + Typical Insulated Metal Building Roof R-10.31 1, !- Name + , !- Surface Rendering Name + {1dbb61d0-d0bd-433a-89f8-e5f77f5ea82b}, !- Layer 1 + {3eff3b8b-060b-4c81-8a64-73b9060b8853}; !- Layer 2 + +OS:StandardsInformation:Construction, + {c646f22f-9731-4b2c-bc41-0725915b1371}, !- Handle + {39e788c4-0ff3-424e-8326-b5bf9110fb87}, !- Construction Name + ExteriorRoof, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {3eff3b8b-060b-4c81-8a64-73b9060b8853}, !- Handle + Typical Insulation R-9.53 1, !- Name + Smooth, !- Roughness + 1.67818529282458, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {a95bee57-405b-4e18-92cb-aaf2fcc28241}, !- Handle + Default Surface Constructions 5, !- Name + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Floor Construction Name + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Wall Construction Name + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}; !- Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {c9193a87-8bb5-4c24-816e-2025a4232473}, !- Handle + Default Surface Constructions 6, !- Name + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Floor Construction Name + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:DefaultSubSurfaceConstructions, + {11d12ef3-2c18-439f-a405-99f958c75052}, !- Handle + Default Sub Surface Constructions 3, !- Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Fixed Window Construction Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Operable Window Construction Name + {960e42c6-2d60-4046-be76-aadab607cada}, !- Door Construction Name + , !- Glass Door Construction Name + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Overhead Door Construction Name + {fb2b72d8-aaf5-4714-81c7-6808eea49d3f}, !- Skylight Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Tubular Daylight Dome Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {960e42c6-2d60-4046-be76-aadab607cada}, !- Handle + Typical Uninsulated Swinging Door R-1.43 1, !- Name + , !- Surface Rendering Name + {256ec4b6-2a8d-4816-9c48-9118cc0422d7}; !- Layer 1 + +OS:StandardsInformation:Construction, + {2b1301cb-d83b-4da3-9c6f-37b23a795959}, !- Handle + {960e42c6-2d60-4046-be76-aadab607cada}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + Swinging; !- Standards Construction Type + +OS:Material:NoMass, + {256ec4b6-2a8d-4816-9c48-9118cc0422d7}, !- Handle + Typical Insulation R-0.58 1, !- Name + Smooth, !- Roughness + 0.101892320559048, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {fb2b72d8-aaf5-4714-81c7-6808eea49d3f}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing Skylight U-1.17 SHGC 0.39 1, !- Name + , !- Surface Rendering Name + {dfa42a00-704c-43cd-b589-d806f8db8396}; !- Layer 1 + +OS:StandardsInformation:Construction, + {a3417730-de5f-4cd8-937e-978d979aca3c}, !- Handle + {fb2b72d8-aaf5-4714-81c7-6808eea49d3f}, !- Construction Name + , !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:SimpleGlazingSystem, + {dfa42a00-704c-43cd-b589-d806f8db8396}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing U-1.17 SHGC 0.39 1, !- Name + 6.64356810910278, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + 0.23; !- Visible Transmittance + +OS:DefaultSubSurfaceConstructions, + {16dc9275-ee1c-4930-bf11-932e28803c9e}, !- Handle + Default Sub Surface Constructions 4, !- Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Fixed Window Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Operable Window Construction Name + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:DefaultConstructionSet, + {d62c5b92-0d22-4e3e-ab39-1e07e2a927e9}, !- Handle + 90.1-2010 - Warehouse - Fine - ASHRAE 169-2013-3B, !- Name + {02ea2426-765f-439a-b8e2-932f77a367c6}, !- Default Exterior Surface Constructions Name + {ad95eb9c-e57e-41c8-af1c-a4a04c5d33f6}, !- Default Interior Surface Constructions Name + {3938a9d4-f33e-4d20-9c0a-fc103f3ef319}, !- Default Ground Contact Surface Constructions Name + {fcdf56d3-3fe7-4978-9225-6095f280dc75}, !- Default Exterior SubSurface Constructions Name + {09f3c301-22c9-42fd-a6f5-293676428460}, !- Default Interior SubSurface Constructions Name + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {02ea2426-765f-439a-b8e2-932f77a367c6}, !- Handle + Default Surface Constructions 7, !- Name + {183717ca-db69-43f2-b402-577dece90c23}, !- Floor Construction Name + {af54a9ba-4f88-44ed-808a-be6043db34c6}, !- Wall Construction Name + {9033e1bf-9347-4d07-8832-f7b44bdf3735}; !- Roof Ceiling Construction Name + +OS:Construction, + {183717ca-db69-43f2-b402-577dece90c23}, !- Handle + Typical Insulated Exterior Mass Floor R-9.35 2, !- Name + , !- Surface Rendering Name + {b5e71fe7-cb96-4724-ad19-14518afce5d4}, !- Layer 1 + {a35896e8-e047-40c1-be2e-49f72fb5d4c8}, !- Layer 2 + {12ba7a16-a66c-4c66-a342-32f13797cacb}; !- Layer 3 + +OS:StandardsInformation:Construction, + {e028b016-2408-4f02-abf4-cd09d6715a0d}, !- Handle + {183717ca-db69-43f2-b402-577dece90c23}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {b5e71fe7-cb96-4724-ad19-14518afce5d4}, !- Handle + Typical Insulation R-6.78 2, !- Name + Smooth, !- Roughness + 1.19346679593268, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {af54a9ba-4f88-44ed-808a-be6043db34c6}, !- Handle + Typical Insulated Metal Building Wall R-11.9, !- Name + , !- Surface Rendering Name + {f217eba0-4d73-4b33-bdb2-c6731abd2047}, !- Layer 1 + {9bb90ad6-e9f0-4395-8366-1b70def464eb}, !- Layer 2 + {c0c15930-2857-4b94-8539-ce991ed28ae4}; !- Layer 3 + +OS:StandardsInformation:Construction, + {4f4d480b-efdc-4942-a098-6957eb848418}, !- Handle + {af54a9ba-4f88-44ed-808a-be6043db34c6}, !- Construction Name + ExteriorWall, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {9bb90ad6-e9f0-4395-8366-1b70def464eb}, !- Handle + Typical Insulation R-10.6, !- Name + Smooth, !- Roughness + 1.86744778662245, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {9033e1bf-9347-4d07-8832-f7b44bdf3735}, !- Handle + Typical Insulated Metal Building Roof R-18.18, !- Name + , !- Surface Rendering Name + {1dbb61d0-d0bd-433a-89f8-e5f77f5ea82b}, !- Layer 1 + {e9b0563f-a2f7-45b0-93f8-289a3c75fd77}; !- Layer 2 + +OS:StandardsInformation:Construction, + {19934b9e-ed21-4c35-a7a8-0d72d2c5a40d}, !- Handle + {9033e1bf-9347-4d07-8832-f7b44bdf3735}, !- Construction Name + ExteriorRoof, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {e9b0563f-a2f7-45b0-93f8-289a3c75fd77}, !- Handle + Typical Insulation R-17.4, !- Name + Smooth, !- Roughness + 3.06461972856157, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {ad95eb9c-e57e-41c8-af1c-a4a04c5d33f6}, !- Handle + Default Surface Constructions 8, !- Name + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Floor Construction Name + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Wall Construction Name + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}; !- Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {3938a9d4-f33e-4d20-9c0a-fc103f3ef319}, !- Handle + Default Surface Constructions 9, !- Name + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Floor Construction Name + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:DefaultSubSurfaceConstructions, + {fcdf56d3-3fe7-4978-9225-6095f280dc75}, !- Handle + Default Sub Surface Constructions 5, !- Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Fixed Window Construction Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Operable Window Construction Name + {1c24399c-a88b-4eab-bc62-a8a71432d67d}, !- Door Construction Name + , !- Glass Door Construction Name + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Overhead Door Construction Name + {32be725e-e5c1-4f6e-ab74-770a1bc4ac89}, !- Skylight Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Tubular Daylight Dome Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {1c24399c-a88b-4eab-bc62-a8a71432d67d}, !- Handle + Typical Uninsulated Swinging Door R-1.43 2, !- Name + , !- Surface Rendering Name + {0f877007-fcf1-49e1-9952-ea9433498511}; !- Layer 1 + +OS:StandardsInformation:Construction, + {8ee8e6d5-220c-4f11-81ba-add3a83a0e86}, !- Handle + {1c24399c-a88b-4eab-bc62-a8a71432d67d}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + Swinging; !- Standards Construction Type + +OS:Material:NoMass, + {0f877007-fcf1-49e1-9952-ea9433498511}, !- Handle + Typical Insulation R-0.58 2, !- Name + Smooth, !- Roughness + 0.101892320559048, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {32be725e-e5c1-4f6e-ab74-770a1bc4ac89}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing Skylight U-1.17 SHGC 0.39 2, !- Name + , !- Surface Rendering Name + {26fafd6f-1dde-4ac0-b39b-dcd71728ecec}; !- Layer 1 + +OS:StandardsInformation:Construction, + {adfec68c-588c-4c61-8a6c-519015646e4f}, !- Handle + {32be725e-e5c1-4f6e-ab74-770a1bc4ac89}, !- Construction Name + , !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:SimpleGlazingSystem, + {26fafd6f-1dde-4ac0-b39b-dcd71728ecec}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing U-1.17 SHGC 0.39 2, !- Name + 6.64356810910278, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + 0.23; !- Visible Transmittance + +OS:DefaultSubSurfaceConstructions, + {09f3c301-22c9-42fd-a6f5-293676428460}, !- Handle + Default Sub Surface Constructions 6, !- Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Fixed Window Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Operable Window Construction Name + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:DefaultConstructionSet, + {1d26ed1d-dcb3-4e00-8739-759394e87a9c}, !- Handle + 90.1-2010 - Warehouse - Office - ASHRAE 169-2013-3B, !- Name + {a99550a0-f517-49a4-b347-34fec961d3b7}, !- Default Exterior Surface Constructions Name + {c6d7e1b6-a3cb-4408-b200-9b12fa24cba8}, !- Default Interior Surface Constructions Name + {cc590b44-fe74-4414-bc29-e37a0acc37c5}, !- Default Ground Contact Surface Constructions Name + {3bef5f51-aebb-412c-a156-1ef1470a7264}, !- Default Exterior SubSurface Constructions Name + {a2087a1d-edd6-41fb-b09d-3dbdaf3ff4c0}, !- Default Interior SubSurface Constructions Name + {538f879a-2d2d-437a-8ea0-f0a357be7167}, !- Interior Partition Construction Name + , !- Space Shading Construction Name + , !- Building Shading Construction Name + , !- Site Shading Construction Name + ; !- Adiabatic Surface Construction Name + +OS:DefaultSurfaceConstructions, + {a99550a0-f517-49a4-b347-34fec961d3b7}, !- Handle + Default Surface Constructions 10, !- Name + {595aa136-c217-4042-9466-c2f11b3a6ea9}, !- Floor Construction Name + {1e702b7c-1003-4657-9b8b-93d9d01f4fe7}, !- Wall Construction Name + {8ad7cddd-f9ed-4a63-8423-2a67ca81d87b}; !- Roof Ceiling Construction Name + +OS:Construction, + {595aa136-c217-4042-9466-c2f11b3a6ea9}, !- Handle + Typical Insulated Exterior Mass Floor R-9.35 3, !- Name + , !- Surface Rendering Name + {7031d6bd-2836-45b3-8f81-22d1558d09b4}, !- Layer 1 + {a35896e8-e047-40c1-be2e-49f72fb5d4c8}, !- Layer 2 + {12ba7a16-a66c-4c66-a342-32f13797cacb}; !- Layer 3 + +OS:StandardsInformation:Construction, + {8b7e52d8-4bcf-44b2-ba5f-e407caca1870}, !- Handle + {595aa136-c217-4042-9466-c2f11b3a6ea9}, !- Construction Name + ExteriorFloor, !- Intended Surface Type + Mass; !- Standards Construction Type + +OS:Material:NoMass, + {7031d6bd-2836-45b3-8f81-22d1558d09b4}, !- Handle + Typical Insulation R-6.78 3, !- Name + Smooth, !- Roughness + 1.19346679593268, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {1e702b7c-1003-4657-9b8b-93d9d01f4fe7}, !- Handle + Typical Insulated Metal Building Wall R-11.9 1, !- Name + , !- Surface Rendering Name + {f217eba0-4d73-4b33-bdb2-c6731abd2047}, !- Layer 1 + {c8850a1c-a06f-44a9-b2a1-02b838d82303}, !- Layer 2 + {c0c15930-2857-4b94-8539-ce991ed28ae4}; !- Layer 3 + +OS:StandardsInformation:Construction, + {a773d52b-aee4-4a33-b82e-54242f1c7873}, !- Handle + {1e702b7c-1003-4657-9b8b-93d9d01f4fe7}, !- Construction Name + ExteriorWall, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {c8850a1c-a06f-44a9-b2a1-02b838d82303}, !- Handle + Typical Insulation R-10.6 1, !- Name + Smooth, !- Roughness + 1.86744778662245, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {8ad7cddd-f9ed-4a63-8423-2a67ca81d87b}, !- Handle + Typical Insulated Metal Building Roof R-18.18 1, !- Name + , !- Surface Rendering Name + {1dbb61d0-d0bd-433a-89f8-e5f77f5ea82b}, !- Layer 1 + {6faaffb6-ac15-430a-9c42-1bad39cf7fd7}; !- Layer 2 + +OS:StandardsInformation:Construction, + {bccb59ec-585c-4aa8-9b23-1b4c911e9476}, !- Handle + {8ad7cddd-f9ed-4a63-8423-2a67ca81d87b}, !- Construction Name + ExteriorRoof, !- Intended Surface Type + Metal; !- Standards Construction Type + +OS:Material:NoMass, + {6faaffb6-ac15-430a-9c42-1bad39cf7fd7}, !- Handle + Typical Insulation R-17.4 1, !- Name + Smooth, !- Roughness + 3.06461972856157, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:DefaultSurfaceConstructions, + {c6d7e1b6-a3cb-4408-b200-9b12fa24cba8}, !- Handle + Default Surface Constructions 11, !- Name + {5424c879-1e23-4f3c-a777-f34e545c37d8}, !- Floor Construction Name + {62668aa9-83f9-4fd1-ad49-c72633dd8b44}, !- Wall Construction Name + {a11127e9-b0c0-4eea-b5c0-ba3ed42940b3}; !- Roof Ceiling Construction Name + +OS:DefaultSurfaceConstructions, + {cc590b44-fe74-4414-bc29-e37a0acc37c5}, !- Handle + Default Surface Constructions 12, !- Name + {ab179a1b-edea-4bea-9692-79a257155fd0}, !- Floor Construction Name + {078b22fd-abf0-4db0-a340-00a310013d74}, !- Wall Construction Name + ; !- Roof Ceiling Construction Name + +OS:DefaultSubSurfaceConstructions, + {3bef5f51-aebb-412c-a156-1ef1470a7264}, !- Handle + Default Sub Surface Constructions 7, !- Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Fixed Window Construction Name + {8c839b61-aa34-4fac-9e92-c1dbb76c13a3}, !- Operable Window Construction Name + {1dc308a2-c344-42fc-851e-cc1fa3375918}, !- Door Construction Name + , !- Glass Door Construction Name + {6168ce81-56ce-4c34-b0c5-dfcea37bac09}, !- Overhead Door Construction Name + {2779543d-c376-4d28-8e3d-fda7361bbb8e}, !- Skylight Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Tubular Daylight Dome Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}; !- Tubular Daylight Diffuser Construction Name + +OS:Construction, + {1dc308a2-c344-42fc-851e-cc1fa3375918}, !- Handle + Typical Uninsulated Swinging Door R-1.43 3, !- Name + , !- Surface Rendering Name + {7dce4c9d-9866-4d84-9895-b291ba4babf5}; !- Layer 1 + +OS:StandardsInformation:Construction, + {9625d1ca-b0d5-4617-a9ef-cd5c2bad254c}, !- Handle + {1dc308a2-c344-42fc-851e-cc1fa3375918}, !- Construction Name + ExteriorDoor, !- Intended Surface Type + Swinging; !- Standards Construction Type + +OS:Material:NoMass, + {7dce4c9d-9866-4d84-9895-b291ba4babf5}, !- Handle + Typical Insulation R-0.58 3, !- Name + Smooth, !- Roughness + 0.101892320559048, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {2779543d-c376-4d28-8e3d-fda7361bbb8e}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing Skylight U-1.17 SHGC 0.39 3, !- Name + , !- Surface Rendering Name + {3c472d02-1622-4090-9cad-225555bd7e03}; !- Layer 1 + +OS:StandardsInformation:Construction, + {ca5c49bd-ca46-47ed-b62e-7e4fee8f00d9}, !- Handle + {2779543d-c376-4d28-8e3d-fda7361bbb8e}, !- Construction Name + , !- Intended Surface Type + ; !- Standards Construction Type + +OS:WindowMaterial:SimpleGlazingSystem, + {3c472d02-1622-4090-9cad-225555bd7e03}, !- Handle + U 1.17 SHGC 0.39 Simple Glazing U-1.17 SHGC 0.39 3, !- Name + 6.64356810910278, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + 0.23; !- Visible Transmittance + +OS:DefaultSubSurfaceConstructions, + {a2087a1d-edd6-41fb-b09d-3dbdaf3ff4c0}, !- Handle + Default Sub Surface Constructions 8, !- Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Fixed Window Construction Name + {829fb767-053b-4cfd-9889-0ef24544bed7}, !- Operable Window Construction Name + {3c02b38e-6275-4ebb-9446-58b744dd661a}, !- Door Construction Name + , !- Glass Door Construction Name + , !- Overhead Door Construction Name + , !- Skylight Construction Name + , !- Tubular Daylight Dome Construction Name + ; !- Tubular Daylight Diffuser Construction Name + +OS:Material, + {08d08665-c9bf-4e44-a7e6-48e0d8f0e75b}, !- Handle + Std Wood 6inch, !- Name + MediumSmooth, !- Roughness + 0.15, !- Thickness {m} + 0.12, !- Conductivity {W/m-K} + 540, !- Density {kg/m3} + 1210, !- Specific Heat {J/kg-K} + 0.9, !- Thermal Absorptance + 0.7, !- Solar Absorptance + 0.7; !- Visible Absorptance + +OS:Construction, + {d52ab39f-176d-4b02-b1b1-3b8fad86bc08}, !- Handle + InteriorFurnishings, !- Name + , !- Surface Rendering Name + {08d08665-c9bf-4e44-a7e6-48e0d8f0e75b}; !- Layer 1 + +OS:InternalMass:Definition, + {8a673a1d-b36f-48a7-90de-e1d4cf8d5bf8}, !- Handle + Internal Mass Definition 1, !- Name + {d52ab39f-176d-4b02-b1b1-3b8fad86bc08}, !- Construction Name + SurfaceArea/Area, !- Design Level Calculation Method + , !- Surface Area {m2} + 2, !- Surface Area per Space Floor Area {dimensionless} + ; !- Surface Area per Person {m2/person} + +OS:InternalMass, + {6818efa5-0444-4f36-96a1-02b7d24aa2f7}, !- Handle + Zone1 Office Mass, !- Name + {8a673a1d-b36f-48a7-90de-e1d4cf8d5bf8}, !- Internal Mass Definition Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:InternalMass, + {391acd60-85ae-44bd-90c2-3fdc7149914b}, !- Handle + Zone2 Fine Storage Mass, !- Name + {8a673a1d-b36f-48a7-90de-e1d4cf8d5bf8}, !- Internal Mass Definition Name + {cdd6a95f-f907-4c0e-817d-962525d358d0}, !- Space or SpaceType Name + 1; !- Multiplier + +OS:PlantLoop, + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Handle + Main Service Water Loop, !- Name + , !- Fluid Type + 0, !- Glycol Concentration + , !- User Defined Fluid Type + , !- Plant Equipment Operation Heating Load + , !- Plant Equipment Operation Cooling Load + , !- Primary Plant Equipment Operation Scheme + {41a06294-c325-4d6a-b588-fc0c10922937}, !- Loop Temperature Setpoint Node Name + 60, !- Maximum Loop Temperature {C} + 10, !- Minimum Loop Temperature {C} + , !- Maximum Loop Flow Rate {m3/s} + , !- Minimum Loop Flow Rate {m3/s} + Autocalculate, !- Plant Loop Volume {m3} + {91094632-d336-45a9-9de6-1d9e2a9ad7b3}, !- Plant Side Inlet Node Name + {4c53a3cd-2322-4501-8226-ac76e9b879a4}, !- Plant Side Outlet Node Name + , !- Plant Side Branch List Name + {3633cafb-102c-4131-9413-66e62fed0e61}, !- Demand Side Inlet Node Name + {495cd6a1-2b93-4d04-bb34-951449601949}, !- Demand Side Outlet Node Name + , !- Demand Side Branch List Name + , !- Demand Side Connector List Name + Optimal, !- Load Distribution Scheme + {ec301281-ab6a-4d49-843d-7db795465d19}, !- Availability Manager List Name + , !- Plant Loop Demand Calculation Scheme + , !- Common Pipe Simulation + , !- Pressure Simulation Type + , !- Plant Equipment Operation Heating Load Schedule + , !- Plant Equipment Operation Cooling Load Schedule + , !- Primary Plant Equipment Operation Scheme Schedule + , !- Component Setpoint Operation Scheme Schedule + {657e7de9-ea9a-4885-87e1-9b1d78642416}, !- Demand Mixer Name + {95ef4e3c-c7f7-4de1-846a-c8e1b0daf9b4}, !- Demand Splitter Name + {295e7611-96c0-4c51-9314-42853b31488f}, !- Supply Mixer Name + {98674b7e-9d66-44cd-a18b-39574e97c8d6}; !- Supply Splitter Name + +OS:Node, + {14649ca7-301e-4ac2-b135-1d755d909f70}, !- Handle + Main Service Water Loop Supply Inlet Node, !- Name + {91094632-d336-45a9-9de6-1d9e2a9ad7b3}, !- Inlet Port + {90ecef1b-db8b-4674-9706-e2656eba40a1}; !- Outlet Port + +OS:Node, + {41a06294-c325-4d6a-b588-fc0c10922937}, !- Handle + Main Service Water Loop Supply Outlet Node, !- Name + {025ea488-83fb-4f50-b9c0-a939e520884c}, !- Inlet Port + {4c53a3cd-2322-4501-8226-ac76e9b879a4}; !- Outlet Port + +OS:Node, + {3a674774-a8c9-4e19-9287-2796ffae235f}, !- Handle + 20gal Electricity Water Heater - 21kBtu/hr 1.0 Therm Eff Supply Inlet Water Node, !- Name + {cce3fb4e-198e-4521-825b-049a71ee42f4}, !- Inlet Port + {8d94043d-044c-4e8a-9db3-5832929d271c}; !- Outlet Port + +OS:Connector:Mixer, + {295e7611-96c0-4c51-9314-42853b31488f}, !- Handle + Connector Mixer 1, !- Name + {ff56355e-d202-40ad-9dcd-3f5f95ac20ed}, !- Outlet Branch Name + {936577bb-166c-444e-9c4d-32c4ef007299}, !- Inlet Branch Name 1 + {79d960d9-c736-40f6-bd1b-a25f2b544863}; !- Inlet Branch Name 2 + +OS:Connector:Splitter, + {98674b7e-9d66-44cd-a18b-39574e97c8d6}, !- Handle + Connector Splitter 1, !- Name + {5cb2abb0-71a6-4d46-b7c4-a78aa2f94496}, !- Inlet Branch Name + {cce3fb4e-198e-4521-825b-049a71ee42f4}, !- Outlet Branch Name 1 + {f90a498c-0af3-40f5-a4a0-52a685766c7e}; !- Outlet Branch Name 2 + +OS:Connection, + {91094632-d336-45a9-9de6-1d9e2a9ad7b3}, !- Handle + {287c9b61-9b00-464d-9d99-26caca73df54}, !- Name + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Source Object + 14, !- Outlet Port + {14649ca7-301e-4ac2-b135-1d755d909f70}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {cce3fb4e-198e-4521-825b-049a71ee42f4}, !- Handle + {ded1b9bf-5a8d-4350-9742-09e246738c99}, !- Name + {98674b7e-9d66-44cd-a18b-39574e97c8d6}, !- Source Object + 3, !- Outlet Port + {3a674774-a8c9-4e19-9287-2796ffae235f}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {4c53a3cd-2322-4501-8226-ac76e9b879a4}, !- Handle + {c823f753-8243-4a9f-b1d1-41b3b914d9b6}, !- Name + {41a06294-c325-4d6a-b588-fc0c10922937}, !- Source Object + 3, !- Outlet Port + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Target Object + 15; !- Inlet Port + +OS:Node, + {8377404c-0c72-4fdf-98e8-6a099fe45a06}, !- Handle + Main Service Water Loop Demand Inlet Node, !- Name + {3633cafb-102c-4131-9413-66e62fed0e61}, !- Inlet Port + {366c6867-e10c-4190-a241-3d82a309ac70}; !- Outlet Port + +OS:Node, + {399ec1ba-7854-4a38-93c2-befa82d5e98a}, !- Handle + Main Service Water Loop Demand Outlet Node, !- Name + {6f277bf2-c315-4b1a-b021-2423bfb03edf}, !- Inlet Port + {495cd6a1-2b93-4d04-bb34-951449601949}; !- Outlet Port + +OS:Node, + {f8e2c26c-4d47-4cd7-b2d8-225361f0fe5c}, !- Handle + Pipe Adiabatic 2 Inlet Water Node, !- Name + {e4790b0d-21bf-4fa0-8677-57dc0abf5a46}, !- Inlet Port + {05d139bb-c696-4cf4-98bd-d6bf8501f4dc}; !- Outlet Port + +OS:Connector:Mixer, + {657e7de9-ea9a-4885-87e1-9b1d78642416}, !- Handle + Connector Mixer 2, !- Name + {4970a4ee-8f19-4e35-83ab-673ce50808c1}, !- Outlet Branch Name + {1a3cb812-77bc-4226-9646-a78bb30bab50}, !- Inlet Branch Name 1 + {ee625681-d9bf-4258-869a-fef7f0f89103}; !- Inlet Branch Name 2 + +OS:Connector:Splitter, + {95ef4e3c-c7f7-4de1-846a-c8e1b0daf9b4}, !- Handle + Connector Splitter 2, !- Name + {366c6867-e10c-4190-a241-3d82a309ac70}, !- Inlet Branch Name + {e4790b0d-21bf-4fa0-8677-57dc0abf5a46}, !- Outlet Branch Name 1 + {477eb579-9070-47af-b9f8-a60e60e602ab}; !- Outlet Branch Name 2 + +OS:Connection, + {3633cafb-102c-4131-9413-66e62fed0e61}, !- Handle + {541a371f-42f1-4966-893b-254573858025}, !- Name + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Source Object + 17, !- Outlet Port + {8377404c-0c72-4fdf-98e8-6a099fe45a06}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {366c6867-e10c-4190-a241-3d82a309ac70}, !- Handle + {1d1b562f-c18b-48d2-8cb6-31fcd9de9cef}, !- Name + {8377404c-0c72-4fdf-98e8-6a099fe45a06}, !- Source Object + 3, !- Outlet Port + {95ef4e3c-c7f7-4de1-846a-c8e1b0daf9b4}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {e4790b0d-21bf-4fa0-8677-57dc0abf5a46}, !- Handle + {3008b3ca-c63f-41dd-8d46-c118fd92ffca}, !- Name + {95ef4e3c-c7f7-4de1-846a-c8e1b0daf9b4}, !- Source Object + 3, !- Outlet Port + {f8e2c26c-4d47-4cd7-b2d8-225361f0fe5c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {495cd6a1-2b93-4d04-bb34-951449601949}, !- Handle + {37908b08-047b-49ce-96cd-31ce280f6e34}, !- Name + {399ec1ba-7854-4a38-93c2-befa82d5e98a}, !- Source Object + 3, !- Outlet Port + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Target Object + 18; !- Inlet Port + +OS:Sizing:Plant, + {66e2f1bc-da51-4801-99bf-cb3e499e86e8}, !- Handle + {58879e18-ffe9-4981-9ae6-b05ce16f3d51}, !- Plant or Condenser Loop Name + Heating, !- Loop Type + 60.0000000000001, !- Design Loop Exit Temperature {C} + 5, !- Loop Design Temperature Difference {deltaC} + NonCoincident, !- Sizing Option + 1, !- Zone Timesteps in Averaging Window + None; !- Coincident Sizing Factor Mode + +OS:AvailabilityManagerAssignmentList, + {ec301281-ab6a-4d49-843d-7db795465d19}, !- Handle + Plant Loop 1 AvailabilityManagerAssignmentList; !- Name + +OS:ScheduleTypeLimits, + {1cf30669-09eb-4506-8120-22fa3c6d15a3}, !- Handle + Temperature Schedule Type Limits, !- Name + 0, !- Lower Limit Value + 100, !- Upper Limit Value + Continuous, !- Numeric Type + Temperature; !- Unit Type + +OS:Schedule:Ruleset, + {d2ef4e3a-537e-4d99-b0cf-501ae1232d55}, !- Handle + Service Water Loop Temp - 140F, !- Name + {1cf30669-09eb-4506-8120-22fa3c6d15a3}, !- Schedule Type Limits Name + {f91da3b3-158e-4905-9cbf-c42f4f043d51}; !- Default Day Schedule Name + +OS:Schedule:Day, + {f91da3b3-158e-4905-9cbf-c42f4f043d51}, !- Handle + Service Water Loop Temp - 140F Default, !- Name + {1cf30669-09eb-4506-8120-22fa3c6d15a3}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60.0000000000001; !- Value Until Time 1 + +OS:SetpointManager:Scheduled, + {da996b90-97f8-4101-b4d4-a7587365dead}, !- Handle + Service hot water setpoint manager, !- Name + Temperature, !- Control Variable + {d2ef4e3a-537e-4d99-b0cf-501ae1232d55}, !- Schedule Name + {41a06294-c325-4d6a-b588-fc0c10922937}; !- Setpoint Node or NodeList Name + +OS:Pump:VariableSpeed, + {428a4486-4771-42af-b834-fba986bddaa1}, !- Handle + Main Service Water Loop Water Mains Pressure Driven, !- Name + {90ecef1b-db8b-4674-9706-e2656eba40a1}, !- Inlet Node Name + {023650b5-82b5-4de0-bd69-b3e101d760f8}, !- Outlet Node Name + , !- Rated Flow Rate {m3/s} + 0.001, !- Rated Pump Head {Pa} + , !- Rated Power Consumption {W} + 0.855, !- Motor Efficiency + , !- Fraction of Motor Inefficiencies to Fluid Stream + , !- Coefficient 1 of the Part Load Performance Curve + , !- Coefficient 2 of the Part Load Performance Curve + , !- Coefficient 3 of the Part Load Performance Curve + , !- Coefficient 4 of the Part Load Performance Curve + , !- Minimum Flow Rate {m3/s} + Continuous, !- Pump Control Type + , !- Pump Flow Rate Schedule Name + , !- Pump Curve Name + , !- Impeller Diameter {m} + , !- VFD Control Type + , !- Pump RPM Schedule Name + , !- Minimum Pressure Schedule {Pa} + , !- Maximum Pressure Schedule {Pa} + , !- Minimum RPM Schedule {rev/min} + , !- Maximum RPM Schedule {rev/min} + , !- 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-s/m3-Pa} + 0, !- Design Minimum Flow Rate Fraction + General; !- End-Use Subcategory + +OS:Node, + {cac8caea-1687-4dfc-9739-07db2ebaf62b}, !- Handle + Main Service Water Loop Water Mains Pressure Driven Outlet Water Node, !- Name + {023650b5-82b5-4de0-bd69-b3e101d760f8}, !- Inlet Port + {5cb2abb0-71a6-4d46-b7c4-a78aa2f94496}; !- Outlet Port + +OS:Connection, + {90ecef1b-db8b-4674-9706-e2656eba40a1}, !- Handle + {ed1600e5-9da4-4731-8f41-1e31b2f0a658}, !- Name + {14649ca7-301e-4ac2-b135-1d755d909f70}, !- Source Object + 3, !- Outlet Port + {428a4486-4771-42af-b834-fba986bddaa1}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {023650b5-82b5-4de0-bd69-b3e101d760f8}, !- Handle + {6b76ce37-899e-427d-8b1d-94b6c333c1fa}, !- Name + {428a4486-4771-42af-b834-fba986bddaa1}, !- Source Object + 3, !- Outlet Port + {cac8caea-1687-4dfc-9739-07db2ebaf62b}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {5cb2abb0-71a6-4d46-b7c4-a78aa2f94496}, !- Handle + {197def48-adc5-4dfa-9366-f080118f497b}, !- Name + {cac8caea-1687-4dfc-9739-07db2ebaf62b}, !- Source Object + 3, !- Outlet Port + {98674b7e-9d66-44cd-a18b-39574e97c8d6}, !- Target Object + 2; !- Inlet Port + +OS:WaterHeater:Mixed, + {6ce31c07-c985-40c6-ba1d-ee5762b91d96}, !- Handle + 20gal Electricity Water Heater - 21kBtu/hr 1.0 Therm Eff, !- Name + 0.075708235679397, !- Tank Volume {m3} + {d2ef4e3a-537e-4d99-b0cf-501ae1232d55}, !- Setpoint Temperature Schedule Name + 2, !- Deadband Temperature Difference {deltaC} + 60.0000000000001, !- Maximum Temperature Limit {C} + Cycle, !- Heater Control Type + 6154.74805474247, !- Heater Maximum Capacity {W} + , !- Heater Minimum Capacity {W} + , !- Heater Ignition Minimum Flow Rate {m3/s} + , !- Heater Ignition Delay {s} + Electricity, !- Heater Fuel Type + 1, !- Heater Thermal Efficiency + , !- Part Load Factor Curve Name + 481.000051716921, !- Off Cycle Parasitic Fuel Consumption Rate {W} + Electricity, !- Off Cycle Parasitic Fuel Type + 0, !- Off Cycle Parasitic Heat Fraction to Tank + 481.000051716921, !- On Cycle Parasitic Fuel Consumption Rate {W} + Electricity, !- On Cycle Parasitic Fuel Type + 0, !- On Cycle Parasitic Heat Fraction to Tank + ThermalZone, !- Ambient Temperature Indicator + , !- Ambient Temperature Schedule Name + {6f94c337-8aec-4d71-9b6a-4fb238973ec2}, !- Ambient Temperature Thermal Zone Name + , !- Ambient Temperature Outdoor Air Node Name + 0.79983430861932, !- Off Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- Off Cycle Loss Fraction to Thermal Zone + 0.79983430861932, !- On Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- On Cycle Loss Fraction to Thermal Zone + , !- Peak Use Flow Rate {m3/s} + , !- Use Flow Rate Fraction Schedule Name + , !- Cold Water Supply Temperature Schedule Name + {8d94043d-044c-4e8a-9db3-5832929d271c}, !- Use Side Inlet Node Name + {b9e20f41-ec6c-4753-a889-7f913a9751f1}, !- Use Side Outlet Node Name + 1, !- Use Side Effectiveness + , !- Source Side Inlet Node Name + , !- Source Side Outlet Node Name + 1, !- Source Side Effectiveness + autosize, !- Use Side Design Flow Rate {m3/s} + autosize, !- Source Side Design Flow Rate {m3/s} + 1.5, !- Indirect Water Heating Recovery Time {hr} + IndirectHeatPrimarySetpoint, !- Source Side Flow Control Mode + , !- Indirect Alternate Setpoint Temperature Schedule Name + General; !- End-Use Subcategory + +OS:Schedule:Day, + {39934160-8994-4e9d-b7fe-413bad906d31}, !- Handle + Schedule Day 32, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 22; !- Value Until Time 1 + +OS:Schedule:Day, + {3e78b8b3-b830-4924-b24e-c6d3272fa16c}, !- Handle + Schedule Day 33, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60; !- Value Until Time 1 + +OS:Node, + {e4f7abe1-9b25-453c-813f-0f5720ee38b0}, !- Handle + 20gal Electricity Water Heater - 21kBtu/hr 1.0 Therm Eff Supply Outlet Water Node, !- Name + {b9e20f41-ec6c-4753-a889-7f913a9751f1}, !- Inlet Port + {936577bb-166c-444e-9c4d-32c4ef007299}; !- Outlet Port + +OS:Connection, + {8d94043d-044c-4e8a-9db3-5832929d271c}, !- Handle + {e3550110-3658-425c-a002-f720edefb9f2}, !- Name + {3a674774-a8c9-4e19-9287-2796ffae235f}, !- Source Object + 3, !- Outlet Port + {6ce31c07-c985-40c6-ba1d-ee5762b91d96}, !- Target Object + 31; !- Inlet Port + +OS:Connection, + {b9e20f41-ec6c-4753-a889-7f913a9751f1}, !- Handle + {9b343005-bddd-4c09-bc55-7495ad97bce5}, !- Name + {6ce31c07-c985-40c6-ba1d-ee5762b91d96}, !- Source Object + 32, !- Outlet Port + {e4f7abe1-9b25-453c-813f-0f5720ee38b0}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {936577bb-166c-444e-9c4d-32c4ef007299}, !- Handle + {f6841989-08f4-4136-8f77-bdc3d6652b0c}, !- Name + {e4f7abe1-9b25-453c-813f-0f5720ee38b0}, !- Source Object + 3, !- Outlet Port + {295e7611-96c0-4c51-9314-42853b31488f}, !- Target Object + 3; !- Inlet Port + +OS:Pipe:Adiabatic, + {8acac652-598e-469e-a4a9-ee757fa7c979}, !- Handle + Pipe Adiabatic 1, !- Name + {fa44b0ea-14e9-402c-8104-6034e8e8a108}, !- Inlet Node Name + {81b58c27-1edc-4feb-bace-a91cbbd05375}; !- Outlet Node Name + +OS:Node, + {5d5a18e1-1493-4112-9994-a00b3b16e899}, !- Handle + Pipe Adiabatic 1 Inlet Water Node, !- Name + {f90a498c-0af3-40f5-a4a0-52a685766c7e}, !- Inlet Port + {fa44b0ea-14e9-402c-8104-6034e8e8a108}; !- Outlet Port + +OS:Connection, + {f90a498c-0af3-40f5-a4a0-52a685766c7e}, !- Handle + {2782bed0-cc88-4706-90fa-b96648c5ee9d}, !- Name + {98674b7e-9d66-44cd-a18b-39574e97c8d6}, !- Source Object + 4, !- Outlet Port + {5d5a18e1-1493-4112-9994-a00b3b16e899}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {b667995a-774b-44e7-b27e-30b72fa7039c}, !- Handle + Pipe Adiabatic 1 Outlet Water Node, !- Name + {81b58c27-1edc-4feb-bace-a91cbbd05375}, !- Inlet Port + {79d960d9-c736-40f6-bd1b-a25f2b544863}; !- Outlet Port + +OS:Connection, + {fa44b0ea-14e9-402c-8104-6034e8e8a108}, !- Handle + {06795f20-48e2-49bc-beae-0e9bb2a3430a}, !- Name + {5d5a18e1-1493-4112-9994-a00b3b16e899}, !- Source Object + 3, !- Outlet Port + {8acac652-598e-469e-a4a9-ee757fa7c979}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {81b58c27-1edc-4feb-bace-a91cbbd05375}, !- Handle + {ab1335b9-087b-40e2-80fa-9eda58974857}, !- Name + {8acac652-598e-469e-a4a9-ee757fa7c979}, !- Source Object + 3, !- Outlet Port + {b667995a-774b-44e7-b27e-30b72fa7039c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {79d960d9-c736-40f6-bd1b-a25f2b544863}, !- Handle + {b8bafefb-d224-4708-8227-191d10719b73}, !- Name + {b667995a-774b-44e7-b27e-30b72fa7039c}, !- Source Object + 3, !- Outlet Port + {295e7611-96c0-4c51-9314-42853b31488f}, !- Target Object + 4; !- Inlet Port + +OS:Pipe:Adiabatic, + {3edb689b-9515-4abd-bb3a-4aa6d073950e}, !- Handle + Pipe Adiabatic 2, !- Name + {05d139bb-c696-4cf4-98bd-d6bf8501f4dc}, !- Inlet Node Name + {5114bc0f-fd8b-4aad-8d24-7e2df85c2032}; !- Outlet Node Name + +OS:Node, + {9e0d0677-fd43-4a0c-9b20-a6e993c97aae}, !- Handle + Pipe Adiabatic 2 Outlet Water Node, !- Name + {5114bc0f-fd8b-4aad-8d24-7e2df85c2032}, !- Inlet Port + {1a3cb812-77bc-4226-9646-a78bb30bab50}; !- Outlet Port + +OS:Connection, + {05d139bb-c696-4cf4-98bd-d6bf8501f4dc}, !- Handle + {50662c14-a23c-4c08-b1bb-334e27392bd8}, !- Name + {f8e2c26c-4d47-4cd7-b2d8-225361f0fe5c}, !- Source Object + 3, !- Outlet Port + {3edb689b-9515-4abd-bb3a-4aa6d073950e}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {5114bc0f-fd8b-4aad-8d24-7e2df85c2032}, !- Handle + {1634cad3-a233-4339-a225-26aa716eed2f}, !- Name + {3edb689b-9515-4abd-bb3a-4aa6d073950e}, !- Source Object + 3, !- Outlet Port + {9e0d0677-fd43-4a0c-9b20-a6e993c97aae}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {1a3cb812-77bc-4226-9646-a78bb30bab50}, !- Handle + {a36a565c-f5d7-450c-8712-0d067459cad7}, !- Name + {9e0d0677-fd43-4a0c-9b20-a6e993c97aae}, !- Source Object + 3, !- Outlet Port + {657e7de9-ea9a-4885-87e1-9b1d78642416}, !- Target Object + 3; !- Inlet Port + +OS:Pipe:Adiabatic, + {aef811a8-b321-47bb-a015-03797c267a28}, !- Handle + Pipe Adiabatic 3, !- Name + {1e0244a7-4a1f-4cc8-a3b6-c5513cdb8403}, !- Inlet Node Name + {025ea488-83fb-4f50-b9c0-a939e520884c}; !- Outlet Node Name + +OS:Node, + {11b8240f-d17b-4868-9056-e784a23a1dff}, !- Handle + Pipe Adiabatic 3 Inlet Water Node, !- Name + {ff56355e-d202-40ad-9dcd-3f5f95ac20ed}, !- Inlet Port + {1e0244a7-4a1f-4cc8-a3b6-c5513cdb8403}; !- Outlet Port + +OS:Connection, + {ff56355e-d202-40ad-9dcd-3f5f95ac20ed}, !- Handle + {1c3c513a-4615-4fba-9336-dfd30588de7a}, !- Name + {295e7611-96c0-4c51-9314-42853b31488f}, !- Source Object + 2, !- Outlet Port + {11b8240f-d17b-4868-9056-e784a23a1dff}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {1e0244a7-4a1f-4cc8-a3b6-c5513cdb8403}, !- Handle + {b26b028f-1bee-46bb-b27d-fa510d24bccc}, !- Name + {11b8240f-d17b-4868-9056-e784a23a1dff}, !- Source Object + 3, !- Outlet Port + {aef811a8-b321-47bb-a015-03797c267a28}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {025ea488-83fb-4f50-b9c0-a939e520884c}, !- Handle + {ceffff15-b63f-4375-8d6e-9f09b5379c47}, !- Name + {aef811a8-b321-47bb-a015-03797c267a28}, !- Source Object + 3, !- Outlet Port + {41a06294-c325-4d6a-b588-fc0c10922937}, !- Target Object + 2; !- Inlet Port + +OS:Pipe:Adiabatic, + {3198999a-e44c-400a-9649-05480137b8c8}, !- Handle + Pipe Adiabatic 4, !- Name + {8e42fce8-8804-4acc-84aa-65588571dbde}, !- Inlet Node Name + {6f277bf2-c315-4b1a-b021-2423bfb03edf}; !- Outlet Node Name + +OS:Node, + {de7bcce0-4bf4-4e13-8548-56d68e03dd72}, !- Handle + Pipe Adiabatic 4 Inlet Water Node, !- Name + {4970a4ee-8f19-4e35-83ab-673ce50808c1}, !- Inlet Port + {8e42fce8-8804-4acc-84aa-65588571dbde}; !- Outlet Port + +OS:Connection, + {4970a4ee-8f19-4e35-83ab-673ce50808c1}, !- Handle + {c1fcb16a-701b-4e21-88a9-1152006c28c6}, !- Name + {657e7de9-ea9a-4885-87e1-9b1d78642416}, !- Source Object + 2, !- Outlet Port + {de7bcce0-4bf4-4e13-8548-56d68e03dd72}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {8e42fce8-8804-4acc-84aa-65588571dbde}, !- Handle + {e80728f3-cdb3-4650-8bd6-e92d3cf8a424}, !- Name + {de7bcce0-4bf4-4e13-8548-56d68e03dd72}, !- Source Object + 3, !- Outlet Port + {3198999a-e44c-400a-9649-05480137b8c8}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {6f277bf2-c315-4b1a-b021-2423bfb03edf}, !- Handle + {b1f61639-9dc8-43c2-b637-6d4c63005bf2}, !- Name + {3198999a-e44c-400a-9649-05480137b8c8}, !- Source Object + 3, !- Outlet Port + {399ec1ba-7854-4a38-93c2-befa82d5e98a}, !- Target Object + 2; !- Inlet Port + +OS:WaterUse:Connections, + {31be98ee-4f84-4360-a7e2-0b0caa80a98c}, !- Handle + Main WUC 0.13gpm at 140F, !- Name + {3a5fabc6-6da4-41cf-8b61-24fced62b7da}, !- Inlet Node Name + {46a45e20-7342-44b9-a93b-52efb65d4975}, !- Outlet Node Name + , !- Supply Water Storage Tank Name + , !- Reclamation Water Storage Tank Name + , !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + , !- Drain Water Heat Exchanger Type + , !- Drain Water Heat Exchanger Destination + , !- Drain Water Heat Exchanger U-Factor Times Area {W/K} + {989d58d6-fb8e-4595-96d7-a18b16365a72}; !- Water Use Equipment Name 1 + +OS:WaterUse:Equipment:Definition, + {d66bf912-ed79-49d7-a30d-297c5f64d88c}, !- Handle + Main Service Water Use Def 0.13gpm, !- Name + , !- End-Use Subcategory + 8.074690890675e-06, !- Peak Flow Rate {m3/s} + {9dcb69d1-20e0-435a-9f20-f15852c58aa5}, !- Target Temperature Schedule Name + {6cabb111-d57f-4e3b-b760-e78c7a62f0d6}, !- Sensible Fraction Schedule Name + {9e9577fd-f638-4c7d-8202-e214b17e41f9}; !- Latent Fraction Schedule Name + +OS:Schedule:Ruleset, + {6cabb111-d57f-4e3b-b760-e78c7a62f0d6}, !- Handle + Fraction Sensible - 0.2, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {86040019-90d6-426e-af98-bf10ad408a4a}; !- Default Day Schedule Name + +OS:Schedule:Day, + {86040019-90d6-426e-af98-bf10ad408a4a}, !- Handle + Fraction Sensible - 0.2 Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.2; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {9e9577fd-f638-4c7d-8202-e214b17e41f9}, !- Handle + Fraction Latent - 0.05, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {04b96ad3-7fa0-438d-9665-ae8edcdae8dc}; !- Default Day Schedule Name + +OS:Schedule:Day, + {04b96ad3-7fa0-438d-9665-ae8edcdae8dc}, !- Handle + Fraction Latent - 0.05 Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.05; !- Value Until Time 1 + +OS:Schedule:Ruleset, + {9dcb69d1-20e0-435a-9f20-f15852c58aa5}, !- Handle + Mixed Water At Faucet Temp - 140F, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + {3aac3c8f-e4f4-4469-ba9c-b4ebe1fec152}; !- Default Day Schedule Name + +OS:Schedule:Day, + {3aac3c8f-e4f4-4469-ba9c-b4ebe1fec152}, !- Handle + Mixed Water At Faucet Temp - 140F Default, !- Name + {475f8de9-87ac-4a10-a11e-62c8694c4121}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 60.0000000000001; !- Value Until Time 1 + +OS:WaterUse:Equipment, + {989d58d6-fb8e-4595-96d7-a18b16365a72}, !- Handle + Main Service Water Use 0.13gpm at 140F, !- Name + {d66bf912-ed79-49d7-a30d-297c5f64d88c}, !- Water Use Equipment Definition Name + , !- Space Name + {7b7e8351-9c68-467a-9923-7b4ea62ed36b}; !- Flow Rate Fraction Schedule Name + +OS:Schedule:Ruleset, + {7b7e8351-9c68-467a-9923-7b4ea62ed36b}, !- Handle + Warehouse Office DHW Schedule, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {aa6ad624-eb65-416a-b6e1-ff4631668300}, !- Default Day Schedule Name + {781c3519-e279-453a-9442-c7b63771d804}, !- Summer Design Day Schedule Name + {43ba4bde-a115-4567-93ff-1c209a7cc143}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {aa6ad624-eb65-416a-b6e1-ff4631668300}, !- Handle + Warehouse Office DHW Schedule Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.05, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.101, !- Value Until Time 3 + 9, !- Hour 4 + 0, !- Minute 4 + 0.399, !- Value Until Time 4 + 11, !- Hour 5 + 0, !- Minute 5 + 0.501, !- Value Until Time 5 + 12, !- Hour 6 + 0, !- Minute 6 + 0.696, !- Value Until Time 6 + 13, !- Hour 7 + 0, !- Minute 7 + 0.9, !- Value Until Time 7 + 14, !- Hour 8 + 0, !- Minute 8 + 0.798, !- Value Until Time 8 + 15, !- Hour 9 + 0, !- Minute 9 + 0.696, !- Value Until Time 9 + 16, !- Hour 10 + 0, !- Minute 10 + 0.798, !- Value Until Time 10 + 17, !- Hour 11 + 0, !- Minute 11 + 0.297, !- Value Until Time 11 + 18, !- Hour 12 + 0, !- Minute 12 + 0.05, !- Value Until Time 12 + 24, !- Hour 13 + 0, !- Minute 13 + 0; !- Value Until Time 13 + +OS:Schedule:Day, + {43ba4bde-a115-4567-93ff-1c209a7cc143}, !- Handle + Warehouse Office DHW Schedule Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.05, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.101, !- Value Until Time 3 + 9, !- Hour 4 + 0, !- Minute 4 + 0.399, !- Value Until Time 4 + 11, !- Hour 5 + 0, !- Minute 5 + 0.501, !- Value Until Time 5 + 12, !- Hour 6 + 0, !- Minute 6 + 0.696, !- Value Until Time 6 + 13, !- Hour 7 + 0, !- Minute 7 + 0.9, !- Value Until Time 7 + 14, !- Hour 8 + 0, !- Minute 8 + 0.798, !- Value Until Time 8 + 15, !- Hour 9 + 0, !- Minute 9 + 0.696, !- Value Until Time 9 + 16, !- Hour 10 + 0, !- Minute 10 + 0.798, !- Value Until Time 10 + 17, !- Hour 11 + 0, !- Minute 11 + 0.297, !- Value Until Time 11 + 18, !- Hour 12 + 0, !- Minute 12 + 0.05, !- Value Until Time 12 + 24, !- Hour 13 + 0, !- Minute 13 + 0; !- Value Until Time 13 + +OS:Schedule:Day, + {781c3519-e279-453a-9442-c7b63771d804}, !- Handle + Warehouse Office DHW Schedule Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 7, !- Hour 2 + 0, !- Minute 2 + 0.05, !- Value Until Time 2 + 8, !- Hour 3 + 0, !- Minute 3 + 0.101, !- Value Until Time 3 + 9, !- Hour 4 + 0, !- Minute 4 + 0.399, !- Value Until Time 4 + 11, !- Hour 5 + 0, !- Minute 5 + 0.501, !- Value Until Time 5 + 12, !- Hour 6 + 0, !- Minute 6 + 0.696, !- Value Until Time 6 + 13, !- Hour 7 + 0, !- Minute 7 + 0.9, !- Value Until Time 7 + 14, !- Hour 8 + 0, !- Minute 8 + 0.798, !- Value Until Time 8 + 15, !- Hour 9 + 0, !- Minute 9 + 0.696, !- Value Until Time 9 + 16, !- Hour 10 + 0, !- Minute 10 + 0.798, !- Value Until Time 10 + 17, !- Hour 11 + 0, !- Minute 11 + 0.297, !- Value Until Time 11 + 18, !- Hour 12 + 0, !- Minute 12 + 0.05, !- Value Until Time 12 + 24, !- Hour 13 + 0, !- Minute 13 + 0; !- Value Until Time 13 + +OS:Schedule:Rule, + {01ded20d-24a6-4586-a7c2-c2d031963756}, !- Handle + Schedule Rule 19, !- Name + {7b7e8351-9c68-467a-9923-7b4ea62ed36b}, !- Schedule Ruleset Name + 0, !- Rule Order + {26642045-063d-49e7-82f1-fce60b0a292d}, !- Day Schedule Name + Yes, !- Apply Sunday + , !- Apply Monday + , !- Apply Tuesday + , !- Apply Wednesday + , !- Apply Thursday + , !- Apply Friday + , !- Apply Saturday + , !- Apply Holiday + DateRange, !- Date Specification Type + 1, !- Start Month + 1, !- Start Day + 12, !- End Month + 31; !- End Day + +OS:Schedule:Day, + {26642045-063d-49e7-82f1-fce60b0a292d}, !- Handle + Warehouse Office DHW Schedule Sun Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.015; !- Value Until Time 1 + +OS:Node, + {6f803b10-1a72-4a96-bf9a-28617e8a9e4f}, !- Handle + Main WUC 0.13gpm at 140F Inlet Water Node, !- Name + {477eb579-9070-47af-b9f8-a60e60e602ab}, !- Inlet Port + {3a5fabc6-6da4-41cf-8b61-24fced62b7da}; !- Outlet Port + +OS:Connection, + {477eb579-9070-47af-b9f8-a60e60e602ab}, !- Handle + {2bd8846a-f773-49c4-9b18-88edec84584b}, !- Name + {95ef4e3c-c7f7-4de1-846a-c8e1b0daf9b4}, !- Source Object + 4, !- Outlet Port + {6f803b10-1a72-4a96-bf9a-28617e8a9e4f}, !- Target Object + 2; !- Inlet Port + +OS:Node, + {2e535b23-0e82-4870-9ea3-28db296ec393}, !- Handle + Main WUC 0.13gpm at 140F Outlet Water Node, !- Name + {46a45e20-7342-44b9-a93b-52efb65d4975}, !- Inlet Port + {ee625681-d9bf-4258-869a-fef7f0f89103}; !- Outlet Port + +OS:Connection, + {3a5fabc6-6da4-41cf-8b61-24fced62b7da}, !- Handle + {5404d9d3-69ae-4978-944e-8f719627d4c9}, !- Name + {6f803b10-1a72-4a96-bf9a-28617e8a9e4f}, !- Source Object + 3, !- Outlet Port + {31be98ee-4f84-4360-a7e2-0b0caa80a98c}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {46a45e20-7342-44b9-a93b-52efb65d4975}, !- Handle + {e4a75f8f-99f6-4069-98cb-e07f38694181}, !- Name + {31be98ee-4f84-4360-a7e2-0b0caa80a98c}, !- Source Object + 3, !- Outlet Port + {2e535b23-0e82-4870-9ea3-28db296ec393}, !- Target Object + 2; !- Inlet Port + +OS:Connection, + {ee625681-d9bf-4258-869a-fef7f0f89103}, !- Handle + {611869af-82b9-4eeb-9680-65e3b0fc6b4e}, !- Name + {2e535b23-0e82-4870-9ea3-28db296ec393}, !- Source Object + 3, !- Outlet Port + {657e7de9-ea9a-4885-87e1-9b1d78642416}, !- Target Object + 4; !- Inlet Port + +OS:Exterior:Lights:Definition, + {10e1d4ce-e5b0-48eb-b1a1-91522e4d886a}, !- Handle + Occ Sensing Exterior Lights Def, !- Name + 6197.4; !- Design Level {W} + +OS:Schedule:Ruleset, + {9a285e68-b3c6-40d9-9501-8ec8ab951f73}, !- Handle + Warehouse Exterior_lighting_schedule_b, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {6cfc4de2-6ff7-499b-b1c2-a7f5e85eacb5}, !- Default Day Schedule Name + {12d6116b-16dc-4d14-a914-912f635382c8}, !- Summer Design Day Schedule Name + {43b99d42-429c-4bc9-a793-401380a0fd4b}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {6cfc4de2-6ff7-499b-b1c2-a7f5e85eacb5}, !- Handle + Warehouse Exterior_lighting_schedule_b Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {43b99d42-429c-4bc9-a793-401380a0fd4b}, !- Handle + Warehouse Exterior_lighting_schedule_b Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {12d6116b-16dc-4d14-a914-912f635382c8}, !- Handle + Warehouse Exterior_lighting_schedule_b Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0.7, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Exterior:Lights, + {67948007-7ea3-4d1a-8545-12e1df8a8a51}, !- Handle + Occ Sensing Exterior Lights Def, !- Name + {10e1d4ce-e5b0-48eb-b1a1-91522e4d886a}, !- Exterior Lights Definition Name + {9a285e68-b3c6-40d9-9501-8ec8ab951f73}, !- Schedule Name + AstronomicalClock, !- Control Option + , !- Multiplier + General; !- End-Use Subcategory + +OS:Exterior:Lights:Definition, + {0a541888-6eb7-4f5e-8e29-d507fd4fef8f}, !- Handle + NonDimming Exterior Lights Def, !- Name + 113.8; !- Design Level {W} + +OS:Schedule:Ruleset, + {5ac1b025-cc2d-4e67-b927-414409caf15f}, !- Handle + Warehouse Exterior_lighting_schedule_a, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + {45afeb18-9ced-43d9-8c2b-3cfa9de2759c}, !- Default Day Schedule Name + {8f053677-add6-4be5-b733-7b3f975c99e9}, !- Summer Design Day Schedule Name + {26a08c5f-c1a4-461a-a95f-3917f649837e}; !- Winter Design Day Schedule Name + +OS:Schedule:Day, + {45afeb18-9ced-43d9-8c2b-3cfa9de2759c}, !- Handle + Warehouse Exterior_lighting_schedule_a Default, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {26a08c5f-c1a4-461a-a95f-3917f649837e}, !- Handle + Warehouse Exterior_lighting_schedule_a Winter Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Schedule:Day, + {8f053677-add6-4be5-b733-7b3f975c99e9}, !- Handle + Warehouse Exterior_lighting_schedule_a Summer Design Day, !- Name + {8c6f1e05-66dc-497c-b9fc-f36850bddc84}, !- Schedule Type Limits Name + , !- Interpolate to Timestep + 6, !- Hour 1 + 0, !- Minute 1 + 0, !- Value Until Time 1 + 24, !- Hour 2 + 0, !- Minute 2 + 1; !- Value Until Time 2 + +OS:Exterior:Lights, + {892f37a6-0772-40c3-ac80-3c3c79247a93}, !- Handle + NonDimming Exterior Lights Def, !- Name + {0a541888-6eb7-4f5e-8e29-d507fd4fef8f}, !- Exterior Lights Definition Name + {5ac1b025-cc2d-4e67-b927-414409caf15f}, !- Schedule Name + AstronomicalClock, !- Control Option + , !- Multiplier + General; !- End-Use Subcategory + +OS:Site:WaterMainsTemperature, + {f339eb8f-5ea9-4997-92d7-b17696e0fc51}, !- Handle + Correlation, !- Calculation Method + , !- Temperature Schedule Name + 17.9416666666667, !- Annual Average Outdoor Air Temperature {C} + 21.1; !- Maximum Difference In Monthly Average Outdoor Air Temperatures {deltaC} + +OS:SizingPeriod:DesignDay, + {d0608239-5eac-4d11-94e6-658797748afc}, !- Handle + El Paso International Ap Ut Ann Clg .4% Condns DB=>MWB, !- Name + 38.1, !- Maximum Dry-Bulb Temperature {C} + 13, !- Daily Dry-Bulb Temperature Range {deltaC} + 18.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 87865, !- Barometric Pressure {Pa} + 3.9, !- Wind Speed {m/s} + 280, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 7, !- Month + SummerDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAETau, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + 0.605, !- ASHRAE Taub {dimensionless} + 1.547; !- ASHRAE Taud {dimensionless} + +OS:SizingPeriod:DesignDay, + {61c36e59-a138-49be-a38f-52ec6af9ee84}, !- Handle + El Paso International Ap Ut Ann Htg 99.6% Condns DB, !- Name + -5.2, !- Maximum Dry-Bulb Temperature {C} + 0, !- Daily Dry-Bulb Temperature Range {deltaC} + -5.2, !- Humidity Indicating Conditions at Maximum Dry-Bulb + 87865, !- Barometric Pressure {Pa} + 2.2, !- Wind Speed {m/s} + 20, !- Wind Direction {deg} + 0, !- Sky Clearness + 0, !- Rain Indicator + 0, !- Snow Indicator + 21, !- Day of Month + 12, !- Month + WinterDesignDay, !- Day Type + 0, !- Daylight Saving Time Indicator + Wetbulb, !- Humidity Indicating Type + , !- Humidity Indicating Day Schedule Name + DefaultMultipliers, !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Schedule Name + ASHRAEClearSky; !- Solar Model Indicator + +OS:RunPeriodControl:DaylightSavingTime, + {15951d3b-e7b8-43d9-bb96-7104eecd8262}, !- Handle + 2nd Sunday in March, !- Start Date + 1st Sunday in November; !- End Date + +OS:Site:GroundTemperature:BuildingSurface, + {f904478f-7d4c-4665-bc6f-f6798a5ea52f}, !- Handle + 13.02, !- January Ground Temperature {C} + 12.94, !- February Ground Temperature {C} + 12.92, !- March Ground Temperature {C} + 18.03, !- April Ground Temperature {C} + 22.41, !- May Ground Temperature {C} + 26.33, !- June Ground Temperature {C} + 26.64, !- July Ground Temperature {C} + 25.84, !- August Ground Temperature {C} + 23.47, !- September Ground Temperature {C} + 18.98, !- October Ground Temperature {C} + 13.86, !- November Ground Temperature {C} + 13.19; !- December Ground Temperature {C} + +OS:SimulationControl, + {877f732a-d1d5-4a18-ac74-5d4b152d1e86}, !- Handle + , !- Do Zone Sizing Calculation + , !- Do System Sizing Calculation + , !- Do Plant Sizing Calculation + No, !- Run Simulation for Sizing Periods + Yes; !- Run Simulation for Weather File Run Periods + +OS:Schedule:Day, + {a29c3a34-406e-4739-b679-73d218d746e5}, !- Handle + Economizer Max OA Fraction 70 pct Default, !- Name + , !- Schedule Type Limits Name + , !- Interpolate to Timestep + 24, !- Hour 1 + 0, !- Minute 1 + 0.7; !- Value Until Time 1 + +OS:Curve:Biquadratic, + {f6b2da2f-90a9-484f-a68c-96feb6cc67fe}, !- Handle + PSZ-Fine Storage DX Coil Cap-FT, !- Name + 0.942587793, !- Coefficient1 Constant + 0.009543347, !- Coefficient2 x + 0.00068377, !- Coefficient3 x**2 + -0.011042676, !- Coefficient4 y + 5.249e-06, !- Coefficient5 y**2 + -9.72e-06, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 23.88889, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Curve:Quadratic, + {1e5c201f-f719-4044-8b97-bef2bb885144}, !- Handle + DX Coil Cap-FF, !- Name + 0.8, !- Coefficient1 Constant + 0.2, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0.5, !- Minimum Value of x + 1.5; !- Maximum Value of x + +OS:Curve:Biquadratic, + {1688d136-800f-45b7-b2f5-fb8eefcb8ef6}, !- Handle + PSZ-AC DX Coil EIR-FT, !- Name + 0.342414409, !- Coefficient1 Constant + 0.034885008, !- Coefficient2 x + -0.0006237, !- Coefficient3 x**2 + 0.004977216, !- Coefficient4 y + 0.000437951, !- Coefficient5 y**2 + -0.000728028, !- Coefficient6 x*y + 12.77778, !- Minimum Value of x + 23.88889, !- Maximum Value of x + 23.88889, !- Minimum Value of y + 46.11111; !- Maximum Value of y + +OS:Curve:Quadratic, + {3127684e-06d9-4ed3-b5b8-66a752c1ef42}, !- Handle + Split DX Coil EIR-FF, !- Name + 1.1552, !- Coefficient1 Constant + -0.1808, !- Coefficient2 x + 0.0256, !- Coefficient3 x**2 + 0.5, !- Minimum Value of x + 1.5; !- Maximum Value of x + +OS:Curve:Quadratic, + {1f4c9e8a-7656-4302-8ca8-4c6a4907347c}, !- Handle + HPACCOOLPLFFPLR, !- Name + 0.85, !- Coefficient1 Constant + 0.15, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:Curve:Biquadratic, + {146906a8-1178-404b-90a5-96b5b70f836e}, !- Handle + PSZ-AC_CoolCLennoxStandard10Ton_TGA120S2B_CapFT, !- Name + 0.42415, !- Coefficient1 Constant + 0.04426, !- Coefficient2 x + -0.00042, !- Coefficient3 x**2 + 0.00333, !- Coefficient4 y + -8e-05, !- Coefficient5 y**2 + -0.00021, !- Coefficient6 x*y + 17, !- Minimum Value of x + 22, !- Maximum Value of x + 29, !- Minimum Value of y + 46; !- Maximum Value of y + +OS:Curve:Quadratic, + {cccea7a4-0bef-410f-bb50-0501b2de86eb}, !- Handle + AHU-1_CoolCStandard10Ton_CapFF, !- Name + 0.77136, !- Coefficient1 Constant + 0.34053, !- Coefficient2 x + -0.11088, !- Coefficient3 x**2 + 0.75918, !- Minimum Value of x + 1.13877; !- Maximum Value of x + +OS:Curve:Biquadratic, + {329133a8-11d6-48fe-b1e3-dd58f7893802}, !- Handle + PSZ-AC_CoolCStandard10Ton_EIRFT, !- Name + 1.23649, !- Coefficient1 Constant + -0.02431, !- Coefficient2 x + 0.00057, !- Coefficient3 x**2 + -0.01434, !- Coefficient4 y + 0.00063, !- Coefficient5 y**2 + -0.00038, !- Coefficient6 x*y + 17, !- Minimum Value of x + 22, !- Maximum Value of x + 29, !- Minimum Value of y + 46; !- Maximum Value of y + +OS:Curve:Quadratic, + {315c9c06-7982-45ad-a003-85c2101a0384}, !- Handle + CoolCLennoxStandard10Ton_TGA120S2B_EIRFFF, !- Name + 1.2055, !- Coefficient1 Constant + -0.32953, !- Coefficient2 x + 0.12308, !- Coefficient3 x**2 + 0.75918, !- Minimum Value of x + 1.13877; !- Maximum Value of x + +OS:Curve:Quadratic, + {d186e2df-d98a-4407-872e-53069b0f0d90}, !- Handle + PSZ-AC_CoolCLennoxStandard10Ton_TGA120S2B_PLR, !- Name + 0.771, !- Coefficient1 Constant + 0.229, !- Coefficient2 x + 0, !- Coefficient3 x**2 + 0, !- Minimum Value of x + 1; !- Maximum Value of x + +OS:AdditionalProperties, + {d1af12ab-bd30-4fbb-845d-7afdba121c42}, !- Handle + {6ce31c07-c985-40c6-ba1d-ee5762b91d96}; !- Object Name + +OS:Daylighting:Control, + {810ebe1b-d9eb-428d-b046-e2dc0d3fe399}, !- Handle + Zone1 Office Daylt Sensor 1, !- Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + 5.48613244577575, !- Position X-Coordinate {m} + 1.60993537419919, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index + +OS:Daylighting:Control, + {ef04a2f5-10cb-4990-900e-5910323b3e66}, !- Handle + Zone1 Office Daylt Sensor 2, !- Name + {12c3d4a0-20ec-4e1f-8040-e70cdfba4a69}, !- Space Name + 20.4206041037209, !- Position X-Coordinate {m} + 3.24426370861351, !- Position Y-Coordinate {m} + 0.762, !- Position Z-Coordinate {m} + , !- Psi Rotation Around X-Axis {deg} + , !- Theta Rotation Around Y-Axis {deg} + , !- Phi Rotation Around Z-Axis {deg} + 500, !- Illuminance Setpoint {lux} + Stepped, !- Lighting Control Type + 0.3, !- Minimum Input Power Fraction for Continuous Dimming Control + 0.2, !- Minimum Light Output Fraction for Continuous Dimming Control + 3, !- Number of Stepped Control Steps + 1, !- Probability Lighting will be Reset When Needed in Manual Stepped Control + , !- Number of Daylighting Views + 22; !- Maximum Allowable Discomfort Glare Index diff --git a/tests/test_osut.py b/tests/test_osut.py index 95ce656..1ec15cb 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1580,6 +1580,170 @@ def test17_minmax_heatcool_setpoints(self): self.assertEqual(o.level(), DBG) self.assertEqual(o.status(), 0) + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + m1 = "osut.maxHeatScheduledSetpoint" + m2 = "osut.minCoolScheduledSetpoint" + z1 = "Level 0 Ceiling Plenum Zone" + z2 = "Single zone" + + mth1 = "osut.maxHeatScheduledSetpoint" + mth2 = "osut.minCoolScheduledSetpoint" + msg1 = "'zone' NoneType? expecting ThermalZone (%s)" % mth1 + msg2 = "'zone' NoneType? expecting ThermalZone (%s)" % mth2 + msg3 = "'zone' str? expecting ThermalZone (%s)" % mth1 + msg4 = "'zone' str? expecting ThermalZone (%s)" % mth2 + + for z in model.getThermalZones(): + z0 = z.nameString() + res = osut.maxHeatScheduledSetpoint(z) + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + if z0 == z1: self.assertFalse(res["spt"]) + if z1 == z2: self.assertAlmostTrue(res["spt"], 22.11, places=2) + if z0 == z1: self.assertFalse(res["dual"]) + if z0 == z2: self.assertTrue(res["dual"]) + self.assertEqual(o.status(), 0) + + res = osut.minCoolScheduledSetpoint(z) + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + if z0 == z1: self.assertFalse(res["spt"]) + if z0 == z2: self.assertAlmostEqual(res["spt"], 22.78, places=2) + if z0 == z1: self.assertFalse(res["dual"]) + if z0 == z2: self.assertTrue(res["dual"]) + self.assertEqual(o.status(), 0) + + # Invalid cases. + res = osut.maxHeatScheduledSetpoint(None) # bad argument + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + self.assertFalse(res["spt"]) + self.assertFalse(res["dual"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg1) + self.assertEqual(o.clean(), DBG) + + res = osut.minCoolScheduledSetpoint(None) # bad argument + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + self.assertFalse(res["spt"]) + self.assertFalse(res["dual"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg2) + self.assertEqual(o.clean(), DBG) + + res = osut.maxHeatScheduledSetpoint("") # bad argument + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + self.assertFalse(res["spt"]) + self.assertFalse(res["dual"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg3) + self.assertEqual(o.clean(), DBG) + + res = osut.minCoolScheduledSetpoint("") # bad argument + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + self.assertFalse(res["spt"]) + self.assertFalse(res["dual"]) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], msg4) + self.assertEqual(o.clean(), DBG) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # Add electric heating to 1x slab. + entry = model.getSpaceByName("Entry way 1") + self.assertTrue(entry) + entry = entry.get() + floor = [s for s in entry.surfaces() if s.surfaceType() == "Floor"] + + self.assertTrue(isinstance(floor, list)) + self.assertEqual(len(floor), 1) + floor = floor[0] + + self.assertTrue(entry.thermalZone()) + tzone = entry.thermalZone().get() + + # Retrieve construction. + self.assertFalse(floor.isConstructionDefaulted()) + c = floor.construction() + self.assertTrue(c) + c = c.get().to_LayeredConstruction() + self.assertTrue(c) + c = c.get() + + # Recover single construction layer (concrete slab). + layers = openstudio.model.MaterialVector() + layers.append(c.layers()[0]) + layers.append(c.layers()[0]) + self.assertEqual(len(c.layers()), 1) + + # Generate construction with internal heat source. + cc = openstudio.model.ConstructionWithInternalSource(model) + cc.setName("ihs") + self.assertTrue(cc.setLayers(layers)) + self.assertTrue(cc.setSourcePresentAfterLayerNumber(1)) + self.assertTrue(cc.setTemperatureCalculationRequestedAfterLayerNumber(1)) + self.assertTrue(floor.setConstruction(cc)) + + availability = osut.availabilitySchedule(model) + schedule = openstudio.model.ScheduleConstant(model) + self.assertTrue(schedule.setValue(22.78)) # reuse cooling setpoint + + # Create radiant electric heating. + ht = (openstudio.model.ZoneHVACLowTemperatureRadiantElectric( + model, availability, schedule)) + ht.setName("radiant electric") + self.assertTrue(ht.setRadiantSurfaceType("Floors")) + self.assertTrue(ht.addToThermalZone(tzone)) + self.assertTrue(tzone.setHeatingPriority(ht, 1)) + found = False + + for eq in tzone.equipment(): + if eq.nameString() == "radiant electric": found = True + + self.assertTrue(found) + + model.save("./tests/files/osms/out/seb_ihs.osm", True) + + # Regardless of the radiant electric heating installation, priority is + # given to the zone thermostat heating setpoint. + stpts = osut.setpoints(entry) + self.assertAlmostEqual(stpts["heating"], 22.11, places=2) + + # Yet if one were to remove the thermostat altogether ... + tzone.resetThermostatSetpointDualSetpoint() + res = osut.maxHeatScheduledSetpoint(tzone) + self.assertTrue(isinstance(res, dict)) + self.assertTrue("spt" in res) + self.assertTrue("dual" in res) + self.assertTrue(res["spt"]) + self.assertAlmostEqual(res["spt"], 22.78, places=2) # radiant heating + self.assertFalse(res["dual"]) + + stpts = osut.setpoints(entry) + self.assertTrue(stpts["heating"]) + self.assertAlmostEqual(stpts["heating"], 22.78, places=2) + + del(model) + def test18_hvac_airloops(self): o = osut.oslg self.assertEqual(o.status(), 0) @@ -1623,19 +1787,271 @@ def test18_hvac_airloops(self): self.assertEqual(o.clean(), DBG) del(model) - # def test19_vestibules(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test19_vestibules(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) - # def test20_setpoints_plenums_attics(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + # Tag "Entry way 1" in SEB as a vestibule. + tag = "vestibule" + entry = model.getSpaceByName("Entry way 1") + self.assertTrue(entry) + entry = entry.get() + self.assertFalse(entry.additionalProperties().hasFeature(tag)) + self.assertFalse(osut.is_vestibule(entry)) + self.assertEqual(o.status(), 0) + + self.assertTrue(entry.additionalProperties().setFeature(tag, True)) + self.assertTrue(entry.additionalProperties().hasFeature(tag)) + prop = entry.additionalProperties().getFeatureAsBoolean(tag) + self.assertTrue(prop) + self.assertTrue(prop.get()) + self.assertTrue(osut.is_vestibule(entry)) + self.assertEqual(o.status(), 0) + + def test20_setpoints_plenums_attics(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + cl1 = openstudio.model.Space + cl2 = openstudio.model.Model + mt1 = "(osut.is_plenum)" + mt2 = "(osut.has_heatingTemperatureSetpoints)" + mt3 = "(osut.setpoints)" + ms1 = "'space' NoneType? expecting %s %s" % (cl1.__name__, mt1) + ms2 = "'model' NoneType? expecting %s %s" % (cl2.__name__, mt2) + ms3 = "'space' Nonetype? expecting %s %s" % (cl1.__name__, mt3) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # Stress tests. + self.assertEqual(o.clean(), DBG) + self.assertFalse(osut.is_plenum(None)) + self.assertTrue(o.is_debug()) + self.assertEqual(len(o.logs()), 1) + self.assertEqual(o.logs()[0]["message"], ms1) + self.assertEqual(o.clean(), DBG) + + self.assertFalse(osut.has_heatingTemperatureSetpoints(None)) + self.assertTrue(o.is_debug()) + self.assertTrue(len(o.logs()), 1) + self.assertTrue(o.logs()[0]["message"], ms2) + self.assertEqual(o.clean(), DBG) + + self.assertFalse(osut.setpoints(None)["heating"]) + self.assertTrue(o.is_debug()) + self.assertTrue(len(o.logs()), 1) + self.assertTrue(o.logs()[0]["message"], ms3) + self.assertEqual(o.clean(), DBG) + + translator = openstudio.osversion.VersionTranslator() + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + plenum = model.getSpaceByName("Level 0 Ceiling Plenum") + self.assertTrue(plenum) + plenum = plenum.get() + + for space in model.getSpaces(): + if space == plenum: continue + + self.assertTrue(space.partofTotalFloorArea()) + zone = space.thermalZone() + self.assertTrue(zone) + zone = zone.get() + heat = osut.maxHeatScheduledSetpoint(zone) + cool = osut.minCoolScheduledSetpoint(zone) + spts = osut.setpoints(space) + + self.assertAlmostEqual(heat["spt"], 22.11, places=2) + self.assertAlmostEqual(cool["spt"], 22.78, places=2) + self.assertTrue(heat["dual"]) + self.assertTrue(cool["dual"]) + + self.assertFalse(osut.is_plenum(space)) + self.assertFalse(osut.is_unconditioned(space)) + self.assertAlmostEqual(spts["heating"], 22.11, places=2) + self.assertAlmostEqual(spts["cooling"], 22.78, places=2) + self.assertEqual(o.status(), 0) + + zone = plenum.thermalZone() + self.assertTrue(zone) + zone = zone.get() + heat = osut.maxHeatScheduledSetpoint(zone) # simply returns model info + cool = osut.minCoolScheduledSetpoint(zone) # simply returns model info + stps = osut.setpoints(plenum) + + self.assertFalse(heat["spt"]) + self.assertFalse(cool["spt"]) + self.assertFalse(heat["dual"]) + self.assertFalse(cool["dual"]) + + # "Plenum" spaceType triggers an INDIRECTLYCONDITIONED status; returns + # defaulted setpoint temperatures. + self.assertFalse(plenum.partofTotalFloorArea()) + self.assertTrue(osut.is_plenum(plenum)) + self.assertFalse(osut.is_unconditioned(plenum)) + self.assertAlmostEqual(stps["heating"], 21.00, places=2) + self.assertAlmostEqual(stps["cooling"], 24.00, places=2) + self.assertEqual(o.status(), 0) + + # Tag plenum as an INDIRECTLYCONDITIONED space (linked to "Open area 1"); + # returns "Open area 1" setpoint temperatures. + key = "indirectlyconditioned" + val = "Open area 1" + self.assertTrue(plenum.additionalProperties().setFeature(key, val)) + stps = osut.setpoints(plenum) + self.assertTrue(osut.is_plenum(plenum)) + self.assertFalse(osut.is_unconditioned(plenum)) + self.assertAlmostEqual(stps["heating"], 22.11, places=2) + self.assertAlmostEqual(stps["cooling"], 22.78, places=2) + self.assertEqual(o.status(), 0) + + # Tag plenum instead as an UNCONDITIONED space. + self.assertTrue(plenum.additionalProperties().resetFeature(key)) + key = "space_conditioning_category" + val = "Unconditioned" + self.assertTrue(plenum.additionalProperties().setFeature(key, val)) + self.assertTrue(osut.is_plenum(plenum)) + self.assertTrue(osut.is_unconditioned(plenum)) + self.assertFalse(osut.setpoints(plenum)["heating"]) + self.assertFalse(osut.setpoints(plenum)["cooling"]) + self.assertEqual(o.status(), 0) + + del(model) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/in/warehouse.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + # Despite different heating setpoints, all 3 thermal spaces/zones have + # some heating and some cooling, i.e. not strictly REFRIGERATED nor + # SEMIHEATED. + for space in model.getSpaces(): + self.assertFalse(osut.is_refrigerated(space)) + self.assertFalse(osut.is_semiheated(space)) + + del(model) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + path = openstudio.path("./tests/files/osms/in/smalloffice.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + + attic = model.getSpaceByName("Attic") + self.assertTrue(attic) + attic = attic.get() + + for space in model.getSpaces(): + if space == attic: continue + + zone = space.thermalZone() + self.assertTrue(zone) + zone = zone.get() + heat = osut.maxHeatScheduledSetpoint(zone) + cool = osut.minCoolScheduledSetpoint(zone) + stps = osut.setpoints(space) + + self.assertAlmostEqual(heat["spt"], 21.11, places=2) + self.assertAlmostEqual(cool["spt"], 23.89, places=2) + self.assertTrue(heat["dual"]) + self.assertTrue(cool["dual"]) + + self.assertTrue(space.partofTotalFloorArea()) + self.assertFalse(osut.is_plenum(space)) + self.assertFalse(osut.is_unconditioned(space)) + self.assertAlmostEqual(stps["heating"], 21.11, places=2) + self.assertAlmostEqual(stps["cooling"], 23.89, places=2) + + zone = attic.thermalZone() + self.assertTrue(zone) + zone = zone.get() + heat = osut.maxHeatScheduledSetpoint(zone) + cool = osut.minCoolScheduledSetpoint(zone) + stps = osut.setpoints(attic) + + self.assertFalse(heat["spt"]) + self.assertFalse(cool["spt"]) + self.assertFalse(heat["dual"]) + self.assertFalse(cool["dual"]) + self.assertFalse(osut.is_plenum(attic)) + self.assertTrue(osut.is_unconditioned(attic)) + self.assertFalse(attic.partofTotalFloorArea()) + self.assertEqual(o.status(), 0) + + # Tag attic as an INDIRECTLYCONDITIONED space (linked to "Core_ZN"). + key = "indirectlyconditioned" + val = "Core_ZN" + self.assertTrue(attic.additionalProperties().setFeature(key, val)) + stps = osut.setpoints(attic) + self.assertFalse(osut.is_plenum(attic)) + self.assertFalse(osut.is_unconditioned(attic)) + self.assertAlmostEqual(stps["heating"], 21.11, places=2) + self.assertAlmostEqual(stps["cooling"], 23.89, places=2) + self.assertEqual(o.status(), 0) + self.assertTrue(attic.additionalProperties().resetFeature(key)) + + # Tag attic instead as an SEMIHEATED space. First, test an invalid entry. + key = "space_conditioning_category" + val = "Demiheated" + msg = "Invalid '%s:%s' (osut.setpoints)" % (key, val) + self.assertTrue(attic.additionalProperties().setFeature(key, val)) + stps = osut.setpoints(attic) + self.assertFalse(osut.is_plenum(attic)) + self.assertTrue(osut.is_unconditioned(attic)) + self.assertFalse(stps["heating"]) + self.assertFalse(stps["cooling"]) + self.assertTrue(attic.additionalProperties().hasFeature(key)) + cnd = attic.additionalProperties().getFeatureAsString(key) + self.assertTrue(cnd) + self.assertEqual(cnd.get(), val) + self.assertTrue(o.is_error()) + + # 3x same error, as is_plenum/is_unconditioned call setpoints(attic). + self.assertEqual(len(o.logs()), 3) + for l in o.logs(): self.assertEqual(l["message"], msg) + + # Now test a valid entry. + self.assertTrue(attic.additionalProperties().resetFeature(key)) + self.assertEqual(o.clean(), DBG) + val = "Semiheated" + self.assertTrue(attic.additionalProperties().setFeature(key, val)) + stps = osut.setpoints(attic) + self.assertFalse(osut.is_plenum(attic)) + self.assertFalse(osut.is_unconditioned(attic)) + self.assertTrue(osut.is_semiheated(attic)) + self.assertFalse(osut.is_refrigerated(attic)) + self.assertAlmostEqual(stps["heating"], 14.00, places=2) + self.assertFalse(stps["cooling"]) + self.assertEqual(o.status(), 0) + self.assertTrue(attic.additionalProperties().hasFeature(key)) + cnd = attic.additionalProperties().getFeatureAsString(key) + self.assertTrue(cnd) + self.assertEqual(cnd.get(), val) + self.assertEqual(o.status(), 0) + + del(model) + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # Consider adding LargeOffice model to test SDK's "isPlenum" ... @todo # def test21_availability_schedules(self): # o = osut.oslg @@ -1735,164 +2151,164 @@ def test18_hvac_airloops(self): # self.assertEqual(o.level(), DBG) # self.assertEqual(o.status(), 0) - def test35_facet_retrieval(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() - - path = openstudio.path("./tests/files/osms/out/seb2.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - spaces = model.getSpaces() - surfs = model.getSurfaces() - subs = model.getSubSurfaces() - self.assertEqual(len(surfs), 56) - self.assertEqual(len(subs), 8) - - # The solution is similar to: - # OpenStudio::Model::Space::findSurfaces(minDegreesFromNorth, - # maxDegreesFromNorth, - # minDegreesTilt, - # maxDegreesTilt, - # tol) - # https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ - # OpenStudio-3.6.1-doc/model/html/classopenstudio_1_1model_1_1_space.html - # #a0cf3c265ac314c1c846ee4962e852a3e - # - # ... yet it offers filters, e.g. surface type and boundary conditions. - windows = osut.facets(spaces, "Outdoors", "FixedWindow") - skylights = osut.facets(spaces, "Outdoors", "Skylight") - walls = osut.facets(spaces, "Outdoors", "Wall") - northsouth = osut.facets(spaces, "Outdoors", "Wall", ["north", "south"]) - northeast = osut.facets(spaces, "Outdoors", "Wall", ["north", "east"]) - north = osut.facets(spaces, "Outdoors", "Wall", "north") - floors1a = osut.facets(spaces, "Ground", "Floor", "bottom") - floors1b = osut.facets(spaces, "Surface", "Floor") # plenum - roofs1 = osut.facets(spaces, "Outdoors", "RoofCeiling", "top") - roofs2 = osut.facets(spaces, "Outdoors", "RoofCeiling", "foo") - - self.assertEqual(len(windows), 8) - self.assertEqual(len(skylights), 0) - self.assertEqual(len(walls), 26) - self.assertFalse(northsouth) - self.assertEqual(len(northeast), 8) - self.assertEqual(len(north), 14) - self.assertEqual(len(floors1a), 4) - self.assertEqual(len(floors1b), 4) - self.assertEqual(len(roofs1), 4) - self.assertFalse(roofs2) - - # Concise variants, same output. In the SEB model, floors face "Ground". - floors2 = osut.facets(spaces, "Ground", "Floor") - floors3 = osut.facets(spaces, "Ground") - roofs3 = osut.facets(spaces, "Outdoors", "RoofCeiling") - self.assertEqual(floors2, floors1a) - self.assertEqual(floors3, floors1a) - self.assertEqual(roofs3, roofs1) - - # Dropping filters, 'envelope' includes all above-grade envelope. - nb = len(walls) + len(roofs3) + len(windows) + len(skylights) - floors4 = osut.facets(spaces, "ALL", "Floor") - envelope = osut.facets(spaces, "Outdoors", "ALL") - - for fl in floors1a: self.assertTrue(fl in floors4) - for fl in floors1b: self.assertTrue(fl in floors4) - self.assertEqual(len(envelope), nb) - - # Without arguments, the method returns ALL surfaces and subsurfaces. - self.assertEqual(len(osut.facets(spaces)), len(surfs) + len(subs)) - - def test36_roller_shades(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() - - path = openstudio.path("./tests/files/osms/out/seb2.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - spaces = model.getSpaces() - - # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") - # path = OpenStudio::Path.new(file) - # model = translator.loadModel(path) - # self.assertTrue(model).to_not be_empty - # model = model.get - # spaces = model.getSpaces - - # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) - # self.assertEqual(len(slanted), 1) - - # slanted = slanted.first - # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") - # skylights = slanted.subSurfaces - # - # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) - # self.assertTrue(tilted.size).to eq(1) - # tilted = tilted.first - # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") - # windows = tilted.subSurfaces - # - # # 2x control groups: - # # - 3x windows as a single control group - # # - 3x skylight as another single control group - # skies = OpenStudio::Model::SubSurfaceVector.new - # wins = OpenStudio::Model::SubSurfaceVector.new - # skylights.each { |sub| skies << sub } - # windows.each { |sub| wins << sub } - # - # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 - # self.assertTrue(mod1.genShade(skies)).to be false - # self.assertTrue(mod1.status).to be_zero - # else - # self.assertTrue(mod1.genShade(skies)).to be true - # self.assertTrue(mod1.genShade(wins)).to be true - # self.assertTrue(mod1.status).to be_zero - # ctls = model.getShadingControls - # self.assertTrue(ctls.size).to eq(2) - # - # ctls.each do |ctl| - # self.assertTrue(ctl.shadingType).to eq("InteriorShade") - # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" - # self.assertTrue(ctl.shadingControlType).to eq(type) - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true - # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true - # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false - # spt1 = ctl.setpoint - # spt2 = ctl.setpoint2 - # self.assertTrue(spt1).to_not be_empty - # self.assertTrue(spt2).to_not be_empty - # spt1 = spt1.get - # spt2 = spt2.get - # self.assertTrue(spt1).to be_within(TOL).of(18) - # self.assertTrue(spt2).to be_within(TOL).of(100) - # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") - # - # ctl.subSurfaces.each do |sub| - # surface = sub.surface - # self.assertTrue(surface).to_not be_empty - # surface = surface.get - # self.assertTrue([slanted, tilted]).to include(surface) - # end - # end - # end - # - # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") - # model.save(file, true) - self.assertEqual(o.clean(), DBG) - del(model) + # def test35_facet_retrieval(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + # + # version = int("".join(openstudio.openStudioVersion().split("."))) + # translator = openstudio.osversion.VersionTranslator() + # + # path = openstudio.path("./tests/files/osms/out/seb2.osm") + # model = translator.loadModel(path) + # self.assertTrue(model) + # model = model.get() + # spaces = model.getSpaces() + # surfs = model.getSurfaces() + # subs = model.getSubSurfaces() + # self.assertEqual(len(surfs), 56) + # self.assertEqual(len(subs), 8) + # + # # The solution is similar to: + # # OpenStudio::Model::Space::findSurfaces(minDegreesFromNorth, + # # maxDegreesFromNorth, + # # minDegreesTilt, + # # maxDegreesTilt, + # # tol) + # # https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ + # # OpenStudio-3.6.1-doc/model/html/classopenstudio_1_1model_1_1_space.html + # # #a0cf3c265ac314c1c846ee4962e852a3e + # # + # # ... yet it offers filters, e.g. surface type and boundary conditions. + # windows = osut.facets(spaces, "Outdoors", "FixedWindow") + # skylights = osut.facets(spaces, "Outdoors", "Skylight") + # walls = osut.facets(spaces, "Outdoors", "Wall") + # northsouth = osut.facets(spaces, "Outdoors", "Wall", ["north", "south"]) + # northeast = osut.facets(spaces, "Outdoors", "Wall", ["north", "east"]) + # north = osut.facets(spaces, "Outdoors", "Wall", "north") + # floors1a = osut.facets(spaces, "Ground", "Floor", "bottom") + # floors1b = osut.facets(spaces, "Surface", "Floor") # plenum + # roofs1 = osut.facets(spaces, "Outdoors", "RoofCeiling", "top") + # roofs2 = osut.facets(spaces, "Outdoors", "RoofCeiling", "foo") + # + # self.assertEqual(len(windows), 8) + # self.assertEqual(len(skylights), 0) + # self.assertEqual(len(walls), 26) + # self.assertFalse(northsouth) + # self.assertEqual(len(northeast), 8) + # self.assertEqual(len(north), 14) + # self.assertEqual(len(floors1a), 4) + # self.assertEqual(len(floors1b), 4) + # self.assertEqual(len(roofs1), 4) + # self.assertFalse(roofs2) + # + # # Concise variants, same output. In the SEB model, floors face "Ground". + # floors2 = osut.facets(spaces, "Ground", "Floor") + # floors3 = osut.facets(spaces, "Ground") + # roofs3 = osut.facets(spaces, "Outdoors", "RoofCeiling") + # self.assertEqual(floors2, floors1a) + # self.assertEqual(floors3, floors1a) + # self.assertEqual(roofs3, roofs1) + # + # # Dropping filters, 'envelope' includes all above-grade envelope. + # nb = len(walls) + len(roofs3) + len(windows) + len(skylights) + # floors4 = osut.facets(spaces, "ALL", "Floor") + # envelope = osut.facets(spaces, "Outdoors", "ALL") + # + # for fl in floors1a: self.assertTrue(fl in floors4) + # for fl in floors1b: self.assertTrue(fl in floors4) + # self.assertEqual(len(envelope), nb) + # + # # Without arguments, the method returns ALL surfaces and subsurfaces. + # self.assertEqual(len(osut.facets(spaces)), len(surfs) + len(subs)) + + # def test36_roller_shades(self): + # o = osut.oslg + # self.assertEqual(o.status(), 0) + # self.assertEqual(o.reset(DBG), DBG) + # self.assertEqual(o.level(), DBG) + # self.assertEqual(o.status(), 0) + # + # version = int("".join(openstudio.openStudioVersion().split("."))) + # translator = openstudio.osversion.VersionTranslator() + # + # path = openstudio.path("./tests/files/osms/out/seb2.osm") + # model = translator.loadModel(path) + # self.assertTrue(model) + # model = model.get() + # spaces = model.getSpaces() + # + # # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") + # # path = OpenStudio::Path.new(file) + # # model = translator.loadModel(path) + # # self.assertTrue(model).to_not be_empty + # # model = model.get + # # spaces = model.getSpaces + # + # # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) + # # self.assertEqual(len(slanted), 1) + # + # # slanted = slanted.first + # # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") + # # skylights = slanted.subSurfaces + # # + # # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) + # # self.assertTrue(tilted.size).to eq(1) + # # tilted = tilted.first + # # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") + # # windows = tilted.subSurfaces + # # + # # # 2x control groups: + # # # - 3x windows as a single control group + # # # - 3x skylight as another single control group + # # skies = OpenStudio::Model::SubSurfaceVector.new + # # wins = OpenStudio::Model::SubSurfaceVector.new + # # skylights.each { |sub| skies << sub } + # # windows.each { |sub| wins << sub } + # # + # # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 + # # self.assertTrue(mod1.genShade(skies)).to be false + # # self.assertTrue(mod1.status).to be_zero + # # else + # # self.assertTrue(mod1.genShade(skies)).to be true + # # self.assertTrue(mod1.genShade(wins)).to be true + # # self.assertTrue(mod1.status).to be_zero + # # ctls = model.getShadingControls + # # self.assertTrue(ctls.size).to eq(2) + # # + # # ctls.each do |ctl| + # # self.assertTrue(ctl.shadingType).to eq("InteriorShade") + # # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" + # # self.assertTrue(ctl.shadingControlType).to eq(type) + # # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true + # # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true + # # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true + # # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false + # # spt1 = ctl.setpoint + # # spt2 = ctl.setpoint2 + # # self.assertTrue(spt1).to_not be_empty + # # self.assertTrue(spt2).to_not be_empty + # # spt1 = spt1.get + # # spt2 = spt2.get + # # self.assertTrue(spt1).to be_within(TOL).of(18) + # # self.assertTrue(spt2).to be_within(TOL).of(100) + # # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") + # # + # # ctl.subSurfaces.each do |sub| + # # surface = sub.surface + # # self.assertTrue(surface).to_not be_empty + # # surface = surface.get + # # self.assertTrue([slanted, tilted]).to include(surface) + # # end + # # end + # # end + # # + # # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") + # # model.save(file, true) + # self.assertEqual(o.clean(), DBG) + # del(model) if __name__ == "__main__": unittest.main() From 6da75da98b18952b59d6b13e53ddb274d3669c2b Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 8 Jul 2025 07:33:11 -0400 Subject: [PATCH 45/48] Completes availability sched tests --- src/osut/osut.py | 4 +- tests/test_osut.py | 220 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 216 insertions(+), 8 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index a252882..225c817 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -2334,7 +2334,7 @@ def availabilitySchedule(model=None, avl=""): schedule.defaultDaySchedule().setName(dft) if tag: - rule = openstudio.modelScheduleRule(schedule, sch) + rule = openstudio.model.ScheduleRule(schedule, sch) rule.setName(tag) if not rule.setStartDate(may01): @@ -2345,7 +2345,7 @@ def availabilitySchedule(model=None, avl=""): oslg.log(ERR, "'%s': Can't set end date (%s)" % (tag, mth)) return None - if not rule.setApplyAllDays(true): + if not rule.setApplyAllDays(True): oslg.log(ERR, "'%s': Can't apply to all days (%s)" % (tag, mth)) return None diff --git a/tests/test_osut.py b/tests/test_osut.py index 1ec15cb..4de2b90 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -2053,12 +2053,220 @@ def test20_setpoints_plenums_attics(self): # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # # Consider adding LargeOffice model to test SDK's "isPlenum" ... @todo - # def test21_availability_schedules(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + def test21_availability_schedules(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + v = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + mdl = openstudio.model.Model() + + year = model.yearDescription() + self.assertTrue(year) + year = year.get() + + am01 = openstudio.Time(0, 1) + pm11 = openstudio.Time(0,23) + + jan01 = year.makeDate(openstudio.MonthOfYear("Jan"), 1) + apr30 = year.makeDate(openstudio.MonthOfYear("Apr"), 30) + may01 = year.makeDate(openstudio.MonthOfYear("May"), 1) + oct31 = year.makeDate(openstudio.MonthOfYear("Oct"), 31) + nov01 = year.makeDate(openstudio.MonthOfYear("Nov"), 1) + dec31 = year.makeDate(openstudio.MonthOfYear("Dec"), 31) + self.assertTrue(isinstance(oct31, openstudio.Date)) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + sch = osut.availabilitySchedule(model) # ON (default) + self.assertTrue(isinstance(sch, openstudio.model.ScheduleRuleset)) + self.assertEqual(sch.nameString(), "ON Availability SchedRuleset") + + limits = sch.scheduleTypeLimits() + self.assertTrue(limits) + limits = limits.get() + name = limits.nameString() + self.assertEqual(name, "HVAC Operation ScheduleTypeLimits") + + default = sch.defaultDaySchedule() + self.assertEqual(default.nameString(), "ON Availability dftDaySched") + self.assertTrue(default.times()) + self.assertTrue(default.values()) + self.assertEqual(len(default.times()), 1) + self.assertEqual(len(default.values()), 1) + self.assertEqual(default.getValue(am01), 1) + self.assertEqual(default.getValue(pm11), 1) + + self.assertTrue(sch.isWinterDesignDayScheduleDefaulted()) + self.assertTrue(sch.isSummerDesignDayScheduleDefaulted()) + self.assertTrue(sch.isHolidayScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay1ScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay2ScheduleDefaulted()) + self.assertEqual(sch.summerDesignDaySchedule(), default) + self.assertEqual(sch.winterDesignDaySchedule(), default) + self.assertEqual(sch.holidaySchedule(), default) + if v >= 330: self.assertEqual(sch.customDay1Schedule(), default) + if v >= 330: self.assertEqual(sch.customDay2Schedule(), default) + self.assertFalse(sch.scheduleRules()) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + sch = osut.availabilitySchedule(model, "Off") + self.assertTrue(isinstance(sch, openstudio.model.ScheduleRuleset)) + name = sch.nameString() + self.assertEqual(name, "OFF Availability SchedRuleset") + + limits = sch.scheduleTypeLimits() + self.assertTrue(limits) + limits = limits.get() + name = limits.nameString() + self.assertEqual(name, "HVAC Operation ScheduleTypeLimits") + + default = sch.defaultDaySchedule() + self.assertEqual(default.nameString(), "OFF Availability dftDaySched") + self.assertTrue(default.times()) + self.assertTrue(default.values()) + self.assertEqual(len(default.times()), 1) + self.assertEqual(len(default.values()), 1) + self.assertEqual(int(default.getValue(am01)), 0) + self.assertEqual(int(default.getValue(pm11)), 0) + + self.assertTrue(sch.isWinterDesignDayScheduleDefaulted()) + self.assertTrue(sch.isSummerDesignDayScheduleDefaulted()) + self.assertTrue(sch.isHolidayScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay1ScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay2ScheduleDefaulted()) + self.assertEqual(sch.summerDesignDaySchedule(), default) + self.assertEqual(sch.winterDesignDaySchedule(), default) + self.assertEqual(sch.holidaySchedule(), default) + if v >= 330: self.assertEqual(sch.customDay1Schedule(), default) + if v >= 330: self.assertEqual(sch.customDay2Schedule(), default) + self.assertFalse(sch.scheduleRules()) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + sch = osut.availabilitySchedule(model, "Winter") + self.assertTrue(isinstance(sch, openstudio.model.ScheduleRuleset)) + self.assertEqual(sch.nameString(), "WINTER Availability SchedRuleset") + + limits = sch.scheduleTypeLimits() + self.assertTrue(limits) + limits = limits.get() + name = "HVAC Operation ScheduleTypeLimits" + self.assertEqual(limits.nameString(), name) + + default = sch.defaultDaySchedule() + name = "WINTER Availability dftDaySched" + self.assertEqual(default.nameString(), name) + self.assertTrue(default.times()) + self.assertTrue(default.values()) + self.assertEqual(len(default.times()), 1) + self.assertEqual(len(default.values()), 1) + self.assertEqual(int(default.getValue(am01)), 1) + self.assertEqual(int(default.getValue(pm11)), 1) + + self.assertTrue(sch.isWinterDesignDayScheduleDefaulted()) + self.assertTrue(sch.isSummerDesignDayScheduleDefaulted()) + self.assertTrue(sch.isHolidayScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay1ScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay2ScheduleDefaulted()) + self.assertEqual(sch.summerDesignDaySchedule(), default) + self.assertEqual(sch.winterDesignDaySchedule(), default) + self.assertEqual(sch.holidaySchedule(), default) + if v >= 330: self.assertEqual(sch.customDay1Schedule(), default) + if v >= 330: self.assertEqual(sch.customDay2Schedule(), default) + self.assertEqual(len(sch.scheduleRules()), 1) + + for day_schedule in sch.getDaySchedules(jan01, apr30): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 1) + self.assertEqual(int(day_schedule.getValue(pm11)), 1) + + for day_schedule in sch.getDaySchedules(may01, oct31): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 0) + self.assertEqual(int(day_schedule.getValue(pm11)), 0) + + for day_schedule in sch.getDaySchedules(nov01, dec31): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 1) + self.assertEqual(int(day_schedule.getValue(pm11)), 1) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + another = osut.availabilitySchedule(model, "Winter") + self.assertEqual(another.nameString(), sch.nameString()) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + sch = osut.availabilitySchedule(model, "Summer") + self.assertTrue(isinstance(sch, openstudio.model.ScheduleRuleset)) + self.assertEqual(sch.nameString(), "SUMMER Availability SchedRuleset") + + limits = sch.scheduleTypeLimits() + self.assertTrue(limits) + limits = limits.get() + name = "HVAC Operation ScheduleTypeLimits" + self.assertEqual(limits.nameString(), name) + + default = sch.defaultDaySchedule() + name = "SUMMER Availability dftDaySched" + self.assertEqual(default.nameString(), name) + self.assertTrue(default.times()) + self.assertTrue(default.values()) + self.assertEqual(len(default.times()), 1) + self.assertEqual(len(default.values()), 1) + self.assertEqual(int(default.getValue(am01)), 0) + self.assertEqual(int(default.getValue(pm11)), 0) + + self.assertTrue(sch.isWinterDesignDayScheduleDefaulted()) + self.assertTrue(sch.isSummerDesignDayScheduleDefaulted()) + self.assertTrue(sch.isHolidayScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay1ScheduleDefaulted()) + if v >= 330: self.assertTrue(sch.isCustomDay2ScheduleDefaulted()) + self.assertEqual(sch.summerDesignDaySchedule(), default) + self.assertEqual(sch.winterDesignDaySchedule(), default) + self.assertEqual(sch.holidaySchedule(), default) + if v >= 330: self.assertEqual(sch.customDay1Schedule(), default) + if v >= 330: self.assertEqual(sch.customDay2Schedule(), default) + self.assertEqual(len(sch.scheduleRules()), 1) + + for day_schedule in sch.getDaySchedules(jan01, apr30): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 0) + self.assertEqual(int(day_schedule.getValue(pm11)), 0) + + for day_schedule in sch.getDaySchedules(may01, oct31): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 1) + self.assertEqual(int(day_schedule.getValue(pm11)), 1) + + for day_schedule in sch.getDaySchedules(nov01, dec31): + self.assertTrue(day_schedule.times()) + self.assertTrue(day_schedule.values()) + self.assertEqual(len(day_schedule.times()), 1) + self.assertEqual(len(day_schedule.values()), 1) + self.assertEqual(int(day_schedule.getValue(am01)), 0) + self.assertEqual(int(day_schedule.getValue(pm11)), 0) + # def test22_model_transformation(self): # o = osut.oslg From 902d0e69a24aba18355d94917977ffe05a39fb63 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 8 Jul 2025 09:24:41 -0400 Subject: [PATCH 46/48] Completes genSlab tests --- src/osut/osut.py | 114 +++++++++ tests/test_osut.py | 605 +++++++++++++++++++++++++++------------------ 2 files changed, 482 insertions(+), 237 deletions(-) diff --git a/src/osut/osut.py b/src/osut/osut.py index 225c817..66b93c2 100644 --- a/src/osut/osut.py +++ b/src/osut/osut.py @@ -2647,3 +2647,117 @@ def facets(spaces=[], boundary="all", type="all", sides=[]) -> list: faces.append(sub) return faces + + +def genSlab(pltz=[], z=0): + """Generates an OpenStudio 3D point vector of a composite floor "slab", a + 'union' of multiple rectangular, horizontal floor "plates". Each plate + must either share an edge with (or encompass or overlap) any of the + preceding plates in the array. The generated slab may not be convex. + + Args: + pltz (list): + Collection of individual floor plates (dicts), each holding: + - "x" (float): Left corner of plate origin (bird's eye view). + - "y" (float): Bottom corner of plate origin (bird's eye view). + - "dx" (float): Plate width (bird's eye view). + - "dy" (float): Plate depth (bird's eye view) + - "z" (float): Z-axis coordinate. + + Returns: + openstudio.point3dVector: Slab vertices (see logs if empty). + """ + mth = "osut.genSlab" + slb = openstudio.Point3dVector() + bkp = openstudio.Point3dVector() + + # Input validation. + if not isinstance(pltz, list): + return oslg.mismatch("plates", pltz, list, mth, CN.DBG, slb) + + try: + z = float(z) + except: + return oslg.mismatch("Z", z, float, mth, CN.DBG, slb) + + for i, plt in enumerate(pltz): + id = "plate # %d (index %d)" % (i+1, i) + + if not isinstance(plt, dict): + return oslg.mismatch(id, plt, dict, mth, CN.DBG, slb) + + if "x" not in plt: return oslg.hashkey(id, plt, "x", mth, CN.DBG, slb) + if "y" not in plt: return oslg.hashkey(id, plt, "y", mth, CN.DBG, slb) + if "dx" not in plt: return oslg.hashkey(id, plt, "dx", mth, CN.DBG, slb) + if "dy" not in plt: return oslg.hashkey(id, plt, "dy", mth, CN.DBG, slb) + + x = plt["x" ] + y = plt["y" ] + dx = plt["dx"] + dy = plt["dy"] + + try: + x = float(x) + except: + oslg.mismatch("%s X" % id, x, float, mth, CN.DBG, slb) + + try: + y = float(y) + except: + oslg.mismatch("%s Y" % id, y, float, mth, CN.DBG, slb) + + try: + dx = float(dx) + except: + oslg.mismatch("%s dX" % id, dx, float, mth, CN.DBG, slb) + + try: + dy = float(dy) + except: + oslg.mismatch("%s dY" % id, dy, float, mth, CN.DBG, slb) + + if abs(dx) < CN.TOL: return oslg.zero("%s dX" % id, mth, CN.ERR, slb) + if abs(dy) < CN.TOL: return oslg.zero("%s dY" % id, mth, CN.ERR, slb) + + # Join plates. + for i, plt in enumerate(pltz): + id = "plate # %d (index %d)" % (i+1, i) + + x = plt["x" ] + y = plt["y" ] + dx = plt["dx"] + dy = plt["dy"] + + # Adjust X if dX < 0. + if dx < 0: x -= -dx + if dx < 0: dx = -dx + + # Adjust Y if dY < 0. + if dy < 0: y -= -dy + if dy < 0: dy = -dy + + vtx = [] + vtx.append(openstudio.Point3d(x + dx, y + dy, 0)) + vtx.append(openstudio.Point3d(x + dx, y, 0)) + vtx.append(openstudio.Point3d(x, y, 0)) + vtx.append(openstudio.Point3d(x, y + dy, 0)) + + if slb: + slab = openstudio.join(slb, vtx, CN.TOL2) + + if slab: + slb = slab.get() + else: + return oslg.invalid(id, mth, 0, CN.ERR, bkp) + else: + slb = vtx + + # Once joined, re-adjust Z-axis coordinates. + if abs(z) > CN.TOL: + vtx = openstudio.Point3dVector() + + for pt in slb: vtx.append(openstudio.Point3d(pt.x(), pt.y(), z)) + + slb = vtx + + return slb diff --git a/tests/test_osut.py b/tests/test_osut.py index 4de2b90..faecff6 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -1769,6 +1769,7 @@ def test18_hvac_airloops(self): self.assertEqual(len(o.logs()), 1) self.assertEqual(o.logs()[0]["message"], msg) self.assertEqual(o.clean(), DBG) + del(model) # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # @@ -1785,6 +1786,7 @@ def test18_hvac_airloops(self): self.assertEqual(len(o.logs()), 1) self.assertEqual(o.logs()[0]["message"], msg) self.assertEqual(o.clean(), DBG) + del(model) def test19_vestibules(self): @@ -1819,6 +1821,8 @@ def test19_vestibules(self): self.assertTrue(osut.is_vestibule(entry)) self.assertEqual(o.status(), 0) + del(model) + def test20_setpoints_plenums_attics(self): o = osut.oslg self.assertEqual(o.status(), 0) @@ -2067,7 +2071,6 @@ def test21_availability_schedules(self): model = translator.loadModel(path) self.assertTrue(model) model = model.get() - mdl = openstudio.model.Model() year = model.yearDescription() self.assertTrue(year) @@ -2267,256 +2270,384 @@ def test21_availability_schedules(self): self.assertEqual(int(day_schedule.getValue(am01)), 0) self.assertEqual(int(day_schedule.getValue(pm11)), 0) + del(model) # def test22_model_transformation(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test23_fits_overlaps(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test24_triangulation(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test25_segments_triads_orientation(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test26_ulc_blc(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test27_polygon_attributes(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test28_subsurface_insertions(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test29_surface_width_height(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test30_wwr_insertions(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test31_convexity(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test32_outdoor_roofs(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test33_leader_line_anchors_inserts(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test34_generated_skylight_wells(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - - # def test35_facet_retrieval(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) - # - # version = int("".join(openstudio.openStudioVersion().split("."))) - # translator = openstudio.osversion.VersionTranslator() # - # path = openstudio.path("./tests/files/osms/out/seb2.osm") - # model = translator.loadModel(path) - # self.assertTrue(model) - # model = model.get() - # spaces = model.getSpaces() - # surfs = model.getSurfaces() - # subs = model.getSubSurfaces() - # self.assertEqual(len(surfs), 56) - # self.assertEqual(len(subs), 8) + # def test23_fits_overlaps(self): # - # # The solution is similar to: - # # OpenStudio::Model::Space::findSurfaces(minDegreesFromNorth, - # # maxDegreesFromNorth, - # # minDegreesTilt, - # # maxDegreesTilt, - # # tol) - # # https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ - # # OpenStudio-3.6.1-doc/model/html/classopenstudio_1_1model_1_1_space.html - # # #a0cf3c265ac314c1c846ee4962e852a3e - # # - # # ... yet it offers filters, e.g. surface type and boundary conditions. - # windows = osut.facets(spaces, "Outdoors", "FixedWindow") - # skylights = osut.facets(spaces, "Outdoors", "Skylight") - # walls = osut.facets(spaces, "Outdoors", "Wall") - # northsouth = osut.facets(spaces, "Outdoors", "Wall", ["north", "south"]) - # northeast = osut.facets(spaces, "Outdoors", "Wall", ["north", "east"]) - # north = osut.facets(spaces, "Outdoors", "Wall", "north") - # floors1a = osut.facets(spaces, "Ground", "Floor", "bottom") - # floors1b = osut.facets(spaces, "Surface", "Floor") # plenum - # roofs1 = osut.facets(spaces, "Outdoors", "RoofCeiling", "top") - # roofs2 = osut.facets(spaces, "Outdoors", "RoofCeiling", "foo") + # def test24_triangulation(self): # - # self.assertEqual(len(windows), 8) - # self.assertEqual(len(skylights), 0) - # self.assertEqual(len(walls), 26) - # self.assertFalse(northsouth) - # self.assertEqual(len(northeast), 8) - # self.assertEqual(len(north), 14) - # self.assertEqual(len(floors1a), 4) - # self.assertEqual(len(floors1b), 4) - # self.assertEqual(len(roofs1), 4) - # self.assertFalse(roofs2) + # def test25_segments_triads_orientation(self): # - # # Concise variants, same output. In the SEB model, floors face "Ground". - # floors2 = osut.facets(spaces, "Ground", "Floor") - # floors3 = osut.facets(spaces, "Ground") - # roofs3 = osut.facets(spaces, "Outdoors", "RoofCeiling") - # self.assertEqual(floors2, floors1a) - # self.assertEqual(floors3, floors1a) - # self.assertEqual(roofs3, roofs1) + # def test26_ulc_blc(self): # - # # Dropping filters, 'envelope' includes all above-grade envelope. - # nb = len(walls) + len(roofs3) + len(windows) + len(skylights) - # floors4 = osut.facets(spaces, "ALL", "Floor") - # envelope = osut.facets(spaces, "Outdoors", "ALL") + # def test27_polygon_attributes(self): # - # for fl in floors1a: self.assertTrue(fl in floors4) - # for fl in floors1b: self.assertTrue(fl in floors4) - # self.assertEqual(len(envelope), nb) + # def test28_subsurface_insertions(self): # - # # Without arguments, the method returns ALL surfaces and subsurfaces. - # self.assertEqual(len(osut.facets(spaces)), len(surfs) + len(subs)) - - # def test36_roller_shades(self): - # o = osut.oslg - # self.assertEqual(o.status(), 0) - # self.assertEqual(o.reset(DBG), DBG) - # self.assertEqual(o.level(), DBG) - # self.assertEqual(o.status(), 0) + # def test29_surface_width_height(self): # - # version = int("".join(openstudio.openStudioVersion().split("."))) - # translator = openstudio.osversion.VersionTranslator() + # def test30_wwr_insertions(self): # - # path = openstudio.path("./tests/files/osms/out/seb2.osm") - # model = translator.loadModel(path) - # self.assertTrue(model) - # model = model.get() - # spaces = model.getSpaces() + # def test31_convexity(self): # - # # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") - # # path = OpenStudio::Path.new(file) - # # model = translator.loadModel(path) - # # self.assertTrue(model).to_not be_empty - # # model = model.get - # # spaces = model.getSpaces + # def test32_outdoor_roofs(self): # - # # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) - # # self.assertEqual(len(slanted), 1) + # def test33_leader_line_anchors_inserts(self): # - # # slanted = slanted.first - # # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") - # # skylights = slanted.subSurfaces - # # - # # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) - # # self.assertTrue(tilted.size).to eq(1) - # # tilted = tilted.first - # # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") - # # windows = tilted.subSurfaces - # # - # # # 2x control groups: - # # # - 3x windows as a single control group - # # # - 3x skylight as another single control group - # # skies = OpenStudio::Model::SubSurfaceVector.new - # # wins = OpenStudio::Model::SubSurfaceVector.new - # # skylights.each { |sub| skies << sub } - # # windows.each { |sub| wins << sub } - # # - # # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 - # # self.assertTrue(mod1.genShade(skies)).to be false - # # self.assertTrue(mod1.status).to be_zero - # # else - # # self.assertTrue(mod1.genShade(skies)).to be true - # # self.assertTrue(mod1.genShade(wins)).to be true - # # self.assertTrue(mod1.status).to be_zero - # # ctls = model.getShadingControls - # # self.assertTrue(ctls.size).to eq(2) - # # - # # ctls.each do |ctl| - # # self.assertTrue(ctl.shadingType).to eq("InteriorShade") - # # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" - # # self.assertTrue(ctl.shadingControlType).to eq(type) - # # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true - # # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true - # # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true - # # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false - # # spt1 = ctl.setpoint - # # spt2 = ctl.setpoint2 - # # self.assertTrue(spt1).to_not be_empty - # # self.assertTrue(spt2).to_not be_empty - # # spt1 = spt1.get - # # spt2 = spt2.get - # # self.assertTrue(spt1).to be_within(TOL).of(18) - # # self.assertTrue(spt2).to be_within(TOL).of(100) - # # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") - # # - # # ctl.subSurfaces.each do |sub| - # # surface = sub.surface - # # self.assertTrue(surface).to_not be_empty - # # surface = surface.get - # # self.assertTrue([slanted, tilted]).to include(surface) - # # end - # # end - # # end - # # - # # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") - # # model.save(file, true) - # self.assertEqual(o.clean(), DBG) - # del(model) + # def test34_generated_skylight_wells(self): + + def test35_facet_retrieval(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + spaces = model.getSpaces() + surfs = model.getSurfaces() + subs = model.getSubSurfaces() + self.assertEqual(len(surfs), 56) + self.assertEqual(len(subs), 8) + + # The solution is similar to: + # OpenStudio::Model::Space::findSurfaces(minDegreesFromNorth, + # maxDegreesFromNorth, + # minDegreesTilt, + # maxDegreesTilt, + # tol) + # https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/ + # OpenStudio-3.6.1-doc/model/html/classopenstudio_1_1model_1_1_space.html + # #a0cf3c265ac314c1c846ee4962e852a3e + # + # ... yet it offers filters, e.g. surface type and boundary conditions. + windows = osut.facets(spaces, "Outdoors", "FixedWindow") + skylights = osut.facets(spaces, "Outdoors", "Skylight") + walls = osut.facets(spaces, "Outdoors", "Wall") + northsouth = osut.facets(spaces, "Outdoors", "Wall", ["north", "south"]) + northeast = osut.facets(spaces, "Outdoors", "Wall", ["north", "east"]) + north = osut.facets(spaces, "Outdoors", "Wall", "north") + floors1a = osut.facets(spaces, "Ground", "Floor", "bottom") + floors1b = osut.facets(spaces, "Surface", "Floor") # plenum + roofs1 = osut.facets(spaces, "Outdoors", "RoofCeiling", "top") + roofs2 = osut.facets(spaces, "Outdoors", "RoofCeiling", "foo") + + self.assertEqual(len(windows), 8) + self.assertEqual(len(skylights), 0) + self.assertEqual(len(walls), 26) + self.assertFalse(northsouth) + self.assertEqual(len(northeast), 8) + self.assertEqual(len(north), 14) + self.assertEqual(len(floors1a), 4) + self.assertEqual(len(floors1b), 4) + self.assertEqual(len(roofs1), 4) + self.assertFalse(roofs2) + + # Concise variants, same output. In the SEB model, floors face "Ground". + floors2 = osut.facets(spaces, "Ground", "Floor") + floors3 = osut.facets(spaces, "Ground") + roofs3 = osut.facets(spaces, "Outdoors", "RoofCeiling") + self.assertEqual(floors2, floors1a) + self.assertEqual(floors3, floors1a) + self.assertEqual(roofs3, roofs1) + + # Dropping filters, 'envelope' includes all above-grade envelope. + nb = len(walls) + len(roofs3) + len(windows) + len(skylights) + floors4 = osut.facets(spaces, "ALL", "Floor") + envelope = osut.facets(spaces, "Outdoors", "ALL") + + for fl in floors1a: self.assertTrue(fl in floors4) + for fl in floors1b: self.assertTrue(fl in floors4) + self.assertEqual(len(envelope), nb) + + # Without arguments, the method returns ALL surfaces and subsurfaces. + self.assertEqual(len(osut.facets(spaces)), len(surfs) + len(subs)) + + del(model) + + def test36_slab_generation(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + model = openstudio.model.Model() + + x0 = 1 + y0 = 2 + z0 = 3 + w1 = 4 + w2 = w1 * 2 + d1 = 5 + d2 = d1 * 2 + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # 1x valid 'floor' plate. + # ____ + # | | + # | | + # | 1 | + # |____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx=w1, dy=d2)) # bottom-left XY origin + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 4) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 4) + self.assertAlmostEqual(surface.grossArea(), 2 * 20, places=2) + self.assertAlmostEqual(surface.vertices()[0].x(), x0 + w1, places=2) + self.assertAlmostEqual(surface.vertices()[0].y(), y0 + d2, places=2) + self.assertAlmostEqual(surface.vertices()[0].z(), z0, places=2) + self.assertAlmostEqual(surface.vertices()[2].x(), x0, places=2) + self.assertAlmostEqual(surface.vertices()[2].y(), y0, places=2) + self.assertAlmostEqual(surface.vertices()[2].z(), z0, places=2) + self.assertAlmostEqual(surface.vertices()[3].x(), x0, places=2) + self.assertAlmostEqual(surface.vertices()[3].y(), y0 + d2, places=2) + self.assertAlmostEqual(surface.vertices()[3].z(), z0, places=2) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # 2x valid 'floor' plates. + # ____ ____ + # | | 2 | + # | |____| + # | 1 | + # |____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx=w1, dy=d2)) + plates.append(dict(x=x0+w1, y=y0+d1, dx=w1, dy=d1)) + + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 6) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 6) + self.assertAlmostEqual(surface.grossArea(), 3 * 20, places=2) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # 3x valid 'floor' plates. + # ____ ____ + # | | 2 | + # ____| |____| + # | 3| 1 | + # |____|____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx=w1, dy=d2)) + plates.append(dict(x=x0+w1, y=y0+d1, dx=w1, dy=d1)) + plates.append(dict(x=x0-w1, y=y0, dx=w1, dy=d1)) # X origin < 0 + + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 8) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 8) + self.assertAlmostEqual(surface.grossArea(), 4 * 20, places=2) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # 3x 'floor' plates + 1x unconnected 'plate'. + # ____ ____ ____ + # | | 2 | | 4 | + # ____| |____| |____| + # | 3| 1 | + # |____|____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx=w1, dy=d2)) # index 0, #1 + plates.append(dict(x=x0+w1, y=y0+d1, dx=w1, dy=d1)) # index 1, #2 + plates.append(dict(x=x0-w1, y=y0, dx=w1, dy=d1)) # index 2, #3 + plates.append(dict(x=x0+w2+1, y=y0+d1, dx=w1, dy=d1)) # index 3, #4 + + slab = osut.genSlab(plates, z0) + self.assertTrue(o.is_error()) + msg = o.logs()[0]["message"] + self.assertEqual(msg, "Invalid 'plate # 4 (index 3)' (osut.genSlab)") + self.assertEqual(o.clean(), DBG) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertFalse(slab) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # 3x 'floor' plates + 1x overlapping 'plate'. + # ____ ____ + # | | 2 |__ + # ____| |____| 4| + # | 3| 1 | |____| + # |____|____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx=w1, dy=d2)) + plates.append(dict(x=x0+w1, y=y0+d1, dx=w1, dy=d1)) + plates.append(dict(x=x0-w1, y=y0, dx=w1, dy=d1)) + plates.append(dict(x=x0+w2-1, y=y0+1, dx=w1, dy=d1)) + + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 12) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 12) + self.assertAlmostEqual(surface.grossArea(), 5 * 20 - 1, places=2) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # Same as previous, yet overlapping 'plate' has a negative dX while X + # origin is set at right (not left) corner. + # ____ ____ + # | | 2 |__ + # ____| |____| 4| + # | 3| 1 | |____| + # |____|____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx= w1, dy=d2)) + plates.append(dict(x=x0+w1, y=y0+d1, dx= w1, dy=d1)) + plates.append(dict(x=x0-w1, y=y0, dx= w1, dy=d1)) + plates.append(dict(x=x0+3*w1-1, y=y0+1, dx=-w1, dy=d1)) + + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 12) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 12) + self.assertAlmostEqual(surface.grossArea(), 5 * 20 - 1, places=2) + + # --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- # + # Same as previous, yet overlapping 'plate' has both negative dX & dY, + # while XY origin is set at top-right (not bottom-left) corner. + # ____ ____ + # | | 2 |__ + # ____| |____| 4| + # | 3| 1 | |____| + # |____|____| + # + plates = [] + plates.append(dict(x=x0, y=y0, dx= w1, dy= d2)) + plates.append(dict(x=x0+w1, y=y0+d1, dx= w1, dy= d1)) + plates.append(dict(x=x0-w1, y=y0, dx= w1, dy= d1)) + plates.append(dict(x=x0+3*w1-1, y=y0+1+d1, dx=-w1, dy=-d1)) + + slab = osut.genSlab(plates, z0) + self.assertEqual(o.status(), 0) + self.assertTrue(isinstance(slab, openstudio.Point3dVector)) + self.assertEqual(len(slab), 12) + + surface = openstudio.model.Surface(slab, model) + self.assertTrue(isinstance(surface, openstudio.model.Surface)) + self.assertEqual(len(surface.vertices()), 12) + self.assertAlmostEqual(surface.grossArea(), 5 * 20 - 1, places=2) + + self.assertEqual(o.status(), 0) + del(model) + + def test37_roller_shades(self): + o = osut.oslg + self.assertEqual(o.status(), 0) + self.assertEqual(o.reset(DBG), DBG) + self.assertEqual(o.level(), DBG) + self.assertEqual(o.status(), 0) + + version = int("".join(openstudio.openStudioVersion().split("."))) + translator = openstudio.osversion.VersionTranslator() + + path = openstudio.path("./tests/files/osms/out/seb2.osm") + model = translator.loadModel(path) + self.assertTrue(model) + model = model.get() + spaces = model.getSpaces() + + # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") + # path = OpenStudio::Path.new(file) + # model = translator.loadModel(path) + # self.assertTrue(model).to_not be_empty + # model = model.get + # spaces = model.getSpaces + + # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) + # self.assertEqual(len(slanted), 1) + + # slanted = slanted.first + # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") + # skylights = slanted.subSurfaces + # + # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) + # self.assertTrue(tilted.size).to eq(1) + # tilted = tilted.first + # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") + # windows = tilted.subSurfaces + # + # # 2x control groups: + # # - 3x windows as a single control group + # # - 3x skylight as another single control group + # skies = OpenStudio::Model::SubSurfaceVector.new + # wins = OpenStudio::Model::SubSurfaceVector.new + # skylights.each { |sub| skies << sub } + # windows.each { |sub| wins << sub } + # + # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 + # self.assertTrue(mod1.genShade(skies)).to be false + # self.assertTrue(mod1.status).to be_zero + # else + # self.assertTrue(mod1.genShade(skies)).to be true + # self.assertTrue(mod1.genShade(wins)).to be true + # self.assertTrue(mod1.status).to be_zero + # ctls = model.getShadingControls + # self.assertTrue(ctls.size).to eq(2) + # + # ctls.each do |ctl| + # self.assertTrue(ctl.shadingType).to eq("InteriorShade") + # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" + # self.assertTrue(ctl.shadingControlType).to eq(type) + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true + # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true + # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true + # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false + # spt1 = ctl.setpoint + # spt2 = ctl.setpoint2 + # self.assertTrue(spt1).to_not be_empty + # self.assertTrue(spt2).to_not be_empty + # spt1 = spt1.get + # spt2 = spt2.get + # self.assertTrue(spt1).to be_within(TOL).of(18) + # self.assertTrue(spt2).to be_within(TOL).of(100) + # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") + # + # ctl.subSurfaces.each do |sub| + # surface = sub.surface + # self.assertTrue(surface).to_not be_empty + # surface = surface.get + # self.assertTrue([slanted, tilted]).to include(surface) + # end + # end + # end + # + # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") + # model.save(file, true) + self.assertEqual(o.clean(), DBG) + + del(model) if __name__ == "__main__": unittest.main() From 080badc84d64d81d4b14c50607ed71b25a6470a7 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 8 Jul 2025 09:26:00 -0400 Subject: [PATCH 47/48] unit tests cleanup --- tests/test_osut.py | 87 +--------------------------------------------- 1 file changed, 1 insertion(+), 86 deletions(-) diff --git a/tests/test_osut.py b/tests/test_osut.py index faecff6..1f24dad 100644 --- a/tests/test_osut.py +++ b/tests/test_osut.py @@ -2562,92 +2562,7 @@ def test36_slab_generation(self): self.assertEqual(o.status(), 0) del(model) - def test37_roller_shades(self): - o = osut.oslg - self.assertEqual(o.status(), 0) - self.assertEqual(o.reset(DBG), DBG) - self.assertEqual(o.level(), DBG) - self.assertEqual(o.status(), 0) - - version = int("".join(openstudio.openStudioVersion().split("."))) - translator = openstudio.osversion.VersionTranslator() - - path = openstudio.path("./tests/files/osms/out/seb2.osm") - model = translator.loadModel(path) - self.assertTrue(model) - model = model.get() - spaces = model.getSpaces() - - # file = File.join(__dir__, "files/osms/out/seb_ext4.osm") - # path = OpenStudio::Path.new(file) - # model = translator.loadModel(path) - # self.assertTrue(model).to_not be_empty - # model = model.get - # spaces = model.getSpaces - - # slanted = osut.facets(spaces, "Outdoors", "RoofCeiling", ["top", "north"]) - # self.assertEqual(len(slanted), 1) - - # slanted = slanted.first - # self.assertTrue(slanted.nameString).to eq("Openarea slanted roof") - # skylights = slanted.subSurfaces - # - # tilted = mod1.facets(spaces, "Outdoors", "Wall", :bottom) - # self.assertTrue(tilted.size).to eq(1) - # tilted = tilted.first - # self.assertTrue(tilted.nameString).to eq("Openarea tilted wall") - # windows = tilted.subSurfaces - # - # # 2x control groups: - # # - 3x windows as a single control group - # # - 3x skylight as another single control group - # skies = OpenStudio::Model::SubSurfaceVector.new - # wins = OpenStudio::Model::SubSurfaceVector.new - # skylights.each { |sub| skies << sub } - # windows.each { |sub| wins << sub } - # - # if OpenStudio.openStudioVersion.split(".").join.to_i < 321 - # self.assertTrue(mod1.genShade(skies)).to be false - # self.assertTrue(mod1.status).to be_zero - # else - # self.assertTrue(mod1.genShade(skies)).to be true - # self.assertTrue(mod1.genShade(wins)).to be true - # self.assertTrue(mod1.status).to be_zero - # ctls = model.getShadingControls - # self.assertTrue(ctls.size).to eq(2) - # - # ctls.each do |ctl| - # self.assertTrue(ctl.shadingType).to eq("InteriorShade") - # type = "OnIfHighOutdoorAirTempAndHighSolarOnWindow" - # self.assertTrue(ctl.shadingControlType).to eq(type) - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint1).to be true - # self.assertTrue(ctl.isControlTypeValueNeedingSetpoint2).to be true - # self.assertTrue(ctl.isControlTypeValueAllowingSchedule).to be true - # self.assertTrue(ctl.isControlTypeValueRequiringSchedule).to be false - # spt1 = ctl.setpoint - # spt2 = ctl.setpoint2 - # self.assertTrue(spt1).to_not be_empty - # self.assertTrue(spt2).to_not be_empty - # spt1 = spt1.get - # spt2 = spt2.get - # self.assertTrue(spt1).to be_within(TOL).of(18) - # self.assertTrue(spt2).to be_within(TOL).of(100) - # self.assertTrue(ctl.multipleSurfaceControlType).to eq("Group") - # - # ctl.subSurfaces.each do |sub| - # surface = sub.surface - # self.assertTrue(surface).to_not be_empty - # surface = surface.get - # self.assertTrue([slanted, tilted]).to include(surface) - # end - # end - # end - # - # file = File.join(__dir__, "files/osms/out/seb_ext5.osm") - # model.save(file, true) - self.assertEqual(o.clean(), DBG) - - del(model) + # def test37_roller_shades(self): if __name__ == "__main__": unittest.main() From b9c41401e331f99847ec3dc06b88c3b8b9d00d44 Mon Sep 17 00:00:00 2001 From: brgix Date: Tue, 8 Jul 2025 09:33:57 -0400 Subject: [PATCH 48/48] Fixes min Python version --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6581e41..f01f4a3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "osut" version = "0.6.0a1" description = "OpenStudio SDK utilities for Python" readme = "README.md" -requires-python = ">=3.7.1" +requires-python = ">=3.2" authors = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] maintainers = [ {name = "Denis Bourgeois", email = "denis@rd2.ca"} ] dependencies = [ @@ -13,7 +13,7 @@ dependencies = [ license = "BSD-3-Clause" license-files = ["LICENSE"] classifiers = [ - "Programming Language :: Python :: 3.7.1", + "Programming Language :: Python :: 3.2", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules", "Operating System :: OS Independent",