From d9fcfbddf04ba66bf831a4d7e6da90e7ca0a36dd Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 14:47:41 -0600 Subject: [PATCH 01/23] ApplyUpgrade rubocop --- measures/ApplyUpgrade/measure.rb | 196 ++++++++++++++---------------- measures/ApplyUpgrade/measure.xml | 6 +- 2 files changed, 94 insertions(+), 108 deletions(-) diff --git a/measures/ApplyUpgrade/measure.rb b/measures/ApplyUpgrade/measure.rb index 467cce24d..c43205daf 100644 --- a/measures/ApplyUpgrade/measure.rb +++ b/measures/ApplyUpgrade/measure.rb @@ -1,53 +1,44 @@ # ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. - -# see the URL below for information on how to write OpenStudio measures -# http://nrel.github.io/OpenStudio-user-documentation/measures/measure_writing_guide/ - -# Adapted from Measure Picker measure -# https://github.com/NREL/OpenStudio-measures/blob/develop/NREL%20working%20measures/measure_picker/measure.rb - require 'csv' require 'openstudio' - -require 'openstudio' -resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "resources")) +File.absolute_path(File.join(__dir__, '..', '..', 'lib', 'resources')) # start the measure class ApplyUpgrade < OpenStudio::Ruleset::ModelUserScript # human readable name def name - return "Apply Upgrade" + 'Apply Upgrade' end # human readable description def description - return "Measure that applies an upgrade (one or more child measures) to a building model based on the specified logic." + 'Measure that applies an upgrade (one or more child measures) to a building model based on the specified logic.' end # human readable description of modeling approach def modeler_description - return "Determines if the upgrade should apply to a given building model. If so, calls one or more child measures with the appropriate arguments." + 'Determines if the upgrade should apply to a given building model. If so, calls one or more child measures with the appropriate arguments.' end def num_options - return 200 # Synced with SimulationOutputReport measure + 200 # Synced with SimulationOutputReport measure end def num_costs_per_option - return 2 # Synced with SimulationOutputReport measure + 2 # Synced with SimulationOutputReport measure end # define the arguments that the user will input - def arguments(model) + def arguments(_model) args = OpenStudio::Ruleset::OSArgumentVector.new # Make string arg for upgrade name - upgrade_name = OpenStudio::Ruleset::OSArgument::makeStringArgument("upgrade_name", true) - upgrade_name.setDisplayName("Upgrade Name") - upgrade_name.setDescription("User-specificed name that describes the upgrade.") - upgrade_name.setDefaultValue("My Upgrade") + upgrade_name = OpenStudio::Ruleset::OSArgument.makeStringArgument('upgrade_name', true) + upgrade_name.setDisplayName('Upgrade Name') + upgrade_name.setDescription('User-specificed name that describes the upgrade.') + upgrade_name.setDefaultValue('My Upgrade') args << upgrade_name for option_num in 1..num_options @@ -55,7 +46,7 @@ def arguments(model) # Option name argument option = OpenStudio::Ruleset::OSArgument.makeStringArgument("option_#{option_num}", (option_num == 1)) option.setDisplayName("Option #{option_num}") - option.setDescription("Specify the parameter|option as found in resources\\options_lookup.tsv.") + option.setDescription('Specify the parameter|option as found in resources\\options_lookup.tsv.') args << option # Option Apply Logic argument @@ -67,61 +58,62 @@ def arguments(model) for cost_num in 1..num_costs_per_option # Option Cost Value argument - cost_value = OpenStudio::Ruleset::OSArgument.makeDoubleArgument("option_#{option_num}_cost_#{cost_num}_value", false) + cost_value = OpenStudio::Ruleset::OSArgument.makeDoubleArgument("option_#{option_num}_cost_#{cost_num}_value", + false) cost_value.setDisplayName("Option #{option_num} Cost #{cost_num} Value") cost_value.setDescription("Total option #{option_num} cost is the sum of all: (Cost N Value) x (Cost N Multiplier).") - cost_value.setUnits("$") + cost_value.setUnits('$') args << cost_value # Option Cost Multiplier argument choices = [ - "", - "Fixed (1)", - "Wall Area, Above-Grade, Conditioned (ft^2)", - "Wall Area, Above-Grade, Exterior (ft^2)", - "Wall Area, Below-Grade (ft^2)", - "Floor Area, Conditioned (ft^2)", - "Floor Area, Attic (ft^2)", - "Floor Area, Lighting (ft^2)", - "Roof Area (ft^2)", - "Window Area (ft^2)", - "Door Area (ft^2)", - "Duct Surface Area (ft^2)", - "Size, Heating System (kBtu/h)", - "Size, Cooling System (kBtu/h)", - "Size, Water Heater (gal)", + '', + 'Fixed (1)', + 'Wall Area, Above-Grade, Conditioned (ft^2)', + 'Wall Area, Above-Grade, Exterior (ft^2)', + 'Wall Area, Below-Grade (ft^2)', + 'Floor Area, Conditioned (ft^2)', + 'Floor Area, Attic (ft^2)', + 'Floor Area, Lighting (ft^2)', + 'Roof Area (ft^2)', + 'Window Area (ft^2)', + 'Door Area (ft^2)', + 'Duct Surface Area (ft^2)', + 'Size, Heating System (kBtu/h)', + 'Size, Cooling System (kBtu/h)', + 'Size, Water Heater (gal)' ] - cost_multiplier = OpenStudio::Ruleset::OSArgument.makeChoiceArgument("option_#{option_num}_cost_#{cost_num}_multiplier", choices, false) + cost_multiplier = OpenStudio::Ruleset::OSArgument.makeChoiceArgument( + "option_#{option_num}_cost_#{cost_num}_multiplier", choices, false + ) cost_multiplier.setDisplayName("Option #{option_num} Cost #{cost_num} Multiplier") cost_multiplier.setDescription("Total option #{option_num} cost is the sum of all: (Cost N Value) x (Cost N Multiplier).") cost_multiplier.setDefaultValue(choices[0]) args << cost_multiplier - end # Option Lifetime argument option_lifetime = OpenStudio::Ruleset::OSArgument.makeDoubleArgument("option_#{option_num}_lifetime", false) option_lifetime.setDisplayName("Option #{option_num} Lifetime") - option_lifetime.setDescription("The option lifetime.") - option_lifetime.setUnits("years") + option_lifetime.setDescription('The option lifetime.') + option_lifetime.setUnits('years') args << option_lifetime - end # Package Apply Logic argument - package_apply_logic = OpenStudio::Ruleset::OSArgument.makeStringArgument("package_apply_logic", false) - package_apply_logic.setDisplayName("Package Apply Logic") + package_apply_logic = OpenStudio::Ruleset::OSArgument.makeStringArgument('package_apply_logic', false) + package_apply_logic.setDisplayName('Package Apply Logic') package_apply_logic.setDescription("Logic that specifies if the entire package upgrade (all options) will apply based on the existing building's options. Specify one or more parameter|option as found in resources\\options_lookup.tsv. When multiple are included, they must be separated by '||' for OR and '&&' for AND, and using parentheses as appropriate. Prefix an option with '!' for not.") args << package_apply_logic # Make integer arg to run measure [1 is run, 0 is no run] - run_measure = OpenStudio::Ruleset::OSArgument::makeIntegerArgument("run_measure", true) - run_measure.setDisplayName("Run Measure") - run_measure.setDescription("integer argument to run measure [1 is run, 0 is no run]") + run_measure = OpenStudio::Ruleset::OSArgument.makeIntegerArgument('run_measure', true) + run_measure.setDisplayName('Run Measure') + run_measure.setDescription('integer argument to run measure [1 is run, 0 is no run]') run_measure.setDefaultValue(1) args << run_measure - return args + args end # define what happens when the measure is run @@ -129,18 +121,16 @@ def run(model, runner, user_arguments) super(model, runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments(model), user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments(model), user_arguments) # Return N/A if not selected to run - run_measure = runner.getIntegerArgumentValue("run_measure", user_arguments) + run_measure = runner.getIntegerArgumentValue('run_measure', user_arguments) if run_measure == 0 runner.registerAsNotApplicable("Run Measure set to #{run_measure}.") return true end - upgrade_name = runner.getStringArgumentValue("upgrade_name", user_arguments) + upgrade_name = runner.getStringArgumentValue('upgrade_name', user_arguments) # Retrieve Option X argument values options = {} @@ -149,16 +139,17 @@ def run(model, runner, user_arguments) arg = runner.getStringArgumentValue("option_#{option_num}", user_arguments) else arg = runner.getOptionalStringArgumentValue("option_#{option_num}", user_arguments) - next if not arg.is_initialized + next unless arg.is_initialized arg = arg.get end - next if arg.strip.size == 0 + next if arg.strip.empty? - if not arg.include?('|') + unless arg.include?('|') runner.registerError("Option #{option_num} is missing the '|' delimiter.") return false end + options[option_num] = arg.strip end @@ -166,47 +157,49 @@ def run(model, runner, user_arguments) options_apply_logic = {} for option_num in 1..num_options arg = runner.getOptionalStringArgumentValue("option_#{option_num}_apply_logic", user_arguments) - next if not arg.is_initialized + next unless arg.is_initialized arg = arg.get - next if arg.strip.size == 0 + next if arg.strip.empty? - if not arg.include?('|') + unless arg.include?('|') runner.registerError("Option #{option_num} Apply Logic is missing the '|' delimiter.") return false end - if not options.keys.include?(option_num) + + unless options.keys.include?(option_num) runner.registerError("Option #{option_num} Apply Logic was provided, but a corresponding Option #{option_num} was not provided.") return false end + options_apply_logic[option_num] = arg.strip end # Retrieve Package Apply Logic argument value - arg = runner.getOptionalStringArgumentValue("package_apply_logic", user_arguments) - if not arg.is_initialized - package_apply_logic = nil - else + arg = runner.getOptionalStringArgumentValue('package_apply_logic', user_arguments) + if arg.is_initialized arg = arg.get - if arg.strip.size == 0 + if arg.strip.empty? package_apply_logic = nil else - if not arg.include?('|') + unless arg.include?('|') runner.registerError("Package Apply Logic is missing the '|' delimiter.") return false end package_apply_logic = arg.strip end + else + package_apply_logic = nil end # Get file/dir paths - resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "resources")) # Should have been uploaded per 'Additional Analysis Files' in PAT + resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'resources')) # Should have been uploaded per 'Additional Analysis Files' in PAT check_dir_exists(resources_dir, runner) - characteristics_dir = File.absolute_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "housing_characteristics")) # Should have been uploaded per 'Additional Analysis Files' in PAT + characteristics_dir = File.absolute_path(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'housing_characteristics')) # Should have been uploaded per 'Additional Analysis Files' in PAT check_dir_exists(characteristics_dir, runner) - buildstock_file = File.join(resources_dir, "buildstock.rb") - measures_dirs = [File.join(resources_dir, "measures")] - lookup_file = File.join(resources_dir, "options_lookup.tsv") + buildstock_file = File.join(resources_dir, 'buildstock.rb') + measures_dirs = [File.join(resources_dir, 'measures')] + lookup_file = File.join(resources_dir, 'options_lookup.tsv') # Load buildstock_file require File.join(File.dirname(buildstock_file), File.basename(buildstock_file, File.extname(buildstock_file))) @@ -219,24 +212,19 @@ def run(model, runner, user_arguments) end # Retrieve workflow_json from BuildExistingModel measure if provided - workflow_json = get_value_from_runner_past_results(runner, "workflow_json", "build_existing_model", false) - if not workflow_json.nil? - workflow_json = File.join(resources_dir, workflow_json) - end + workflow_json = get_value_from_runner_past_results(runner, 'workflow_json', 'build_existing_model', false) + workflow_json = File.join(resources_dir, workflow_json) unless workflow_json.nil? # Process package apply logic if provided apply_package_upgrade = true - if not package_apply_logic.nil? + unless package_apply_logic.nil? # Apply this package? apply_package_upgrade = evaluate_logic(package_apply_logic, runner) - if apply_package_upgrade.nil? - return false - end + return false if apply_package_upgrade.nil? end measures = {} if apply_package_upgrade - # Obtain measures and arguments to be called # Process options apply logic if provided options.each do |option_num, option| @@ -246,12 +234,10 @@ def run(model, runner, user_arguments) apply_option_upgrade = true if options_apply_logic.include?(option_num) apply_option_upgrade = evaluate_logic(options_apply_logic[option_num], runner) - if apply_option_upgrade.nil? - return false - end + return false if apply_option_upgrade.nil? end - if not apply_option_upgrade + unless apply_option_upgrade runner.registerInfo("Parameter #{parameter_name}, Option #{option_name} will not be applied.") next end @@ -261,19 +247,16 @@ def run(model, runner, user_arguments) # Register cost values/multipliers/lifetime for applied options; used by the SimulationOutputReport measure for cost_num in 1..num_costs_per_option - cost_value = runner.getOptionalDoubleArgumentValue("option_#{option_num}_cost_#{cost_num}_value", user_arguments) - if cost_value.nil? - cost_value = 0.0 - end + cost_value = runner.getOptionalDoubleArgumentValue("option_#{option_num}_cost_#{cost_num}_value", + user_arguments) + cost_value = 0.0 if cost_value.nil? cost_mult = runner.getStringArgumentValue("option_#{option_num}_cost_#{cost_num}_multiplier", user_arguments) register_value(runner, "option_%02d_cost_#{cost_num}_value_to_apply" % option_num, cost_value.to_s) register_value(runner, "option_%02d_cost_#{cost_num}_multiplier_to_apply" % option_num, cost_mult) end lifetime = runner.getOptionalDoubleArgumentValue("option_#{option_num}_lifetime", user_arguments) - if lifetime.nil? - lifetime = 0.0 - end - register_value(runner, "option_%02d_lifetime_to_apply" % option_num, lifetime.to_s) + lifetime = 0.0 if lifetime.nil? + register_value(runner, 'option_%02d_lifetime_to_apply' % option_num, lifetime.to_s) # Check file/dir paths exist check_file_exists(lookup_file, runner) @@ -281,7 +264,7 @@ def run(model, runner, user_arguments) # Get measure name and arguments associated with the option options_measure_args = get_measure_args_from_option_names(lookup_file, [option_name], parameter_name, runner) options_measure_args[option_name].each do |measure_subdir, args_hash| - update_args_hash(measures, measure_subdir, args_hash, add_new = false) + update_args_hash(measures, measure_subdir, args_hash, false) end end @@ -289,26 +272,30 @@ def run(model, runner, user_arguments) parameters = get_parameters_ordered_from_options_lookup_tsv(resources_dir, nil) measures.keys.each do |measure_subdir| parameters.each do |parameter_name| - existing_option_name = get_value_from_runner_past_results(runner, parameter_name, "build_existing_model", false) + existing_option_name = get_value_from_runner_past_results(runner, parameter_name, 'build_existing_model', + false) next if existing_option_name.nil? # Don't look for measure args for measures missing in build_existing_model - options_measure_args = get_measure_args_from_option_names(lookup_file, [existing_option_name], parameter_name, runner) + + options_measure_args = get_measure_args_from_option_names(lookup_file, [existing_option_name], + parameter_name, runner) options_measure_args[existing_option_name].each do |measure_subdir2, args_hash| next if measure_subdir != measure_subdir2 # Append any new arguments new_args_hash = {} args_hash.each do |k, v| - next if measures[measure_subdir][0].has_key?(k) + next if measures[measure_subdir][0].key?(k) new_args_hash[k] = v end - update_args_hash(measures, measure_subdir, new_args_hash, add_new = false) + update_args_hash(measures, measure_subdir, new_args_hash, false) end end end - measures_result = apply_measures(measures_dirs, measures, runner, model, workflow_json, "measures-upgrade.osw", true) - if not measures_result + measures_result = apply_measures(measures_dirs, measures, runner, model, workflow_json, 'measures-upgrade.osw', + true) + if !measures_result runner.registerWarning("Result of apply_measures was coerced as false - `#{measures_result}`") return false elsif measures_result == 'NA' @@ -318,19 +305,18 @@ def run(model, runner, user_arguments) else runner.registerInfo("Result of apply_measures was `#{measures_result}`") end - - end # apply_package_upgrade + end # Register the upgrade name - register_value(runner, "upgrade_name", upgrade_name) + register_value(runner, 'upgrade_name', upgrade_name) - if measures.size == 0 + if measures.empty? # Upgrade not applied; don't re-run existing home simulation runner.haltWorkflow('Invalid') return false end - return true + true end end diff --git a/measures/ApplyUpgrade/measure.xml b/measures/ApplyUpgrade/measure.xml index 650d69391..dacf0c2e2 100644 --- a/measures/ApplyUpgrade/measure.xml +++ b/measures/ApplyUpgrade/measure.xml @@ -3,8 +3,8 @@ 3.1 apply_upgrade 33f1654c-f734-43d1-b35d-9d2856e41b5a - f1b876c8-3df9-47d9-8924-f1d82ff2fed3 - 2024-05-13T17:34:09Z + 8cfbda76-bb88-4453-8ead-e69831e3c246 + 2024-10-28T20:45:30Z 9339BE01 ApplyUpgrade Apply Upgrade @@ -37105,7 +37105,7 @@ measure.rb rb script - 781E3A4E + B21C73C0 From 60f9375f45af2f0056d5e50358d3ab8be1e32f80 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 14:47:51 -0600 Subject: [PATCH 02/23] BuildExistingModel rubocop --- measures/BuildExistingModel/measure.rb | 95 +++++++++++-------------- measures/BuildExistingModel/measure.xml | 6 +- 2 files changed, 45 insertions(+), 56 deletions(-) diff --git a/measures/BuildExistingModel/measure.rb b/measures/BuildExistingModel/measure.rb index 4a9ab3ee2..be0cb1f8b 100644 --- a/measures/BuildExistingModel/measure.rb +++ b/measures/BuildExistingModel/measure.rb @@ -1,51 +1,49 @@ # ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# see the URL below for information on how to write OpenStudio measures -# http://nrel.github.io/OpenStudio-user-documentation/measures/measure_writing_guide/ - require 'csv' require 'openstudio' require 'json' # start the measure class BuildExistingModel < OpenStudio::Measure::ModelMeasure - # human readable name def name - return "Build Existing Model" + 'Build Existing Model' end # human readable description def description - return "Builds the OpenStudio Model for an existing building." + 'Builds the OpenStudio Model for an existing building.' end # human readable description of modeling approach def modeler_description - return "Builds the OpenStudio Model using the sampling csv file, which contains the specified parameters for each existing building. Based on the supplied building number, those parameters are used to run the OpenStudio measures with appropriate arguments and build up the OpenStudio model." + 'Builds the OpenStudio Model using the sampling csv file, which contains the specified parameters for each existing building. Based on the supplied building number, those parameters are used to run the OpenStudio measures with appropriate arguments and build up the OpenStudio model.' end # define the arguments that the user will input - def arguments(model) + def arguments(_model) args = OpenStudio::Measure::OSArgumentVector.new - building_id = OpenStudio::Ruleset::OSArgument.makeIntegerArgument("building_id", true) - building_id.setDisplayName("Building ID") - building_id.setDescription("The building number (between 1 and the number of samples).") + building_id = OpenStudio::Ruleset::OSArgument.makeIntegerArgument('building_id', true) + building_id.setDisplayName('Building ID') + building_id.setDescription('The building number (between 1 and the number of samples).') args << building_id - number_of_buildings_represented = OpenStudio::Ruleset::OSArgument.makeIntegerArgument("number_of_buildings_represented", false) - number_of_buildings_represented.setDisplayName("Number of Buildings Represented") - number_of_buildings_represented.setDescription("The total number of buildings represented by the existing building models.") + number_of_buildings_represented = OpenStudio::Ruleset::OSArgument.makeIntegerArgument( + 'number_of_buildings_represented', false + ) + number_of_buildings_represented.setDisplayName('Number of Buildings Represented') + number_of_buildings_represented.setDescription('The total number of buildings represented by the existing building models.') args << number_of_buildings_represented - workflow_json = OpenStudio::Ruleset::OSArgument.makeStringArgument("workflow_json", false) - workflow_json.setDisplayName("Workflow JSON") - workflow_json.setDescription("The name of the JSON file (in the resources dir) that dictates the order in which measures are to be run. If not provided, the order specified in resources/options_lookup.tsv will be used.") + workflow_json = OpenStudio::Ruleset::OSArgument.makeStringArgument('workflow_json', false) + workflow_json.setDisplayName('Workflow JSON') + workflow_json.setDescription('The name of the JSON file (in the resources dir) that dictates the order in which measures are to be run. If not provided, the order specified in resources/options_lookup.tsv will be used.') args << workflow_json - return args + args end # define what happens when the measure is run @@ -53,28 +51,23 @@ def run(model, runner, user_arguments) super(model, runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments(model), user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments(model), user_arguments) - building_id = runner.getIntegerArgumentValue("building_id",user_arguments) - number_of_buildings_represented = runner.getOptionalIntegerArgumentValue("number_of_buildings_represented",user_arguments) - workflow_json = runner.getOptionalStringArgumentValue("workflow_json", user_arguments) + building_id = runner.getIntegerArgumentValue('building_id', user_arguments) + number_of_buildings_represented = runner.getOptionalIntegerArgumentValue('number_of_buildings_represented', + user_arguments) + workflow_json = runner.getOptionalStringArgumentValue('workflow_json', user_arguments) # Get file/dir paths runner.registerInfo "Running in worker container `#{ENV['HOSTNAME']}`" - resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "resources")) # Should have been uploaded per 'Additional Analysis Files' in PAT - characteristics_dir = File.absolute_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "housing_characteristics")) # Should have been uploaded per 'Additional Analysis Files' in PAT - buildstock_file = File.join(resources_dir, "buildstock.rb") - measures_dirs = [File.join(resources_dir, "measures")] - lookup_file = File.join(resources_dir, "options_lookup.tsv") + resources_dir = File.absolute_path(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'resources')) # Should have been uploaded per 'Additional Analysis Files' in PAT + characteristics_dir = File.absolute_path(File.join(File.dirname(__FILE__), '..', '..', 'lib', 'housing_characteristics')) # Should have been uploaded per 'Additional Analysis Files' in PAT + buildstock_file = File.join(resources_dir, 'buildstock.rb') + measures_dirs = [File.join(resources_dir, 'measures')] + lookup_file = File.join(resources_dir, 'options_lookup.tsv') # FIXME: Temporary - buildstock_csv = File.absolute_path(File.join(characteristics_dir, "buildstock.csv")) # Should have been generated by the Worker Initialization Script (run_sampling.rb) or provided by the project - if workflow_json.is_initialized - workflow_json = File.join(resources_dir, workflow_json.get) - else - workflow_json = nil - end + buildstock_csv = File.absolute_path(File.join(characteristics_dir, 'buildstock.csv')) # Should have been generated by the Worker Initialization Script (run_sampling.rb) or provided by the project + workflow_json = (File.join(resources_dir, workflow_json.get) if workflow_json.is_initialized) # Load buildstock file require File.join(File.dirname(buildstock_file), File.basename(buildstock_file, File.extname(buildstock_file))) @@ -127,37 +120,33 @@ def run(model, runner, user_arguments) print_option_assignment(parameter_name, option_name, runner) options_measure_args = get_measure_args_from_option_names(lookup_file, [option_name], parameter_name, runner) options_measure_args[option_name].each do |measure_subdir, args_hash| - update_args_hash(measures, measure_subdir, args_hash, add_new = false) + update_args_hash(measures, measure_subdir, args_hash, false) end end - if not apply_measures(measures_dirs, measures, runner, model, workflow_json, "measures.osw", true) - return false - end + return false unless apply_measures(measures_dirs, measures, runner, model, workflow_json, 'measures.osw', true) # Determine weight - if not number_of_buildings_represented.nil? - total_samples = 100 # Temporary - #total_samples = runner.analysis[:analysis][:problem][:algorithm][:number_of_samples].to_f - weight = number_of_buildings_represented.get / total_samples - register_value(runner, "weight", weight.to_s) + unless number_of_buildings_represented.nil? + total_samples = 100 # Temporary + # total_samples = runner.analysis[:analysis][:problem][:algorithm][:number_of_samples].to_f + weight = number_of_buildings_represented.get / total_samples + register_value(runner, 'weight', weight.to_s) end - - return true - + true end def get_data_for_sample(buildstock_csv, building_id, runner) - CSV.foreach(buildstock_csv, headers:true) do |sample| - next if sample[0].to_i != building_id - return sample + CSV.foreach(buildstock_csv, headers: true) do |sample| + next if sample[0].to_i != building_id + + return sample end # If we got this far, couldn't find the sample # - msg = "Could not find row for #{building_id.to_s} in #{File.basename(buildstock_csv).to_s}." + msg = "Could not find row for #{building_id} in #{File.basename(buildstock_csv)}." runner.registerError(msg) - fail msg + raise msg end - end # register the measure to be used by the application diff --git a/measures/BuildExistingModel/measure.xml b/measures/BuildExistingModel/measure.xml index 851cfd7d1..7e96cbdb2 100644 --- a/measures/BuildExistingModel/measure.xml +++ b/measures/BuildExistingModel/measure.xml @@ -3,8 +3,8 @@ 3.1 build_existing_model 943cde68-f4bf-4e2e-a984-ab70cba2669c - 4d6f7baa-1569-473a-83a7-e79947caf559 - 2024-05-13T17:34:09Z + 841bac7c-1207-4cf6-9e1b-446dc3c8b7e6 + 2024-10-28T20:47:10Z 9339BE01 BuildExistingModel Build Existing Model @@ -103,7 +103,7 @@ measure.rb rb script - 7E9E2913 + 9B94B178 From bc64eec49f6e0609d108b3fcf54ef1e5e99afaad Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 15:22:09 -0600 Subject: [PATCH 03/23] EmissionReporting rubocop --- measures/emissions_reporting/measure.rb | 248 ++++---- measures/emissions_reporting/measure.xml | 538 +++++++++--------- ...ng_Test.rb => emissions_reporting_test.rb} | 200 +++---- 3 files changed, 489 insertions(+), 497 deletions(-) rename measures/emissions_reporting/tests/{EmissionsReporting_Test.rb => emissions_reporting_test.rb} (59%) diff --git a/measures/emissions_reporting/measure.rb b/measures/emissions_reporting/measure.rb index 86d24107e..e32745fec 100644 --- a/measures/emissions_reporting/measure.rb +++ b/measures/emissions_reporting/measure.rb @@ -41,11 +41,11 @@ # from https://stackoverflow.com/questions/1509915/converting-camel-case-to-underscore-case-in-ruby class String def underscore - self.gsub(/::/, '/'). - gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). - gsub(/([a-z\d])([A-Z])/,'\1_\2'). - tr("-", "_"). - downcase + gsub(/::/, '/') + .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') + .gsub(/([a-z\d])([A-Z])/, '\1_\2') + .tr('-', '_') + .downcase end end @@ -54,21 +54,21 @@ class EmissionsReporting < OpenStudio::Measure::ReportingMeasure # define the name that a user will see, this method may be deprecated as # the display name in PAT comes from the name field in measure.xml def name - return "Emissions Reporting" + 'Emissions Reporting' end # human readable description def description - return 'This measure calculates annual and hourly CO2e emissions from a model.' + 'This measure calculates annual and hourly CO2e emissions from a model.' end # human readable description of modeling approach def modeler_description - return 'This measure calculates the hourly CO2e emissions for a model given an electricity grid region and emissions scenario. Hourly emissions data comes from the Cambium dataset. Grid regions and emissions scenarios are detailed in the Cambium documentation. The measure also calculates annual CO2e emissions from annual eGrid factors for comparison.' + 'This measure calculates the hourly CO2e emissions for a model given an electricity grid region and emissions scenario. Hourly emissions data comes from the Cambium dataset. Grid regions and emissions scenarios are detailed in the Cambium documentation. The measure also calculates annual CO2e emissions from annual eGrid factors for comparison.' end def cambium_emissions_scenarios - emissions_scenarios = [ + [ 'AER_95DecarbBy2035', 'AER_95DecarbBy2050', 'AER_HighRECost', @@ -91,11 +91,10 @@ def cambium_emissions_scenarios 'LRMER_MidCase_15_2025start', 'LRMER_MidCase_25_2025start' ] - return emissions_scenarios end def grid_regions - grid_regions = [ + [ 'AZNMc', 'AKGD', 'AKMS', @@ -121,11 +120,10 @@ def grid_regions 'SRTVc', 'SRVCc' ] - return grid_regions end def grid_states - grid_states = [ + [ 'AK', 'AL', 'AR', @@ -179,44 +177,42 @@ def grid_states 'WV', 'WY' ] - return grid_states end def resources(model) resources = [ 'Electricity', - 'Propane', + 'Propane' # 'DistrictHeating', # 'DistrictCooling' ] # Handle fuel output variables that changed in EnergyPlus version 9.4 (Openstudio version >= 3.1) if model.version > OpenStudio::VersionString.new('3.0.1') - resources << "NaturalGas" - resources << "FuelOilNo2" + resources << 'NaturalGas' + resources << 'FuelOilNo2' else - resources << "Gas" - resources << "FuelOil#2" + resources << 'Gas' + resources << 'FuelOil#2' end - return resources + resources end def enduses - enduses = [ + [ 'Heating', 'InteriorLights', 'ExteriorLights', 'InteriorEquipment', # 'ExteriorEquipment', 'Refrigeration', - 'WaterSystems', + 'WaterSystems' ] - return enduses end def hvac_uses - hvac_uses = [ + [ 'Heating', 'Cooling', 'Fans', @@ -225,11 +221,10 @@ def hvac_uses 'Humidification', 'HeatRecovery' ] - return hvac_uses end - + # define the arguments that the user will input - def arguments(model = nil) + def arguments(_model = nil) args = OpenStudio::Measure::OSArgumentVector.new # make an argument for the grid region @@ -263,7 +258,7 @@ def arguments(model = nil) emissions_scenario.setDefaultValue('All') args << emissions_scenario - return args + args end # return a vector of IdfObject's to request EnergyPlus objects needed by the run method @@ -274,9 +269,7 @@ def energyPlusOutputRequests(runner, user_arguments) result = OpenStudio::IdfObjectVector.new # use the built-in error checking - if !runner.validateUserArguments(arguments, user_arguments) - return result - end + return result unless runner.validateUserArguments(arguments, user_arguments) # Get model model = runner.lastOpenStudioModel @@ -289,11 +282,11 @@ def energyPlusOutputRequests(runner, user_arguments) resources = resources(model) resources.each do |resource| # only request timeseries for electricity - if !resource.include?("Electricity") - frequency = "RunPeriod" - else - frequency = "Hourly" - end + frequency = if resource.include?('Electricity') + 'Hourly' + else + 'RunPeriod' + end # add facility meters result << OpenStudio::IdfObject.load("Output:Meter,#{resource}:Facility,#{frequency};").get @@ -301,19 +294,20 @@ def energyPlusOutputRequests(runner, user_arguments) # add enduse meters enduses.each do |enduse| # lights, refrigeration only use electricity - next if (enduse.include?("Lights") || enduse.include?("Refrigeration")) && resource != "Electricity" + next if (enduse.include?('Lights') || enduse.include?('Refrigeration')) && resource != 'Electricity' + result << OpenStudio::IdfObject.load("Output:Meter,#{enduse}:#{resource},#{frequency};").get end # custom meters for hvac total_hvac_string = "Meter:Custom,TotalHVAC:#{resource},#{resource}," - - hvac_uses.each_with_index do |use,i| - if hvac_uses.size == i+1 - total_hvac_string << ",#{use}:#{resource};" - else - total_hvac_string << ",#{use}:#{resource}," - end + + hvac_uses.each_with_index do |use, i| + total_hvac_string << if hvac_uses.size == i + 1 + ",#{use}:#{resource};" + else + ",#{use}:#{resource}," + end end cooling_string = "Meter:Custom,CoolingHVAC:#{resource},#{resource},,Cooling:#{resource},,HeatRejection:#{resource};" @@ -322,10 +316,9 @@ def energyPlusOutputRequests(runner, user_arguments) result << OpenStudio::IdfObject.load(cooling_string).get result << OpenStudio::IdfObject.load("Output:Meter,TotalHVAC:#{resource},#{frequency};").get result << OpenStudio::IdfObject.load("Output:Meter,CoolingHVAC:#{resource},#{frequency};").get - end - return result + result end # define what happens when the measure is run @@ -333,9 +326,7 @@ def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments, user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments, user_arguments) grid_region = runner.getStringArgumentValue('grid_region', user_arguments) grid_state = runner.getStringArgumentValue('grid_state', user_arguments) @@ -351,34 +342,32 @@ def run(runner, user_arguments) run_dir = run_dir_comstock runner.registerInfo("run directory: #{run_dir}") else - runner.registerError("Could not find directory with EnergyPlus output, cannont extract timeseries results") + runner.registerError('Could not find directory with EnergyPlus output, cannont extract timeseries results') return false end # get the last model and sql file model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Cannot find last model.") + runner.registerError('Cannot find last model.') return false end model = model.get - sqlFile = runner.lastEnergyPlusSqlFile - if sqlFile.empty? - runner.registerError("Cannot find last sql file.") + sql_file = runner.lastEnergyPlusSqlFile + if sql_file.empty? + runner.registerError('Cannot find last sql file.') return false end - sqlFile = sqlFile.get - model.setSqlFile(sqlFile) + sql_file = sql_file.get + model.setSqlFile(sql_file) ann_env_pd = nil - sqlFile.availableEnvPeriods.each do |env_pd| - env_type = sqlFile.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') - ann_env_pd = env_pd - end - end + sql_file.availableEnvPeriods.each do |env_pd| + env_type = sql_file.environmentType(env_pd) + next unless env_type.is_initialized + + ann_env_pd = env_pd if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') end if ann_env_pd == false runner.registerError("Can't find a weather runperiod, make sure you ran an annual simulation, not just the design days.") @@ -395,7 +384,7 @@ def run(runner, user_arguments) # unit conversion factors j_to_kbtu = OpenStudio.convert(1.0, 'J', 'kBtu').get - j_to_kwh = OpenStudio.convert(1.0, 'J', 'kWh').get + # j_to_kwh = OpenStudio.convert(1.0, 'J', 'kWh').get j_to_mwh = OpenStudio.convert(1.0, 'J', 'MWh').get lbm_to_kg = OpenStudio.convert(1.0, 'lb_m', 'kg').get @@ -403,17 +392,17 @@ def run(runner, user_arguments) # natural gas emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values natural_gas_emissions_factor_co2e_lb_per_mmbtu = 147.3 - natural_gas_emissions_factor_co2e_kg_per_kbtu = natural_gas_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + natural_gas_emissions_factor_co2e_kg_per_kbtu = natural_gas_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # fuel oil emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values fuel_oil_emissions_factor_co2e_lb_per_mmbtu = 195.9 - fuel_oil_emissions_factor_co2e_kg_per_kbtu = fuel_oil_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + fuel_oil_emissions_factor_co2e_kg_per_kbtu = fuel_oil_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # propane emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values propane_emissions_factor_co2e_lb_per_mmbtu = 177.8 - propane_emissions_factor_co2e_kg_per_kbtu = propane_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + propane_emissions_factor_co2e_kg_per_kbtu = propane_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # set cambium and egrid regions if grid_region == 'Lookup from model' @@ -450,7 +439,7 @@ def run(runner, user_arguments) else runner.registerError("State '#{model_state}' is not a valid eGRID state.") return false - end + end else egrid_state = grid_state runner.registerInfo("Using state '#{egrid_state}' from user inputs.") @@ -458,9 +447,9 @@ def run(runner, user_arguments) # get hourly electricity values env_period_ix_query = "SELECT EnvironmentPeriodIndex FROM EnvironmentPeriods WHERE EnvironmentName='#{ann_env_pd}'" - env_period_ix = sqlFile.execAndReturnFirstInt(env_period_ix_query).get + env_period_ix = sql_file.execAndReturnFirstInt(env_period_ix_query).get electricity_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='Electricity:Facility' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - electricity_values = sqlFile.execAndReturnVectorOfDouble(electricity_query).get + electricity_values = sql_file.execAndReturnVectorOfDouble(electricity_query).get if electricity_values.empty? runner.registerError('Unable to get hourly timeseries facility electricity use from the model. Cannot calculate emissions.') return false @@ -469,30 +458,32 @@ def run(runner, user_arguments) # hourly_electricity_kwh = [] hourly_electricity_mwh = [] # electricity_values.each { |val| hourly_electricity_kwh << val * j_to_kwh } - electricity_values.each { |val| hourly_electricity_mwh << val * j_to_mwh } + electricity_values.each { |val| hourly_electricity_mwh << (val * j_to_mwh) } # get end-use electricity values electricity_enduse_results = {} - enduses.push(["TotalHVAC","CoolingHVAC"]).flatten.each do |enduse| + enduses.push(['TotalHVAC', 'CoolingHVAC']).flatten.each do |enduse| electricity_enduse_results["#{enduse}_mwh"] = [] electricity_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:ELECTRICITY' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - electricity_enduse_values = sqlFile.execAndReturnVectorOfDouble(electricity_enduse_query).get + electricity_enduse_values = sql_file.execAndReturnVectorOfDouble(electricity_enduse_query).get if electricity_enduse_values.empty? runner.registerWarning("Unable to get hourly timeseries #{enduse} electricity use from the model. Cannot calculate results") electricity_enduse_results["#{enduse}_mwh"] << 0 end - electricity_enduse_values.each { |val| electricity_enduse_results["#{enduse}_mwh"] << val * j_to_mwh} + electricity_enduse_values.each { |val| electricity_enduse_results["#{enduse}_mwh"] << (val * j_to_mwh) } end # get run period natural gas values annual_natural_gas_emissions_co2e_kg = 0 natural_gas_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='#{gas}:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" puts natural_gas_query - natural_gas_values = sqlFile.execAndReturnVectorOfDouble(natural_gas_query).get + natural_gas_values = sql_file.execAndReturnVectorOfDouble(natural_gas_query).get if natural_gas_values.empty? runner.registerWarning('Unable to get hourly timeseries facility natural gas use from the model, the model may not use gas. Cannot calculate emissions.') else - annual_natural_gas_emissions_co2e_kg = natural_gas_values.map{|v| v * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu}.sum + annual_natural_gas_emissions_co2e_kg = natural_gas_values.map do |v| + v * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual hourly natural gas emissions (kg CO2e): #{annual_natural_gas_emissions_co2e_kg.round(2)}") runner.registerValue('annual_natural_gas_ghg_emissions_kg', annual_natural_gas_emissions_co2e_kg) @@ -500,11 +491,13 @@ def run(runner, user_arguments) # get run period fuel oil values annual_fuel_oil_emissions_co2e_kg = 0 fuel_oil_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='#{fuel_oil}:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - fuel_oil_values = sqlFile.execAndReturnVectorOfDouble(fuel_oil_query).get + fuel_oil_values = sql_file.execAndReturnVectorOfDouble(fuel_oil_query).get if fuel_oil_values.empty? runner.registerWarning('Unable to get hourly timeseries facility fuel oil use from the model, the model may not use fuel oil. Cannot calculate emissions.') else - annual_fuel_oil_emissions_co2e_kg = fuel_oil_values.map{|v| v * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu}.sum + annual_fuel_oil_emissions_co2e_kg = fuel_oil_values.map do |v| + v * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual hourly fuel oil emissions (kg CO2e): #{annual_fuel_oil_emissions_co2e_kg.round(2)}") runner.registerValue('annual_fuel_oil_ghg_emissions_kg', annual_fuel_oil_emissions_co2e_kg) @@ -512,64 +505,75 @@ def run(runner, user_arguments) # get run period propane values annual_propane_emissions_co2e_kg = 0 propane_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='Propane:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - propane_values = sqlFile.execAndReturnVectorOfDouble(propane_query).get + propane_values = sql_file.execAndReturnVectorOfDouble(propane_query).get if propane_values.empty? runner.registerWarning('Unable to get hourly timeseries facility propane use from the model, the model may not use propane. Cannot calculate emissions.') else - annual_propane_emissions_co2e_kg = propane_values.map{|val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu}.sum + annual_propane_emissions_co2e_kg = propane_values.map do |val| + val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual hourly propane emissions (kg CO2e): #{annual_propane_emissions_co2e_kg.round(2)}") runner.registerValue('annual_propane_ghg_emissions_kg', annual_propane_emissions_co2e_kg) # fuel end-use emissions - enduses.push("TotalHVAC").each do |enduse| - next if (enduse.include?("Lights") || enduse.include?("Refrigeration")) + enduses.push('TotalHVAC').each do |enduse| + next if enduse.include?('Lights') || enduse.include?('Refrigeration') # get run period natural gas end-use values gas_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:#{gas.upcase}' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - gas_enduse_values = sqlFile.execAndReturnVectorOfDouble(gas_enduse_query).get + gas_enduse_values = sql_file.execAndReturnVectorOfDouble(gas_enduse_query).get if gas_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} natural gas use from the model, the model may not use gas for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_gas_emissions_co2e_kg = 0 else - total_enduse_gas_emissions_co2e_kg = gas_enduse_values.map{|val| val * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_gas_emissions_co2e_kg = gas_enduse_values.map do |val| + val * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual total natural gas #{enduse} emissions (kg CO2e): #{total_enduse_gas_emissions_co2e_kg.round(2)}") - runner.registerValue("annual_#{enduse.underscore}_natural_gas_ghg_emissions_kg", total_enduse_gas_emissions_co2e_kg) + runner.registerValue("annual_#{enduse.underscore}_natural_gas_ghg_emissions_kg", + total_enduse_gas_emissions_co2e_kg) # get run period propane end-use values propane_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:PROPANE' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - propane_enduse_values = sqlFile.execAndReturnVectorOfDouble(propane_enduse_query).get + propane_enduse_values = sql_file.execAndReturnVectorOfDouble(propane_enduse_query).get if propane_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} propane from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_propane_emissions_co2e_kg = 0 else - total_enduse_propane_emissions_co2e_kg = propane_enduse_values.map{|val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_propane_emissions_co2e_kg = propane_enduse_values.map do |val| + val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual total propane #{enduse} emissions (kg CO2e): #{total_enduse_propane_emissions_co2e_kg.round(2)}.") - runner.registerValue("annual_#{enduse.underscore}_propane_ghg_emissions_kg", total_enduse_propane_emissions_co2e_kg) + runner.registerValue("annual_#{enduse.underscore}_propane_ghg_emissions_kg", + total_enduse_propane_emissions_co2e_kg) # get run period fuel oil end-use values fuel_oil_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:#{fuel_oil.upcase}' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - fuel_oil_enduse_values = sqlFile.execAndReturnVectorOfDouble(fuel_oil_enduse_query).get + fuel_oil_enduse_values = sql_file.execAndReturnVectorOfDouble(fuel_oil_enduse_query).get if fuel_oil_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} fuel oil from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_fuel_oil_emissions_co2e_kg = 0 else - total_enduse_fuel_oil_emissions_co2e_kg = fuel_oil_enduse_values.map{|val| val * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_fuel_oil_emissions_co2e_kg = fuel_oil_enduse_values.map do |val| + val * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu + end.sum end runner.registerInfo("Annual total fuel oil #{enduse} emissions (kg CO2e): #{total_enduse_fuel_oil_emissions_co2e_kg.round(2)}.") - runner.registerValue("annual_#{enduse.underscore}_fuel_oil_ghg_emissions_kg", total_enduse_fuel_oil_emissions_co2e_kg) + runner.registerValue("annual_#{enduse.underscore}_fuel_oil_ghg_emissions_kg", + total_enduse_fuel_oil_emissions_co2e_kg) end # calculate eGRID subregion emissions egrid_subregion_emissions_factors_csv = "#{File.dirname(__FILE__)}/resources/egrid/egrid_subregion_emissions_factors.csv" - if not File.file?(egrid_subregion_emissions_factors_csv) + unless File.file?(egrid_subregion_emissions_factors_csv) runner.registerError("Unable to find file: #{egrid_subregion_emissions_factors_csv}") return false end egrid_subregion_lkp = CSV.table(egrid_subregion_emissions_factors_csv) - egrid_subregion_hsh = egrid_subregion_lkp.map { |row| row.to_hash } + egrid_subregion_hsh = egrid_subregion_lkp.map(&:to_hash) egrid_subregion_hsh = egrid_subregion_hsh.select { |r| (r[:subregion] == egrid_region) } if egrid_subregion_hsh.empty? runner.registerError("Unable to find eGRID data for subregion: #{egrid_region}") @@ -579,27 +583,29 @@ def run(runner, user_arguments) egrid_co2e_lb_per_mwh = egrid_subregion_hsh[0][:"#{year}"] egrid_co2e_kg_per_mwh = egrid_co2e_lb_per_mwh * lbm_to_kg runner.registerInfo("eGRID #{year} emissions factor for '#{egrid_region}' is #{egrid_co2e_kg_per_mwh.round(2)} CO2e kg per MWh") - annual_egrid_emissions_co2e_kg = (hourly_electricity_mwh.inject(:+)) * egrid_co2e_kg_per_mwh + annual_egrid_emissions_co2e_kg = hourly_electricity_mwh.inject(:+) * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion emissions CO2e kg: #{annual_egrid_emissions_co2e_kg.round(2)}") - runner.registerValue("annual_electricity_ghg_emissions_egrid_#{year}_subregion_kg", annual_egrid_emissions_co2e_kg) + runner.registerValue("annual_electricity_ghg_emissions_egrid_#{year}_subregion_kg", + annual_egrid_emissions_co2e_kg) - # electricity end-uses + # electricity end-uses electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') annual_egrid_enduse_emissions_co2e_kg = enduse_array.sum * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion #{enduse_name} emissions CO2e kg: #{annual_egrid_enduse_emissions_co2e_kg.round(2)}") - runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_subregion_kg", annual_egrid_enduse_emissions_co2e_kg) + runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_subregion_kg", + annual_egrid_enduse_emissions_co2e_kg) end end # calculate eGRID state emissions egrid_state_emissions_factors_csv = "#{File.dirname(__FILE__)}/resources/egrid/egrid_state_emissions_factors.csv" - if not File.file?(egrid_state_emissions_factors_csv) + unless File.file?(egrid_state_emissions_factors_csv) runner.registerError("Unable to find file: #{egrid_state_emissions_factors_csv}") return false end egrid_state_lkp = CSV.table(egrid_state_emissions_factors_csv) - egrid_state_hsh = egrid_state_lkp.map { |row| row.to_hash } + egrid_state_hsh = egrid_state_lkp.map(&:to_hash) egrid_state_hsh = egrid_state_hsh.select { |r| (r[:state] == egrid_state) } if egrid_state_hsh.empty? runner.registerError("Unable to find eGRID data for state: #{egrid_state}") @@ -609,16 +615,17 @@ def run(runner, user_arguments) egrid_co2e_lb_per_mwh = egrid_state_hsh[0][:"#{year}"] egrid_co2e_kg_per_mwh = egrid_co2e_lb_per_mwh * lbm_to_kg runner.registerInfo("eGRID #{year} emissions factor for '#{egrid_region}' is #{egrid_co2e_kg_per_mwh.round(2)} CO2e kg per MWh") - annual_egrid_emissions_co2e_kg = (hourly_electricity_mwh.inject(:+)) * egrid_co2e_kg_per_mwh + annual_egrid_emissions_co2e_kg = hourly_electricity_mwh.inject(:+) * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} state emissions CO2e kg: #{annual_egrid_emissions_co2e_kg.round(2)}") runner.registerValue("annual_electricity_ghg_emissions_egrid_#{year}_state_kg", annual_egrid_emissions_co2e_kg) - # electricity end-uses + # electricity end-uses electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') annual_egrid_enduse_emissions_co2e_kg = enduse_array.sum * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion #{enduse_name} emissions CO2e kg: #{annual_egrid_enduse_emissions_co2e_kg.round(2)}") - runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_state_kg", annual_egrid_enduse_emissions_co2e_kg) + runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_state_kg", + annual_egrid_enduse_emissions_co2e_kg) end end @@ -636,15 +643,15 @@ def run(runner, user_arguments) # get and calculate emissions emissions emissions_scenario_lookups.each do |scenario| # name correction for AER scenarios - if scenario.include? 'AER' - scenario_lookup = scenario + '_1' - else - scenario_lookup = scenario - end + scenario_lookup = if scenario.include? 'AER' + "#{scenario}_1" + else + scenario + end # read factors from csv emissions_csv = "#{File.dirname(__FILE__)}/resources/cambium/#{scenario_lookup}/#{cambium_grid_region}.csv" - if not File.file?(emissions_csv) + unless File.file?(emissions_csv) runner.registerError("Unable to find file: #{emissions_csv}") return false end @@ -665,33 +672,34 @@ def run(runner, user_arguments) annual_electricity_emissions_co2e_kg = hourly_electricity_emissions_kg.inject(:+) runner.registerInfo("Annual hourly emissions for cambium scenario '#{scenario}' (kg CO2e): #{annual_electricity_emissions_co2e_kg.round(2)}") register_value_name = "annual_electricity_ghg_emissions_#{scenario}_kg" - runner.registerValue("#{register_value_name}", annual_electricity_emissions_co2e_kg) + runner.registerValue(register_value_name, annual_electricity_emissions_co2e_kg) # end-use emissions electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') # check that arrays are the same length and adjust for leap years if present unless (enduse_array.size == hourly_elec_factors_kg_per_mwh.size) || (enduse_array.size == 1) if enduse_array.size == 8784 # leap year, copy Feb 28 data for Feb 29 - hourly_enduse_elec_factors_kg_per_mwh = enduse_array[0..1415] + enduse_array[1392..1415] + enduse_array[1416..8759] + enduse_array[0..1415] + enduse_array[1392..1415] + enduse_array[1416..8759] else runner.registerError('Unable to calculate end-use emissions for run periods not of length 8760 or 8784') return false end end - if enduse_array.size == 1 - hourly_enduse_electricity_emissions_kg = [0] - else - hourly_enduse_electricity_emissions_kg = enduse_array.zip(hourly_elec_factors_kg_per_mwh).map{|n,f| n * f} - end + hourly_enduse_electricity_emissions_kg = if enduse_array.size == 1 + [0] + else + enduse_array.zip(hourly_elec_factors_kg_per_mwh).map { |n, f| n * f } + end annual_enduse_electricity_emisssions_co2e_kg = hourly_enduse_electricity_emissions_kg.sum runner.registerInfo("Annual hourly #{enduse_name} emissions for cambium scenario '#{scenario} (kg CO2e): #{annual_enduse_electricity_emisssions_co2e_kg.round(2)}") - runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_#{scenario}_kg", annual_enduse_electricity_emisssions_co2e_kg) + runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_#{scenario}_kg", + annual_enduse_electricity_emisssions_co2e_kg) end end - return true + true end end diff --git a/measures/emissions_reporting/measure.xml b/measures/emissions_reporting/measure.xml index a66d6c937..9730d21b0 100644 --- a/measures/emissions_reporting/measure.xml +++ b/measures/emissions_reporting/measure.xml @@ -3,8 +3,8 @@ 3.1 emissions_reporting acdba906-e08f-4c88-9aef-2f0b0cfbb9d1 - 54d34e1c-f449-4e57-83ec-e2e5bbff062a - 2024-06-20T18:59:02Z + a72ac840-7b69-4322-9731-fca93d4f0e21 + 2024-10-28T21:17:48Z C46EF23F EmissionsReporting Emissions Reporting @@ -489,7 +489,7 @@ measure.rb rb script - D1F6C156 + 9A6FCBFB cambium/AER_95DecarbBy2035_1/AZNMc.csv @@ -735,481 +735,481 @@ cambium/AER_HighRECost_1/AZNMc.csv csv resource - D4C95721 + E9926239 cambium/AER_HighRECost_1/CAMXc.csv csv resource - 3EF7F26E + A1505F59 cambium/AER_HighRECost_1/ERCTc.csv csv resource - 4D30BA21 + 65D6D053 cambium/AER_HighRECost_1/FRCCc.csv csv resource - 42A29C80 + 0934DC30 cambium/AER_HighRECost_1/MROEc.csv csv resource - 46D68A6B + BBA03091 cambium/AER_HighRECost_1/MROWc.csv csv resource - A05A5981 + 1DCBACCC cambium/AER_HighRECost_1/NEWEc.csv csv resource - C33EC2DC + C91F8972 cambium/AER_HighRECost_1/NWPPc.csv csv resource - 0D213EB3 + D9C6FE22 cambium/AER_HighRECost_1/NYSTc.csv csv resource - 413CF585 + CF1BD173 cambium/AER_HighRECost_1/RFCEc.csv csv resource - BAFD4D8B + B243D258 cambium/AER_HighRECost_1/RFCMc.csv csv resource - 3E616C06 + 5B4C620C cambium/AER_HighRECost_1/RFCWc.csv csv resource - 2C9DDAC8 + 8DBA5522 cambium/AER_HighRECost_1/RMPAc.csv csv resource - 9529DCD4 + E24308F7 cambium/AER_HighRECost_1/SPNOc.csv csv resource - 6DBE337A + AD37E3CB cambium/AER_HighRECost_1/SPSOc.csv csv resource - 2C0F00D1 + A9E2636C cambium/AER_HighRECost_1/SRMVc.csv csv resource - 896EC08A + C951D885 cambium/AER_HighRECost_1/SRMWc.csv csv resource - 7D3E80BE + 6A855AAD cambium/AER_HighRECost_1/SRSOc.csv csv resource - A0D2CA5D + C1E4DD05 cambium/AER_HighRECost_1/SRTVc.csv csv resource - D678ACFB + 95F24165 cambium/AER_HighRECost_1/SRVCc.csv csv resource - 5D5FC6D9 + F195E3E7 cambium/AER_LowRECost_1/AZNMc.csv csv resource - 3A37AD29 + 8C32359A cambium/AER_LowRECost_1/CAMXc.csv csv resource - 687DC844 + 35A223FD cambium/AER_LowRECost_1/ERCTc.csv csv resource - 32706FAB + 0A1036FC cambium/AER_LowRECost_1/FRCCc.csv csv resource - 8732F796 + C1EC7C27 cambium/AER_LowRECost_1/MROEc.csv csv resource - CFAFA1EA + 724B55A8 cambium/AER_LowRECost_1/MROWc.csv csv resource - BEBCDC4D + 7E74E897 cambium/AER_LowRECost_1/NEWEc.csv csv resource - 23E83CD2 + 986EF6CE cambium/AER_LowRECost_1/NWPPc.csv csv resource - 3BED6599 + 518E8C74 cambium/AER_LowRECost_1/NYSTc.csv csv resource - E514BD97 + 3CF6C443 cambium/AER_LowRECost_1/RFCEc.csv csv resource - FF8B42A1 + 8B6402DB cambium/AER_LowRECost_1/RFCMc.csv csv resource - 70A98454 + 55307BA8 cambium/AER_LowRECost_1/RFCWc.csv csv resource - AF00FC95 + ED0EB98C cambium/AER_LowRECost_1/RMPAc.csv csv resource - 20847AA3 + 0CC0C83A cambium/AER_LowRECost_1/SPNOc.csv csv resource - 8E254DFA + 7C6F6516 cambium/AER_LowRECost_1/SPSOc.csv csv resource - 8B6FF834 + EAEF6312 cambium/AER_LowRECost_1/SRMVc.csv csv resource - 62EBA138 + 5C814639 cambium/AER_LowRECost_1/SRMWc.csv csv resource - E4D79F33 + A537A0AC cambium/AER_LowRECost_1/SRSOc.csv csv resource - 02A3237F + FCE1A3EE cambium/AER_LowRECost_1/SRTVc.csv csv resource - A8468F66 + 6F4D82CD cambium/AER_LowRECost_1/SRVCc.csv csv resource - 85888A65 + 0E18B327 cambium/AER_MidCase_1/AZNMc.csv csv resource - 551BC76F + 9C27DC9D cambium/AER_MidCase_1/CAMXc.csv csv resource - 24C70790 + BD267434 cambium/AER_MidCase_1/ERCTc.csv csv resource - E2D6716E + 2D08E3E9 cambium/AER_MidCase_1/FRCCc.csv csv resource - F0FB9355 + ADFE16CA cambium/AER_MidCase_1/MROEc.csv csv resource - FBF27D1D + 9F798025 cambium/AER_MidCase_1/MROWc.csv csv resource - 7FBE7A36 + 78522923 cambium/AER_MidCase_1/NEWEc.csv csv resource - 4752F7B0 + C8C8D55D cambium/AER_MidCase_1/NWPPc.csv csv resource - B802B114 + F50615DC cambium/AER_MidCase_1/NYSTc.csv csv resource - 003B9D3A + 4C1FAFB3 cambium/AER_MidCase_1/RFCEc.csv csv resource - 47B85E9B + C776466D cambium/AER_MidCase_1/RFCMc.csv csv resource - AE21184F + 6B08767D cambium/AER_MidCase_1/RFCWc.csv csv resource - B687918F + E3B19516 cambium/AER_MidCase_1/RMPAc.csv csv resource - D99FCF9C + 7F8BA753 cambium/AER_MidCase_1/SPNOc.csv csv resource - B3C3064E + 5F3A85C0 cambium/AER_MidCase_1/SPSOc.csv csv resource - 96A5FF75 + F42E4898 cambium/AER_MidCase_1/SRMVc.csv csv resource - F7F551F5 + 9DBDE969 cambium/AER_MidCase_1/SRMWc.csv csv resource - 204620BE + BC5E29C5 cambium/AER_MidCase_1/SRSOc.csv csv resource - 84FE0DCA + BEE9C83A cambium/AER_MidCase_1/SRTVc.csv csv resource - CDBE030C + F4A7B254 cambium/AER_MidCase_1/SRVCc.csv csv resource - 3090BA0A + A3BE659D cambium/LRMER_95DecarbBy2035_15/AZNMc.csv csv resource - EA65DBB5 + 4ADBE6A8 cambium/LRMER_95DecarbBy2035_15/CAMXc.csv csv resource - 2AE28113 + 761778F3 cambium/LRMER_95DecarbBy2035_15/ERCTc.csv csv resource - 3075D4C3 + D7CBF78B cambium/LRMER_95DecarbBy2035_15/FRCCc.csv csv resource - FD988D29 + 13D1AEDF cambium/LRMER_95DecarbBy2035_15/MROEc.csv csv resource - FEFD506F + 4AA536BA cambium/LRMER_95DecarbBy2035_15/MROWc.csv csv resource - AB6FF811 + 8CC2E3B5 cambium/LRMER_95DecarbBy2035_15/NEWEc.csv csv resource - C22492A9 + 0F047A2D cambium/LRMER_95DecarbBy2035_15/NWPPc.csv csv resource - 1F9BF620 + A90A63AC cambium/LRMER_95DecarbBy2035_15/NYSTc.csv csv resource - 4BCDCE09 + 13A192ED cambium/LRMER_95DecarbBy2035_15/RFCEc.csv csv resource - 743D11B0 + 27C3694B cambium/LRMER_95DecarbBy2035_15/RFCMc.csv csv resource - 18736F4A + 9D300015 cambium/LRMER_95DecarbBy2035_15/RFCWc.csv csv resource - 77FC3CA5 + D3F68BBF cambium/LRMER_95DecarbBy2035_15/RMPAc.csv csv resource - B407F67E + 196789FB cambium/LRMER_95DecarbBy2035_15/SPNOc.csv csv resource - 8FABB683 + A1DF9AEF cambium/LRMER_95DecarbBy2035_15/SPSOc.csv csv resource - C137177B + A4DCDB8B cambium/LRMER_95DecarbBy2035_15/SRMVc.csv csv resource - 1EB3EC6D + 51F330FF cambium/LRMER_95DecarbBy2035_15/SRMWc.csv csv resource - 1D7A027F + 5C672EAB cambium/LRMER_95DecarbBy2035_15/SRSOc.csv csv resource - 8EE207CD + 321D34CA cambium/LRMER_95DecarbBy2035_15/SRTVc.csv csv resource - 050CDC05 + BB02BE24 cambium/LRMER_95DecarbBy2035_15/SRVCc.csv csv resource - C55028AD + FD8BB131 cambium/LRMER_95DecarbBy2035_15_2025start/AZNMc.csv @@ -1455,721 +1455,721 @@ cambium/LRMER_95DecarbBy2035_30/AZNMc.csv csv resource - 617EA867 + 1B3B933D cambium/LRMER_95DecarbBy2035_30/CAMXc.csv csv resource - BB2E5BE3 + 4310FD11 cambium/LRMER_95DecarbBy2035_30/ERCTc.csv csv resource - 1B8D7884 + CEB3D7C7 cambium/LRMER_95DecarbBy2035_30/FRCCc.csv csv resource - EEAAE3B8 + 733CE95A cambium/LRMER_95DecarbBy2035_30/MROEc.csv csv resource - D973B5D5 + 08317C10 cambium/LRMER_95DecarbBy2035_30/MROWc.csv csv resource - 6AB8A0AC + 7F49E93D cambium/LRMER_95DecarbBy2035_30/NEWEc.csv csv resource - 893B631D + A6049F33 cambium/LRMER_95DecarbBy2035_30/NWPPc.csv csv resource - EA68D95C + 94FBEE7F cambium/LRMER_95DecarbBy2035_30/NYSTc.csv csv resource - D83AAB4A + 4DF6C1EC cambium/LRMER_95DecarbBy2035_30/RFCEc.csv csv resource - A48BD49D + B6B460C9 cambium/LRMER_95DecarbBy2035_30/RFCMc.csv csv resource - 291DEBC3 + 459808BE cambium/LRMER_95DecarbBy2035_30/RFCWc.csv csv resource - D6A5EB54 + C7D06A51 cambium/LRMER_95DecarbBy2035_30/RMPAc.csv csv resource - C38D57E0 + 9F1DA8F4 cambium/LRMER_95DecarbBy2035_30/SPNOc.csv csv resource - 8B09BA73 + B0C194AB cambium/LRMER_95DecarbBy2035_30/SPSOc.csv csv resource - EB5AB5DC + 60C5212E cambium/LRMER_95DecarbBy2035_30/SRMVc.csv csv resource - B50906A0 + F8582563 cambium/LRMER_95DecarbBy2035_30/SRMWc.csv csv resource - BDC86E04 + B43B1BF3 cambium/LRMER_95DecarbBy2035_30/SRSOc.csv csv resource - 78C6E192 + 916B188B cambium/LRMER_95DecarbBy2035_30/SRTVc.csv csv resource - 1D152C4D + 375F0ABF cambium/LRMER_95DecarbBy2035_30/SRVCc.csv csv resource - 6D351ACE + B0B482D8 cambium/LRMER_95DecarbBy2050_15/AZNMc.csv csv resource - 02A825D3 + 6FE6D867 cambium/LRMER_95DecarbBy2050_15/CAMXc.csv csv resource - 8E174CCE + 28444B22 cambium/LRMER_95DecarbBy2050_15/ERCTc.csv csv resource - 910F15FC + FA07D7E4 cambium/LRMER_95DecarbBy2050_15/FRCCc.csv csv resource - E975C927 + 2451512E cambium/LRMER_95DecarbBy2050_15/MROEc.csv csv resource - 10339876 + AF60B1DD cambium/LRMER_95DecarbBy2050_15/MROWc.csv csv resource - AB998BBF + EEE3AE44 cambium/LRMER_95DecarbBy2050_15/NEWEc.csv csv resource - C32B1367 + 7629EB28 cambium/LRMER_95DecarbBy2050_15/NWPPc.csv csv resource - 01EEF386 + CE243BAF cambium/LRMER_95DecarbBy2050_15/NYSTc.csv csv resource - 4E2C0D6D + 43424395 cambium/LRMER_95DecarbBy2050_15/RFCEc.csv csv resource - E8098B59 + 798C3394 cambium/LRMER_95DecarbBy2050_15/RFCMc.csv csv resource - 918AE721 + 043C2406 cambium/LRMER_95DecarbBy2050_15/RFCWc.csv csv resource - 1027037D + 5A5F3451 cambium/LRMER_95DecarbBy2050_15/RMPAc.csv csv resource - 0E0DEA6D + 9C0BC893 cambium/LRMER_95DecarbBy2050_15/SPNOc.csv csv resource - 3B843CC0 + E90BF12C cambium/LRMER_95DecarbBy2050_15/SPSOc.csv csv resource - 393665F8 + 82F8A9A3 cambium/LRMER_95DecarbBy2050_15/SRMVc.csv csv resource - 8DC56000 + 8A7646CC cambium/LRMER_95DecarbBy2050_15/SRMWc.csv csv resource - F41F3A3E + B03EC737 cambium/LRMER_95DecarbBy2050_15/SRSOc.csv csv resource - 420051A3 + AD50FF23 cambium/LRMER_95DecarbBy2050_15/SRTVc.csv csv resource - D713FE33 + DDA1F418 cambium/LRMER_95DecarbBy2050_15/SRVCc.csv csv resource - 20B51B42 + CE2168F3 cambium/LRMER_95DecarbBy2050_30/AZNMc.csv csv resource - C44DDD6C + 77992995 cambium/LRMER_95DecarbBy2050_30/CAMXc.csv csv resource - BDF06EA2 + 76F82285 cambium/LRMER_95DecarbBy2050_30/ERCTc.csv csv resource - 2A253C38 + F66EDDA3 cambium/LRMER_95DecarbBy2050_30/FRCCc.csv csv resource - 33520D7E + 6DAB2566 cambium/LRMER_95DecarbBy2050_30/MROEc.csv csv resource - 2F7E0A84 + 2C45566E cambium/LRMER_95DecarbBy2050_30/MROWc.csv csv resource - 614B5F52 + 5FD2CE7F cambium/LRMER_95DecarbBy2050_30/NEWEc.csv csv resource - 47A7268F + 1C459FC1 cambium/LRMER_95DecarbBy2050_30/NWPPc.csv csv resource - D7D56D1B + B37400E4 cambium/LRMER_95DecarbBy2050_30/NYSTc.csv csv resource - A7CF2050 + CAC62147 cambium/LRMER_95DecarbBy2050_30/RFCEc.csv csv resource - B85141FB + 16D0A839 cambium/LRMER_95DecarbBy2050_30/RFCMc.csv csv resource - D7D2FDA3 + 51DA6D1F cambium/LRMER_95DecarbBy2050_30/RFCWc.csv csv resource - 2080C368 + D5CC2540 cambium/LRMER_95DecarbBy2050_30/RMPAc.csv csv resource - 25CFBFAA + 94962B7C cambium/LRMER_95DecarbBy2050_30/SPNOc.csv csv resource - D7CCA754 + 863A9C47 cambium/LRMER_95DecarbBy2050_30/SPSOc.csv csv resource - E2ABB0E4 + 74DB4257 cambium/LRMER_95DecarbBy2050_30/SRMVc.csv csv resource - D800299C + 512549DD cambium/LRMER_95DecarbBy2050_30/SRMWc.csv csv resource - F22A6E12 + C81A3722 cambium/LRMER_95DecarbBy2050_30/SRSOc.csv csv resource - 4D954FE1 + C478B21C cambium/LRMER_95DecarbBy2050_30/SRTVc.csv csv resource - 1AB966D2 + 6A940DD3 cambium/LRMER_95DecarbBy2050_30/SRVCc.csv csv resource - F8DA3129 + 30785FDF cambium/LRMER_HighRECost_15/AZNMc.csv csv resource - 10F4979B + BA6FFEEA cambium/LRMER_HighRECost_15/CAMXc.csv csv resource - 06B8E3A9 + EF6E459F cambium/LRMER_HighRECost_15/ERCTc.csv csv resource - F0A6BD6C + 033E2B83 cambium/LRMER_HighRECost_15/FRCCc.csv csv resource - 209A8A78 + E3CCD634 cambium/LRMER_HighRECost_15/MROEc.csv csv resource - CDB99E90 + 65022053 cambium/LRMER_HighRECost_15/MROWc.csv csv resource - 2236BEDF + 8954C589 cambium/LRMER_HighRECost_15/NEWEc.csv csv resource - A169F0E9 + D3408395 cambium/LRMER_HighRECost_15/NWPPc.csv csv resource - D7D27B81 + BED1CB5C cambium/LRMER_HighRECost_15/NYSTc.csv csv resource - 6A06E501 + AA7D65F5 cambium/LRMER_HighRECost_15/RFCEc.csv csv resource - 1F77934A + DCC35CB5 cambium/LRMER_HighRECost_15/RFCMc.csv csv resource - 068E0BF6 + AEB548CD cambium/LRMER_HighRECost_15/RFCWc.csv csv resource - DA8DCDD1 + B669944A cambium/LRMER_HighRECost_15/RMPAc.csv csv resource - 25639346 + A62B2C47 cambium/LRMER_HighRECost_15/SPNOc.csv csv resource - 595A9F0E + 0A86C979 cambium/LRMER_HighRECost_15/SPSOc.csv csv resource - FC272E34 + A709DA54 cambium/LRMER_HighRECost_15/SRMVc.csv csv resource - DE088C7D + 73A63F08 cambium/LRMER_HighRECost_15/SRMWc.csv csv resource - ECC15A07 + 61C7DCA7 cambium/LRMER_HighRECost_15/SRSOc.csv csv resource - D2E928CD + B5C8BF9D cambium/LRMER_HighRECost_15/SRTVc.csv csv resource - F9407685 + 0C6BDA8F cambium/LRMER_HighRECost_15/SRVCc.csv csv resource - 11505B53 + 7A5E9E5A cambium/LRMER_HighRECost_30/AZNMc.csv csv resource - 42067BE2 + C26C83AD cambium/LRMER_HighRECost_30/CAMXc.csv csv resource - 0827DEF2 + 8187C349 cambium/LRMER_HighRECost_30/ERCTc.csv csv resource - 9B0DA457 + 38932096 cambium/LRMER_HighRECost_30/FRCCc.csv csv resource - 2D7A54B8 + 89F08235 cambium/LRMER_HighRECost_30/MROEc.csv csv resource - 805B99C1 + 476226D9 cambium/LRMER_HighRECost_30/MROWc.csv csv resource - 92F47632 + C2349B92 cambium/LRMER_HighRECost_30/NEWEc.csv csv resource - 4E67CE8D + F654A6C4 cambium/LRMER_HighRECost_30/NWPPc.csv csv resource - C34A5A98 + 57D04BF8 cambium/LRMER_HighRECost_30/NYSTc.csv csv resource - 71D4CC07 + B40F4302 cambium/LRMER_HighRECost_30/RFCEc.csv csv resource - 79295FE3 + 9A84F8F3 cambium/LRMER_HighRECost_30/RFCMc.csv csv resource - A408E408 + 5FB34230 cambium/LRMER_HighRECost_30/RFCWc.csv csv resource - 29417D91 + 7D8DD7C9 cambium/LRMER_HighRECost_30/RMPAc.csv csv resource - 13AC7307 + EF4712A0 cambium/LRMER_HighRECost_30/SPNOc.csv csv resource - 64765D5B + EBD62FDC cambium/LRMER_HighRECost_30/SPSOc.csv csv resource - 1FDBDE82 + 26F7506C cambium/LRMER_HighRECost_30/SRMVc.csv csv resource - 2AB0CAB1 + 6527EDBE cambium/LRMER_HighRECost_30/SRMWc.csv csv resource - 12D5F730 + 718C17AA cambium/LRMER_HighRECost_30/SRSOc.csv csv resource - 9BD02CEA + 1037791A cambium/LRMER_HighRECost_30/SRTVc.csv csv resource - F65DF2C5 + 602FEF18 cambium/LRMER_HighRECost_30/SRVCc.csv csv resource - 42F30D01 + D0ABCEFE cambium/LRMER_LowRECost_15/AZNMc.csv csv resource - A6D2870C + 33C0B242 cambium/LRMER_LowRECost_15/CAMXc.csv csv resource - 3F2433DD + B0CDEA00 cambium/LRMER_LowRECost_15/ERCTc.csv csv resource - 06E9DD46 + B2EF6279 cambium/LRMER_LowRECost_15/FRCCc.csv csv resource - 4096B7FF + 10B77FAB cambium/LRMER_LowRECost_15/MROEc.csv csv resource - E676139E + F6C705FE cambium/LRMER_LowRECost_15/MROWc.csv csv resource - 15303B74 + DA375A6E cambium/LRMER_LowRECost_15/NEWEc.csv csv resource - B7849446 + 6997A24D cambium/LRMER_LowRECost_15/NWPPc.csv csv resource - A1AAF7B1 + 516DECD3 cambium/LRMER_LowRECost_15/NYSTc.csv csv resource - F46FDD27 + C3335A44 cambium/LRMER_LowRECost_15/RFCEc.csv csv resource - FC4B5728 + B2C0ABEB cambium/LRMER_LowRECost_15/RFCMc.csv csv resource - 6D7A3A14 + 989D16AF cambium/LRMER_LowRECost_15/RFCWc.csv csv resource - 9D57FE39 + 6206AAF9 cambium/LRMER_LowRECost_15/RMPAc.csv csv resource - 46541F00 + 677812AA cambium/LRMER_LowRECost_15/SPNOc.csv csv resource - 34D2C692 + 3FB2B474 cambium/LRMER_LowRECost_15/SPSOc.csv csv resource - 015CEB38 + 44C40B0F cambium/LRMER_LowRECost_15/SRMVc.csv csv resource - BB56B36A + E2322C06 cambium/LRMER_LowRECost_15/SRMWc.csv csv resource - C22473F2 + EA82AF83 cambium/LRMER_LowRECost_15/SRSOc.csv csv resource - CED585CC + 0AB813C0 cambium/LRMER_LowRECost_15/SRTVc.csv csv resource - C4A9D3C2 + 328EEEA6 cambium/LRMER_LowRECost_15/SRVCc.csv csv resource - 8D014077 + 6F7D8750 cambium/LRMER_LowRECost_15_2025start/AZNMc.csv @@ -2415,241 +2415,241 @@ cambium/LRMER_LowRECost_30/AZNMc.csv csv resource - B4C49BAA + 58356445 cambium/LRMER_LowRECost_30/CAMXc.csv csv resource - 0F65FF63 + 989D5237 cambium/LRMER_LowRECost_30/ERCTc.csv csv resource - 3BCBD2B8 + C804ADEB cambium/LRMER_LowRECost_30/FRCCc.csv csv resource - 133B9782 + 553FD69D cambium/LRMER_LowRECost_30/MROEc.csv csv resource - FB0B66ED + 32C42C66 cambium/LRMER_LowRECost_30/MROWc.csv csv resource - 26D91ED7 + 226BA299 cambium/LRMER_LowRECost_30/NEWEc.csv csv resource - 0C9D4B71 + 479485BA cambium/LRMER_LowRECost_30/NWPPc.csv csv resource - 36D5AB21 + 545BB2E3 cambium/LRMER_LowRECost_30/NYSTc.csv csv resource - D4D57E9E + 974DC73F cambium/LRMER_LowRECost_30/RFCEc.csv csv resource - 5E3DBB97 + F96686A7 cambium/LRMER_LowRECost_30/RFCMc.csv csv resource - 50C6F71F + CC19A1AB cambium/LRMER_LowRECost_30/RFCWc.csv csv resource - 60116AA9 + CE3DEA82 cambium/LRMER_LowRECost_30/RMPAc.csv csv resource - A1616B43 + 2DE79B4A cambium/LRMER_LowRECost_30/SPNOc.csv csv resource - 29D81AB8 + B401B0B4 cambium/LRMER_LowRECost_30/SPSOc.csv csv resource - 36C73584 + 60B0F3AC cambium/LRMER_LowRECost_30/SRMVc.csv csv resource - FC7052FA + 0D0641FF cambium/LRMER_LowRECost_30/SRMWc.csv csv resource - 89AC0C1F + D2B34B11 cambium/LRMER_LowRECost_30/SRSOc.csv csv resource - 31297797 + 97DBE806 cambium/LRMER_LowRECost_30/SRTVc.csv csv resource - 31B3D171 + B038F8EC cambium/LRMER_LowRECost_30/SRVCc.csv csv resource - 25C947AF + 2E7B89C3 cambium/LRMER_MidCase_15/AZNMc.csv csv resource - 9C63EAAB + 28B76CCC cambium/LRMER_MidCase_15/CAMXc.csv csv resource - 95CEA9F0 + A0ECAD3A cambium/LRMER_MidCase_15/ERCTc.csv csv resource - 9887FA89 + BD310065 cambium/LRMER_MidCase_15/FRCCc.csv csv resource - CAEB68BE + C63EF3D9 cambium/LRMER_MidCase_15/MROEc.csv csv resource - 2FA01F94 + 9903D7C7 cambium/LRMER_MidCase_15/MROWc.csv csv resource - 2FFE3B56 + C219F661 cambium/LRMER_MidCase_15/NEWEc.csv csv resource - 1E4B056A + A7FC6B11 cambium/LRMER_MidCase_15/NWPPc.csv csv resource - 7FC7859A + 286C8D5C cambium/LRMER_MidCase_15/NYSTc.csv csv resource - 46AFEA2A + 79633AAB cambium/LRMER_MidCase_15/RFCEc.csv csv resource - 49C181DF + CF7ACC29 cambium/LRMER_MidCase_15/RFCMc.csv csv resource - AD5DF429 + 70A07833 cambium/LRMER_MidCase_15/RFCWc.csv csv resource - 3B24E186 + EA83A970 cambium/LRMER_MidCase_15/RMPAc.csv csv resource - 0941C9D5 + 0B5C1A80 cambium/LRMER_MidCase_15/SPNOc.csv csv resource - 8EFF0FBD + 7C4E8377 cambium/LRMER_MidCase_15/SPSOc.csv csv resource - 0556DFA6 + 73355534 cambium/LRMER_MidCase_15/SRMVc.csv csv resource - 800F3E34 + 72E62872 cambium/LRMER_MidCase_15/SRMWc.csv csv resource - 79783179 + FA0E7317 cambium/LRMER_MidCase_15/SRSOc.csv csv resource - 4F279001 + 25FD88DB cambium/LRMER_MidCase_15/SRTVc.csv csv resource - 5199D1A6 + 0FFBA0E5 cambium/LRMER_MidCase_15/SRVCc.csv csv resource - 544FFCAE + D6158FF9 cambium/LRMER_MidCase_15_2025start/AZNMc.csv @@ -2895,121 +2895,121 @@ cambium/LRMER_MidCase_30/AZNMc.csv csv resource - 0E69BD34 + 3DB87CF1 cambium/LRMER_MidCase_30/CAMXc.csv csv resource - C229BA24 + 161ABD7A cambium/LRMER_MidCase_30/ERCTc.csv csv resource - E96D421F + 88555772 cambium/LRMER_MidCase_30/FRCCc.csv csv resource - B11A6E42 + B056C029 cambium/LRMER_MidCase_30/MROEc.csv csv resource - 792E974D + E187AE44 cambium/LRMER_MidCase_30/MROWc.csv csv resource - 26EC7957 + 620EADCF cambium/LRMER_MidCase_30/NEWEc.csv csv resource - 43F71E55 + 2ACE1C08 cambium/LRMER_MidCase_30/NWPPc.csv csv resource - 7CEC396A + 39EF25DE cambium/LRMER_MidCase_30/NYSTc.csv csv resource - A10FA6B9 + 7B0EE9CE cambium/LRMER_MidCase_30/RFCEc.csv csv resource - 2D406EC1 + EBE4BB42 cambium/LRMER_MidCase_30/RFCMc.csv csv resource - AC731567 + 493FD08A cambium/LRMER_MidCase_30/RFCWc.csv csv resource - 24AB8F3D + E4A80378 cambium/LRMER_MidCase_30/RMPAc.csv csv resource - 63D4EAE1 + 8703AA02 cambium/LRMER_MidCase_30/SPNOc.csv csv resource - 5F1C0DDF + EE37DF78 cambium/LRMER_MidCase_30/SPSOc.csv csv resource - 73EC2CF9 + 2C7A851D cambium/LRMER_MidCase_30/SRMVc.csv csv resource - F8E6BFE4 + A6CF7857 cambium/LRMER_MidCase_30/SRMWc.csv csv resource - EE241C67 + 8633DFC3 cambium/LRMER_MidCase_30/SRSOc.csv csv resource - 0006443C + 25EF7FD1 cambium/LRMER_MidCase_30/SRTVc.csv csv resource - B09A3BCA + 966484CB cambium/LRMER_MidCase_30/SRVCc.csv csv resource - B3BF5C67 + A6FB5BEB cambium/README.md @@ -3035,18 +3035,18 @@ resource 72E3594C - - EmissionsReporting_Test.rb - rb - test - 9DAF1B30 - FortCollins2016.epw epw test 25EF7C9B + + emissions_reporting_test.rb + rb + test + 652F7BD0 + office.osm osm diff --git a/measures/emissions_reporting/tests/EmissionsReporting_Test.rb b/measures/emissions_reporting/tests/emissions_reporting_test.rb similarity index 59% rename from measures/emissions_reporting/tests/EmissionsReporting_Test.rb rename to measures/emissions_reporting/tests/emissions_reporting_test.rb index 164bd551f..b47b99843 100644 --- a/measures/emissions_reporting/tests/EmissionsReporting_Test.rb +++ b/measures/emissions_reporting/tests/emissions_reporting_test.rb @@ -1,133 +1,120 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* +# dependencies +require 'fileutils' +require 'minitest/autorun' require 'openstudio' require 'openstudio/measure/ShowRunnerOutput' -require 'minitest/autorun' -require_relative '../measure.rb' -require 'fileutils' require 'openstudio-standards' -require_relative '../../../test/helpers/minitest_helper' - -class EmissionsReporting_Test < Minitest::Test - def test_number_of_arguments_and_argument_names - # this test ensures that the current test is matched to the measure inputs - test_name = "test_number_of_arguments_and_argument_names" - puts "\n######\nTEST:#{test_name}\n######\n" - - # create an instance of the measure - measure = EmissionsReporting.new - - # make an empty model - model = OpenStudio::Model::Model.new +require_relative '../measure' - # get arguments and test that they are what we are expecting - arguments = measure.arguments(model) - assert_equal(3, arguments.size) - assert_equal('grid_region', arguments[0].name) - assert_equal('grid_state', arguments[1].name) - assert_equal('emissions_scenario', arguments[2].name) +class EmissionsReportingTest < Minitest::Test + def load_model(osm_path) + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(OpenStudio::Path.new(osm_path)) + assert(!model.empty?) + model = model.get + return model end def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{File.dirname(__FILE__)}/output/#{test_name}" + return "#{__dir__}/output/#{test_name}" end def model_output_path(test_name) - return "#{run_dir(test_name)}/#{test_name}.osm" - end - - def workspace_path(test_name) - return "#{run_dir(test_name)}/run/in.idf" + return "#{run_dir(test_name)}/out.osm" end def sql_path(test_name) return "#{run_dir(test_name)}/run/eplusout.sql" end + def workspace_path(test_name) + "#{run_dir(test_name)}/run/in.idf" + end + def report_path(test_name) return "#{run_dir(test_name)}/reports/eplustbl.html" end + def test_number_of_arguments_and_argument_names + # this test ensures that the current test is matched to the measure inputs + puts "\n######\nTEST:#{__method__}\n######\n" + + # create an instance of the measure + measure = EmissionsReporting.new + + # make an empty model + model = OpenStudio::Model::Model.new + + # get arguments and test that they are what we are expecting + arguments = measure.arguments(model) + assert_equal(3, arguments.size) + assert_equal('grid_region', arguments[0].name) + assert_equal('grid_state', arguments[1].name) + assert_equal('emissions_scenario', arguments[2].name) + end + def print_column_definitions(result_h) # print output names for column definitions regex = /annual_(.*)_(electricity|natural_gas|fuel_oil|propane)_ghg_emissions_?(.*)_kg/ - result = "" + result = '' result_h['step_values'].each do |h| result_string = "\nresults.csv,emissions_reporting." - value_name = h["name"] + value_name = h['name'] result_string << "#{value_name},out.emissions" # puts value_name captures = value_name.scan(regex).flatten next if captures.empty? + # puts captures - captures.each_with_index do |c,i| + captures.each_with_index do |c, i| if i == 2 && !c.empty? - if c.match?(/aer_/) - result_string << ".#{c}_from_2023" - elsif c.match?(/lrmer_/) - if c.match?(/_start_/) - result_string << ".#{c}" - else - result_string << ".#{c}_2023_start" - end - else result_string << ".#{c}" - end + result_string << if c.match?(/aer_/) + ".#{c}_from_2023" + elsif c.match?(/lrmer_/) + if c.match?(/_start_/) + ".#{c}" + else + ".#{c}_2023_start" + end + else + ".#{c}" + end else result_string << ".#{c}" unless c.empty? end - end - result_string << ",TRUE,TRUE,float,co2e_kg,co2e_kg" - case - when captures[2].include?('egrid') - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub("_"," ")} #{captures[1].gsub("_"," ")} use, using #{captures[2].gsub("_"," ")} emissions intensity\"" - when captures[2].include?('aer') - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub("_"," ")} #{captures[1].gsub("_"," ")} use, using Cambium 2022 #{captures[2]} non-levelized values from 2023\"" - when captures[2].include?('lrmer') + result_string << ',TRUE,TRUE,float,co2e_kg,co2e_kg' + if captures[2].include?('egrid') + result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', + ' ')} #{captures[1].gsub('_', + ' ')} use, using #{captures[2].gsub( + '_', ' ' + )} emissions intensity\"" + elsif captures[2].include?('aer') + result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', + ' ')} #{captures[1].gsub('_', + ' ')} use, using Cambium 2022 #{captures[2]} non-levelized values from 2023\"" + elsif captures[2].include?('lrmer') if captures[2].match?(/_\d{2}_\d{4}_/) matches = captures[2].scan(/_(\d{2})_(\d{4})_start/).flatten - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub("_"," ")} #{captures[1].gsub("_"," ")} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in #{matches[1]}\"" + result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', + ' ')} #{captures[1].gsub('_', + ' ')} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in #{matches[1]}\"" else matches = captures[2].scan(/_\w{4}_(\d{2})/).flatten - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub("_"," ")} #{captures[1].gsub("_"," ")} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in 2023\"" + result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', + ' ')} #{captures[1].gsub('_', + ' ')} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in 2023\"" end - else result_string << ",\"annual greenhouse gas emissions from on site #{captures[0].gsub("_"," ")} #{captures[1].gsub("_"," ")} use\"" + else + result_string << ",\"annual greenhouse gas emissions from on site #{captures[0].gsub('_', + ' ')} #{captures[1].gsub( + '_', ' ' + )} use\"" end result << result_string end @@ -136,9 +123,7 @@ def print_column_definitions(result_h) def run_test(test_name, osm_path, epw_path, argument_map) # create run directory if it does not exist - unless File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) # change into run directory for tests @@ -172,7 +157,7 @@ def run_test(test_name, osm_path, epw_path, argument_map) model = translator.loadModel(OpenStudio::Path.new(osm_path)) assert(!model.empty?) model = model.get - request_model.objects.each{|o| model.addObject(o)} + request_model.objects.each { |o| model.addObject(o) } # model.addObjects(request_model.objects) model.save(model_output_path(test_name), true) @@ -207,15 +192,14 @@ def run_test(test_name, osm_path, epw_path, argument_map) # change back directory Dir.chdir(start_dir) - return result + result end def test_timeseries_lrmer - test_name = 'test_timeseries_lrmer' + puts "\n######\nTEST:#{__method__}\n######\n" - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/office.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + osm_path = "#{__dir__}/office.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -233,15 +217,14 @@ def test_timeseries_lrmer argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - assert(run_test(test_name, osm_path, epw_path, argument_map)) + assert(run_test(__method__, osm_path, epw_path, argument_map)) end def test_all_scenarios - test_name = 'test_all_scenarios' + puts "\n######\nTEST:#{__method__}\n######\n" - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/office.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + osm_path = "#{__dir__}/office.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -259,22 +242,23 @@ def test_all_scenarios argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - result = run_test(test_name, osm_path, epw_path, argument_map) + result = run_test(__method__, osm_path, epw_path, argument_map) assert(result) require 'json' result_h = JSON.parse(result.to_s) # test that runperiod totals same as summed hourly - assert_in_delta(8612.0512, result_h['step_values'].select{|v| v["name"] == "annual_natural_gas_ghg_emissions_kg"}.first["value"], 0.001) + assert_in_delta(8613.9, result_h['step_values'].select do |v| + v['name'] == 'annual_natural_gas_ghg_emissions_kg' + end.first['value'], 0.1) # print_column_definitions(result_h) end def test_hawaii - test_name = 'test_hawaii' + puts "\n######\nTEST:#{__method__}\n######\n" - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/office.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + osm_path = "#{__dir__}/office.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -292,6 +276,6 @@ def test_hawaii argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - assert(run_test(test_name, osm_path, epw_path, argument_map)) + assert(run_test(__method__, osm_path, epw_path, argument_map)) end end From 5445c643527314e63d59af5bc5bfcfbc229eb781 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 15:43:45 -0600 Subject: [PATCH 04/23] QOI Report rubocop --- measures/qoi_report/measure.rb | 386 +++++++++---------- measures/qoi_report/measure.xml | 8 +- measures/qoi_report/tests/qoi_report_test.rb | 234 +++++------ 3 files changed, 286 insertions(+), 342 deletions(-) diff --git a/measures/qoi_report/measure.rb b/measures/qoi_report/measure.rb index 51bf353e1..86b13ca31 100644 --- a/measures/qoi_report/measure.rb +++ b/measures/qoi_report/measure.rb @@ -42,19 +42,18 @@ class QOIReport < OpenStudio::Measure::ReportingMeasure # human readable name def name - return "QOI Report" + 'QOI Report' end # human readable description def description - return "Reports uncertainty quantification quantities of interest." + 'Reports uncertainty quantification quantities of interest.' end # define the arguments that the user will input - def arguments(model=nil) - args = OpenStudio::Measure::OSArgumentVector.new + def arguments(_model = nil) + OpenStudio::Measure::OSArgumentVector.new # this measure does not require any user arguments, return an empty list - return args end # return a vector of IdfObject's to request EnergyPlus objects needed by the run method @@ -63,137 +62,135 @@ def energyPlusOutputRequests(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments, user_arguments) - return result - end + return result unless runner.validateUserArguments(arguments, user_arguments) result = OpenStudio::IdfObjectVector.new result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,hourly;').get result << OpenStudio::IdfObject.load('Output:Variable,*,Site Outdoor Air Drybulb Temperature,Hourly;').get - return result + result end def seasons - return { - 'winter' => [-1e9, 55], - 'summer' => [70, 1e9], - 'shoulder' => [55, 70] + { + 'winter' => [-1e9, 55], + 'summer' => [70, 1e9], + 'shoulder' => [55, 70] } end def months - return { - 'jan' => 1, - 'feb' => 2, - 'mar' => 3, - 'apr' => 4, - 'may' => 5, - 'jun' => 6, - 'jul' => 7, - 'aug' => 8, - 'sep' => 9, - 'oct' => 10, - 'nov' => 11, - 'dec' => 12 + { + 'jan' => 1, + 'feb' => 2, + 'mar' => 3, + 'apr' => 4, + 'may' => 5, + 'jun' => 6, + 'jul' => 7, + 'aug' => 8, + 'sep' => 9, + 'oct' => 10, + 'nov' => 11, + 'dec' => 12 } end def average_daily_base_magnitude_by_season output_names = [] - seasons.each do |season, temperature_range| + seasons.each do |season, _temperature_range| output_names << "average_minimum_daily_use_#{season}_kw" end - return output_names + output_names end def average_daily_peak_magnitude_by_season output_names = [] - seasons.each do |season, temperature_range| + seasons.each do |season, _temperature_range| output_names << "average_maximum_daily_use_#{season}_kw" end - return output_names + output_names end def average_daily_peak_timing_by_season output_names = [] - seasons.each do |season, temperature_range| + seasons.each do |season, _temperature_range| output_names << "average_maximum_daily_timing_#{season}_hour" end - return output_names + output_names end def top_ten_daily_seasonal_peak_magnitude_by_season output_names = [] - seasons.each do |season, temperature_range| + seasons.each do |season, _temperature_range| output_names << "average_of_top_ten_highest_peaks_use_#{season}_kw" end - return output_names + output_names end def top_ten_seasonal_timing_of_peak_by_season output_names = [] - seasons.each do |season, temperature_range| + seasons.each do |season, _temperature_range| output_names << "average_of_top_ten_highest_peaks_timing_#{season}_hour" end - return output_names + output_names end def min_daily_peak_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "minimum_daily_peak_use_#{month}_kw" end - return output_names + output_names end def q1_daily_peak_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "q1_daily_peak_use_#{month}_kw" end - return output_names + output_names end def med_daily_peak_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "median_daily_peak_use_#{month}_kw" end - return output_names + output_names end def q3_daily_peak_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "q3_daily_peak_use_#{month}_kw" end - return output_names + output_names end def max_daily_peak_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "maximum_daily_peak_use_#{month}_kw" end - return output_names + output_names end def med_daily_peak_timing_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "median_daily_peak_timing_#{month}_hour" end - return output_names + output_names end def total_electricity_by_month output_names = [] - months.each do |month, month_val| + months.each do |month, _month_val| output_names << "total_electricity_use_#{month}_kwh" end - return output_names + output_names end def outputs @@ -216,7 +213,7 @@ def outputs result << OpenStudio::Measure::OSOutput.makeDoubleOutput(output) end - return result + result end # define what happens when the measure is run @@ -224,34 +221,30 @@ def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments, user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments, user_arguments) # get the last model and sql file model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Cannot find last model.") + runner.registerError('Cannot find last model.') return false end model = model.get - sqlFile = runner.lastEnergyPlusSqlFile - if sqlFile.empty? - runner.registerError("Cannot find last sql file.") + sql_file = runner.lastEnergyPlusSqlFile + if sql_file.empty? + runner.registerError('Cannot find last sql file.') return false end - sqlFile = sqlFile.get - model.setSqlFile(sqlFile) + sql_file = sql_file.get + model.setSqlFile(sql_file) ann_env_pd = nil - sqlFile.availableEnvPeriods.each do |env_pd| - env_type = sqlFile.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') - ann_env_pd = env_pd - end - end + sql_file.availableEnvPeriods.each do |env_pd| + env_type = sql_file.environmentType(env_pd) + next unless env_type.is_initialized + + ann_env_pd = env_pd if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') end if ann_env_pd == false runner.registerError("Can't find a weather runperiod, make sure you ran an annual simulation, not just the design days.") @@ -260,14 +253,14 @@ def run(runner, user_arguments) # get timeseries results for the year env_period_ix_query = "SELECT EnvironmentPeriodIndex FROM EnvironmentPeriods WHERE EnvironmentName='#{ann_env_pd}'" - env_period_ix = sqlFile.execAndReturnFirstInt(env_period_ix_query).get + env_period_ix = sql_file.execAndReturnFirstInt(env_period_ix_query).get timeseries = { 'temperature' => [], 'total_site_electricity_kw' => [] } # Get temperature values # Initialize timeseries hash temperature_query = "SELECT VariableValue FROM ReportVariableData WHERE ReportVariableDataDictionaryIndex IN (SELECT ReportVariableDataDictionaryIndex FROM ReportVariableDataDictionary WHERE VariableType='Avg' AND VariableName IN ('Site Outdoor Air Drybulb Temperature') AND ReportingFrequency='Hourly' AND VariableUnits='C') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - unless sqlFile.execAndReturnVectorOfDouble(temperature_query).get.empty? - temperatures = sqlFile.execAndReturnVectorOfDouble(temperature_query).get + unless sql_file.execAndReturnVectorOfDouble(temperature_query).get.empty? + temperatures = sql_file.execAndReturnVectorOfDouble(temperature_query).get temperatures.each do |val| timeseries['temperature'] << OpenStudio.convert(val, 'C', 'F').get end @@ -275,226 +268,209 @@ def run(runner, user_arguments) # Get electricity values electricity_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableTYpe='Sum' AND VariableName='Electricity:Facility' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - unless sqlFile.execAndReturnVectorOfDouble(electricity_query).get.empty? - values = sqlFile.execAndReturnVectorOfDouble(electricity_query).get + unless sql_file.execAndReturnVectorOfDouble(electricity_query).get.empty? + values = sql_file.execAndReturnVectorOfDouble(electricity_query).get values.each do |val| timeseries['total_site_electricity_kw'] << OpenStudio.convert(val, 'J', 'kWh').get # hourly data end end - # Average daily base magnitude (by season) (3) seasons.each do |season, temperature_range| - report_sim_output(runner, "average_minimum_daily_use_#{season}_kw", average_daily_use(timeseries, temperature_range, 'min'), '', '') - end + # Average daily base magnitude (by season) (3) + report_sim_output(runner, "average_minimum_daily_use_#{season}_kw", + average_daily_use(timeseries, temperature_range, 'min'), '', '') - # Average daily peak magnitude (by season) (3) - seasons.each do |season, temperature_range| - report_sim_output(runner, "average_maximum_daily_use_#{season}_kw", average_daily_use(timeseries, temperature_range, 'max'), '', '') - end + # Average daily peak magnitude (by season) (3) + report_sim_output(runner, "average_maximum_daily_use_#{season}_kw", + average_daily_use(timeseries, temperature_range, 'max'), '', '') - # Average daily peak timing (by season) (3) - seasons.each do |season, temperature_range| - report_sim_output(runner, "average_maximum_daily_timing_#{season}_hour", average_daily_timing(timeseries, temperature_range, 'max'), '', '') - end + # Average daily peak timing (by season) (3) + report_sim_output(runner, "average_maximum_daily_timing_#{season}_hour", + average_daily_timing(timeseries, temperature_range, 'max'), '', '') - # Top 10 daily seasonal peak magnitude (2) - seasons.each do |season, temperature_range| - report_sim_output(runner, "average_of_top_ten_highest_peaks_use_#{season}_kw", average_daily_use(timeseries, temperature_range, 'max', 10), '', '') - end - # Top 10 seasonal timing of peak (2) - seasons.each do |season, temperature_range| - report_sim_output(runner, "average_of_top_ten_highest_peaks_timing_#{season}_hour", average_daily_timing(timeseries, temperature_range, 'max', 10), '', '') - end + # Top 10 daily seasonal peak magnitude (2) + report_sim_output(runner, "average_of_top_ten_highest_peaks_use_#{season}_kw", + average_daily_use(timeseries, temperature_range, 'max', 10), '', '') - # Daily peak minimum by month (12) - months.each do |month, month_val| - report_sim_output(runner, "minimum_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'min'), '', '') + # Top 10 seasonal timing of peak (2) + report_sim_output(runner, "average_of_top_ten_highest_peaks_timing_#{season}_hour", + average_daily_timing(timeseries, temperature_range, 'max', 10), '', '') end - # Daily peak first quartile (25%) by month (12) months.each do |month, month_val| - report_sim_output(runner, "q1_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'q1'), '', '') - end + # Daily peak minimum by month (12) + report_sim_output(runner, "minimum_daily_peak_#{month}_kw", + daily_peak_stats_by_month(timeseries, month_val, 'min'), '', '') - # Daily peak median by month (12) - months.each do |month, month_val| - report_sim_output(runner, "median_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'med'), '', '') - end + # Daily peak first quartile (25%) by month (12) + report_sim_output(runner, "q1_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'q1'), + '', '') - # Daily peak third quartile (75%) by month (12) - months.each do |month, month_val| - report_sim_output(runner, "q3_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'q3'), '', '') - end + # Daily peak median by month (12) + report_sim_output(runner, "median_daily_peak_#{month}_kw", + daily_peak_stats_by_month(timeseries, month_val, 'med'), '', '') - # Daily peak maximum by month (12) - months.each do |month, month_val| - report_sim_output(runner, "maximum_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'max'), '', '') - end + # Daily peak third quartile (75%) by month (12) + report_sim_output(runner, "q3_daily_peak_#{month}_kw", daily_peak_stats_by_month(timeseries, month_val, 'q3'), + '', '') - # Daily peak timing median by month (12) - months.each do |month, month_val| - report_sim_output(runner, "median_daily_peak_timing_#{month}_hour", daily_peak_timing_stats_by_month(timeseries, month_val, 'med'), '', '') - end + # Daily peak maximum by month (12) + report_sim_output(runner, "maximum_daily_peak_#{month}_kw", + daily_peak_stats_by_month(timeseries, month_val, 'max'), '', '') - # Daily peak timing median by month (12) - months.each do |month, month_val| - report_sim_output(runner, "total_electricity_use_#{month}_kwh", monthly_energy(timeseries, month_val, 'total'), '', '') + + # Daily peak timing median by month (12) + report_sim_output(runner, "median_daily_peak_timing_#{month}_hour", + daily_peak_timing_stats_by_month(timeseries, month_val, 'med'), '', '') + + + # Daily peak timing median by month (12) + report_sim_output(runner, "total_electricity_use_#{month}_kwh", monthly_energy(timeseries, month_val, 'total'), + '', '') end - sqlFile.close + sql_file.close - return true + true end - def average_daily_use(timeseries, temperature_range, min_or_max, top = "all") + def average_daily_use(timeseries, temperature_range, min_or_max, top = 'all') daily_vals = [] timeseries['total_site_electricity_kw'].each_slice(24).with_index do |kws, i| - temps = timeseries['temperature'][(24 * i)...(24 * i + 24)] + temps = timeseries['temperature'][(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size - if avg_temp > temperature_range[0] and avg_temp < temperature_range[1] # day is in this season - if min_or_max == "min" + if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season + if min_or_max == 'min' daily_vals << kws.min - elsif min_or_max == "max" + elsif min_or_max == 'max' daily_vals << kws.max end end end - if daily_vals.empty? - return nil - end + return nil if daily_vals.empty? - if top == "all" - top = daily_vals.length - else - top = [top, daily_vals.length].min # don't try to access indexes that don't exist - end + top = if top == 'all' + daily_vals.length + else + [top, daily_vals.length].min # don't try to access indexes that don't exist + end daily_vals = daily_vals.sort.reverse daily_vals = daily_vals[0..top] - return daily_vals.inject { |sum, el| sum + el }.to_f / daily_vals.size + daily_vals.inject { |sum, el| sum + el }.to_f / daily_vals.size end - def average_daily_timing(timeseries, temperature_range, min_or_max, top = "all") - daily_vals = { "hour" => [], "use" => [] } + def average_daily_timing(timeseries, temperature_range, min_or_max, top = 'all') + daily_vals = { 'hour' => [], 'use' => [] } timeseries['total_site_electricity_kw'].each_slice(24).with_index do |kws, i| - temps = timeseries['temperature'][(24 * i)...(24 * i + 24)] + temps = timeseries['temperature'][(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size - if avg_temp > temperature_range[0] and avg_temp < temperature_range[1] # day is in this season - if min_or_max == "min" + if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season + if min_or_max == 'min' hour = kws.index(kws.min) - daily_vals["hour"] << hour - daily_vals["use"] << kws.min - elsif min_or_max == "max" + daily_vals['hour'] << hour + daily_vals['use'] << kws.min + elsif min_or_max == 'max' hour = kws.index(kws.max) - daily_vals["hour"] << hour - daily_vals["use"] << kws.max + daily_vals['hour'] << hour + daily_vals['use'] << kws.max end end end - if daily_vals.empty? - return nil - end + return nil if daily_vals.empty? - if top == "all" - top = daily_vals["hour"].length - else - top = [top, daily_vals["hour"].length].min # don't try to access indexes that don't exist - end + top = if top == 'all' + daily_vals['hour'].length + else + [top, daily_vals['hour'].length].min # don't try to access indexes that don't exist + end - if top.zero? - return nil - end + return nil if top.zero? - daily_vals["use"], daily_vals["hour"] = daily_vals["use"].zip(daily_vals["hour"]).sort.reverse.transpose - daily_vals = daily_vals["hour"][0..top] - return daily_vals.inject { |sum, el| sum + el }.to_f / daily_vals.size + daily_vals['use'], daily_vals['hour'] = daily_vals['use'].zip(daily_vals['hour']).sort.reverse.transpose + daily_vals = daily_vals['hour'][0..top] + daily_vals.inject { |sum, el| sum + el }.to_f / daily_vals.size end def day_of_year_to_date(day_of_year, year) date = Date.new(year, 1, 1) + day_of_year - 1 month = date.month day = date.day - return month, day + [month, day] end def calculate_percentile(array, percentile) sorted_array = array.sort n = sorted_array.length - + index = (percentile * (n - 1) / 100.0).floor fractional_part = (percentile * (n - 1) / 100.0) % 1 - - if fractional_part.zero? - return sorted_array[index] - else - lower_value = sorted_array[index] - upper_value = sorted_array[index + 1] - return (1 - fractional_part) * lower_value + fractional_part * upper_value - end + + return sorted_array[index] if fractional_part.zero? + + + lower_value = sorted_array[index] + upper_value = sorted_array[index + 1] + ((1 - fractional_part) * lower_value) + (fractional_part * upper_value) end - def daily_peak_stats_by_month(timeseries, month_val, stats_option = "max", year = 2018) + def daily_peak_stats_by_month(timeseries, month_val, stats_option = 'max', year = 2018) daily_peak_by_month = [] timeseries['total_site_electricity_kw'].each_slice(24).with_index do |kws, doy| - month, day = day_of_year_to_date(doy, year) - if month == month_val - daily_peak_by_month << kws.max - end + month, = day_of_year_to_date(doy, year) + daily_peak_by_month << kws.max if month == month_val end stats_by_month = nil - if stats_option == "min" + case stats_option + when 'min' stats_by_month = daily_peak_by_month.min - elsif stats_option == "q1" - stats_by_month = calculate_percentile(daily_peak_by_month,25) - elsif stats_option == "med" - stats_by_month = calculate_percentile(daily_peak_by_month,50) - elsif stats_option == "q3" - stats_by_month = calculate_percentile(daily_peak_by_month,75) - elsif stats_option == "max" + when 'q1' + stats_by_month = calculate_percentile(daily_peak_by_month, 25) + when 'med' + stats_by_month = calculate_percentile(daily_peak_by_month, 50) + when 'q3' + stats_by_month = calculate_percentile(daily_peak_by_month, 75) + when 'max' stats_by_month = daily_peak_by_month.max else return nil end - return stats_by_month + stats_by_month end - def daily_peak_timing_stats_by_month(timeseries, month_val, stats_option = "med", year = 2018) + def daily_peak_timing_stats_by_month(timeseries, month_val, stats_option = 'med', year = 2018) daily_peak_timing_by_month = [] timeseries['total_site_electricity_kw'].each_slice(24).with_index do |kws, doy| - month, day = day_of_year_to_date(doy, year) - if month == month_val - daily_peak_timing_by_month << kws.index(kws.max) - end + month, = day_of_year_to_date(doy, year) + daily_peak_timing_by_month << kws.index(kws.max) if month == month_val end stats_by_month = nil - if stats_option == "med" - stats_by_month = calculate_percentile(daily_peak_timing_by_month,50) - elsif stats_option == "mean" + if stats_option == 'med' + stats_by_month = calculate_percentile(daily_peak_timing_by_month, 50) + elsif stats_option == 'mean' stats_by_month = daily_peak_timing_by_month.inject { |sum, el| sum + el }.to_f / daily_peak_timing_by_month.size else return nil end - return stats_by_month + stats_by_month end - def monthly_energy(timeseries, month_val, stats_option = "total", year = 2018) + def monthly_energy(timeseries, month_val, stats_option = 'total', year = 2018) daily_energy_by_month = [] timeseries['total_site_electricity_kw'].each_slice(24).with_index do |kws, doy| - month, day = day_of_year_to_date(doy, year) - if month == month_val - daily_energy_by_month << kws.inject { |sum, el| sum + el }.to_f - end + month, = day_of_year_to_date(doy, year) + daily_energy_by_month << kws.inject { |sum, el| sum + el }.to_f if month == month_val end energy_by_month = nil - if stats_option == "total" + if stats_option == 'total' energy_by_month = daily_energy_by_month.inject { |sum, el| sum + el }.to_f - elsif stats_option == "mean" + elsif stats_option == 'mean' energy_by_month = daily_energy_by_month.inject { |sum, el| sum + el }.to_f / daily_energy_by_month.size else return nil end - return energy_by_month + energy_by_month end def report_sim_output(runner, name, total_val, os_units, desired_units, percent_of_val = 1.0) @@ -502,14 +478,14 @@ def report_sim_output(runner, name, total_val, os_units, desired_units, percent_ runner.registerInfo("Registering (blank) for #{name}.") return end - total_val = total_val * percent_of_val - if os_units.nil? or desired_units.nil? or os_units == desired_units - valInUnits = total_val - else - valInUnits = OpenStudio.convert(total_val, os_units, desired_units).get - end - runner.registerValue(name, valInUnits) - runner.registerInfo("Registering #{valInUnits.round(2)} for #{name}.") + total_val *= percent_of_val + val_in_units = if os_units.nil? || desired_units.nil? || (os_units == desired_units) + total_val + else + OpenStudio.convert(total_val, os_units, desired_units).get + end + runner.registerValue(name, val_in_units) + runner.registerInfo("Registering #{val_in_units.round(2)} for #{name}.") end end diff --git a/measures/qoi_report/measure.xml b/measures/qoi_report/measure.xml index 1c43ec0c1..9199124ac 100644 --- a/measures/qoi_report/measure.xml +++ b/measures/qoi_report/measure.xml @@ -3,8 +3,8 @@ 3.1 qoi_report be0bfc7f-25c6-435a-9acd-2f5fa8ac817d - 59d04c8d-045f-429b-88ed-2d048111c7a1 - 2024-06-20T18:59:03Z + b65aa025-169d-45af-b963-506a29271ca9 + 2024-10-28T21:43:16Z 15BF4E57 QOIReport QOI Report @@ -727,7 +727,7 @@ measure.rb rb script - 1BD455E1 + 5FE6A05C USA_MI_Detroit.City.725375_2012.epw @@ -757,7 +757,7 @@ qoi_report_test.rb rb test - 5C52E7F4 + 45B35351 retail_2010.osm diff --git a/measures/qoi_report/tests/qoi_report_test.rb b/measures/qoi_report/tests/qoi_report_test.rb index fe9962bd1..fa725dc16 100644 --- a/measures/qoi_report/tests/qoi_report_test.rb +++ b/measures/qoi_report/tests/qoi_report_test.rb @@ -1,61 +1,26 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2018, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* -require 'openstudio' -require 'openstudio/ruleset/ShowRunnerOutput' -require 'minitest/autorun' -require_relative '../measure.rb' +# dependencies require 'fileutils' +require 'minitest/autorun' +require 'openstudio' +require 'openstudio/measure/ShowRunnerOutput' require 'openstudio-standards' -require "minitest/reporters" -require_relative '../../../test/helpers/minitest_helper' +require_relative '../measure' class QOIReportTest < Minitest::Test def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{File.dirname(__FILE__)}/output/#{test_name}" + return "#{__dir__}/output/#{test_name}" end def model_output_path(test_name) - return "#{run_dir(test_name)}/#{test_name}.osm" + return "#{run_dir(test_name)}/out.osm" end def workspace_path(test_name) - return "#{run_dir(test_name)}/run/in.idf" + "#{run_dir(test_name)}/run/in.idf" end def sql_path(test_name) @@ -68,92 +33,89 @@ def report_path(test_name) def run_test(test_name, osm_path, epw_path) # create run directory if it does not exist - unless File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) - # change into run directory for tests - start_dir = Dir.pwd - Dir.chdir run_dir(test_name) - - # create an instance of the measure - measure = QOIReport.new - - # create an instance of a runner - runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) - - # get arguments - arguments = measure.arguments() - argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) - - # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - - # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) - workspace.addObjects(idf_output_requests) - rt = OpenStudio::EnergyPlus::ReverseTranslator.new - request_model = rt.translateWorkspace(workspace) - - # load the test model and add output requests - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - model.addObjects(request_model.objects) - model.save(model_output_path(test_name), true) - - # set model weather file - assert(File.exist?(epw_path)) - epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) - OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) - assert(model.weatherFile.is_initialized) - - # run the simulation if necessary - unless File.exist?(sql_path(test_name)) - puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." - - std = Standard.build('90.1-2013') - std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + begin + # change into run directory for tests + start_dir = Dir.pwd + Dir.chdir run_dir(test_name) + + # create an instance of the measure + measure = QOIReport.new + + # create an instance of a runner + runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) + + # get arguments + arguments = measure.arguments + argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) + + # get the energyplus output requests, this will be done automatically by OS App and PAT + idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) + + # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf + workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) + workspace.addObjects(idf_output_requests) + rt = OpenStudio::EnergyPlus::ReverseTranslator.new + request_model = rt.translateWorkspace(workspace) + + # load the test model and add output requests + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(OpenStudio::Path.new(osm_path)) + assert(!model.empty?) + model = model.get + model.addObjects(request_model.objects) + model.save(model_output_path(test_name), true) + + # set model weather file + assert(File.exist?(epw_path)) + epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) + OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) + assert(model.weatherFile.is_initialized) + + # run the simulation if necessary + unless File.exist?(sql_path(test_name)) + puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." + + std = Standard.build('90.1-2013') + std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + end + assert(File.exist?(model_output_path(test_name))) + assert(File.exist?(sql_path(test_name))) + + # set up runner, this will happen automatically when measure is run in PAT or OpenStudio + runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) + runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) + runner.setLastEpwFilePath(epw_path) + runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) + + # delete the output if it exists + FileUtils.rm_f(report_path(test_name)) + assert(!File.exist?(report_path(test_name))) + + # run the measure + puts "\nRUNNING MEASURE RUN FOR #{test_name}..." + measure.run(runner, argument_map) + result = runner.result + show_output(result) + assert_equal('Success', result.value.valueName) + ensure + # change back directory + Dir.chdir(start_dir) end - assert(File.exist?(model_output_path(test_name))) - assert(File.exist?(sql_path(test_name))) - - # set up runner, this will happen automatically when measure is run in PAT or OpenStudio - runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) - runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) - runner.setLastEpwFilePath(epw_path) - runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) - - # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end - assert(!File.exist?(report_path(test_name))) - - # run the measure - puts "\nRUNNING MEASURE RUN FOR #{test_name}..." - measure.run(runner, argument_map) - result = runner.result - show_output(result) - assert_equal('Success', result.value.valueName) - - # change back directory - Dir.chdir(start_dir) - return true + true end def test_number_of_arguments_and_argument_names # this test ensures that the current test is matched to the measure inputs - test_name = 'test_number_of_arguments_and_argument_names' - puts "\n######\nTEST:#{test_name}\n######\n" + puts "\n######\nTEST:#{__method__}\n######\n" # create an instance of the measure measure = QOIReport.new # get arguments and test that they are what we are expecting - arguments = measure.arguments() + arguments = measure.arguments assert_equal(0, arguments.size) end @@ -250,14 +212,20 @@ def _setup_test temperature += _daily_overlap_temperatures * 2 # two days of random overlap temperatures total_site_electricity_kw = [] # six days of total site electricity kw - total_site_electricity_kw += [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - total_site_electricity_kw += [10, 10, 10, 10, 12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - total_site_electricity_kw += [10, 10, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 19, 10, 10, 10] - - return temperature, total_site_electricity_kw + total_site_electricity_kw += [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10] + total_site_electricity_kw += [10, 10, 10, 10, 12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10] + total_site_electricity_kw += [10, 10, 10, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10] + total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10] + total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10] + total_site_electricity_kw += [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 19, + 10, 10, 10] + + [temperature, total_site_electricity_kw] end def _daily_heating_temperatures @@ -266,7 +234,7 @@ def _daily_heating_temperatures lower = 0 upper = measure.seasons['winter'][1].to_i - return (lower..upper).to_a.sample(24) # random 24 hours of heating temperatures + (lower..upper).to_a.sample(24) # random 24 hours of heating temperatures end def _daily_cooling_temperatures @@ -275,7 +243,7 @@ def _daily_cooling_temperatures lower = measure.seasons['summer'][0].to_i upper = 100 - return (lower..upper).to_a.sample(24) # random 24 hours of cooling temperatures + (lower..upper).to_a.sample(24) # random 24 hours of cooling temperatures end def _daily_overlap_temperatures @@ -284,22 +252,22 @@ def _daily_overlap_temperatures lower = measure.seasons['shoulder'][0].to_i upper = measure.seasons['shoulder'][1].to_i - return (lower..upper).to_a.sample(24) # random 24 hours of overlap temperatures + (lower..upper).to_a.sample(24) # random 24 hours of overlap temperatures end def test_bldg_retail_resforcedair test_name = 'test_bldg_retail_resforcedair' puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/retail_2010.osm' - epw_path = File.dirname(__FILE__) + '/USA_MI_Detroit.City.725375_2012.epw' + osm_path = "#{__dir__}/retail_2010.osm" + epw_path = "#{__dir__}/USA_MI_Detroit.City.725375_2012.epw" assert(run_test(test_name, osm_path, epw_path)) end def test_bldg_cold_climate test_name = 'test_bldg_cold_climate' puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/cold_climate.osm' - epw_path = File.dirname(__FILE__) + '/cold_climate.epw' + osm_path = "#{__dir__}/cold_climate.osm" + epw_path = "#{__dir__}/cold_climate.epw" assert(run_test(test_name, osm_path, epw_path)) end end From 6378fa49611e9f7947270c388fecde8b9be4e3ed Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 15:47:21 -0600 Subject: [PATCH 05/23] RunDirectoryCleanup rubocop --- measures/run_directory_cleanup/measure.rb | 91 +++++++++++----------- measures/run_directory_cleanup/measure.xml | 6 +- 2 files changed, 48 insertions(+), 49 deletions(-) diff --git a/measures/run_directory_cleanup/measure.rb b/measures/run_directory_cleanup/measure.rb index 435958d67..4eb0da795 100644 --- a/measures/run_directory_cleanup/measure.rb +++ b/measures/run_directory_cleanup/measure.rb @@ -1,5 +1,6 @@ # ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. + require 'fileutils' # start the measure @@ -7,63 +8,61 @@ class RunDirectoryCleanup < OpenStudio::Measure::ReportingMeasure # define the name that a user will see, this method may be deprecated as # the display name in PAT comes from the name field in measure.xml def name - "Run Directory Cleanup" + 'Run Directory Cleanup' end # define the arguments that the user will input - def arguments(model = nil) - args = OpenStudio::Ruleset::OSArgumentVector.new - end # end the arguments method + def arguments(_model = nil) + OpenStudio::Ruleset::OSArgumentVector.new + end # define what happens when the measure is run def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - unless runner.validateUserArguments(arguments, user_arguments) - false - end + false unless runner.validateUserArguments(arguments, user_arguments) # Specify file patterns to delete del_patterns = [ # Top-level files - "./../*.epw", - "./../*.sql", - "./../*.audit", - "./../*.bnd", - "./../*.eio", - "./../*.shd", - "./../*.mdd", - "./../*.eso", - "./../pre-preprocess.idf", - "./../*.end", - "./../*.mtd", - "./../eplusssz.csv", - "./../*.mtr", - "./../*.rvi", - "./../convert.txt", - "./../convertESOMTR*", - "./../ReadVarsESO*", - "./../data_point.zip", + './../*.epw', + './../*.sql', + './../*.audit', + './../*.bnd', + './../*.eio', + './../*.shd', + './../*.mdd', + './../*.eso', + './../pre-preprocess.idf', + './../*.end', + './../*.mtd', + './../eplusssz.csv', + './../*.mtr', + './../*.rvi', + './../convert.txt', + './../convertESOMTR*', + './../ReadVarsESO*', + './../data_point.zip', # Sizing run files - "./../**/*SR*/**/*.epw", - "./../**/*SR*/**/*.sql", - "./../**/*SR*/**/*.audit", - "./../**/*SR*/**/*.bnd", - "./../**/*SR*/**/*.eio", - "./../**/*SR*/**/*.shd", - "./../**/*SR*/**/*.mdd", - "./../**/*SR*/**/*.eso", - "./../**/*SR*/**/pre-preprocess.idf", - "./../**/*SR*/**/*.end", - "./../**/*SR*/**/*.mtd", - "./../**/*SR*/**/eplusssz.csv", - "./../**/*SR*/**/*.mtr", - "./../**/*SR*/**/*.rvi", - "./../**/*SR*/**/convert.txt", - "./../**/*SR*/**/convertESOMTR*", - "./../**/*SR*/**/ReadVarsESO*", - "./../**/*SR*/**/data_point.zip" + './../**/*SR*/**/*.epw', + './../**/*SR*/**/*.sql', + './../**/*SR*/**/*.audit', + './../**/*SR*/**/*.bnd', + './../**/*SR*/**/*.eio', + './../**/*SR*/**/*.shd', + './../**/*SR*/**/*.mdd', + './../**/*SR*/**/*.eso', + './../**/*SR*/**/pre-preprocess.idf', + './../**/*SR*/**/*.end', + './../**/*SR*/**/*.mtd', + './../**/*SR*/**/eplusssz.csv', + './../**/*SR*/**/*.mtr', + './../**/*SR*/**/*.rvi', + './../**/*SR*/**/convert.txt', + './../**/*SR*/**/convertESOMTR*', + './../**/*SR*/**/ReadVarsESO*', + './../**/*SR*/**/data_point.zip' ] # Delete files @@ -74,9 +73,9 @@ def run(runner, user_arguments) end end - return true - end # end the run method -end # end the measure + true + end +end # this allows the measure to be use by the application RunDirectoryCleanup.new.registerWithApplication diff --git a/measures/run_directory_cleanup/measure.xml b/measures/run_directory_cleanup/measure.xml index dc1772f6c..e974d9fda 100644 --- a/measures/run_directory_cleanup/measure.xml +++ b/measures/run_directory_cleanup/measure.xml @@ -3,8 +3,8 @@ 3.1 run_directory_cleanup 3146d7e2-a2cc-4611-a8e1-cccd16e7143e - eb4b3690-3714-4b6a-830d-aec68898a4f9 - 2023-10-17T11:28:49Z + c5ce8c82-6240-418b-9fa9-4de7d1db5f40 + 2024-10-28T21:47:03Z 5F1EDF75 RunDirectoryCleanup Run Directory Cleanup @@ -38,7 +38,7 @@ measure.rb rb script - 91E9820E + 86CC3616 From 93cf7a75da1782bf2e78c51149ab5f7b7f0ea225 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 15:58:57 -0600 Subject: [PATCH 06/23] simulation settings check rubocop --- measures/simulation_settings_check/measure.rb | 134 ++++++++---------- .../simulation_settings_check/measure.xml | 10 +- ...t.rb => simulation_settings_check_test.rb} | 70 ++++----- test/reporting_measure_tests.txt | 4 +- 4 files changed, 91 insertions(+), 127 deletions(-) rename measures/simulation_settings_check/tests/{measure_test.rb => simulation_settings_check_test.rb} (73%) diff --git a/measures/simulation_settings_check/measure.rb b/measures/simulation_settings_check/measure.rb index 23c83831d..3e428b512 100644 --- a/measures/simulation_settings_check/measure.rb +++ b/measures/simulation_settings_check/measure.rb @@ -1,31 +1,27 @@ # ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# see the URL below for information on how to write OpenStudio measures -# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/ - require 'erb' -#start the measure +# start the measure class SimulationSettingsCheck < OpenStudio::Measure::ReportingMeasure - # human readable name def name - return "Simulation Settings Check" + 'Simulation Settings Check' end # human readable description def description - return "Checks year, start day of week, daylight savings, leap year, and timestep inputs and outputs" + 'Checks year, start day of week, daylight savings, leap year, and timestep inputs and outputs' end # human readable description of modeling approach def modeler_description - return "Checks year, start day of week, daylight savings, leap year, and timestep inputs and outputs" + 'Checks year, start day of week, daylight savings, leap year, and timestep inputs and outputs' end # define the arguments that the user will input - def arguments(model = nil) + def arguments(_model = nil) args = OpenStudio::Measure::OSArgumentVector.new # make an argument to toggle QAQC @@ -34,7 +30,7 @@ def arguments(model = nil) run_sim_settings_checks.setDescription('If set to true, will run the measure, which adds output variables and increases runtime.') run_sim_settings_checks.setDefaultValue(false) args << run_sim_settings_checks - return args + args end # return a vector of IdfObject's to request EnergyPlus objects needed by the run method @@ -44,15 +40,13 @@ def energyPlusOutputRequests(runner, user_arguments) result = OpenStudio::IdfObjectVector.new run_sim_settings_checks = runner.getBoolArgumentValue('run_sim_settings_checks', user_arguments) - unless run_sim_settings_checks - return result - end + return result unless run_sim_settings_checks - result << OpenStudio::IdfObject.load("Output:Variable,*,Site Day Type Index,Hourly;").get - result << OpenStudio::IdfObject.load("Output:Variable,*,Site Daylight Saving Time Status,hourly;").get - result << OpenStudio::IdfObject.load("Output:Variable,*,Site Outdoor Air Drybulb Temperature,timestep;").get + result << OpenStudio::IdfObject.load('Output:Variable,*,Site Day Type Index,Hourly;').get + result << OpenStudio::IdfObject.load('Output:Variable,*,Site Daylight Saving Time Status,hourly;').get + result << OpenStudio::IdfObject.load('Output:Variable,*,Site Outdoor Air Drybulb Temperature,timestep;').get - return result + result end # define what happens when the measure is run @@ -60,26 +54,22 @@ def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments(), user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments, user_arguments) run_sim_settings_checks = runner.getBoolArgumentValue('run_sim_settings_checks', user_arguments) - unless run_sim_settings_checks - return true - end + return true unless run_sim_settings_checks # get the last model and sql file model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Cannot find last model.") + runner.registerError('Cannot find last model.') return false end model = model.get sql = runner.lastEnergyPlusSqlFile if sql.empty? - runner.registerError("Cannot find last sql file.") + runner.registerError('Cannot find last sql file.') return false end sql = sql.get @@ -89,17 +79,15 @@ def run(runner, user_arguments) ann_env_pd = nil sql.availableEnvPeriods.each do |env_pd| env_type = sql.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new("WeatherRunPeriod") - ann_env_pd = env_pd - break - end + if env_type.is_initialized && (env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod')) + ann_env_pd = env_pd + break end end # Make sure an annual simulation was run if ann_env_pd.nil? - runner.registerError("No annual environment period found, cannot perform checks.") + runner.registerError('No annual environment period found, cannot perform checks.') return false end @@ -149,11 +137,11 @@ def run(runner, user_arguments) end # Get the year from the sql file directly - if model.version < OpenStudio::VersionString.new('3.0.0') - yr_query = 'SELECT year FROM time WHERE TimeIndex == 1' - else - yr_query = 'SELECT year FROM time LIMIT 1' - end + yr_query = if model.version < OpenStudio::VersionString.new('3.0.0') + 'SELECT year FROM time WHERE TimeIndex == 1' + else + 'SELECT year FROM time LIMIT 1' + end sql_yr = sql.execAndReturnFirstInt(yr_query) if sql_yr.empty? runner.registerError('Could not determine simulation year from sql file times, cannot perform checks.') @@ -164,8 +152,8 @@ def run(runner, user_arguments) # Check daylight savings inputs # If DST object is present in the model, that takes precedence. # If no DST object is present, EnergyPlus falls back on the - # "Use Weather File Daylight Saving Period" field in the RunPeriod object. - run_period_daylt_svgs_objs = model.getObjectsByType("OS:RunPeriodControl:DaylightSavingTime".to_IddObjectType) + # 'Use Weather File Daylight Saving Period' field in the RunPeriod object. + run_period_daylt_svgs_objs = model.getObjectsByType('OS:RunPeriodControl:DaylightSavingTime'.to_IddObjectType) run_period = model.getRunPeriod if run_period_daylt_svgs_objs.empty? if run_period.getUseWeatherFileDaylightSavings @@ -200,13 +188,13 @@ def run(runner, user_arguments) hrs_simulated = hrs_simulated.get hrs_simulated_output_status = "Simulation was #{hrs_simulated} hrs." else - runner.registerError("Could not determine number of hours simulated from sql file, cannot perform checks.") + runner.registerError('Could not determine number of hours simulated from sql file, cannot perform checks.') return false end # Warn if other than 8760 hrs simulated unless hrs_simulated == 8760.0 - hrs_simulated_warning = "Expected 8760 for annual simulation." + hrs_simulated_warning = 'Expected 8760 for annual simulation.' runner.registerWarning(hrs_simulated_warning) end @@ -247,18 +235,18 @@ def run(runner, user_arguments) # Get the day of week of the first timestep day_type_to_name = { - 1 => 'Sunday', - 2 => 'Monday', - 3 => 'Tuesday', - 4 => 'Wednesday', - 5 => 'Thursday', - 6 => 'Friday', - 7 => 'Saturday', - 8 => 'Holiday', - 9 => 'SummerDesignDay', - 10 => 'WinterDesignDay', - 11 => 'CustomDay1', - 12 => 'CustomDay2' + 1 => 'Sunday', + 2 => 'Monday', + 3 => 'Tuesday', + 4 => 'Wednesday', + 5 => 'Thursday', + 6 => 'Friday', + 7 => 'Saturday', + 8 => 'Holiday', + 9 => 'SummerDesignDay', + 10 => 'WinterDesignDay', + 11 => 'CustomDay1', + 12 => 'CustomDay2' } puts "day_types[0] = #{day_types[0].to_i}" output_start_day = day_type_to_name[day_types[0].to_i] @@ -273,11 +261,11 @@ def run(runner, user_arguments) # Check leap year input input_is_leap_yr = yr_desc.isLeapYear - if input_is_leap_yr - leap_year_input_status = "Year is set to #{yr}, which IS a leap year." - else - leap_year_input_status = "Year is set to #{yr}, which is NOT a leap year." - end + leap_year_input_status = if input_is_leap_yr + "Year is set to #{yr}, which IS a leap year." + else + "Year is set to #{yr}, which is NOT a leap year." + end # Check leap year via output output_is_leap_yr = false @@ -293,14 +281,15 @@ def run(runner, user_arguments) ### workaround ### next unless date.monthOfYear.value == 2 # February next unless date.dayOfMonth == 29 # Feb 29 + output_is_leap_yr = true break end - if output_is_leap_yr - leap_year_output_status = "E+ output DOES have values for February 29th, so it IS running as a leap year." - else - leap_year_output_status = "E+ output does NOT have values for February 29th, so it is NOT running as a leap year." - end + leap_year_output_status = if output_is_leap_yr + 'E+ output DOES have values for February 29th, so it IS running as a leap year.' + else + 'E+ output does NOT have values for February 29th, so it is NOT running as a leap year.' + end # Warn if different input and output leap year info doesn't match unless input_is_leap_yr == output_is_leap_yr @@ -310,12 +299,9 @@ def run(runner, user_arguments) # read in template html_in_path = "#{File.dirname(__FILE__)}/resources/report.html.erb" - if File.exist?(html_in_path) - html_in_path = html_in_path - else - html_in_path = "#{File.dirname(__FILE__)}/report.html.erb" - end - html_in = "" + html_in_path = "#{File.dirname(__FILE__)}/report.html.erb" unless File.exist?(html_in_path) + + html_in = '' File.open(html_in_path, 'r') do |file| html_in = file.read end @@ -326,27 +312,25 @@ def run(runner, user_arguments) html_out = renderer.result(binding) # write html file - html_out_path = "./report.html" + html_out_path = './report.html' File.open(html_out_path, 'w') do |file| file << html_out # make sure data is written to the disk one way or the other begin file.fsync - rescue + rescue StandardError file.flush end end - #closing the sql file + # closing the sql file sql.close - #reporting final condition + # reporting final condition runner.registerFinalCondition("Generated #{html_out_path}.") - return true - + true end - end # register the measure to be used by the application diff --git a/measures/simulation_settings_check/measure.xml b/measures/simulation_settings_check/measure.xml index a22e0f509..d6f9c65d3 100644 --- a/measures/simulation_settings_check/measure.xml +++ b/measures/simulation_settings_check/measure.xml @@ -3,8 +3,8 @@ 3.1 simulation_settings_check a99c4877-cc7e-44a7-bf37-90bc367974d9 - e79c3257-f9ad-4139-b4b5-139244f01673 - 2024-06-20T18:59:04Z + 47b97739-a45d-415a-9a98-745c15140e0e + 2024-10-28T21:57:24Z DBF01422 SimulationSettingsCheck Simulation Settings Check @@ -133,7 +133,7 @@ measure.rb rb script - 212DA46F + 60FC20AF report.html.erb @@ -160,10 +160,10 @@ BDF687C1 - measure_test.rb + simulation_settings_check_test.rb rb test - E540D2FD + C7C5F32F diff --git a/measures/simulation_settings_check/tests/measure_test.rb b/measures/simulation_settings_check/tests/simulation_settings_check_test.rb similarity index 73% rename from measures/simulation_settings_check/tests/measure_test.rb rename to measures/simulation_settings_check/tests/simulation_settings_check_test.rb index ece74435d..f361e23c2 100644 --- a/measures/simulation_settings_check/tests/measure_test.rb +++ b/measures/simulation_settings_check/tests/simulation_settings_check_test.rb @@ -1,43 +1,40 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. +# dependencies +require 'fileutils' +require 'minitest/autorun' require 'openstudio' require 'openstudio/measure/ShowRunnerOutput' -require 'minitest/autorun' - -require_relative '../../../test/helpers/minitest_helper' -require_relative '../measure.rb' - -require 'fileutils' - -class SimulationSettingsCheck_Test < MiniTest::Unit::TestCase +require_relative '../measure' +class SimulationSettingsCheckTest < MiniTest::Unit::TestCase def model_in_path_default - return "#{File.dirname(__FILE__)}/MediumOffice.osm" + "#{__dir__}/MediumOffice.osm" end def epw_path_default # make sure we have a weather data location - epw = OpenStudio::Path.new(File.expand_path("#{File.dirname(__FILE__)}/USA_CO_Golden-NREL.724666_TMY3.epw")) + epw = OpenStudio::Path.new(File.expand_path("#{__dir__}/USA_CO_Golden-NREL.724666_TMY3.epw")) assert(File.exist?(epw.to_s)) - return epw.to_s + epw.to_s end def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{File.dirname(__FILE__)}/output/#{test_name}" + "#{__dir__}/output/#{test_name}" end def model_out_path(test_name) - return "#{run_dir(test_name)}/example_model.osm" + "#{run_dir(test_name)}/example_model.osm" end def sql_path(test_name) - return "#{run_dir(test_name)}/run/eplusout.sql" + "#{run_dir(test_name)}/run/eplusout.sql" end def report_path(test_name) - return "#{run_dir(test_name)}/report.html" + "#{run_dir(test_name)}/report.html" end # method for running the test simulation using OpenStudio 2.x API @@ -58,42 +55,30 @@ def setup_test_2(test_name, epw_path) # create test files if they do not exist when the test first runs def setup_test(test_name, idf_output_requests, model_in_path = model_in_path_default, epw_path = epw_path_default) - - if !File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) - - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end - + FileUtils.rm_f(report_path(test_name)) assert(File.exist?(model_in_path)) - - if File.exist?(model_out_path(test_name)) - FileUtils.rm(model_out_path(test_name)) - end + FileUtils.rm_f(model_out_path(test_name)) # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new("Draft".to_StrictnessLevel, "EnergyPlus".to_IddFileType) + workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) workspace.addObjects(idf_output_requests) rt = OpenStudio::EnergyPlus::ReverseTranslator.new request_model = rt.translateWorkspace(workspace) translator = OpenStudio::OSVersion::VersionTranslator.new model = translator.loadModel(model_in_path) - assert((not model.empty?)) + assert(!model.empty?) model = model.get model.addObjects(request_model.objects) model.save(model_out_path(test_name), true) setup_test_2(test_name, epw_path) - end def test_med_off - - test_name = "test_med_off" + test_name = 'test_med_off' # create an instance of the measure measure = SimulationSettingsCheck.new @@ -103,7 +88,7 @@ def test_med_off runner = OpenStudio::Measure::OSRunner.new(osw) # get arguments - arguments = measure.arguments() + arguments = measure.arguments argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) # create hash of argument values. @@ -116,15 +101,13 @@ def test_med_off # populate argument with specified hash value if specified arguments.each do |arg| temp_arg_var = arg.clone - if args_hash.key?(arg.name) - assert(temp_arg_var.setValue(args_hash[arg.name])) - end + assert(temp_arg_var.setValue(args_hash[arg.name])) if args_hash.key?(arg.name) argument_map[arg.name] = temp_arg_var end # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - #assert_equal(2, idf_output_requests.size) + # assert_equal(2, idf_output_requests.size) # mimic the process of running this measure in OS App or PAT. Optionally set custom model_in_path and custom epw_path. epw_path = epw_path_default @@ -140,9 +123,7 @@ def test_med_off runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end + FileUtils.rm_f(report_path(test_name)) assert(!File.exist?(report_path(test_name))) # temporarily change directory to the run directory and run the measure @@ -154,8 +135,8 @@ def test_med_off measure.run(runner, argument_map) result = runner.result show_output(result) - assert_equal("Success", result.value.valueName) - assert(result.warnings.size == 0) + assert_equal('Success', result.value.valueName) + assert(result.warnings.empty?) ensure Dir.chdir(start_dir) end @@ -163,5 +144,4 @@ def test_med_off # make sure the report file exists assert(File.exist?(report_path(test_name))) end - end diff --git a/test/reporting_measure_tests.txt b/test/reporting_measure_tests.txt index 6650c36ad..b858a94b6 100644 --- a/test/reporting_measure_tests.txt +++ b/test/reporting_measure_tests.txt @@ -1,5 +1,5 @@ measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb -measures/emissions_reporting/tests/EmissionsReporting_Test.rb +measures/emissions_reporting/tests/emissions_reporting_test.rb measures/qoi_report/tests/qoi_report_test.rb -measures/simulation_settings_check/tests/measure_test.rb +measures/simulation_settings_check/tests/simulation_settings_check_test.rb measures/TimeseriesCSVExport/tests/Measure_Test.rb From d573cd9b1c29ec0a68f1833705a085d5ca7fcc97 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Mon, 28 Oct 2024 16:44:26 -0600 Subject: [PATCH 07/23] Simulation Output Report rubocop --- measures/SimulationOutputReport/measure.rb | 95 ++++++++++----------- measures/SimulationOutputReport/measure.xml | 6 +- 2 files changed, 47 insertions(+), 54 deletions(-) diff --git a/measures/SimulationOutputReport/measure.rb b/measures/SimulationOutputReport/measure.rb index 859ce42ff..2b5d5bbdd 100644 --- a/measures/SimulationOutputReport/measure.rb +++ b/measures/SimulationOutputReport/measure.rb @@ -5,22 +5,19 @@ # start the measure class SimulationOutputReport < OpenStudio::Ruleset::ReportingUserScript - # define the name that a user will see, this method may be deprecated as # the display name in PAT comes from the name field in measure.xml def name - return 'Simulation Output Report' + 'Simulation Output Report' end def description - return 'Reports simulation outputs of interest.' + 'Reports simulation outputs of interest.' end # define the arguments that the user will input - def arguments(model=nil) - args = OpenStudio::Ruleset::OSArgumentVector.new - - return args + def arguments(_model = nil) + OpenStudio::Ruleset::OSArgumentVector.new end def outputs @@ -68,7 +65,7 @@ def outputs buildstock_outputs.each do |output| result << OpenStudio::Measure::OSOutput.makeDoubleOutput(output) end - return result + result end # define what happens when the measure is run @@ -76,9 +73,7 @@ def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - unless runner.validateUserArguments(arguments(), user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments, user_arguments) # get the last model and sql file model = runner.lastOpenStudioModel @@ -159,15 +154,15 @@ def run(runner, user_arguments) # OTHER FUEL (Propane and FuelOil#2 fall into this category) # Sum all other fuels for each end use end_uses = { - 'Total End Uses'=> [], - 'Heating'=> [], - 'Interior Equipment'=> [], - 'Water Systems'=> [] + 'Total End Uses' => [], + 'Heating' => [], + 'Interior Equipment' => [], + 'Water Systems' => [] } other_fuels = ['Gasoline', 'Diesel', 'Coal', 'Fuel Oil No 1', 'Fuel Oil No 2', 'Propane', 'Other Fuel 1', 'Other Fuel 2'] - end_uses.keys.each do |end_use| + end_uses.each_key do |end_use| other_fuels.each do |fuel| - # TODO replace with built-in OS queries once https://github.com/NREL/OpenStudio/issues/4705 is fixed + # TODO: replace with built-in OS queries once https://github.com/NREL/OpenStudio/issues/4705 is fixed q = "SELECT Value FROM TabularDataWithStrings WHERE (reportname = 'AnnualBuildingUtilityPerformanceSummary') AND (ReportForString = 'Entire Facility') @@ -207,12 +202,12 @@ def run(runner, user_arguments) runner.registerInfo("Registering #{cooling_capacity_w.round(2)} for hvac_cooling_capacity_w.") heating_capacity_lkup = { - 'Coil:Heating:DX:SingleSpeed': 'Design Size Gross Rated Heating Capacity', - 'AirLoopHVAC:UnitarySystem': 'Design Size Nominal Heating Capacity', - 'Coil:Heating:Electric': 'Design Size Nominal Capacity', - 'Coil:Heating:Fuel': 'Design Size Nominal Capacity', - 'Coil:Heating:Water': 'Design Size Rated Capacity', - 'ZONEHVAC:BASEBOARD:CONVECTIVE:ELECTRIC': 'Design Size Heating Design Capacity', + 'Coil:Heating:DX:SingleSpeed': 'Design Size Gross Rated Heating Capacity', + 'AirLoopHVAC:UnitarySystem': 'Design Size Nominal Heating Capacity', + 'Coil:Heating:Electric': 'Design Size Nominal Capacity', + 'Coil:Heating:Fuel': 'Design Size Nominal Capacity', + 'Coil:Heating:Water': 'Design Size Rated Capacity', + 'ZONEHVAC:BASEBOARD:CONVECTIVE:ELECTRIC': 'Design Size Heating Design Capacity' } # 'Boiler:HotWater': 'Design Size Nominal Capacity' <- this would double count boiler how water systems with boxes # but would include baseboard gas boiler radiators @@ -246,22 +241,24 @@ def run(runner, user_arguments) end # UPGRADE COSTS - upgrade_cost_name = 'upgrade_cost_usd' # Get upgrade cost value/multiplier pairs from the upgrade measure cost_pairs = [] for option_num in 1..200 # Sync with ApplyUpgrade measure for cost_num in 1..2 # Sync with ApplyUpgrade measure - cost_value = get_value_from_runner_past_results(runner, "option_#{option_num}_cost_#{cost_num}_value_to_apply", 'apply_upgrade', false) - next if cost_value.nil? - cost_mult_type = get_value_from_runner_past_results(runner, "option_#{option_num}_cost_#{cost_num}_multiplier_to_apply", 'apply_upgrade', false) - next if cost_mult_type.nil? - cost_pairs << [cost_value.to_f, cost_mult_type] + cost_value_result = get_value_from_runner_past_results(runner, "option_#{option_num}_cost_#{cost_num}_value_to_apply", 'apply_upgrade', false) + next if cost_value_result.nil? + + cost_mult_type_result = get_value_from_runner_past_results(runner, "option_#{option_num}_cost_#{cost_num}_multiplier_to_apply", 'apply_upgrade', false) + + next if cost_mult_type_result.nil? + + cost_pairs << [cost_value_result.to_f, cost_mult_type_result] end end - if cost_pairs.size.zero? + if cost_pairs.empty? runner.registerValue(upgrade_cost_name, '') runner.registerInfo("Registering (blank) for #{upgrade_cost_name}.") return true @@ -288,8 +285,10 @@ def run(runner, user_arguments) next if surface.outsideBoundaryCondition.downcase != 'ground' next unless surface.adjacentSurface.is_initialized next unless surface.adjacentSurface.get.space.is_initialized + adjacent_space = surface.adjacentSurface.get.space.get next unless Geometry.space_is_finished(adjacent_space) + floor_area += surface.grossArea end cost_mult = OpenStudio.convert(floor_area, 'm^2', 'ft^2').get @@ -341,27 +340,21 @@ def run(runner, user_arguments) sql_query = "SELECT Value FROM TabularDataWithStrings WHERE ReportName='EnvelopeSummary' AND ReportForString='Entire Facility' AND TableName='Exterior Door' AND ColumnName='Gross Area' AND Units='m2'" sql_results = sql_file.execAndReturnVectorOfDouble(sql_query) if sql_results.is_initialized - sql_results.get.each do |sql_result| - cost_mult += OpenStudio.convert(sql_result, 'm^2', 'ft^2').get + sql_results.get.each do |sql_result_door| + cost_mult += OpenStudio.convert(sql_result_door, 'm^2', 'ft^2').get end end elsif cost_mult_type == 'Water Heater Tank Size (gal)' sql_query = "SELECT Value FROM TabularDataWithStrings WHERE ReportName='EquipmentSummary' AND ReportForString='Entire Facility' AND TableName='Service Water Heating' AND ColumnName='Storage Volume' AND Units='m3'" sql_result = sql_file.execAndReturnFirstDouble(sql_query) - if sql_result.is_initialized - cost_mult = OpenStudio.convert(sql_result.get, 'm^3', 'gal').get - end + cost_mult = OpenStudio.convert(sql_result.get, 'm^3', 'gal').get if sql_result.is_initialized elsif cost_mult_type == 'HVAC Cooling Capacity (kBtuh)' - if cooling_capacity_w.is_initialized - cost_mult = OpenStudio.convert(cooling_capacity_w.get, 'W', 'kBtu/h').get - end + cost_mult = OpenStudio.convert(cooling_capacity_w.get, 'W', 'kBtu/h').get if cooling_capacity_w.is_initialized elsif cost_mult_type == 'HVAC Heating Capacity (kBtuh)' - if heating_capacity_w.is_initialized - cost_mult = OpenStudio.convert(heating_capacity_w.get, 'W', 'kBtu/h').get - end + cost_mult = OpenStudio.convert(heating_capacity_w.get, 'W', 'kBtu/h').get if heating_capacity_w.is_initialized elsif cost_mult_type != '' runner.registerError("Unhandled cost multiplier: #{cost_mult_type}. Aborting...") @@ -375,30 +368,30 @@ def run(runner, user_arguments) runner.registerValue(upgrade_cost_name, upgrade_cost_str) runner.registerInfo("Registering #{upgrade_cost_str} for #{upgrade_cost_name}.") - sql_file.close() + sql_file.close runner.registerFinalCondition('Report generated successfully.') - return true + true end # end the run method - def report_sim_output(runner, name, vals, os_units, desired_units, percent_of_val=1.0) + def report_sim_output(runner, name, vals, os_units, desired_units, percent_of_val = 1.0) total_val = 0.0 vals.each do |val| next if val.empty? + total_val += val.get * percent_of_val end - if os_units.nil? || desired_units.nil? || os_units == desired_units - val_in_units = total_val - else - val_in_units = OpenStudio.convert(total_val, os_units, desired_units).get - end + val_in_units = if os_units.nil? || desired_units.nil? || os_units == desired_units + total_val + else + OpenStudio.convert(total_val, os_units, desired_units).get + end runner.registerValue(name, val_in_units) runner.registerInfo("Registering #{val_in_units.round(2)} for #{name}.") end - -end # end the measure +end # this allows the measure to be use by the application SimulationOutputReport.new.registerWithApplication diff --git a/measures/SimulationOutputReport/measure.xml b/measures/SimulationOutputReport/measure.xml index 17efc9807..928610269 100644 --- a/measures/SimulationOutputReport/measure.xml +++ b/measures/SimulationOutputReport/measure.xml @@ -3,8 +3,8 @@ 3.1 simulation_output_report fc337100-8634-404e-8966-01243d292a79 - 1a2eb5fe-3c0c-4148-84a9-085cf52aaf99 - 2023-10-16T20:22:24Z + a8aaa3bb-9a1e-4c08-8935-9e014d059e20 + 2024-10-28T22:43:52Z 2C8A3EEF SimulationOutputReport Simulation Output Report @@ -319,7 +319,7 @@ measure.rb rb script - 52BF06E5 + F5E217AF From 91d5fc8477d05164846b8deb1626bbb66068c4ad Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Tue, 29 Oct 2024 17:08:04 -0600 Subject: [PATCH 08/23] TimeseriesCSVExport rubocop also remove unused resource files --- measures/TimeseriesCSVExport/measure.rb | 325 ++- measures/TimeseriesCSVExport/measure.xml | 48 +- .../resources/constants.rb | 1175 ----------- .../resources/psychrometrics.rb | 927 --------- .../resources/unit_conversions.rb | 115 -- .../TimeseriesCSVExport/resources/util.rb | 1751 ----------------- .../TimeseriesCSVExport/resources/weather.rb | 572 ------ ..._Test.rb => timeseries_csv_export_test.rb} | 279 +-- test/reporting_measure_tests.txt | 2 +- 9 files changed, 275 insertions(+), 4919 deletions(-) delete mode 100644 measures/TimeseriesCSVExport/resources/constants.rb delete mode 100644 measures/TimeseriesCSVExport/resources/psychrometrics.rb delete mode 100644 measures/TimeseriesCSVExport/resources/unit_conversions.rb delete mode 100644 measures/TimeseriesCSVExport/resources/util.rb delete mode 100644 measures/TimeseriesCSVExport/resources/weather.rb rename measures/TimeseriesCSVExport/tests/{Measure_Test.rb => timeseries_csv_export_test.rb} (57%) diff --git a/measures/TimeseriesCSVExport/measure.rb b/measures/TimeseriesCSVExport/measure.rb index 5b969dc8a..cae863c34 100644 --- a/measures/TimeseriesCSVExport/measure.rb +++ b/measures/TimeseriesCSVExport/measure.rb @@ -12,13 +12,12 @@ require 'rbconfig' require 'date' require 'time' -require "#{File.dirname(__FILE__)}/resources/weather" +# require "#{File.dirname(__FILE__)}/resources/weather" -#start the measure +# start the measure class TimeseriesCSVExport < OpenStudio::Measure::ReportingMeasure - def os - @os ||= ( + @os ||= begin host_os = RbConfig::CONFIG['host_os'] case host_os when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ @@ -32,143 +31,141 @@ def os else raise Error::WebDriverError, "unknown os: #{host_os.inspect}" end - ) + end end # human readable name def name - return "Timeseries CSV Export" + 'Timeseries CSV Export' end # human readable description def description - return "Exports all available hourly timeseries enduses to csv, and uses them for utility bill calculations." + 'Exports all available hourly timeseries enduses to csv, and uses them for utility bill calculations.' end # human readable description of modeling approach def modeler_description - return "Exports all available hourly timeseries enduses to csv, and uses them for utility bill calculations." + 'Exports all available hourly timeseries enduses to csv, and uses them for utility bill calculations.' end def fuel_types - fuel_types = ['Electricity', - 'NaturalGas', - 'DistrictCooling', - 'DistrictHeatingWater', - 'Water', - 'FuelOilNo2', - 'Propane'] - return fuel_types + ['Electricity', + 'NaturalGas', + 'DistrictCooling', + 'DistrictHeatingWater', + 'Water', + 'FuelOilNo2', + 'Propane'] end def end_uses - end_uses = ['Heating', - 'Cooling', - 'InteriorLights', - 'ExteriorLights', - 'InteriorEquipment', - 'ExteriorEquipment', - 'Fans', - 'Pumps', - 'HeatRejection', - 'Humidification', - 'HeatRecovery', - 'WaterSystems', - 'Refrigeration', - 'Generators', - 'Facility'] - return end_uses + ['Heating', + 'Cooling', + 'InteriorLights', + 'ExteriorLights', + 'InteriorEquipment', + 'ExteriorEquipment', + 'Fans', + 'Pumps', + 'HeatRejection', + 'Humidification', + 'HeatRecovery', + 'WaterSystems', + 'Refrigeration', + 'Generators', + 'Facility'] end def end_use_subcats - end_use_subcats = ['ResPublicArea:InteriorEquipment:Electricity', - 'ResPublicArea:InteriorLights:Electricity', - 'Elevators:InteriorEquipment:Electricity'] + ['ResPublicArea:InteriorEquipment:Electricity', + 'ResPublicArea:InteriorLights:Electricity', + 'Elevators:InteriorEquipment:Electricity'] end def header_line_edits(line) new_line = line - new_line = new_line.gsub('Timestep','') - new_line = new_line.gsub('TimeStep','') - new_line = new_line.gsub('timestep','') - new_line = new_line.gsub('Hourly','') - new_line = new_line.gsub('hourly','') - new_line = new_line.gsub('Daily','') - new_line = new_line.gsub('daily','') - new_line = new_line.gsub('Monthly','') - new_line = new_line.gsub('monthly','') - new_line = new_line.gsub('RunPeriod','') - new_line = new_line.gsub('runperiod','') - new_line = new_line.gsub('Date/Time','Time') - new_line = new_line.gsub('Heating:Electricity [kWh]','electricity_heating_kwh') - new_line = new_line.gsub('Heating:DistrictHeatingWater [kBtu]','districtheating_heating_kbtu') - new_line = new_line.gsub('Heating:NaturalGas [kBtu]','gas_heating_kbtu') - new_line = new_line.gsub('Heating:Propane [kBtu]','propane_heating_kbtu') - new_line = new_line.gsub('Heating:FuelOilNo2 [kBtu]','fueloil_heating_kbtu') - new_line = new_line.gsub('Cooling:Electricity [kWh]','electricity_cooling_kwh') - new_line = new_line.gsub('Cooling:DistrictCooling [kBtu]','districtcooling_cooling_kbtu') - new_line = new_line.gsub('Cooling:Water [gal]','cooling_gal') - new_line = new_line.gsub('InteriorLights:Electricity [kWh]','electricity_interior_lighting_kwh') - new_line = new_line.gsub('ExteriorLights:Electricity [kWh]','electricity_exterior_lighting_kwh') - new_line = new_line.gsub('Elevators:InteriorEquipment:Electricity [kWh]','electricity_elevators_interior_equipment_kwh') - new_line = new_line.gsub('InteriorEquipment:Electricity [kWh]','electricity_interior_equipment_kwh') - new_line = new_line.gsub('InteriorEquipment:NaturalGas [kBtu]','gas_interior_equipment_kbtu') - new_line = new_line.gsub('ExteriorEquipment:Electricity [kWh]','electricity_exterior_equipment_kwh') - new_line = new_line.gsub('ExteriorEquipment:NaturalGas [kBtu]','gas_exterior_equipment_kbtu') - new_line = new_line.gsub('ResPublicArea:InteriorEquipment:Electricity [kWh]','electricity_respublicarea_interior_equipment_kwh') - new_line = new_line.gsub('ResPublicArea:InteriorLights:Electricity [kWh]','electricity_respublicarea_interior_lighting_kwh') - new_line = new_line.gsub('Fans:Electricity [kWh]','electricity_fans_kwh') - new_line = new_line.gsub('Pumps:Electricity [kWh]','electricity_pumps_kwh') - new_line = new_line.gsub('Refrigeration:Electricity [kWh]','electricity_refrigeration_kwh') - new_line = new_line.gsub('HeatRecovery:Electricity [kWh]','electricity_heat_recovery_kwh') - new_line = new_line.gsub('HeatRejection:Electricity [kWh]','electricity_heat_rejection_kwh') - new_line = new_line.gsub('HeatRejection:Water [gal]','heat_rejection_gal') - new_line = new_line.gsub('Humidification:Electricity [kWh]','electricity_humidification_kwh') - new_line = new_line.gsub('Generators:Electricity [kWh]','electricity_generators_kwh') - new_line = new_line.gsub('WaterSystems:Electricity [kWh]','electricity_water_systems_kwh') - new_line = new_line.gsub('WaterSystems:NaturalGas [kBtu]','gas_water_systems_kbtu') - new_line = new_line.gsub('WaterSystems:DistrictHeatingWater [kBtu]','districtheating_water_systems_kbtu') - new_line = new_line.gsub('WaterSystems:Propane [kBtu]','propane_water_systems_kbtu') - new_line = new_line.gsub('WaterSystems:FuelOilNo2 [kBtu]','fueloil_water_systems_kbtu') - new_line = new_line.gsub('WaterSystems:Water [gal]','water_systems_gal') - new_line = new_line.gsub('Electricity:Facility [kWh]','total_site_electricity_kwh') - new_line = new_line.gsub('DistrictCooling:Facility [kBtu]','total_site_districtcooling_kbtu') - new_line = new_line.gsub('DistrictHeatingWater:Facility [kBtu]','total_site_districtheating_kbtu') - new_line = new_line.gsub('NaturalGas:Facility [kBtu]','total_site_gas_kbtu') - new_line = new_line.gsub('FuelOilNo2:Facility [kBtu]','total_site_fueloil_kbtu') - new_line = new_line.gsub('Propane:Facility [kBtu]','total_site_propane_kbtu') - new_line = new_line.gsub('Water:Facility [gal]','total_site_water_gal') - new_line = new_line.gsub(':',' ') - new_line = new_line.gsub(' - ','') - new_line = new_line.gsub('#','') - new_line = new_line.gsub('[C]','_c') - new_line = new_line.gsub('[kgWater/kgDryAir]','') - new_line = new_line.gsub(' ','_') - new_line = new_line.gsub('__','_') - new_line = new_line.gsub('(','') - new_line = new_line.gsub(')','') + new_line = new_line.gsub('Timestep', '') + new_line = new_line.gsub('TimeStep', '') + new_line = new_line.gsub('timestep', '') + new_line = new_line.gsub('Hourly', '') + new_line = new_line.gsub('hourly', '') + new_line = new_line.gsub('Daily', '') + new_line = new_line.gsub('daily', '') + new_line = new_line.gsub('Monthly', '') + new_line = new_line.gsub('monthly', '') + new_line = new_line.gsub('RunPeriod', '') + new_line = new_line.gsub('runperiod', '') + new_line = new_line.gsub('Date/Time', 'Time') + new_line = new_line.gsub('Heating:Electricity [kWh]', 'electricity_heating_kwh') + new_line = new_line.gsub('Heating:DistrictHeatingWater [kBtu]', 'districtheating_heating_kbtu') + new_line = new_line.gsub('Heating:NaturalGas [kBtu]', 'gas_heating_kbtu') + new_line = new_line.gsub('Heating:Propane [kBtu]', 'propane_heating_kbtu') + new_line = new_line.gsub('Heating:FuelOilNo2 [kBtu]', 'fueloil_heating_kbtu') + new_line = new_line.gsub('Cooling:Electricity [kWh]', 'electricity_cooling_kwh') + new_line = new_line.gsub('Cooling:DistrictCooling [kBtu]', 'districtcooling_cooling_kbtu') + new_line = new_line.gsub('Cooling:Water [gal]', 'cooling_gal') + new_line = new_line.gsub('InteriorLights:Electricity [kWh]', 'electricity_interior_lighting_kwh') + new_line = new_line.gsub('ExteriorLights:Electricity [kWh]', 'electricity_exterior_lighting_kwh') + new_line = new_line.gsub('Elevators:InteriorEquipment:Electricity [kWh]', + 'electricity_elevators_interior_equipment_kwh') + new_line = new_line.gsub('InteriorEquipment:Electricity [kWh]', 'electricity_interior_equipment_kwh') + new_line = new_line.gsub('InteriorEquipment:NaturalGas [kBtu]', 'gas_interior_equipment_kbtu') + new_line = new_line.gsub('ExteriorEquipment:Electricity [kWh]', 'electricity_exterior_equipment_kwh') + new_line = new_line.gsub('ExteriorEquipment:NaturalGas [kBtu]', 'gas_exterior_equipment_kbtu') + new_line = new_line.gsub('ResPublicArea:InteriorEquipment:Electricity [kWh]', + 'electricity_respublicarea_interior_equipment_kwh') + new_line = new_line.gsub('ResPublicArea:InteriorLights:Electricity [kWh]', + 'electricity_respublicarea_interior_lighting_kwh') + new_line = new_line.gsub('Fans:Electricity [kWh]', 'electricity_fans_kwh') + new_line = new_line.gsub('Pumps:Electricity [kWh]', 'electricity_pumps_kwh') + new_line = new_line.gsub('Refrigeration:Electricity [kWh]', 'electricity_refrigeration_kwh') + new_line = new_line.gsub('HeatRecovery:Electricity [kWh]', 'electricity_heat_recovery_kwh') + new_line = new_line.gsub('HeatRejection:Electricity [kWh]', 'electricity_heat_rejection_kwh') + new_line = new_line.gsub('HeatRejection:Water [gal]', 'heat_rejection_gal') + new_line = new_line.gsub('Humidification:Electricity [kWh]', 'electricity_humidification_kwh') + new_line = new_line.gsub('Generators:Electricity [kWh]', 'electricity_generators_kwh') + new_line = new_line.gsub('WaterSystems:Electricity [kWh]', 'electricity_water_systems_kwh') + new_line = new_line.gsub('WaterSystems:NaturalGas [kBtu]', 'gas_water_systems_kbtu') + new_line = new_line.gsub('WaterSystems:DistrictHeatingWater [kBtu]', 'districtheating_water_systems_kbtu') + new_line = new_line.gsub('WaterSystems:Propane [kBtu]', 'propane_water_systems_kbtu') + new_line = new_line.gsub('WaterSystems:FuelOilNo2 [kBtu]', 'fueloil_water_systems_kbtu') + new_line = new_line.gsub('WaterSystems:Water [gal]', 'water_systems_gal') + new_line = new_line.gsub('Electricity:Facility [kWh]', 'total_site_electricity_kwh') + new_line = new_line.gsub('DistrictCooling:Facility [kBtu]', 'total_site_districtcooling_kbtu') + new_line = new_line.gsub('DistrictHeatingWater:Facility [kBtu]', 'total_site_districtheating_kbtu') + new_line = new_line.gsub('NaturalGas:Facility [kBtu]', 'total_site_gas_kbtu') + new_line = new_line.gsub('FuelOilNo2:Facility [kBtu]', 'total_site_fueloil_kbtu') + new_line = new_line.gsub('Propane:Facility [kBtu]', 'total_site_propane_kbtu') + new_line = new_line.gsub('Water:Facility [gal]', 'total_site_water_gal') + new_line = new_line.gsub(':', ' ') + new_line = new_line.gsub(' - ', '') + new_line = new_line.gsub('#', '') + new_line = new_line.gsub('[C]', '_c') + new_line = new_line.gsub('[kgWater/kgDryAir]', '') + new_line = new_line.gsub(' ', '_') + new_line = new_line.gsub('__', '_') + new_line = new_line.gsub('(', '') + new_line = new_line.gsub(')', '') new_line = new_line.downcase - new_line = new_line.gsub('ratio_','ratio') - new_line = new_line.gsub('time', 'Time,TimeDST,TimeUTC') - return new_line + new_line = new_line.gsub('ratio_', 'ratio') + new_line.gsub('time', 'Time,TimeDST,TimeUTC') end def datetime_edits(line, year, utc_offset_hr_float, dst_start_datetime, dst_end_datetime) - new_line = "#{year}-#{line.lstrip.gsub('/','-')}" - new_line = new_line.gsub(' ',' ') + new_line = "#{year}-#{line.lstrip.gsub('/', '-')}" + new_line = new_line.gsub(' ', ' ') dt = DateTime.parse(new_line.split(',')[0]) dt_str = dt.strftime('%Y-%m-%d %H:%M:%S') # Create a TimeDST column - if dst_start_datetime.nil? || dst_end_datetime.nil? - dt_dst = dt - else - if (dt >= dst_start_datetime) && (dt < dst_end_datetime) - dt_dst = dt + (1.0 / 24.0) # Shift 1 hr forward - else - dt_dst = dt - end - end + dt_dst = if dst_start_datetime.nil? || dst_end_datetime.nil? + dt + elsif (dt >= dst_start_datetime) && (dt < dst_end_datetime) + dt + (1.0 / 24.0) + else + dt + end dt_dst_str = dt_dst.strftime('%Y-%m-%d %H:%M:%S') # Create a TimeUTC column @@ -177,42 +174,38 @@ def datetime_edits(line, year, utc_offset_hr_float, dst_start_datetime, dst_end_ dt_utc = dt - (utc_offset_hr_float / 24.0) dt_utc_str = dt_utc.strftime('%Y-%m-%d %H:%M:%S') - new_line = "#{dt_str},#{dt_dst_str},#{dt_utc_str}," + new_line.split(',')[1..-1].join(',') - - return new_line + "#{dt_str},#{dt_dst_str},#{dt_utc_str}," + new_line.split(',')[1..-1].join(',') end def output_vars - output_vars = ['Zone Mean Air Temperature', - 'Zone Mean Air Humidity Ratio', - 'Fan Runtime Fraction'] - - return output_vars + ['Zone Mean Air Temperature', + 'Zone Mean Air Humidity Ratio', + 'Fan Runtime Fraction'] end # define the arguments that the user will input - def arguments(model = nil) + def arguments(_model = nil) args = OpenStudio::Measure::OSArgumentVector.new - #make an argument for the frequency + # make an argument for the frequency reporting_frequency_chs = OpenStudio::StringVector.new - reporting_frequency_chs << "Timestep" - reporting_frequency_chs << "Hourly" - reporting_frequency_chs << "Daily" - reporting_frequency_chs << "Monthly" - reporting_frequency_chs << "RunPeriod" - arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('reporting_frequency', reporting_frequency_chs, true) - arg.setDisplayName("Reporting Frequency") - arg.setDefaultValue("Hourly") + reporting_frequency_chs << 'Timestep' + reporting_frequency_chs << 'Hourly' + reporting_frequency_chs << 'Daily' + reporting_frequency_chs << 'Monthly' + reporting_frequency_chs << 'RunPeriod' + arg = OpenStudio::Measure::OSArgument.makeChoiceArgument('reporting_frequency', reporting_frequency_chs, true) + arg.setDisplayName('Reporting Frequency') + arg.setDefaultValue('Hourly') args << arg - #make an argument for including optional output variables - arg = OpenStudio::Measure::OSArgument::makeBoolArgument("inc_output_variables", true) - arg.setDisplayName("Include Output Variables") + # make an argument for including optional output variables + arg = OpenStudio::Measure::OSArgument.makeBoolArgument('inc_output_variables', true) + arg.setDisplayName('Include Output Variables') arg.setDefaultValue(false) args << arg - return args + args end # return a vector of IdfObject's to request EnergyPlus objects needed by the run method @@ -221,17 +214,17 @@ def energyPlusOutputRequests(runner, user_arguments) result = OpenStudio::IdfObjectVector.new - reporting_frequency = runner.getStringArgumentValue("reporting_frequency",user_arguments) - inc_output_variables = runner.getBoolArgumentValue("inc_output_variables",user_arguments) + reporting_frequency = runner.getStringArgumentValue('reporting_frequency', user_arguments) + inc_output_variables = runner.getBoolArgumentValue('inc_output_variables', user_arguments) # Request the output for each end use/fuel type combination end_uses.each do |end_use| fuel_types.each do |fuel_type| variable_name = if end_use == 'Facility' - "#{fuel_type}:#{end_use}" - else - "#{end_use}:#{fuel_type}" - end + "#{fuel_type}:#{end_use}" + else + "#{end_use}:#{fuel_type}" + end result << OpenStudio::IdfObject.load("Output:Meter,#{variable_name},#{reporting_frequency};").get end end @@ -243,14 +236,14 @@ def energyPlusOutputRequests(runner, user_arguments) # Request the output for each variable if inc_output_variables - runner.registerInfo("Requesting Output Variables") + runner.registerInfo('Requesting Output Variables') output_vars.each do |output_var| result << OpenStudio::IdfObject.load("Output:Variable,*,#{output_var},#{reporting_frequency};").get runner.registerInfo("Requesting Output:Variable,#{output_var},#{reporting_frequency};") end end - return result + result end # define what happens when the measure is run @@ -258,13 +251,11 @@ def run(runner, user_arguments) super(runner, user_arguments) # use the built-in error checking - if !runner.validateUserArguments(arguments(), user_arguments) - return false - end + return false unless runner.validateUserArguments(arguments, user_arguments) # Assign the user inputs to variables - reporting_frequency = runner.getStringArgumentValue("reporting_frequency",user_arguments) - inc_output_variables = runner.getBoolArgumentValue("inc_output_variables",user_arguments) + reporting_frequency = runner.getStringArgumentValue('reporting_frequency', user_arguments) + inc_output_variables = runner.getBoolArgumentValue('inc_output_variables', user_arguments) # Define run directory location run_dir_typical = File.absolute_path(File.join(Dir.pwd, 'run')) @@ -276,23 +267,23 @@ def run(runner, user_arguments) run_dir = run_dir_comstock runner.registerInfo("run_dir = #{run_dir}") else - runner.registerError("Could not find directory with EnergyPlus output, cannont extract timeseries results") + runner.registerError('Could not find directory with EnergyPlus output, cannont extract timeseries results') return false end # Determine the model year model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Could not load last OpenStudio model, cannot apply measure.") + runner.registerError('Could not load last OpenStudio model, cannot apply measure.') return false end model = model.get year_object = model.getYearDescription - if year_object.calendarYear.is_initialized - year = year_object.calendarYear.get - else - year = 2009 - end + year = if year_object.calendarYear.is_initialized + year_object.calendarYear.get + else + 2009 + end # Write the file that defines the unit conversions convert_txt_path = File.join(run_dir, 'convert.txt') @@ -329,7 +320,7 @@ def run(runner, user_arguments) # Write the RVI file, which defines the CSV columns requested rvi_path = File.join(run_dir, 'var_request.rvi') enduse_timeseries_name = 'enduse_timeseries.csv' - File.open(rvi_path,'w') do |f| + File.open(rvi_path, 'w') do |f| f.puts('ip.eso') # convertESOMTR always uses this name f.puts(enduse_timeseries_name) @@ -365,13 +356,12 @@ def run(runner, user_arguments) runner.registerInfo("resources_dir = #{resources_dir}") # Copy convertESOMTR - convert_eso_name = if os == :windows - 'convertESOMTR.exe' - elsif os == :linux - 'convertESOMTR' - elsif os == :macosx - 'convertESOMTR.osx' # Made up extension to differentiate from linux - end + convert_eso_hash = { + windows: 'convertESOMTR.exe', + linux: 'convertESOMTR', + macosx: 'convertESOMTR.osx' # Made up extension to differentiate from linux + } + convert_eso_name = convert_eso_hash[os] orig_convert_eso_path = File.join(resources_dir, convert_eso_name) convert_eso_path = File.join(run_dir, convert_eso_name) FileUtils.cp(orig_convert_eso_path, convert_eso_path) @@ -383,13 +373,12 @@ def run(runner, user_arguments) end # Copy ReadVarsESO - readvars_eso_name = if os == :windows - 'ReadVarsESO.exe' - elsif os == :linux - 'ReadVarsESO' - elsif os == :macosx - 'ReadVarsESO.osx' # Made up extension to differentiate from linux - end + readvars_eso_hash = { + windows: 'ReadVarsESO.exe', + linux: 'ReadVarsESO', + macosx: 'ReadVarsESO.osx' # Made up extension to differentiate from linux + } + readvars_eso_name = readvars_eso_hash[os] orig_readvars_eso_path = File.join(resources_dir, readvars_eso_name) readvars_eso_path = File.join(run_dir, readvars_eso_name) FileUtils.cp(orig_readvars_eso_path, readvars_eso_path) @@ -411,7 +400,7 @@ def run(runner, user_arguments) # Call convertESOMTR start_time = Time.new - command = "#{convert_eso_path}" + command = convert_eso_path.to_s stdout_str, stderr_str, status = Open3.capture3(command, chdir: run_dir) if status.success? runner.registerInfo("Successfully ran convertESOMTR: #{command}") @@ -475,7 +464,7 @@ def run(runner, user_arguments) tempfile = begin Tempfile.new(tempprefix, tempdir) - rescue + rescue StandardError Tempfile.new(tempprefix) end f = File.open(filename, 'r').each_with_index do |line, i| @@ -495,7 +484,7 @@ def run(runner, user_arguments) end FileUtils.mv tempfile.path, filename - return true + true end end diff --git a/measures/TimeseriesCSVExport/measure.xml b/measures/TimeseriesCSVExport/measure.xml index 3b4db9d78..ae19900b2 100644 --- a/measures/TimeseriesCSVExport/measure.xml +++ b/measures/TimeseriesCSVExport/measure.xml @@ -3,8 +3,8 @@ 3.1 timeseries_csv_export 2a3442c1-944d-4e91-9e11-11e0cf368c64 - c1346c08-a2ee-4b36-b24b-b649db3f68e1 - 2024-06-20T18:59:05Z + 47dc2970-907a-4f54-9fff-c243b16093cc + 2024-10-29T22:56:37Z 15BF4E57 TimeseriesCSVExport Timeseries CSV Export @@ -82,7 +82,7 @@ measure.rb rb script - D90C8B49 + 5E1B98BE ReadVarsESO @@ -102,12 +102,6 @@ resource 01852C1F - - constants.rb - rb - resource - 7709E8EB - convertESOMTR @@ -144,30 +138,6 @@ resource 1CFD34FF - - psychrometrics.rb - rb - resource - ED356FFA - - - unit_conversions.rb - rb - resource - A38FF090 - - - util.rb - rb - resource - BF6B439C - - - weather.rb - rb - resource - 13F4EA8C - 1004_SmallHotel_a.osm osm @@ -180,12 +150,6 @@ test 2CBFE9B4 - - Measure_Test.rb - rb - test - B38420A5 - Retail.osm osm @@ -210,5 +174,11 @@ test E2C3F063 + + timeseries_csv_export_test.rb + rb + test + 2D275644 + diff --git a/measures/TimeseriesCSVExport/resources/constants.rb b/measures/TimeseriesCSVExport/resources/constants.rb deleted file mode 100644 index 6562c4a6f..000000000 --- a/measures/TimeseriesCSVExport/resources/constants.rb +++ /dev/null @@ -1,1175 +0,0 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - -class Constants - - # Numbers -------------------- - - def self.AssumedInsideTemp - return 73.5 # deg-F - end - def self.DefaultCoolingSetpoint - return 76.0 - end - def self.DefaultFramingFactorCeiling - return 0.11 - end - def self.DefaultFramingFactorFloor - return 0.13 - end - def self.DefaultFramingFactorInterior - return 0.16 - end - def self.DefaultHeatingSetpoint - return 71.0 - end - def self.DefaultHumiditySetpoint - return 0.60 - end - def self.DefaultSolarAbsCeiling - return 0.3 - end - def self.DefaultSolarAbsFloor - return 0.6 - end - def self.DefaultSolarAbsWall - return 0.5 - end - def self.g - return 32.174 # gravity (ft/s2) - end - def self.MixedUseT - return 110 # F - end - def self.MinimumBasementHeight - return 7 # ft - end - def self.MonthNumDays - return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] - end - def self.NoCoolingSetpoint - return 10000 - end - def self.NoHeatingSetpoint - return -10000 - end - def self.Patm - return 14.696 # standard atmospheric pressure (psia) - end - def self.small - return 1e-9 - end - - # Strings -------------------- - - def self.AtticSpace - return 'attic space' - end - def self.AtticZone - return 'attic zone' - end - def self.Auto - return 'auto' - end - def self.ColorWhite - return 'white' - end - def self.ColorLight - return 'light' - end - def self.ColorMedium - return 'medium' - end - def self.ColorDark - return 'dark' - end - def self.CoordRelative - return 'relative' - end - def self.CoordAbsolute - return 'absolute' - end - def self.BasementSpace - return 'basement space' - end - def self.BasementZone - return 'basement zone' - end - def self.BAZoneCold - return 'Cold' - end - def self.BAZoneHotDry - return 'Hot-Dry' - end - def self.BAZoneSubarctic - return 'Subarctic' - end - def self.BAZoneHotHumid - return 'Hot-Humid' - end - def self.BAZoneMixedHumid - return 'Mixed-Humid' - end - def self.BAZoneMixedDry - return 'Mixed-Dry' - end - def self.BAZoneMarine - return 'Marine' - end - def self.BAZoneVeryCold - return 'Very Cold' - end - def self.BoilerTypeCondensing - return 'hot water, condensing' - end - def self.BoilerTypeNaturalDraft - return 'hot water, natural draft' - end - def self.BoilerTypeForcedDraft - return 'hot water, forced draft' - end - def self.BoilerTypeSteam - return 'steam' - end - def self.BoreConfigSingle - return 'single' - end - def self.BoreConfigLine - return 'line' - end - def self.BoreConfigOpenRectangle - return 'open-rectangle' - end - def self.BoreConfigRectangle - return 'rectangle' - end - def self.BoreConfigLconfig - return 'l-config' - end - def self.BoreConfigL2config - return 'l2-config' - end - def self.BoreConfigUconfig - return 'u-config' - end - def self.BuildingAmericaClimateZone - return 'Building America' - end - def self.BuildingTypeMultifamily - return 'multifamily' - end - def self.BuildingTypeSingleFamilyAttached - return 'singlefamilyttached' - end - def self.BuildingTypeSingleFamilyDetached - return 'singlefamilydetached' - end - def self.BuildingUnitFeatureDHWSchedIndex - return 'DHWSchedIndex' - end - def self.BuildingUnitFeatureUnitNumber - return 'UnitNumber' - end - def self.BuildingUnitFeatureNumBathrooms - return 'NumberOfBathrooms' - end - def self.BuildingUnitFeatureNumBedrooms - return 'NumberOfBedrooms' - end - def self.BuildingUnitTypeResidential - return 'Residential' - end - def self.CalcTypeERIRatedHome - return 'HERS Rated Home' - end - def self.CalcTypeERIReferenceHome - return 'HERS Reference Home' - end - def self.CalcTypeERIIndexAdjustmentDesign - return 'HERS Index Adjustment Design' - end - def self.CalcTypeStandard - return 'Standard' - end - def self.CeilingFanControlTypical - return 'typical' - end - def self.CeilingFanControlSmart - return 'smart' - end - def self.ClothesWasherDrumVolume(clothes_washer) - return "#{__method__.to_s}|#{clothes_washer.handle.to_s}" - end - def self.ClothesWasherIMEF(clothes_washer) - return "#{__method__.to_s}|#{clothes_washer.handle.to_s}" - end - def self.ClothesWasherRatedAnnualEnergy(clothes_washer) - return "#{__method__.to_s}|#{clothes_washer.handle.to_s}" - end - def self.CondenserTypeWater - return 'watercooled' - end - def self.CorridorSpace(story=1) - s_story = "" - if story > 1 or story == 0 - s_story = "|story #{story}" - end - return "corridor space#{s_story}" - end - def self.CorridorZone - return 'corridor zone' - end - def self.CrawlFoundationType - return 'crawlspace' - end - def self.CrawlSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "crawl space#{s_unit}" - end - def self.CrawlZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "crawl zone#{s_unit}" - end - def self.Ducted - return 'ducted' - end - def self.EndUseHVACFan - return 'residential hvac fan' - end - def self.EndUseMechVentFan - return 'residential mech vent fan' - end - def self.FacadeFront - return 'front' - end - def self.FacadeBack - return 'back' - end - def self.FacadeLeft - return 'left' - end - def self.FacadeRight - return 'right' - end - def self.FinishedAtticSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "finished attic space#{s_unit}" - end - def self.FinishedAtticType - return 'finished attic' - end - def self.FinishedAtticZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "finished attic zone#{s_unit}" - end - def self.FinishedBasementFoundationType - return 'finished basement' - end - def self.FinishedBasementSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "finished basement space#{s_unit}" - end - def self.FinishedBasementZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "finished basement zone#{s_unit}" - end - def self.FluidWater - return 'water' - end - def self.FluidPropyleneGlycol - return 'propylene-glycol' - end - def self.FluidEthyleneGlycol - return 'ethylene-glycol' - end - def self.FuelTypeElectric - return 'electric' - end - def self.FuelTypeGas - return 'gas' - end - def self.FuelTypePropane - return 'propane' - end - def self.FuelTypeOil - return 'oil' - end - def self.GarageSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "garage space#{s_unit}" - end - def self.GarageAtticSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "garage attic space#{s_unit}" - end - def self.GarageFinishedAtticSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "garage finished attic space#{s_unit}" - end - def self.GarageZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "garage zone#{s_unit}" - end - def self.LivingSpace(story=1, unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - s_story = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - if story > 1 - s_story = "|story #{story}" - end - return "living space#{s_unit}#{s_story}" - end - def self.LivingZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "living zone#{s_unit}" - end - def self.LocationInterior - return 'interior' - end - def self.LocationExterior - return 'exterior' - end - def self.MaterialCopper - return 'copper' - end - def self.MaterialGypcrete - return 'crete' - end - def self.MaterialGypsum - return 'gyp' - end - def self.MaterialOSB - return 'osb' - end - def self.MaterialPEX - return 'pex' - end - def self.MaterialCeilingMass - return 'ResCeilingMass1' - end - def self.MaterialCeilingMass2 - return 'ResCeilingMass2' - end - def self.MaterialFloorMass - return 'ResFloorMass' - end - def self.MaterialFloorCovering - return 'ResFloorCovering' - end - def self.MaterialFloorRigidIns - return 'ResFloorRigidIns' - end - def self.MaterialFloorSheathing - return 'ResFloorSheathing' - end - def self.MaterialRadiantBarrier - return 'ResRadiantBarrier' - end - def self.MaterialRoofMaterial - return 'ResRoofMaterial' - end - def self.MaterialRoofRigidIns - return 'ResRoofRigidIns' - end - def self.MaterialRoofSheathing - return 'ResRoofSheathing' - end - def self.MaterialWallExtFinish - return 'ResExtFinish' - end - def self.MaterialWallMass - return 'ResExtWallMass1' - end - def self.MaterialWallMass2 - return 'ResExtWallMass2' - end - def self.MaterialWallMassOtherSide - return 'ResExtWallMassOtherSide1' - end - def self.MaterialWallMassOtherSide2 - return 'ResExtWallMassOtherSide2' - end - def self.MaterialWallRigidIns - return 'ResExtWallRigidIns' - end - def self.MaterialWallSheathing - return 'ResExtWallSheathing' - end - def self.PVModuleTypeStandard - return 'standard' - end - def self.PVModuleTypePremium - return 'premium' - end - def self.PVModuleTypeThinFilm - return 'thin film' - end - def self.MonthNames - return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] - end - def self.ObjectNameAirflow(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res af#{s_unit}" - end - def self.ObjectNameAirSourceHeatPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential ashp#{s_unit}" - end - def self.ObjectNameBath(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential bath#{s_unit}" - end - def self.ObjectNameBathDist(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential bath dist#{s_unit}" - end - def self.ObjectNameBoiler(fueltype="", unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential boiler #{fueltype}#{s_unit}" - end - def self.ObjectNameBuildingUnit(unit_num=1) - return "unit #{unit_num}" - end - def self.ObjectNameCeilingFan(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential ceiling fan#{s_unit}" - end - def self.ObjectNameCentralAirConditioner(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential central ac#{s_unit}" - end - def self.ObjectNameClothesWasher(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential clothes washer#{s_unit}" - end - def self.ObjectNameClothesDryer(fueltype, unit_name=self.ObjectNameBuildingUnit) - s_fuel = "" - if not fueltype.nil? - s_fuel = " #{fueltype}" - end - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential clothes dryer#{s_fuel}#{s_unit}" - end - def self.ObjectNameCookingRange(fueltype, ignition=false, unit_name=self.ObjectNameBuildingUnit) - s_fuel = "" - if not fueltype.nil? - s_fuel = " #{fueltype}" - end - s_ignition = "" - if ignition - s_ignition = " ignition" - end - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential range#{s_fuel}#{s_ignition}#{s_unit}" - end - def self.ObjectNameCoolingSeason - return 'residential cooling season' - end - def self.ObjectNameCoolingSetpoint - return 'residential cooling setpoint' - end - def self.ObjectNameDehumidifier(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential dehumidifier#{s_unit}" - end - def self.ObjectNameDishwasher(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential dishwasher#{s_unit}" - end - def self.ObjectNameDucts(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res ds#{s_unit}" - end - def self.ObjectNameEaves(facade="") - if facade.nil? - facade = "" - end - if facade != "" - facade = " #{facade}" - end - return "residential eaves#{facade}" - end - def self.ObjectNameElectricBaseboard(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential baseboard#{s_unit}" - end - def self.ObjectNameExtraRefrigerator(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential extra refrigerator#{s_unit}" - end - def self.ObjectNameFreezer(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential freezer#{s_unit}" - end - def self.ObjectNameFurnace(fueltype="", unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential furnace #{fueltype}#{s_unit}" - end - def self.ObjectNameFurnaceAndCentralAirConditioner(fueltype, unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential furnace #{fueltype} and central ac#{s_unit}" - end - def self.ObjectNameFurniture - return 'residential furniture' - end - def self.ObjectNameGasFireplace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential gas fireplace#{s_unit}" - end - def self.ObjectNameGasGrill(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential gas grill#{s_unit}" - end - def self.ObjectNameGasLighting(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential gas lighting#{s_unit}" - end - def self.ObjectNameGroundSourceHeatPumpVerticalBore(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential gshp vert bore#{s_unit}" - end - def self.ObjectNameHeatingSeason - return 'residential heating season' - end - def self.ObjectNameHeatingSetpoint - return 'residential heating setpoint' - end - def self.ObjectNameHotTubHeater(fueltype, unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential hot tub heater #{fueltype}#{s_unit}" - end - def self.ObjectNameHotTubPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential hot tub pump#{s_unit}" - end - def self.ObjectNameHotWaterRecircPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential hot water recirc pump#{s_unit}" - end - def self.ObjectNameHotWaterDistribution(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential hot water distribution#{s_unit}" - end - def self.ObjectNameInfiltration(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res infil#{s_unit}" - end - def self.ObjectNameLighting(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential lighting#{s_unit}" - end - def self.ObjectNameMechanicalVentilation(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res mv#{s_unit}" - end - def self.ObjectNameMiniSplitHeatPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential mshp#{s_unit}" - end - def self.ObjectNameMiscPlugLoads(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential misc plug loads#{s_unit}" - end - def self.ObjectNameNaturalVentilation(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res nv#{s_unit}" - end - def self.ObjectNameNeighbors(facade="") - if facade.nil? - facade = "" - end - if facade != "" - facade = " #{facade}" - end - return "residential neighbors#{facade}" - end - def self.ObjectNameOccupants(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential occupants#{s_unit}" - end - def self.ObjectNamePhotovoltaics(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential photovoltaics#{s_unit}" - end - def self.ObjectNamePoolHeater(fueltype, unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential pool heater #{fueltype}#{s_unit}" - end - def self.ObjectNamePoolPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential pool pump#{s_unit}" - end - def self.ObjectNameRefrigerator(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential refrigerator#{s_unit}" - end - def self.ObjectNameRelativeHumiditySetpoint - return 'residential relative humidity setpoint' - end - def self.ObjectNameRoomAirConditioner(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential room ac#{s_unit}" - end - def self.ObjectNameShower(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential shower#{s_unit}" - end - def self.ObjectNameShowerDist(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential shower dist#{s_unit}" - end - def self.ObjectNameSink(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential sink#{s_unit}" - end - def self.ObjectNameSinkDist(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential sink dist#{s_unit}" - end - def self.ObjectNameSolarHotWater(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res solar hot water#{s_unit}" - end - def self.ObjectNameWaterHeater(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "res wh#{s_unit}" - end - def self.ObjectNameWellPump(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "residential well pump#{s_unit}" - end - def self.ObjectNameWindowShading - return 'residential window shading' - end - def self.OptionTypeLightingFractions - return 'Lamp Fractions' - end - def self.OptionTypeLightingEnergyUses - return 'Annual Energy Uses' - end - def self.OptionTypePlugLoadsMultiplier - return 'Multiplier' - end - def self.OptionTypePlugLoadsEnergyUse - return 'Annual Energy Use' - end - def self.PierBeamFoundationType - return "pier and beam" - end - def self.PierBeamSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "pier and beam space#{s_unit}" - end - def self.PierBeamZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "pier and beam zone#{s_unit}" - end - def self.PipeTypeTrunkBranch - return 'trunk and branch' - end - def self.PipeTypeHomeRun - return 'home run' - end - def self.PlantLoopDomesticWater(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "Domestic Hot Water Loop#{s_unit}" - end - def self.PlantLoopSolarHotWater(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "Solar Hot Water Loop#{s_unit}" - end - def self.RADuctZone - return 'RA Duct Zone' - end - def self.RecircTypeTimer - return 'timer' - end - def self.RecircTypeDemand - return 'demand' - end - def self.RecircTypeNone - return 'none' - end - def self.RoofMaterialAsphaltShingles - return 'asphalt shingles' - end - def self.RoofMaterialMembrane - return 'membrane' - end - def self.RoofMaterialMetal - return 'metal' - end - def self.RoofMaterialTarGravel - return 'tar gravel' - end - def self.RoofMaterialTile - return 'tile' - end - def self.RoofMaterialWoodShakes - return 'wood shakes' - end - def self.RoofStructureRafter - return 'rafter' - end - def self.RoofStructureTrussCantilever - return 'truss, cantilever' - end - def self.RoofTypeFlat - return 'flat' - end - def self.RoofTypeGable - return 'gable' - end - def self.RoofTypeHip - return 'hip' - end - def self.SeasonHeating - return 'Heating' - end - def self.SeasonCooling - return 'Cooling' - end - def self.SeasonOverlap - return 'Overlap' - end - def self.SeasonNone - return 'None' - end - def self.SizingAuto - return 'autosize' - end - def self.SizingAutoMaxLoad - return 'autosize for max load' - end - def self.SizingInfo(property, obj=nil) - s_obj = '' - if not obj.nil? - s_obj = "|#{obj.handle.to_s}" - end - return "#{property}#{s_obj}" - end - def self.SizingInfoBasementWallInsulationHeight(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoBasementWallRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoCMUWallFurringInsRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoDuctsLocationFrac - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsLocationZone - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsReturnLoss - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsReturnRvalue - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsReturnSurfaceArea - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsSupplyLoss - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsSupplyRvalue - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoDuctsSupplySurfaceArea - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGarageFracUnderFinishedSpace - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPBoreConfig - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPBoreDepth - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPBoreHoles - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPBoreSpacing - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPCoil_BF_FT_SPEC - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPCoilBF - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoGSHPUTubeSpacingType - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHPSizedForMaxLoad - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACCapacityDerateFactorCOP - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACCapacityDerateFactorEER - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACCapacityRatioCooling - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACCapacityRatioHeating - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACCoolingCFMs - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACHeatingCapacityOffset - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACHeatingCFMs - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACRatedCFMperTonHeating - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACRatedCFMperTonCooling - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoHVACSHR - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMechVentType - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMechVentApparentSensibleEffectiveness - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMechVentLatentEffectiveness - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMechVentTotalEfficiency - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMechVentWholeHouseRate - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoMSHPIndices - return self.SizingInfo(__method__.to_s) - end - def self.SizingInfoRoofCavityRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoRoofColor(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoRoofHasRadiantBarrier(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoRoofMaterial(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoRoofRigidInsRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoSIPWallInsThickness(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoSlabRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoSpaceCeilingInsulated(space) - return self.SizingInfo(__method__.to_s, space) - end - def self.SizingInfoSpaceWallsInsulated(space) - return self.SizingInfo(__method__.to_s, space) - end - def self.SizingInfoStudWallCavityRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoWallType(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoWallRigidInsRvalue(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoWallRigidInsThickness(surface) - return self.SizingInfo(__method__.to_s, surface) - end - def self.SizingInfoZoneInfiltrationCFM(zone) - return self.SizingInfo(__method__.to_s, zone) - end - def self.SizingInfoZoneInfiltrationELA(zone) - return self.SizingInfo(__method__.to_s, zone) - end - def self.SlabFoundationType - return 'slab' - end - def self.Standalone - return 'standalone' - end - def self.TerrainOcean - return 'ocean' - end - def self.TerrainPlains - return 'plains' - end - def self.TerrainRural - return 'rural' - end - def self.TerrainSuburban - return 'suburban' - end - def self.TerrainCity - return 'city' - end - def self.TiltPitch - return 'pitch' - end - def self.TiltLatitude - return 'latitude' - end - def self.UnfinishedAtticSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "unfinished attic space#{s_unit}" - end - def self.UnfinishedAtticType - return 'unfinished attic' - end - def self.UnfinishedAtticZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "unfinished attic zone#{s_unit}" - end - def self.UnfinishedBasementFoundationType - return 'unfinished basement' - end - def self.UnfinishedBasementSpace(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "unfinished basement space#{s_unit}" - end - def self.UnfinishedBasementZone(unit_name=self.ObjectNameBuildingUnit) - s_unit = "" - if unit_name != self.ObjectNameBuildingUnit - s_unit = "|#{unit_name}" - end - return "unfinished basement zone#{s_unit}" - end - def self.URBANoptFinishedZoneIdentifier - return 'Story' - end - def self.VentTypeExhaust - return 'exhaust' - end - def self.VentTypeNone - return 'none' - end - def self.VentTypeSupply - return 'supply' - end - def self.VentTypeBalanced - return 'balanced' - end - def self.WaterHeaterTypeTankless - return 'tankless' - end - def self.WaterHeaterTypeTank - return 'tank' - end - def self.WaterHeaterTypeHeatPump - return 'heatpump' - end - def self.WorkflowDescription - return ' See https://github.com/NREL/OpenStudio-BEopt#workflows for supported workflows using this measure.' - end - -end diff --git a/measures/TimeseriesCSVExport/resources/psychrometrics.rb b/measures/TimeseriesCSVExport/resources/psychrometrics.rb deleted file mode 100644 index c58e1e961..000000000 --- a/measures/TimeseriesCSVExport/resources/psychrometrics.rb +++ /dev/null @@ -1,927 +0,0 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - -require "#{File.dirname(__FILE__)}/constants" -require "#{File.dirname(__FILE__)}/unit_conversions" -require "#{File.dirname(__FILE__)}/util" - -class Psychrometrics - - def self.H_fg_fT(t) - ''' - Description: - ------------ - Calculate the latent heat of vaporization at a given drybulb - temperature. - - Valid for temperatures between 0 and 200 degC (32 - 392 degF) - - Source: - ------- - Based on correlation from steam tables - "Introduction to - Thermodynamics, Classical and Statistical" by Sonntag and Wylen - - H_fg = 2518600 - 2757.1*T (J/kg with T in degC) - = 2581600 - 2757.1*(T - 32)*5/9 (J/kg with T in degF) - = 2581600 - 1531.72*T + 49015.1 (J/kg with T in degF) - = 1083 - 0.6585*T + 21.07 (Btu/lbm with T in degF) - - Inputs: - ------- - T float temperature (degF) - - Outputs: - -------- - H_fg float latent heat of vaporization (Btu/lbm) - ''' - h_fg = 1083 - 0.6585*t + 21.07 - - return h_fg - end - - def self.Psat_fT(tdb) - ''' - Description: - ------------ - Calculate the saturation pressure of water vapor at a given temperature - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degF) - - Outputs: - -------- - Psat float saturated vapor pressure (psia) - ''' - c1 = -1.0214165e4 - c2 = -4.8932428 - c3 = -5.3765794e-3 - c4 = 1.9202377e-7 - c5 = 3.5575832e-10 - c6 = -9.0344688e-14 - c7 = 4.1635019 - c8 = -1.0440397e4 - c9 = -1.1294650e1 - c10 = -2.7022355e-2 - c11 = 1.2890360e-5 - c12 = -2.4780681e-9 - c13 = 6.5459673 - - t_abs = OpenStudio::convert(tdb,"F","R").get - t_frz_abs = OpenStudio::convert(Liquid.H2O_l.t_frz,"F","R").get - - # If below freezing, calculate saturation pressure over ice - if t_abs < t_frz_abs - psat = Math.exp(c1 / t_abs + c2 + t_abs * (c3 + t_abs * (c4 + t_abs * (c5 + c6 * t_abs))) + c7 * Math.log(t_abs)) - # If above freezing, calculate saturation pressure over liquid water - elsif - psat = Math.exp(c8 / t_abs + c9 + t_abs * (c10 + t_abs * (c11 + c12 * t_abs)) + c13 * Math.log(t_abs)) - end - return psat - end - - def self.Tsat_fP(p) - ''' - Description: - ------------ - Calculate the saturation temperature of water vapor at a given pressure - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - P float pressure (psia) - - Outputs: - -------- - Tsat float saturated vapor temperature (degF) - ''' - # Initialize - tsat = 212.0 # (degF) - tsat1 = tsat # (degF) - tsat2 = tsat # (degF) - - error = p - self.Psat_fT(tsat) # (psia) - error1 = error # (psia) - error2 = error # (psia) - - itmax = 50 # maximum iterations - cvg = false - - for i in 1..itmax - - error = p - self.Psat_fT(tsat) # (psia) - - tsat,cvg,tsat1,error1,tsat2,error2 = MathTools.Iterate(tsat,error,tsat1,error1,tsat2,error2,i,cvg) - - if cvg - break - end - - end - - if not cvg - puts 'Warning: Tsat_fP failed to converge' - end - - return tsat - end - - def self.Tsat_fh_P(h, p) - ''' - Description: - ------------ - Calculate the drybulb temperature at saturation a given enthalpy and - pressure. - - Source: - ------- - Based on TAIRSAT f77 code in ResAC (Brandemuehl) - - Inputs: - ------- - h float enathalpy (Btu/lbm) - P float pressure (psia) - - Outputs: - -------- - Tdb float drybulb temperature (degF) - ''' - # Initialize - tdb = 50 - tdb1 = tdb # (degF) - tdb2 = tdb # (degF) - - error = h - self.hsat_fT_P(tdb,p) # (Btu/lbm) - error1 = error - error2 = error - - itmax = 50 # maximum iterations - cvg = false - - for i in 1..itmax - - error = h - self.hsat_fT_P(tdb,p) # (Btu/lbm) - - tdb,cvg,tdb1,error1,tdb2,error2 = MathTools.Iterate(tdb,error,tdb1,error1,tdb2,error2,i,cvg) - - if cvg - break - end - - end - - if not cvg - puts 'Warning: Tsat_fh_P failed to converge' - end - - return tdb - end - - def self.rhoD_fT_w_P(tdb, w, p) - ''' - Description: - ------------ - Calculate the density of dry air at a given drybulb temperature, - humidity ratio and pressure. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degF) - w float humidity ratio (lbm/lbm) - P float pressure (psia) - - Outputs: - -------- - rhoD float density of dry air (lbm/ft3) - ''' - pair = Gas.PsychMassRat * p / (Gas.PsychMassRat + w) # (psia) - rhoD = OpenStudio::convert(pair,"psi","Btu/ft^3").get / Gas.Air.r / (OpenStudio::convert(tdb,"F","R").get) # (lbm/ft3) - - return rhoD - - end - - def self.h_fT_w_SI(tdb, w) - ''' - Description: - ------------ - Calculate the enthalpy at a given drybulb temperature - and humidity ratio. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degC) - w float humidity ratio (kg/kg) - - Outputs: - -------- - h float enthalpy (J/kg) - ''' - h = 1000.0 * (1.006 * tdb + w * (2501.0 + 1.86 * tdb)) - return h - end - - def self.w_fT_h_SI(tdb, h) - ''' - Description: - ------------ - Calculate the humidity ratio at a given drybulb temperature - and enthalpy. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degC) - h float enthalpy (J/kg) - - Outputs: - -------- - w float humidity ratio (kg/kg) - ''' - w = (h / 1000.0 - 1.006 * tdb) / (2501.0 + 1.86 * tdb) - return w - end - - def self.Pstd_fZ(z) - ''' - Description: - ------------ - Calculate standard pressure of air at a given altitude - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Z float altitude (feet) - - Outputs: - -------- - Pstd float barometric pressure (psia) - ''' - - pstd = 14.696 * ((1 - 6.8754e-6 * z) ** 5.2559) - return pstd - end - - def self.Twb_fT_w_P(tdb, w, p) - ''' - Description: - ------------ - Calculate the wetbulb temperature at a given drybulb temperature, - humidity ratio, and pressure. - - Source: - ------- - Based on WETBULB f77 code in ResAC (Brandemuehl) - - Converted into IP units - - Inputs: - ------- - Tdb float drybulb temperature (degF) - w float humidity ratio (lbm/lbm) - P float pressure (psia) - - Outputs: - -------- - Twb float wetbulb temperature (degF) - ''' - # Initialize - tboil = self.Tsat_fP(p) # (degF) - twb = [[tdb,tboil-0.1].min,0.0].max # (degF) - - twb1 = twb # (degF) - twb2 = twb # (degF) - - psat_star = self.Psat_fT(twb) # (psia) - w_star = self.w_fP(p,psat_star) # (lbm/lbm) - w_new = ((Liquid.H2O_l.h_fg - (Liquid.H2O_l.cp - Gas.H2O_v.cp)*twb)*w_star - Gas.Air.cp*(tdb - twb))/(Liquid.H2O_l.h_fg + Gas.H2O_v.cp*tdb - Liquid.H2O_l.cp*twb) # (lbm/lbm) - - error = w - w_new - error1 = error - error2 = error - - itmax = 50 # maximum iterations - cvg = false - - for i in 1..itmax - - psat_star = self.Psat_fT(twb) # (psia) - w_star = self.w_fP(p,psat_star) # (lbm/lbm) - w_new = ((Liquid.H2O_l.h_fg - (Liquid.H2O_l.cp - Gas.H2O_v.cp)*twb)*w_star - Gas.Air.cp*(tdb - twb))/(Liquid.H2O_l.h_fg + Gas.H2O_v.cp*tdb - Liquid.H2O_l.cp*twb) # (lbm/lbm) - - error = w - w_new - - twb,cvg,twb1,error1,twb2,error2 = MathTools.Iterate(twb,error,twb1,error1,twb2,error2,i,cvg) - - if cvg - break - end - end - - if not cvg - puts 'Warning: Twb_fT_w_P failed to converge' - end - - if twb > tdb - twb = tdb # (degF) - end - - return twb - end - - def self.w_fP(p, pw) - ''' - Description: - ------------ - Calculate the humidity ratio at a given pressure and partial pressure. - - Source: - ------- - Based on HUMRATIO f77 code in ResAC (Brandemuehl) - - Inputs: - ------- - P float pressure (psia) - Pw float partial pressure (psia) - - Outputs: - -------- - w float humidity ratio (lbm/lbm) - ''' - w = Gas.PsychMassRat * pw / (p - pw) - return w - end - - def self.CoilAoFactor(dBin, wBin, p, qdot, cfm, shr) - ''' - Description: - ------------ - Find the coil Ao factor at the given incoming air state (entering drybubl and wetbulb) and CFM, - total capacity and SHR - - - Source: - ------- - EnergyPlus source code - - Inputs: - ------- - Tdb float Entering Dry Bulb (degF) - Twb float Entering Wet Bulb (degF) - P float Barometric pressure (psi) - Qdot float Total capacity of unit (kBtu/h) - cfm float Volumetric flow rate of unit (CFM) - shr float Sensible heat ratio - Outputs: - -------- - Ao float Coil Ao Factor - ''' - - bf = self.CoilBypassFactor(dBin, wBin, p, qdot, cfm, shr) - mfr = UnitConversion.lbm_min2kg_s(self.CalculateMassflowRate(dBin, wBin, p, cfm)) - - ntu = -1.0 * Math.log(bf) - ao = ntu * mfr - return ao - end - - def self.CoilBypassFactor(dBin, wBin, p, qdot, cfm, shr) - ''' - Description: - ------------ - Find the coil bypass factor at the given incoming air state (entering drybubl and wetbulb) and CFM, - total capacity and SHR - - - Source: - ------- - EnergyPlus source code - - Inputs: - ------- - Tdb float Entering Dry Bulb (degF) - Twb float Entering Wet Bulb (degF) - P float Barometric pressure (psi) - Qdot float Total capacity of unit (kBtu/h) - cfm float Volumetric flow rate of unit (CFM) - shr float Sensible heat ratio - Outputs: - -------- - CBF float Coil Bypass Factor - ''' - - mfr = UnitConversion.lbm_min2kg_s(self.CalculateMassflowRate(dBin, wBin, p, cfm)) - - tin = OpenStudio::convert(dBin,"F","C").get - win = self.w_fT_Twb_P(dBin, wBin, p) - p = OpenStudio::convert(p,"psi","kPa").get - - dH = OpenStudio::convert(qdot,"kBtu/h","W").get / mfr - hin = self.h_fT_w_SI(tin, win) - h_Tin_Wout = hin - (1-shr)*dH - wout = self.w_fT_h_SI(tin,h_Tin_Wout) - dW = win - wout - hout = hin - dH - tout = self.T_fw_h_SI(wout, hout) - rH_out = self.R_fT_w_P_SI(tout, wout, p) - - if rH_out > 1 - puts 'Error: Conditions passed to CoilBypassFactor result in outlet RH > 100%' - end - - dT = tin - tout - m_c = dW / dT - - t_ADP = self.Tdp_fP_w_SI(p, wout) # Initial guess for iteration - - if shr == 1 - w_ADP = self.w_fT_Twb_P_SI(t_ADP, t_ADP, p) - h_ADP = self.h_fT_w_SI(t_ADP, w_ADP) - bF = (hout - h_ADP) / (hin - h_ADP) - return [bF, 0.01].max - end - - cnt = 0 - tol = 1.0 - errorLast = 100 - d_T_ADP = 5.0 - - while cnt < 100 and tol > 0.001 - # for i in range(1,itmax+1): - - if cnt > 0 - t_ADP = t_ADP + d_T_ADP - end - - w_ADP = self.w_fT_Twb_P_SI(t_ADP, t_ADP, p) - - m = (win - w_ADP) / (tin - t_ADP) - error = (m - m_c) / m_c - - if error > 0 and errorLast < 0 - d_T_ADP = -1.0*d_T_ADP/2.0 - end - - if error < 0 and errorLast > 0 - d_T_ADP = -1.0*d_T_ADP/2.0 - end - - errorLast = error - tol = error.abs.to_f - cnt = cnt + 1 - end - - h_ADP = self.h_fT_w_SI(t_ADP, w_ADP) - - bF = (hout - h_ADP) / (hin - h_ADP) - return [bF, 0.01].max - end - - def self.CalculateMassflowRate(dBin, wBin, p, cfm) - ''' - Description: - ------------ - Calculate the mass flow rate at the given incoming air state (entering drybubl and wetbulb) and CFM - - Source: - ------- - - - Inputs: - ------- - Tdb float Entering Dry Bulb (degF) - Twb float Entering Wet Bulb (degF) - P float Barometric pressure (psi) - cfm float Volumetric flow rate of unit (CFM) - Outputs: - -------- - mfr float mass flow rate (lbm/min) - ''' - win= self.w_fT_Twb_P(dBin, wBin, p) - rho_in = self.rhoD_fT_w_P(dBin, win, p) - mfr = cfm*rho_in - return mfr - end - - def self.T_fw_h_SI(w, h) - ''' - Description: - ------------ - Calculate the drybulb temperature at a given humidity ratio - and enthalpy. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - w float humidity ratio (kg/kg) - h float enthalpy (J/kg) - - Outputs: - -------- - T float drybulb temperature (degC) - ''' - - t = (h/1000 - w*2501) / (1.006 + w*1.86) - return t - end - - def self.R_fT_w_P_SI(tdb, w, p) - ''' - Description: - ------------ - Calculate the relative humidity at a given drybulb temperature, - humidity ratio and pressure. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degC) - w float humidity ratio (g/g) - P float pressure (kPa) - - Outputs: - -------- - R float relative humidity (1/1) - ''' - return self.R_fT_w_P(OpenStudio::convert(tdb,"C","F").get, w, OpenStudio::convert(p,"kPa","psi").get) - end - - def self.Tdp_fP_w_SI(p, w) - ''' - Description: - ------------ - Calculate the dewpoint temperature at a given pressure - and humidity ratio. - - There are two available methods: - - CalcMethod == 1: Uses the correlation method from ASHRAE Handbook - CalcMethod <> 1: Uses the saturation temperature at the partial - pressure - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - P float pressure (kPa) - w float humidity ratio (g/g) - - Outputs: - -------- - Tdp float dewpoint temperature (degC) - ''' - return OpenStudio::convert(self.Tdp_fP_w(OpenStudio::convert(p,"kPa","psi").get, w),"F","C").get - end - - def self.w_fT_Twb_P_SI(tdb, twb, p) - ''' - Description: - ------------ - Calculate the humidity ratio at a given drybulb temperature, - wetbulb temperature and pressure. - - Source: - ------- - ASHRAE Handbook 2009 - - Inputs: - ------- - Tdb float drybulb temperature (degC) - Twb float wetbulb temperature (degC) - P float pressure (kPa) - - Outputs: - -------- - w float humidity ratio (g/g) - ''' - - return self.w_fT_Twb_P(OpenStudio::convert(tdb,"C","F").get, OpenStudio::convert(twb,"C","F").get, OpenStudio::convert(p,"kPa","psi").get) - end - - def self.w_fT_Twb_P(tdb, twb, p) - ''' - Description: - ------------ - Calculate the humidity ratio at a given drybulb temperature, - wetbulb temperature and pressure. - - Source: - ------- - ASHRAE Handbook 2009 - - Inputs: - ------- - Tdb float drybulb temperature (degF) - Twb float wetbulb temperature (degF) - P float pressure (psia) - - Outputs: - -------- - w float humidity ratio (lbm/lbm) - ''' - w_star = self.w_fP(p,self.Psat_fT(twb)) - - w = ((Liquid.H2O_l.h_fg - (Liquid.H2O_l.cp - Gas.H2O_v.cp)*twb)*w_star - Gas.Air.cp*(tdb - twb))/(Liquid.H2O_l.h_fg + Gas.H2O_v.cp*tdb - Liquid.H2O_l.cp*twb) # (lbm/lbm) - - return w - end - - def self.R_fT_w_P(tdb, w, p) - ''' - Description: - ------------ - Calculate the relative humidity at a given drybulb temperature, - humidity ratio and pressure. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degF) - w float humidity ratio (lbm/lbm) - P float pressure (psia) - - Outputs: - -------- - R float relative humidity (1/1) - ''' - pw = self.Pw_fP_w(p,w) - r = pw/self.Psat_fT(tdb) - return r - end - - def self.Pw_fP_w(p, w) - ''' - Description: - ------------ - Calculate the partial vapor pressure at a given pressure and - humidity ratio. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - P float pressure (psia) - w float humidity ratio (lbm/lbm) - - Outputs: - -------- - Pw float partial pressure (psia) - ''' - - pw = p*w/(Gas.PsychMassRat + w) - return pw - end - - def self.Tdp_fP_w(p, w) - ''' - Description: - ------------ - Calculate the dewpoint temperature at a given pressure - and humidity ratio. - - There are two available methods: - - CalcMethod == 1: Uses the correlation method from ASHRAE Handbook - CalcMethod <> 1: Uses the saturation temperature at the partial - pressure - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - P float pressure (psia) - w float humidity ratio (lbm/lbm) - - Outputs: - -------- - Tdp float dewpoint temperature (degF) - ''' - - calcMethod = 1 - - if calcMethod == 1 - - c14 = 100.45 - c15 = 33.193 - c16 = 2.319 - c17 = 0.17074 - c18 = 1.2063 - - pw = self.Pw_fP_w(p,w) # (psia) - alpha = Math.log(pw) - tdp1 = c14 + c15*alpha + c16*alpha**2 + c17*alpha**3 + c18*pw**0.1984 - tdp2 = 90.12 + 26.142*alpha + 0.8927*alpha**2 - if tdp1 >= Liquid.H2O_l.t_frz - tdp = tdp1 - else - tdp = tdp2 - end - - else - - # based on DEWPOINT f77 code in ResAC (Brandemuehl) - if w < Constants.small - tdp = -999.0 - else - pw = self.Pw_fP_w(p,w) - tdp = self.Tsat_fP(pw) - end - - end - return tdp - end - - def self.CalculateSHR(dBin, wBin, p, q, cfm, ao) - ''' - Description: - ------------ - Calculate the coil SHR at the given incoming air state, CFM, total capacity, and coil - Ao factor - - Source: - ------- - EnergyPlus source code - - Inputs: - ------- - Tdb float Entering Dry Bulb (degF) - Twb float Entering Wet Bulb (degF) - P float Barometric pressure (psi) - Q float Total capacity of unit (kBtu/h) - cfm float Volumetric flow rate of unit (CFM) - Ao float Coil Ao factor (=UA/Cp - IN SI UNITS) - Outputs: - -------- - SHR float Sensible Heat Ratio - ''' - - mfr = UnitConversion.lbm_min2kg_s(self.CalculateMassflowRate(dBin, wBin, p, cfm)) - bf = Math.exp(-1.0*ao/mfr) - - win = self.w_fT_Twb_P(dBin, wBin, p) - p = OpenStudio::convert(p,"psi","kPa").get - tin = OpenStudio::convert(dBin,"F","C").get - hin = self.h_fT_w_SI(tin, win) - dH = OpenStudio::convert(q,"kBtu/h","W").get / mfr - h_ADP = hin - dH / (1-bf) - - # T_ADP = self.Tsat_fh_P_SI(H_ADP, P) - # W_ADP = self.w_fT_h_SI(T_ADP, H_ADP) - - # Initialize - t_ADP = self.Tdp_fP_w_SI(p, win) - t_ADP_1 = t_ADP # (degC) - t_ADP_2 = t_ADP # (degC) - w_ADP = self.w_fT_R_P_SI(t_ADP, 1.0, p) - error = h_ADP - self.h_fT_w_SI(t_ADP, w_ADP) - error1 = error - error2 = error - - itmax = 50 # maximum iterations - cvg = false - - (1...itmax+1).each do |i| - - w_ADP = self.w_fT_R_P_SI(t_ADP, 1.0, p) - error = h_ADP - self.h_fT_w_SI(t_ADP, w_ADP) - - t_ADP,cvg,t_ADP_1,error1,t_ADP_2,error2 = MathTools.Iterate(t_ADP,error,t_ADP_1,error1,t_ADP_2,error2,i,cvg) - - if cvg - break - end - end - - if not cvg - puts 'Warning: Tsat_fh_P failed to converge' - end - - h_Tin_Wadp = self.h_fT_w_SI(tin, w_ADP) - - if (hin - h_ADP != 0) - shr = [(h_Tin_Wadp-h_ADP) / (hin - h_ADP),1.0].min - else - shr = 1 - end - return shr - end - - def self.w_fT_R_P(tdb, r, p) - ''' - Description: - ------------ - Calculate the humidity ratio at a given drybulb temperature, - relative humidity and pressure. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degF) - R float relative humidity (1/1) - P float pressure (psia) - - Outputs: - -------- - w float humidity ratio (lbm/lbm) - ''' - pws = self.Psat_fT(tdb) - pw = r * pws - w = 0.62198 * pw / (p - pw) - - return w - end - - def self.w_fT_R_P_SI(tdb, r, p) - ''' - Description: - ------------ - Calculate the humidity ratio at a given drybulb temperature, - relative humidity and pressure. - - Source: - ------- - 2009 ASHRAE Handbook - - Inputs: - ------- - Tdb float drybulb temperature (degC) - R float relative humidity (1/1) - P float pressure (kPa) - - Outputs: - -------- - w float humidity ratio (g/g) - ''' - pws = OpenStudio::convert(self.Psat_fT(OpenStudio::convert(tdb,"C","F").get),"psi","kPa").get - pw = r * pws - w = 0.62198 * pw / (p - pw) - return w - end - - def self.Twb_fT_R_P(tdb, r, p) - ''' - Description: - ------------ - Calculate the wetbulb temperature at a given drybulb temperature, - relative humidity, and pressure. - - Source: - ------- - None (calls other pyschrometric functions) - - Inputs: - ------- - Tdb float drybulb temperature (degF) - R float relative humidity (1/1) - P float pressure (psia) - - Output: - ------ - Twb float wetbulb temperautre (degF) - ''' - - w = self.w_fT_R_P(tdb, r, p) - twb = self.Twb_fT_w_P(tdb, w, p) - return twb - end - -end \ No newline at end of file diff --git a/measures/TimeseriesCSVExport/resources/unit_conversions.rb b/measures/TimeseriesCSVExport/resources/unit_conversions.rb deleted file mode 100644 index ba8684505..000000000 --- a/measures/TimeseriesCSVExport/resources/unit_conversions.rb +++ /dev/null @@ -1,115 +0,0 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - -class UnitConversion - - # Contains unit conversions not available in OpenStudio.convert. - - # See http://nrel.github.io/OpenStudio-user-documentation/reference/measure_code_examples/ - # for available OS unit conversions. Note that this list may not be complete, so try out - # new unit conversions before adding them here. - - def self.knots2m_s(knots) - # knots -> m/s - return 0.51444444*knots - end - - def self.atm2Btu_ft3(atm) - # atm -> Btu/ft^3 - return 2.719*atm - end - - def self.atm2kPa(x) - # atm -> kPa - return x*101.325 - end - - def self.atm2psi(x) - # atm -> psi - return x*14.692 - end - - def self.lbm_ft32inH2O_mph2(lbm_ft3) - # lbm/ft^3 -> inH2O/mph^2 - return 0.01285*lbm_ft3 - end - - def self.lbm_fts22inH2O(lbm_fts2) - # lbm/(ft-s^2) -> inH2O - return 0.005974*lbm_fts2 - end - - def self.lbm_ft32kg_m3(lbm_ft3) - # lbm/ft^3 -> kg/m^3 - return 16.02*lbm_ft3 - end - - def self.inH2O2Pa(inH2O) - # inH2O -> Pa - return 249.1*inH2O - end - - def self.ft32gal(ft3) - # ft^3 -> gal - return 7.4805195*ft3 - end - - def self.lbm_min2kg_hr(lbm_min) - # lbm/min -> kg/hr - return 27.215542*lbm_min - end - - def self.lbm_min2kg_s(lbm_min) - # lbm/min -> kg/s - return self.lbm_min2kg_hr(lbm_min) / 3600.0 - end - - def self.btu2gal(btu, fueltype) - # Btu -> gal - if fueltype == Constants.FuelTypePropane - return btu/91600.0 - elsif fueltype == Constants.FuelTypeOil - return btu/139000.0 - end - return nil - end - - # Stack Coefficient - def self.inH2O_R2Pa_K(nH2O_R) - # inH2O/R -> Pa/K - return 448.4*nH2O_R - end - - def self.ft2_s2R2L2_s2cm4K(ft2_s2R) - # ft^2/(s^2-R) -> L^2/(s^2-cm^4-K) - return 0.001672*ft2_s2R - end - - # Wind Coefficient - def self.inH2O_mph2Pas2_m2(inH2O_mph) - # inH2O/mph^2 -> Pa-s^2/m^2 - return 1246.0*inH2O_mph - end - - def self._2L2s2_s2cm4m2(x) - # I don't know what this means. I just copied it directly out of Global.bmi - return 0.01*x - end - - def self.pint2liter(pints) - # pints -> liters - return 0.47317647*pints - end - - def self.liter2pint(liters) - # liters -> pints - return 2.1133764*liters - end - - # Humidity ratio - def self.lbm_lbm2grains(lbm_lbm) - # lbm/lbm -> grains - return lbm_lbm * 7000.0 - end - -end diff --git a/measures/TimeseriesCSVExport/resources/util.rb b/measures/TimeseriesCSVExport/resources/util.rb deleted file mode 100644 index 21bcf6b8a..000000000 --- a/measures/TimeseriesCSVExport/resources/util.rb +++ /dev/null @@ -1,1751 +0,0 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - - -# Add classes or functions here than can be used across a variety of our python classes and modules. -require "#{File.dirname(__FILE__)}/constants" - -class HelperMethods - - def self.eplus_fuel_map(fuel) - if fuel == Constants.FuelTypeElectric - return "Electricity" - elsif fuel == Constants.FuelTypeGas - return "NaturalGas" - elsif fuel == Constants.FuelTypeOil - return "FuelOil#1" - elsif fuel == Constants.FuelTypePropane - return "PropaneGas" - end - end - - def self.reverse_eplus_fuel_map(fuel) - if fuel == "Electricity" - return Constants.FuelTypeElectric - elsif fuel == "NaturalGas" - return Constants.FuelTypeGas - elsif fuel == "FuelOil#1" - return Constants.FuelTypeOil - elsif fuel == "PropaneGas" - return Constants.FuelTypePropane - end - end - - def self.remove_unused_constructions_and_materials(model, runner) - # Code from https://bcl.nrel.gov/node/82267 (remove_orphan_objects_and_unused_resources measure) - model.getConstructions.sort.each do |resource| - if resource.directUseCount == 0 - runner.registerInfo("Removed construction '#{resource.name}' because it was orphaned.") - resource.remove - end - end - - model.getMaterials.sort.each do |resource| - if resource.directUseCount == 0 - runner.registerInfo("Removed material '#{resource.name}' because it was orphaned.") - resource.remove - end - end - end - -end - -class MathTools - - def self.valid_float?(str) - !!Float(str) rescue false - end - - def self.interp2(x, x0, x1, f0, f1) - ''' - Returns the linear interpolation between two results. - ''' - - return f0 + ((x - x0) / (x1 - x0)) * (f1 - f0) - end - - def self.interp4(x, y, x1, x2, y1, y2, fx1y1, fx1y2, fx2y1, fx2y2) - ''' - Returns the bilinear interpolation between four results. - ''' - - return (fx1y1 / ((x2-x1) * (y2-y1))) * (x2-x) * (y2-y) \ - + (fx2y1 / ((x2-x1) * (y2-y1))) * (x-x1) * (y2-y) \ - + (fx1y2 / ((x2-x1) * (y2-y1))) * (x2-x) * (y-y1) \ - + (fx2y2 / ((x2-x1) * (y2-y1))) * (x-x1) * (y-y1) - - end - - def self.biquadratic(x,y,c) - ''' - Description: - ------------ - Calculate the result of a biquadratic polynomial with independent variables - x and y, and a list of coefficients, c: - z = c[1] + c[2]*x + c[3]*x**2 + c[4]*y + c[5]*y**2 + c[6]*x*y - Inputs: - ------- - x float independent variable 1 - y float independent variable 2 - c tuple list of 6 coeffients [floats] - Outputs: - -------- - z float result of biquadratic polynomial - ''' - if c.length != 6 - puts "Error: There must be 6 coefficients in a biquadratic polynomial" - end - z = c[0] + c[1]*x + c[2]*x**2 + c[3]*y + c[4]*y**2 + c[5]*y*x - return z - end - - def self.quadratic(x,c) - ''' - Description: - ------------ - Calculate the result of a quadratic polynomial with independent variable - x and a list of coefficients, c: - - y = c[1] + c[2]*x + c[3]*x**2 - - Inputs: - ------- - x float independent variable - c tuple list of 6 coeffients [floats] - - Outputs: - -------- - y float result of biquadratic polynomial - ''' - if c.size != 3 - puts "Error: There must be 3 coefficients in a quadratic polynomial" - end - y = c[0] + c[1]*x + c[2]*x**2 - - return y - end - - def self.bicubic(x,y,c) - ''' - Description: - ------------ - Calculate the result of a bicubic polynomial with independent variables - x and y, and a list of coefficients, c: - - z = c[1] + c[2]*x + c[3]*y + c[4]*x**2 + c[5]*x*y + c[6]*y**2 + \ - c[7]*x**3 + c[8]*y*x**2 + c[9]*x*y**2 + c[10]*y**3 - - Inputs: - ------- - x float independent variable 1 - y float independent variable 2 - c tuple list of 10 coeffients [floats] - - Outputs: - -------- - z float result of bicubic polynomial - ''' - if c.size != 10 - puts "Error: There must be 10 coefficients in a bicubic polynomial" - end - z = c[0] + c[1]*x + c[2]*y + c[3]*x**2 + c[4]*x*y + c[5]*y**2 + \ - c[6]*x**3 + c[7]*y*x**2 + c[8]*x*y**2 + c[9]*y**3 - - return z - end - - def self.Iterate(x0,f0,x1,f1,x2,f2,icount,cvg) - ''' - Description: - ------------ - Determine if a guess is within tolerance for convergence - if not, output a new guess using the Newton-Raphson method - Source: - ------- - Based on XITERATE f77 code in ResAC (Brandemuehl) - Inputs: - ------- - x0 float current guess value - f0 float value of function f(x) at current guess value - x1,x2 floats previous two guess values, used to create quadratic - (or linear fit) - f1,f2 floats previous two values of f(x) - icount int iteration count - cvg bool Has the iteration reached convergence? - Outputs: - -------- - x_new float new guess value - cvg bool Has the iteration reached convergence? - x1,x2 floats updated previous two guess values, used to create quadratic - (or linear fit) - f1,f2 floats updated previous two values of f(x) - Example: - -------- - # Find a value of x that makes f(x) equal to some specific value f: - # initial guess (all values of x) - x = 1.0 - x1 = x - x2 = x - # initial error - error = f - f(x) - error1 = error - error2 = error - itmax = 50 # maximum iterations - cvg = False # initialize convergence to "False" - for i in range(1,itmax+1): - error = f - f(x) - x,cvg,x1,error1,x2,error2 = \ - Iterate(x,error,x1,error1,x2,error2,i,cvg) - if cvg: - break - if cvg: - print "x converged after", i, :iterations" - else: - print "x did NOT converge after", i, "iterations" - print "x, when f(x) is", f,"is", x - ''' - - tolRel = 1e-5 - dx = 0.1 - - # Test for convergence - if ((x0-x1).abs < tolRel*[x0.abs,Constants.small].max and icount != 1) or f0 == 0 - x_new = x0 - cvg = true - else - cvg = false - - if icount == 1 # Perturbation - mode = 1 - elsif icount == 2 # Linear fit - mode = 2 - else # Quadratic fit - mode = 3 - end - - if mode == 3 - # Quadratic fit - if x0 == x1 # If two xi are equal, use a linear fit - x1 = x2 - f1 = f2 - mode = 2 - elsif x0 == x2 # If two xi are equal, use a linear fit - mode = 2 - else - # Set up quadratic coefficients - c = ((f2 - f0)/(x2 - x0) - (f1 - f0)/(x1 - x0))/(x2 - x1) - b = (f1 - f0)/(x1 - x0) - (x1 + x0)*c - a = f0 - (b + c*x0)*x0 - - if c.abs < Constants.small # If points are co-linear, use linear fit - mode = 2 - elsif ((a + (b + c*x1)*x1 - f1)/f1).abs > Constants.small - # If coefficients do not accurately predict data points due to - # round-off, use linear fit - mode = 2 - else - d = b**2 - 4.0*a*c # calculate discriminant to check for real roots - if d < 0.0 # if no real roots, use linear fit - mode = 2 - else - if d > 0.0 # if real unequal roots, use nearest root to recent guess - x_new = (-b + Math.sqrt(d))/(2*c) - x_other = -x_new - b/c - if (x_new - x0).abs > (x_other - x0).abs - x_new = x_other - end - else # If real equal roots, use that root - x_new = -b/(2*c) - end - - if f1*f0 > 0 and f2*f0 > 0 # If the previous two f(x) were the same sign as the new - if f2.abs > f1.abs - x2 = x1 - f2 = f1 - end - else - if f2*f0 > 0 - x2 = x1 - f2 = f1 - end - end - x1 = x0 - f1 = f0 - end - end - end - end - - if mode == 2 - # Linear Fit - m = (f1-f0)/(x1-x0) - if m == 0 # If slope is zero, use perturbation - mode = 1 - else - x_new = x0-f0/m - x2 = x1 - f2 = f1 - x1 = x0 - f1 = f0 - end - end - - if mode == 1 - # Perturbation - if x0.abs > Constants.small - x_new = x0*(1+dx) - else - x_new = dx - end - x2 = x1 - f2 = f1 - x1 = x0 - f1 = f0 - end - end - return x_new,cvg,x1,f1,x2,f2 - end - -end - -class SimpleMaterial - - def initialize(name=nil, rvalue=nil) - @name = name - @rvalue = rvalue - end - - attr_accessor :name, :rvalue - - def self.Adiabatic - return self.new(name='Adiabatic', rvalue=1000) - end - -end - -class GlazingMaterial - - def initialize(name=nil, ufactor=nil, shgc=nil) - @name = name - @ufactor = ufactor - @shgc = shgc - end - - attr_accessor :name, :ufactor, :shgc -end - -class Material - - # thick_in - Thickness [in] - # mat_base - Material object that defines k, rho, and cp. Can be overridden with values for those arguments. - # k_in - Conductivity [Btu-in/h-ft^2-F] - # rho - Density [lb/ft^3] - # cp - Specific heat [Btu/lb*F] - # rvalue - R-value [h-ft^2-F/Btu] - def initialize(name=nil, thick_in=nil, mat_base=nil, k_in=nil, rho=nil, cp=nil, tAbs=nil, sAbs=nil, vAbs=nil, rvalue=nil) - @name = name - - if not thick_in.nil? - @thick_in = thick_in # in - @thick = OpenStudio::convert(thick_in,"in","ft").get # ft - end - - if not mat_base.nil? - @k_in = mat_base.k_in # Btu-in/h-ft^2-F - if not mat_base.k_in.nil? - @k = OpenStudio::convert(mat_base.k_in,"in","ft").get # Btu/h-ft-F - else - @k = nil - end - @rho = mat_base.rho - @cp = mat_base.cp - else - @k_in = nil - @k = nil - @rho = nil - @cp = nil - end - - # Override the base material if both are included - if not k_in.nil? - @k_in = k_in # Btu-in/h-ft^2-F - @k = OpenStudio::convert(k_in,"in","ft").get # Btu/h-ft-F - end - if not rho.nil? - @rho = rho # lb/ft^3 - end - if not cp.nil? - @cp = cp # Btu/lb*F - end - - @tAbs = tAbs - @sAbs = sAbs - @vAbs = vAbs - - # Calculate R-value - if not rvalue.nil? - @rvalue = rvalue # h-ft^2-F/Btu - elsif not @thick_in.nil? and not @k_in.nil? - if @k_in > 0 - @rvalue = @thick_in / @k_in # h-ft^2-F/Btu - else - @rvalue = @thick_in / 10000000.0 # h-ft^2-F/Btu - end - end - end - - attr_accessor :name, :thick, :thick_in, :k, :k_in, :rho, :cp, :rvalue, :tAbs, :sAbs, :vAbs - - def self.AirCavityClosed(thick_in) - rvalue = Gas.AirGapRvalue - return self.new(name=nil, thick_in=thick_in, mat_base=nil, k_in=thick_in/rvalue, rho=Gas.Air.rho, cp=Gas.Air.cp) - end - - def self.AirCavityOpen(thick_in) - return self.new(name=nil, thick_in=thick_in, mat_base=nil, k_in=10000000.0, rho=Gas.Air.rho, cp=Gas.Air.cp) - end - - def self.AirFilmOutside - rvalue = 0.197 # hr-ft-F/Btu - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmVertical - rvalue = 0.68 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmFlatEnhanced - rvalue = 0.61 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmFlatReduced - rvalue = 0.92 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmFloorAverage - # For floors between conditioned spaces where heat does not flow across - # the floor; heat transfer is only important with regards to the thermal - rvalue = (self.AirFilmFlatReduced.rvalue + self.AirFilmFlatEnhanced.rvalue) / 2.0 # hr-ft-F/Btu - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmFloorReduced - # For floors above unconditioned basement spaces, where heat will - # always flow down through the floor. - rvalue = self.AirFilmFlatReduced.rvalue # hr-ft-F/Btu - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmSlopeEnhanced(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for non-reflective materials of - # emissivity = 0.90. - rvalue = 0.002 * Math::exp(0.0398 * highest_roof_pitch) + 0.608 # hr-ft-F/Btu (evaluates to film_flat_enhanced at 0 degrees, 0.62 at 45 degrees, and film_vertical at 90 degrees) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmSlopeReduced(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for non-reflective materials of - # emissivity = 0.90. - rvalue = 0.32 * Math::exp(-0.0154 * highest_roof_pitch) + 0.6 # hr-ft-F/Btu (evaluates to film_flat_reduced at 0 degrees, 0.76 at 45 degrees, and film_vertical at 90 degrees) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmSlopeEnhancedReflective(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for reflective materials of - # emissivity = 0.05. - rvalue = 0.00893 * Math::exp(0.0419 * highest_roof_pitch) + 1.311 # hr-ft-F/Btu (evaluates to 1.32 at 0 degrees, 1.37 at 45 degrees, and 1.70 at 90 degrees) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmSlopeReducedReflective(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for reflective materials of - # emissivity = 0.05. - rvalue = 2.999 * Math::exp(-0.0333 * highest_roof_pitch) + 1.551 # hr-ft-F/Btu (evaluates to 4.55 at 0 degrees, 2.22 at 45 degrees, and 1.70 at 90 degrees) - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmRoof(highest_roof_pitch) - # Use weighted average between enhanced and reduced convection based on degree days. - #hdd_frac = hdd65f / (hdd65f + cdd65f) - #cdd_frac = cdd65f / (hdd65f + cdd65f) - #return self.AirFilmSlopeEnhanced(highest_roof_pitch).rvalue * hdd_frac + self.AirFilmSlopeReduced(highest_roof_pitch).rvalue * cdd_frac # hr-ft-F/Btu - # Simplification to not depend on weather - rvalue = (self.AirFilmSlopeEnhanced(highest_roof_pitch).rvalue + self.AirFilmSlopeReduced(highest_roof_pitch).rvalue) / 2.0 # hr-ft-F/Btu - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.AirFilmRoofRadiantBarrier(highest_roof_pitch) - # Use weighted average between enhanced and reduced convection based on degree days. - #hdd_frac = hdd65f / (hdd65f + cdd65f) - #cdd_frac = cdd65f / (hdd65f + cdd65f) - #return self.AirFilmSlopeEnhancedReflective(highest_roof_pitch).rvalue * hdd_frac + self.AirFilmSlopeReducedReflective(highest_roof_pitch).rvalue * cdd_frac # hr-ft-F/Btu - # Simplification to not depend on weather - rvalue = (self.AirFilmSlopeEnhancedReflective(highest_roof_pitch).rvalue + self.AirFilmSlopeReducedReflective(highest_roof_pitch).rvalue) / 2.0 # hr-ft-F/Btu - return self.new(name=nil, thick_in=1.0, mat_base=nil, k_in=1.0/rvalue) - end - - def self.CoveringBare(floorFraction=0.8, rvalue=2.08) - # Combined layer of, e.g., carpet and bare floor - thickness = 0.5 # in - return self.new(name=Constants.MaterialFloorCovering, thick_in=thickness, mat_base=nil, k_in=thickness / (rvalue * floorFraction), rho=3.4, cp=0.32, tAbs=0.9, sAbs=0.9) - end - - def self.Concrete8in - return self.new(name='Concrete-8in', thick_in=8, mat_base=BaseMaterial.Concrete, k_in=nil, rho=nil, cp=nil, tAbs=0.9) - end - - def self.Concrete4in - return self.new(name='Concrete-4in', thick_in=4, mat_base=BaseMaterial.Concrete, k_in=nil, rho=nil, cp=nil, tAbs=0.9) - end - - def self.DefaultCeilingMass - mat = self.GypsumWall1_2in - mat.name = Constants.MaterialCeilingMass - return mat - end - - def self.DefaultExteriorFinish - thick_in = 0.375 - return self.new(name=Constants.MaterialWallExtFinish, thick_in=thick_in, mat_base=nil, k_in=thick_in/0.605, rho=11.1, cp=0.25, tAbs=0.9, sAbs=0.3, vAbs=0.3) - end - - def self.DefaultFloorCovering - mat = self.CoveringBare - mat.name = Constants.MaterialFloorCovering - return mat - end - - def self.DefaultFloorMass - return self.new(name=Constants.MaterialFloorMass, thick_in=0.625, mat_base=nil, k_in=0.8004, rho=34.0, cp=0.29) # wood surface - end - - def self.DefaultFloorSheathing - mat = self.Plywood3_4in - mat.name = Constants.MaterialFloorSheathing - return mat - end - - def self.DefaultRoofMaterial - mat = self.RoofMaterial(0.91, 0.85) - mat.name = Constants.MaterialRoofMaterial - return mat - end - - def self.DefaultRoofSheathing - mat = self.Plywood3_4in - mat.name = Constants.MaterialRoofSheathing - return mat - end - - def self.DefaultWallMass - mat = self.GypsumWall1_2in - mat.name = Constants.MaterialWallMass - return mat - end - - def self.DefaultWallSheathing - mat = self.Plywood1_2in - mat.name = Constants.MaterialWallSheathing - return mat - end - - def self.GypsumWall1_2in - return self.new(name='WallGypsumBoard-1_2in', thick_in=0.5, mat_base=BaseMaterial.Gypsum, k_in=nil, rho=nil, cp=nil, tAbs=0.9, sAbs=Constants.DefaultSolarAbsWall, vAbs=0.1) - end - - def self.GypsumCeiling1_2in - return self.new(name='CeilingGypsumBoard-1_2in', thick_in=0.5, mat_base=BaseMaterial.Gypsum, k_in=nil, rho=nil, cp=nil, tAbs=0.9, sAbs=Constants.DefaultSolarAbsCeiling, vAbs=0.1) - end - - def self.Soil12in - return self.new(name='Soil-12in', thick_in=12, mat_base=BaseMaterial.Soil) - end - - def self.Stud2x(thick_in) - return self.new(name="Stud2x#{thick_in.to_s}", thick_in=thick_in, mat_base=BaseMaterial.Wood) - end - - def self.Stud2x4 - return self.new(name='Stud2x4', thick_in=3.5, mat_base=BaseMaterial.Wood) - end - - def self.Stud2x6 - return self.new(name='Stud2x6', thick_in=5.5, mat_base=BaseMaterial.Wood) - end - - def self.Plywood1_2in - return self.new(name='Plywood-1_2in', thick_in=0.5, mat_base=BaseMaterial.Wood) - end - - def self.Plywood3_4in - return self.new(name='Plywood-3_4in', thick_in=0.75, mat_base=BaseMaterial.Wood) - end - - def self.Plywood3_2in - return self.new(name='Plywood-3_2in', thick_in=1.5, mat_base=BaseMaterial.Wood) - end - - def self.RadiantBarrier - return self.new(name=Constants.MaterialRadiantBarrier, thick_in=0.0084, mat_base=nil, k_in=1629.6, rho=168.6, cp=0.22, tAbs=0.05, sAbs=0.05, vAbs=0.05) - end - - def self.RoofMaterial(roofMatEmissivity, roofMatAbsorptivity) - return self.new(name=Constants.MaterialRoofMaterial, thick_in=0.375, mat_base=nil, k_in=1.128, rho=70, cp=0.35, tAbs=roofMatEmissivity, sAbs=roofMatAbsorptivity, vAbs=roofMatAbsorptivity) - end - -end - -class Construction - - # Facilitates creating and assigning an OpenStudio construction (with accompanying - # OpenStudio Materials) from Material objects. Handles parallel paths as well. - - def initialize(path_widths, name=nil, type=nil) - @name = name - @type = type - @path_widths = path_widths - @path_fracs = [] - @sum_path_fracs = @path_widths.inject(:+) - path_widths.each do |path_width| - @path_fracs << path_width / path_widths.inject{ |sum, n| sum + n } - end - @layers_materials = [] - @layers_includes = [] - @layers_names = [] - @remove_materials = [] - end - - def add_layer(materials, include_in_construction, name=nil) - # materials: Either a Material object or a list of Material objects - # include_in_construction: false if an assumed, default layer that should not be included - # in the resulting construction but is used to calculate the - # effective R-value. - # name: Name of the layer; required if multiple materials are provided. Otherwise the - # Material.name will be used. - if not materials.kind_of?(Array) - @layers_materials << [materials] - else - @layers_materials << materials - end - @layers_includes << include_in_construction - @layers_names << name - end - - def remove_layer(name) - @remove_materials << name - end - - def print_layers(runner=nil) - infos = [] - @path_fracs.each do |path_frac| - infos << "path_frac: #{path_frac.round(5).to_s}" - end - infos << "======" - @layers_materials.each_with_index do |layer_materials, idx| - if @layers_names[idx].nil? - infos << "layer name: #{layer_materials[0].name.to_s}" - else - infos << "layer name: #{@layers_names[idx]}" - end - infos << "layer thick: #{OpenStudio::convert(layer_materials[0].thick_in,"in","ft").get.round(5).to_s}" - layer_materials.each do |mat| - infos << "layer cond: #{OpenStudio::convert(mat.k_in,"in","ft").get.round(5).to_s}" - end - infos << "------" - end - infos.each do |i| - if !runner.nil? - runner.registerInfo(i) - else - puts i - end - end - end - - def assembly_rvalue(runner) - # Calculate overall R-value for assembly - if not validated?(runner) - return nil - end - u_overall = 0 - @path_fracs.each_with_index do |path_frac,path_num| - # For each parallel path, sum series: - r_path = 0 - @layers_materials.each do |layer_materials| - if layer_materials.size == 1 - # One material for this layer - r_path += layer_materials[0].rvalue - else - # Multiple parallel materials for this layer, use appropriate one - r_path += layer_materials[path_num].rvalue - end - end - u_overall += 1.0 / r_path * path_frac - end - r_overall = 1.0 / u_overall - return r_overall - end - - # Creates constructions as needed and assigns to surfaces. - # Leave name as nil if the materials (e.g., exterior finish) apply to multiple constructions. - def create_and_assign_constructions(surfaces, runner, model, name=nil) - - if not validated?(runner) - return false - end - - # Uncomment the following line to debug - #print_layers(runner) - #runner.registerInfo("Assembly R-value: #{assembly_rvalue(runner).to_s}") - - materials = construct_materials(model, runner) - - if materials.size == 0 and @remove_materials.size == 0 - return true - end - - construction_map = {} # Used to create new constructions only for each existing unique construction - rev_construction_map = {} # Used for adjacent surfaces, which get reverse constructions - surfaces.each do |surface| - # Get construction name, if available - constr_name = nil - if surface.construction.is_initialized - constr_name = surface.construction.get.name.to_s - end - - # Assign construction to surface - if not construction_map.include? constr_name - # Create new construction - num_prev_constructions = model.getConstructions.size - if not create_and_assign_construction(surface, materials, runner, model, name) - return false - end - if model.getConstructions.size != num_prev_constructions - construction_map[constr_name] = surface.construction.get - print_construction_creation(runner, surface) - print_construction_assignment(runner, surface) - end - else - # Re-use recently created construction - surface.setConstruction(construction_map[constr_name]) - print_construction_assignment(runner, surface) - end - - # Assign reverse construction to adjacent surface as needed - next if surface.is_a? OpenStudio::Model::SubSurface or surface.is_a? OpenStudio::Model::InternalMassDefinition or not surface.adjacentSurface.is_initialized - if surface.construction.get.name.to_s.start_with?("Rev") - # Strip "Rev" at beginning - rev_constr_name = surface.construction.get.name.to_s - rev_constr_name.slice!(0..2) - else - # Add "Rev" to beginning - rev_constr_name = "Rev#{surface.construction.get.name.to_s}" - end - adjacent_surface = surface.adjacentSurface.get - if not rev_construction_map.include? rev_constr_name - # Create adjacent construction - num_prev_constructions = model.getConstructions.size - revconstr = surface.construction.get.to_Construction.get.reverseConstruction - if model.getConstructions.size != num_prev_constructions - # If the reverse construction already found (or the construction has - # only a single layer), we won't get a new construction here. - revconstr.setName(rev_constr_name) - end - adjacent_surface.setConstruction(revconstr) - rev_construction_map[rev_constr_name] = adjacent_surface.construction.get - if model.getConstructions.size != num_prev_constructions - print_construction_creation(runner, adjacent_surface) - end - print_construction_assignment(runner, adjacent_surface) - else - # Re-use recently created adjacent construction - adjacent_surface.setConstruction(rev_construction_map[rev_constr_name]) - print_construction_assignment(runner, adjacent_surface) - end - - end - return true - end - - def self.get_wall_gap_factor(installGrade, framingFactor, cavityInsulRvalue) - - if cavityInsulRvalue <= 0 - return 0 # Gap factor only applies when there is cavity insulation - elsif installGrade == 1 - return 0 - elsif installGrade == 2 - return 0.02 * (1 - framingFactor) - elsif installGrade == 3 - return 0.05 * (1 - framingFactor) - else - return 0 - end - - end - - def self.get_basement_conduction_factor(bsmtWallInsulationHeight, bsmtWallInsulRvalue) - if bsmtWallInsulationHeight == 4 - return (1.689 / (0.430 + bsmtWallInsulRvalue) ** 0.164) - else - return (2.494 / (1.673 + bsmtWallInsulRvalue) ** 0.488) - end - end - - def self.get_constructions_from_surfaces(surfaces) - constructions = [] - surfaces.each do |surface| - next if not surface.construction.is_initialized - next if constructions.include?(surface.construction.get) - constructions << surface.construction.get - end - return constructions - end - - def self.get_materials_from_constructions(constructions) - materials = [] - constructions.each do |construction| - construction.to_LayeredConstruction.get.layers.each do |material| - next if materials.include?(material) - materials << material - end - end - return materials - end - - def self.get_space_r_value(runner, space, surface_type) - # Get area-weighted space r-value - sum_surface_ua = 0.0 - total_area = 0.0 - space.surfaces.each do |surface| - next if surface.surfaceType.downcase != surface_type - surf_area = OpenStudio::convert(surface.netArea,"m^2","ft^2").get - ufactor = self.get_surface_ufactor(runner, surface, surface_type) - return nil if ufactor.nil? - sum_surface_ua += surf_area * ufactor - total_area += surf_area - end - return total_area / sum_surface_ua - end - - def self.get_surface_ufactor(runner, surface, surface_type) - if surface_type.downcase.include?("window") - simple_glazing = self.get_window_simple_glazing(runner, surface) - return nil if simple_glazing.nil? - return OpenStudio::convert(simple_glazing.uFactor,"W/m^2*K","Btu/ft^2*h*R").get - else - if not surface.construction.is_initialized - runner.registerError("Construction not assigned to '#{surface.name.to_s}'.") - return nil - end - ufactor = OpenStudio::convert(surface.uFactor.get,"W/m^2*K","Btu/ft^2*h*R").get - if surface.class.method_defined?('adjacentSurface') and surface.adjacentSurface.is_initialized - # Use average u-factor of adjacent surface, as OpenStudio returns - # two different values for, e.g., floor vs adjacent roofceiling - if not surface.adjacentSurface.get.construction.is_initialized - runner.registerError("Construction not assigned to '#{surface.adjacentSurface.get.name.to_s}'.") - return nil - end - adjacent_ufactor = OpenStudio::convert(surface.adjacentSurface.get.uFactor.get,"W/m^2*K","Btu/ft^2*h*R").get - return (ufactor + adjacent_ufactor) / 2.0 - end - return ufactor - end - end - - def self.get_window_simple_glazing(runner, surface) - if not surface.construction.is_initialized - runner.registerError("Construction not assigned to '#{surface.name.to_s}'.") - return nil - end - construction = surface.construction.get - if not construction.to_LayeredConstruction.is_initialized - runner.registerError("Expected LayeredConstruction for '#{surface.name.to_s}'.") - return nil - end - window_layered_construction = construction.to_LayeredConstruction.get - if not window_layered_construction.getLayer(0).to_SimpleGlazing.is_initialized - runner.registerError("Expected SimpleGlazing for '#{surface.name.to_s}'.") - return nil - end - simple_glazing = window_layered_construction.getLayer(0).to_SimpleGlazing.get - return simple_glazing - end - - private - - def print_construction_creation(runner, surface) - s = "" - num_layers = surface.construction.get.to_LayeredConstruction.get.layers.size - if num_layers > 1 - s = "s" - end - mats_s = "" - surface.construction.get.to_LayeredConstruction.get.layers.each do |layer| - mats_s += layer.name.to_s + ", " - end - mats_s.chomp!(", ") - runner.registerInfo("Construction '#{surface.construction.get.name.to_s}' was created with #{num_layers.to_s} material#{s.to_s} (#{mats_s.to_s}).") - end - - def print_construction_assignment(runner, surface) - if surface.is_a? OpenStudio::Model::SubSurface - type_s = "SubSurface" - elsif surface.is_a? OpenStudio::Model::InternalMassDefinition - type_s = "InternalMassDefinition" - else - type_s = "Surface" - end - runner.registerInfo("#{type_s.to_s} '#{surface.name.to_s}' has been assigned construction '#{surface.construction.get.name.to_s}'.") - end - - def get_parallel_material(curr_layer_num, runner) - # Returns a Material object with effective properties for the specified - # parallel path layer of the construction. - - mat = Material.new(name=@layers_names[curr_layer_num]) - - curr_layer_materials = @layers_materials[curr_layer_num] - - r_overall = assembly_rvalue(runner) - - # Calculate individual R-values for each layer - sum_r_all_layers = 0 - sum_r_parallel_layers = 0 - layer_rvalues = [] - @layers_materials.each do |layer_materials| - u_path = 0 - layer_materials.each_with_index do |layer_material, idx| - if layer_materials.size > 1 - u_path += @path_fracs[idx] / (layer_material.thick / layer_material.k) - else - u_path += 1.0 / (layer_material.thick / layer_material.k) - end - end - r_path = 1.0 / u_path - layer_rvalues << r_path - sum_r_all_layers += r_path - if layer_materials.size > 1 - sum_r_parallel_layers += r_path - end - end - - # Material R-value - # Apportion R-value to the current parallel path layer - mat.rvalue = layer_rvalues[curr_layer_num] + (r_overall - sum_r_all_layers) * layer_rvalues[curr_layer_num] / sum_r_parallel_layers - - # Material thickness and conductivity - mat.thick_in = curr_layer_materials[0].thick_in # All paths have equal thickness - mat.thick = curr_layer_materials[0].thick # All paths have equal thickness - mat.k = mat.thick / mat.rvalue - - # Material density - mat.rho = 0 - @path_fracs.each_with_index do |path_frac,path_num| - mat.rho += curr_layer_materials[path_num].rho * path_frac - end - - # Material specific heat - mat.cp = 0 - @path_fracs.each_with_index do |path_frac,path_num| - mat.cp += (curr_layer_materials[path_num].cp * curr_layer_materials[path_num].rho * path_frac) / mat.rho - end - - return mat - end - - def construct_materials(model, runner) - # Create materials - materials = [] - @layers_materials.each_with_index do |layer_materials,layer_num| - next if not @layers_includes[layer_num] - if layer_materials.size == 1 - if not @layers_names[layer_num].nil? - mat_name = @layers_names[layer_num] - else - mat_name = layer_materials[0].name - end - mat = create_os_material(model, runner, layer_materials[0], mat_name) - else - parallel_path_mat = get_parallel_material(layer_num, runner) - mat = create_os_material(model, runner, parallel_path_mat) - end - materials << mat - end - return materials - end - - def validated?(runner) - # Check that sum of path fracs equal 1 - if @sum_path_fracs <= 0.99 or @sum_path_fracs >= 1.01 - runner.registerError("Invalid construction: Sum of path fractions (#{@sum_path_fracs.to_s}) is not 1.") - return false - end - - # Check that all path fractions are not negative - @path_fracs.each do |path_frac| - if path_frac < 0 - runner.registerError("Invalid construction: Path fraction (#{path_frac.to_s}) must be greater than or equal to 0.") - return false - end - end - - # Check if all materials are GlazingMaterial - all_glazing = true - @layers_materials.each do |layer_materials| - layer_materials.each do |mat| - if not mat.is_a? GlazingMaterial - all_glazing = false - end - end - end - if all_glazing - # Check that no parallel materials - @layers_materials.each do |layer_materials| - if layer_materials.size > 1 - runner.registerError("Invalid construction: Cannot have multiple GlazingMaterials in a single layer.") - return false - end - end - return true - end - - # Check for valid object types - @layers_materials.each do |layer_materials| - layer_materials.each do |mat| - if not mat.is_a? SimpleMaterial and not mat.is_a? Material - runner.registerError("Invalid construction: Materials must be instances of SimpleMaterial or Material classes.") - return false - end - end - end - - # Check if invalid number of materials in a layer - @layers_materials.each do |layer_materials| - if layer_materials.size > 1 and layer_materials.size < @path_fracs.size - runner.registerError("Invalid construction: Layer must either have one material or same number of materials as paths.") - return false - end - end - - # Check if multiple materials in a given layer have differing thicknesses - @layers_materials.each do |layer_materials| - if layer_materials.size > 1 - thick_in = nil - layer_materials.each do |mat| - if thick_in.nil? - thick_in = mat.thick_in - elsif thick_in != mat.thick_in - runner.registerError("Invalid construction: Materials in a layer have different thicknesses.") - return false - end - end - end - end - - # Check if multiple non-contiguous parallel layers - found_parallel = false - last_parallel = false - @layers_materials.each do |layer_materials| - if layer_materials.size > 1 - if not found_parallel - found_parallel = true - elsif not last_parallel - runner.registerError("Invalid construction: Non-contiguous parallel layers found.") - return false - end - end - last_parallel = (layer_materials.size > 1) - end - - # Check if name not provided for a parallel layer - # Check if name not provided for non-parallel layer - @layers_materials.each_with_index do |layer_materials,layer_num| - next if not @layers_includes[layer_num] - if layer_materials.size > 1 - if @layers_names[layer_num].nil? - runner.registerError("Invalid construction: No layer name provided for parallel layer.") - return false - end - else - if @layers_names[layer_num].nil? and layer_materials[0].name.nil? - runner.registerError("Invalid construction: Neither layer name nor material name provided for non-parallel layer.") - return false - end - end - end - - # If we got this far, we're good - return true - end - - # Returns a boolean denoting whether the execution was successful - def create_and_assign_construction(surface, materials, runner, model, name) - - if materials.size == 0 and @remove_materials.size == 0 - return true - end - - if (not surface.construction.is_initialized or not surface.construction.get.to_LayeredConstruction.is_initialized) or materials[0].is_a? GlazingMaterial - # Create new construction - constr = OpenStudio::Model::Construction.new(model) - else - # Otherwise, clone construction - constr = surface.construction.get.clone(model).to_LayeredConstruction.get - end - - is_modified = false - if not name.nil? - constr.setName(name) - end - - # Assign material layers as appropriate - # If multiple non standard layers being assigned, ensure we only remove - # the existing non standard layers the first time. - remove_non_std_layers = true - materials.each do |material| - if assign_material(constr, material, surface, remove_non_std_layers, runner) - is_modified = true - end - remove_non_std_layers = false - end - - # Remove material layers as appropriate - @remove_materials.each do |material_name| - if remove_material(constr, material_name, runner) - is_modified = true - end - end - - if is_modified - surface.setConstruction(constr) # use the constr - else - constr.remove # constr not used, remove - end - - return true - end - - # Returns true if the material was assigned - def assign_material(constr, material, surface, remove_non_std_layers, runner) - - if not surface.respond_to?("surfaceType") - remove_material(constr, material.name.to_s, runner) - constr.insertLayer(constr.numLayers, material) - return true - end - - num_layers = constr.numLayers - # Note: We determine types of layers (exterior finish, etc.) by name. - # The code below defines the target layer positions for the materials when the - # construction is complete. - # TODO: This is all a huge hack until we can use StandardsInfo to classify layers. - if surface.surfaceType.downcase == "wall" # Wall - target_positions_std = {Constants.MaterialWallExtFinish => 0, # outside - Constants.MaterialWallRigidIns => 1, - Constants.MaterialWallSheathing => 2, - Constants.MaterialWallMassOtherSide2 => 3, - Constants.MaterialWallMassOtherSide => 4, - # non-std middle layer(s) => 5... - Constants.MaterialWallMass => [num_layers,6].max, - Constants.MaterialWallMass2 => [num_layers+1,7].max} # inside - target_position_non_std = target_positions_std[Constants.MaterialWallMassOtherSide] + 1 - elsif surface.surfaceType.downcase == "roofceiling" and surface.outsideBoundaryCondition.downcase == "outdoors" # Roof - target_positions_std = {Constants.MaterialRoofMaterial => 0, # outside - Constants.MaterialRoofRigidIns => 1, - Constants.MaterialRoofSheathing => 2, - # non-std middle layer(s) => 3... - Constants.MaterialRadiantBarrier => [num_layers,4].max, - Constants.MaterialCeilingMass => [num_layers+1,5].max, - Constants.MaterialCeilingMass2 => [num_layers+2,6].max} # inside - target_position_non_std = target_positions_std[Constants.MaterialRoofSheathing] + 1 - elsif surface.surfaceType.downcase == "floor" # Floor - target_positions_std = {Constants.MaterialCeilingMass2 => 0, # outside - Constants.MaterialCeilingMass => 1, - # non-std middle layer(s) => 2... - Constants.MaterialFloorRigidIns => [num_layers,3].max, - Constants.MaterialFloorSheathing => [num_layers+1,4].max, - Constants.MaterialFloorMass => [num_layers+2,5].max, - Constants.MaterialFloorCovering => [num_layers+3,6].max} # inside - target_position_non_std = target_positions_std[Constants.MaterialCeilingMass] + 1 - elsif surface.surfaceType.downcase == "roofceiling" # Ceiling (must be reverse of floor) - target_positions_std = {Constants.MaterialFloorCovering => 0, # outside - Constants.MaterialFloorMass => 1, - Constants.MaterialFloorSheathing => 2, - Constants.MaterialFloorRigidIns => 3, - # non-std middle layer(s) => 4... - Constants.MaterialCeilingMass => [num_layers,5].max, - Constants.MaterialCeilingMass2 => [num_layers+1,6].max} # inside - target_position_non_std = target_positions_std[Constants.MaterialFloorRigidIns] + 1 - else - runner.registeError("Unexpected surface type '#{surface.surfaceType.to_s}'.") - end - - # Determine current positions of any standard materials - # Also, determine max position of any non-standard materials - std_mat_positions = target_positions_std.clone - std_mat_positions.each { |k, v| std_mat_positions[k] = nil } #re-init - max_non_std_position = nil - constr.layers.each_with_index do |layer, index| - layer_is_std = false - std_mat_positions.keys.each do |layer_name| - if layer.name.to_s.start_with? layer_name - std_mat_positions[layer_name] = index - layer_is_std = true - end - end - if not layer_is_std - max_non_std_position = index - end - end - - # Is the current material a standard material? - standard_mat = nil - target_positions_std.keys.each do |std_mat| - if material.name.to_s.start_with? std_mat - standard_mat = std_mat - end - end - - if remove_non_std_layers and standard_mat.nil? - # Remove any layers other than standard materials - constr.layers.reverse.each_with_index do |layer, index| - layer_index = num_layers - 1 - index - if not std_mat_positions.values.include? layer_index - constr.eraseLayer(layer_index) - end - end - end - - if not standard_mat.nil? and not std_mat_positions[standard_mat].nil? - # Standard layer already exists, replace it - constr.setLayer(std_mat_positions[standard_mat], material) - else - # Add at appropriate position - if standard_mat.nil? - final_pos = target_position_non_std - else - final_pos = target_positions_std[standard_mat] - end - insert_pos = 0 - for pos in (final_pos-1).downto(0) - mat = target_positions_std.key(pos) - next if not std_mat_positions.key? mat - if not std_mat_positions[mat].nil? - insert_pos = std_mat_positions[mat] + 1 - if not standard_mat.nil? and not max_non_std_position.nil? - if target_positions_std[standard_mat] > target_position_non_std and insert_pos <= max_non_std_position - # Ensure we put std layer after non-std layer in this situation - insert_pos = max_non_std_position + 1 - end - end - break - end - end - if insert_pos > constr.numLayers - insert_pos = constr.numLayers - end - constr.insertLayer(insert_pos, material) - end - return true - end - - # Returns true if the material was removed - def remove_material(constr, material_name, runner) - # Remove layer if it matches this name - num_layers = constr.numLayers - constr.layers.reverse.each_with_index do |layer, index| - layer_index = num_layers - 1 - index - if layer.name.to_s.start_with?(material_name) or material_name.start_with?(layer.name.to_s) - constr.eraseLayer(layer_index) - return true - end - end - return false - end - - # Creates (or returns an existing) OpenStudio Material from our own Material object - def create_os_material(model, runner, material, name=nil) - if name.nil? - name = material.name - end - tolerance = 0.0001 - if material.is_a? SimpleMaterial - # Material already exists? - model.getMasslessOpaqueMaterials.each do |mat| - next if mat.name.to_s != name.to_s - next if mat.roughness.downcase.to_s != "rough" - next if (mat.thermalResistance - OpenStudio::convert(material.rvalue,"hr*ft^2*R/Btu","m^2*K/W").get).abs > tolerance - return mat - end - # New material - mat = OpenStudio::Model::MasslessOpaqueMaterial.new(model) - mat.setName(name) - mat.setRoughness("Rough") - mat.setThermalResistance(OpenStudio::convert(material.rvalue,"hr*ft^2*R/Btu","m^2*K/W").get) - elsif material.is_a? GlazingMaterial - # Material already exists? - model.getSimpleGlazings.each do |mat| - next if mat.name.to_s != name.to_s - next if (mat.uFactor - material.ufactor).abs > tolerance - next if (mat.solarHeatGainCoefficient - material.shgc).abs > tolerance - return mat - end - # New material - mat = OpenStudio::Model::SimpleGlazing.new(model) - mat.setName(name) - mat.setUFactor(material.ufactor) - mat.setSolarHeatGainCoefficient(material.shgc) - else - # Material already exists? - model.getStandardOpaqueMaterials.each do |mat| - next if mat.name.to_s != name.to_s - next if mat.roughness.downcase.to_s != "rough" - next if (mat.thickness - OpenStudio::convert(material.thick_in,"in","m").get).abs > tolerance - next if (mat.conductivity - OpenStudio::convert(material.k,"Btu/hr*ft*R","W/m*K").get).abs > tolerance - next if (mat.density - OpenStudio::convert(material.rho,"lb/ft^3","kg/m^3").get).abs > tolerance - next if (mat.specificHeat - OpenStudio::convert(material.cp,"Btu/lb*R","J/kg*K").get).abs > tolerance - next if not material.tAbs.nil? and (mat.thermalAbsorptance - material.tAbs).abs > tolerance - next if not material.sAbs.nil? and (mat.solarAbsorptance - material.sAbs).abs > tolerance - next if not material.vAbs.nil? and (mat.visibleAbsorptance - material.vAbs).abs > tolerance - return mat - end - # New material - mat = OpenStudio::Model::StandardOpaqueMaterial.new(model) - mat.setName(name) - mat.setRoughness("Rough") - mat.setThickness(OpenStudio::convert(material.thick_in,"in","m").get) - mat.setConductivity(OpenStudio::convert(material.k,"Btu/hr*ft*R","W/m*K").get) - mat.setDensity(OpenStudio::convert(material.rho,"lb/ft^3","kg/m^3").get) - mat.setSpecificHeat(OpenStudio::convert(material.cp,"Btu/lb*R","J/kg*K").get) - if not material.tAbs.nil? - mat.setThermalAbsorptance(material.tAbs) - end - if not material.sAbs.nil? - mat.setSolarAbsorptance(material.sAbs) - end - if not material.vAbs.nil? - mat.setVisibleAbsorptance(material.vAbs) - end - end - runner.registerInfo("Material '#{mat.name.to_s}' was created.") - return mat - end - -end - -class BaseMaterial - def initialize(rho, cp, k_in) - @rho = rho - @cp = cp - @k_in = k_in - end - - attr_accessor :rho, :cp, :k_in - - def self.Gypsum - return self.new(rho=50.0, cp=0.2, k_in=1.1112) - end - - def self.Wood - return self.new(rho=32.0, cp=0.29, k_in=0.8004) - end - - def self.Concrete - return self.new(rho=140.0, cp=0.2, k_in=9.0912) - end - - def self.Gypcrete - # http://www.maxxon.com/gyp-crete/data - return self.new(rho=100.0, cp=0.223, k_in=4.7424) - end - - def self.InsulationRigid - return self.new(rho=2.0, cp=0.29, k_in=0.204) - end - - def self.InsulationCelluloseDensepack - return self.new(rho=3.5, cp=0.25, k=nil) - end - - def self.InsulationCelluloseLoosefill - return self.new(rho=1.5, cp=0.25, k=nil) - end - - def self.InsulationFiberglassDensepack - return self.new(rho=2.2, cp=0.25, k=nil) - end - - def self.InsulationFiberglassLoosefill - return self.new(rho=0.5, cp=0.25, k=nil) - end - - def self.InsulationGenericDensepack - return self.new(rho=(self.InsulationFiberglassDensepack.rho + self.InsulationCelluloseDensepack.rho) / 2.0, cp=0.25, k=nil) - end - - def self.InsulationGenericLoosefill - return self.new(rho=(self.InsulationFiberglassLoosefill.rho + self.InsulationCelluloseLoosefill.rho) / 2.0, cp=0.25, k=nil) - end - - def self.Soil - return self.new(rho=115.0, cp=0.1, k_in=12.0) - end - -end - -class Liquid - def initialize(rho, cp, k, mu, h_fg, t_frz, t_boil, t_crit) - @rho = rho # Density (lb/ft3) - @cp = cp # Specific Heat (Btu/lbm-R) - @k = k # Thermal Conductivity (Btu/h-ft-R) - @mu = mu # Dynamic Viscosity (lbm/ft-h) - @h_fg = h_fg # Latent Heat of Vaporization (Btu/lbm) - @t_frz = t_frz # Freezing Temperature (degF) - @t_boil = t_boil # Boiling Temperature (degF) - @t_crit = t_crit # Critical Temperature (degF) - end - - attr_accessor :rho, :cp, :k, :mu, :h_fg, :t_frz, :t_boil, :t_crit - - def self.H2O_l - # From EES at STP - return self.new(62.32,0.9991,0.3386,2.424,1055,32.0,212.0,nil) - end - - def self.R22_l - # Converted from EnthDR22 f77 in ResAC (Brandemuehl) - return self.new(nil,0.2732,nil,nil,100.5,nil,-41.35,204.9) - end - -end - -class Gas - def initialize(rho, cp, k, mu, m) - @rho = rho # Density (lb/ft3) - @cp = cp # Specific Heat (Btu/lbm-R) - @k = k # Thermal Conductivity (Btu/h-ft-R) - @mu = mu # Dynamic Viscosity (lbm/ft-h) - @m = m # Molecular Weight (lbm/lbmol) - if @m - gas_constant = 1.9858 # Gas Constant (Btu/lbmol-R) - @r = gas_constant / m # Gas Constant (Btu/lbm-R) - else - @r = nil - end - end - - attr_accessor :rho, :cp, :k, :mu, :m, :r - - def self.Air - # From EES at STP - return self.new(0.07518,0.2399,0.01452,0.04415,28.97) - end - - def self.AirGapRvalue - return 1.0 # hr*ft*F/Btu (Assume for all air gap configurations since there is no correction for direction of heat flow in the simulation tools) - end - - def self.H2O_v - # From EES at STP - return self.new(nil,0.4495,nil,nil,18.02) - end - - def self.R22_v - # Converted from EnthDR22 f77 in ResAC (Brandemuehl) - return self.new(nil,0.1697,nil,nil,nil) - end - - def self.PsychMassRat - return self.H2O_v.m / self.Air.m - end -end - -class AirFilms - - def self.OutsideR - return 0.197 # hr-ft-F/Btu - end - - def self.VerticalR - return 0.68 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - end - - def self.FlatEnhancedR - return 0.61 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - end - - def self.FlatReducedR - return 0.92 # hr-ft-F/Btu (ASHRAE 2005, F25.2, Table 1) - end - - def self.FloorAverageR - # For floors between conditioned spaces where heat does not flow across - # the floor; heat transfer is only important with regards to the thermal - return (self.FlatReducedR + self.FlatEnhancedR) / 2.0 # hr-ft-F/Btu - end - - def self.FloorReducedR - # For floors above unconditioned basement spaces, where heat will - # always flow down through the floor. - return self.FlatReducedR # hr-ft-F/Btu - end - - def self.SlopeEnhancedR(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for non-reflective materials of - # emissivity = 0.90. - return 0.002 * Math::exp(0.0398 * highest_roof_pitch) + 0.608 # hr-ft-F/Btu (evaluates to film_flat_enhanced at 0 degrees, 0.62 at 45 degrees, and film_vertical at 90 degrees) - end - - def self.SlopeReducedR(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for non-reflective materials of - # emissivity = 0.90. - return 0.32 * Math::exp(-0.0154 * highest_roof_pitch) + 0.6 # hr-ft-F/Btu (evaluates to film_flat_reduced at 0 degrees, 0.76 at 45 degrees, and film_vertical at 90 degrees) - end - - def self.SlopeEnhancedReflectiveR(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for reflective materials of - # emissivity = 0.05. - return 0.00893 * Math::exp(0.0419 * highest_roof_pitch) + 1.311 # hr-ft-F/Btu (evaluates to 1.32 at 0 degrees, 1.37 at 45 degrees, and 1.70 at 90 degrees) - end - - def self.SlopeReducedReflectiveR(highest_roof_pitch) - # Correlation functions used to interpolate between values provided - # in ASHRAE 2005, F25.2, Table 1 - which only provides values for - # 0, 45, and 90 degrees. Values are for reflective materials of - # emissivity = 0.05. - return 2.999 * Math::exp(-0.0333 * highest_roof_pitch) + 1.551 # hr-ft-F/Btu (evaluates to 4.55 at 0 degrees, 2.22 at 45 degrees, and 1.70 at 90 degrees) - end - - def self.RoofR(highest_roof_pitch) - # Use weighted average between enhanced and reduced convection based on degree days. - #hdd_frac = hdd65f / (hdd65f + cdd65f) - #cdd_frac = cdd65f / (hdd65f + cdd65f) - #return self.SlopeEnhancedR(highest_roof_pitch) * hdd_frac + self.SlopeReducedR(highest_roof_pitch) * cdd_frac # hr-ft-F/Btu - # Simplification to not depend on weather - return (self.SlopeEnhancedR(highest_roof_pitch) + self.SlopeReducedR(highest_roof_pitch)) / 2.0 # hr-ft-F/Btu - end - - def self.RoofRadiantBarrierR(highest_roof_pitch) - # Use weighted average between enhanced and reduced convection based on degree days. - #hdd_frac = hdd65f / (hdd65f + cdd65f) - #cdd_frac = cdd65f / (hdd65f + cdd65f) - #return self.SlopeEnhancedReflectiveR(highest_roof_pitch) * hdd_frac + self.SlopeReducedReflectiveR(highest_roof_pitch) * cdd_frac # hr-ft-F/Btu - # Simplification to not depend on weather - return (self.SlopeEnhancedReflectiveR(highest_roof_pitch) + self.SlopeReducedReflectiveR(highest_roof_pitch)) / 2.0 # hr-ft-F/Btu - end - -end - -class EnergyGuideLabel - - def self.get_energy_guide_gas_cost(date) - # Search for, e.g., "Representative Average Unit Costs of Energy for Five Residential Energy Sources (1996)" - if date <= 1991 - # http://books.google.com/books?id=GsY5AAAAIAAJ&pg=PA184&lpg=PA184&dq=%22Representative+Average+Unit+Costs+of+Energy+for+Five+Residential+Energy+Sources%22+1991&source=bl&ots=QuQ83OQ1Wd&sig=jEsENidBQCtDnHkqpXGE3VYoLEg&hl=en&sa=X&ei=3QOjT-y4IJCo8QSsgIHVCg&ved=0CDAQ6AEwBA#v=onepage&q=%22Representative%20Average%20Unit%20Costs%20of%20Energy%20for%20Five%20Residential%20Energy%20Sources%22%201991&f=false - return 60.54 - elsif date == 1992 - # http://books.google.com/books?id=esk5AAAAIAAJ&pg=PA193&lpg=PA193&dq=%22Representative+Average+Unit+Costs+of+Energy+for+Five+Residential+Energy+Sources%22+1992&source=bl&ots=tiUb_2hZ7O&sig=xG2k0WRDwVNauPhoXEQOAbCF80w&hl=en&sa=X&ei=owOjT7aOMoic9gTw6P3vCA&ved=0CDIQ6AEwAw#v=onepage&q=%22Representative%20Average%20Unit%20Costs%20of%20Energy%20for%20Five%20Residential%20Energy%20Sources%22%201992&f=false - return 58.0 - elsif date == 1993 - # No data, use prev/next years - return (58.0 + 60.40)/2.0 - elsif date == 1994 - # http://govpulse.us/entries/1994/02/08/94-2823/rule-concerning-disclosures-of-energy-consumption-and-water-use-information-about-certain-home-appli - return 60.40 - elsif date == 1995 - # http://www.ftc.gov/os/fedreg/1995/february/950217appliancelabelingrule.pdf - return 63.0 - elsif date == 1996 - # http://www.gpo.gov/fdsys/pkg/FR-1996-01-19/pdf/96-574.pdf - return 62.6 - elsif date == 1997 - # http://www.ftc.gov/os/fedreg/1997/february/970205ruleconcerningdisclosures.pdf - return 61.2 - elsif date == 1998 - # http://www.gpo.gov/fdsys/pkg/FR-1997-12-08/html/97-32046.htm - return 61.9 - elsif date == 1999 - # http://www.gpo.gov/fdsys/pkg/FR-1999-01-05/html/99-89.htm - return 68.8 - elsif date == 2000 - # http://www.gpo.gov/fdsys/pkg/FR-2000-02-07/html/00-2707.htm - return 68.8 - elsif date == 2001 - # http://www.gpo.gov/fdsys/pkg/FR-2001-03-08/html/01-5668.htm - return 83.7 - elsif date == 2002 - # http://govpulse.us/entries/2002/06/07/02-14333/rule-concerning-disclosures-regarding-energy-consumption-and-water-use-of-certain-home-appliances-an#id963086 - return 65.6 - elsif date == 2003 - # http://www.gpo.gov/fdsys/pkg/FR-2003-04-09/html/03-8634.htm - return 81.6 - elsif date == 2004 - # http://www.ftc.gov/os/fedreg/2004/april/040430ruleconcerningdisclosures.pdf - return 91.0 - elsif date == 2005 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2005_costs.pdf - return 109.2 - elsif date == 2006 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2006_energy_costs.pdf - return 141.5 - elsif date == 2007 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/price_notice_032707.pdf - return 121.8 - elsif date == 2008 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2008_forecast.pdf - return 132.8 - elsif date == 2009 - # http://www1.eere.energy.gov/buildings/appliance_standards/commercial/pdfs/ee_rep_avg_unit_costs.pdf - return 111.2 - elsif date == 2010 - # http://www.gpo.gov/fdsys/pkg/FR-2010-03-18/html/2010-5936.htm - return 119.4 - elsif date == 2011 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2011_average_representative_unit_costs_of_energy.pdf - return 110.1 - elsif date == 2012 - # http://www.gpo.gov/fdsys/pkg/FR-2012-04-26/pdf/2012-10058.pdf - return 105.9 - elsif date == 2013 - # http://www.gpo.gov/fdsys/pkg/FR-2013-03-22/pdf/2013-06618.pdf - return 108.7 - elsif date == 2014 - # http://www.gpo.gov/fdsys/pkg/FR-2014-03-18/pdf/2014-05949.pdf - return 112.8 - elsif date >= 2015 - # http://www.gpo.gov/fdsys/pkg/FR-2015-08-27/pdf/2015-21243.pdf - return 100.3 - elsif date >= 2016 - # https://www.gpo.gov/fdsys/pkg/FR-2016-03-23/pdf/2016-06505.pdf - return 932.0 - end - end - - def self.get_energy_guide_elec_cost(date) - # Search for, e.g., "Representative Average Unit Costs of Energy for Five Residential Energy Sources (1996)" - if date <= 1991 - # http://books.google.com/books?id=GsY5AAAAIAAJ&pg=PA184&lpg=PA184&dq=%22Representative+Average+Unit+Costs+of+Energy+for+Five+Residential+Energy+Sources%22+1991&source=bl&ots=QuQ83OQ1Wd&sig=jEsENidBQCtDnHkqpXGE3VYoLEg&hl=en&sa=X&ei=3QOjT-y4IJCo8QSsgIHVCg&ved=0CDAQ6AEwBA#v=onepage&q=%22Representative%20Average%20Unit%20Costs%20of%20Energy%20for%20Five%20Residential%20Energy%20Sources%22%201991&f=false - return 8.24 - elsif date == 1992 - # http://books.google.com/books?id=esk5AAAAIAAJ&pg=PA193&lpg=PA193&dq=%22Representative+Average+Unit+Costs+of+Energy+for+Five+Residential+Energy+Sources%22+1992&source=bl&ots=tiUb_2hZ7O&sig=xG2k0WRDwVNauPhoXEQOAbCF80w&hl=en&sa=X&ei=owOjT7aOMoic9gTw6P3vCA&ved=0CDIQ6AEwAw#v=onepage&q=%22Representative%20Average%20Unit%20Costs%20of%20Energy%20for%20Five%20Residential%20Energy%20Sources%22%201992&f=false - return 8.25 - elsif date == 1993 - # No data, use prev/next years - return (8.25 + 8.41)/2.0 - elsif date == 1994 - # http://govpulse.us/entries/1994/02/08/94-2823/rule-concerning-disclosures-of-energy-consumption-and-water-use-information-about-certain-home-appli - return 8.41 - elsif date == 1995 - # http://www.ftc.gov/os/fedreg/1995/february/950217appliancelabelingrule.pdf - return 8.67 - elsif date == 1996 - # http://www.gpo.gov/fdsys/pkg/FR-1996-01-19/pdf/96-574.pdf - return 8.60 - elsif date == 1997 - # http://www.ftc.gov/os/fedreg/1997/february/970205ruleconcerningdisclosures.pdf - return 8.31 - elsif date == 1998 - # http://www.gpo.gov/fdsys/pkg/FR-1997-12-08/html/97-32046.htm - return 8.42 - elsif date == 1999 - # http://www.gpo.gov/fdsys/pkg/FR-1999-01-05/html/99-89.htm - return 8.22 - elsif date == 2000 - # http://www.gpo.gov/fdsys/pkg/FR-2000-02-07/html/00-2707.htm - return 8.03 - elsif date == 2001 - # http://www.gpo.gov/fdsys/pkg/FR-2001-03-08/html/01-5668.htm - return 8.29 - elsif date == 2002 - # http://govpulse.us/entries/2002/06/07/02-14333/rule-concerning-disclosures-regarding-energy-consumption-and-water-use-of-certain-home-appliances-an#id963086 - return 8.28 - elsif date == 2003 - # http://www.gpo.gov/fdsys/pkg/FR-2003-04-09/html/03-8634.htm - return 8.41 - elsif date == 2004 - # http://www.ftc.gov/os/fedreg/2004/april/040430ruleconcerningdisclosures.pdf - return 8.60 - elsif date == 2005 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2005_costs.pdf - return 9.06 - elsif date == 2006 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2006_energy_costs.pdf - return 9.91 - elsif date == 2007 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/price_notice_032707.pdf - return 10.65 - elsif date == 2008 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2008_forecast.pdf - return 10.80 - elsif date == 2009 - # http://www1.eere.energy.gov/buildings/appliance_standards/commercial/pdfs/ee_rep_avg_unit_costs.pdf - return 11.40 - elsif date == 2010 - # http://www.gpo.gov/fdsys/pkg/FR-2010-03-18/html/2010-5936.htm - return 11.50 - elsif date == 2011 - # http://www1.eere.energy.gov/buildings/appliance_standards/pdfs/2011_average_representative_unit_costs_of_energy.pdf - return 11.65 - elsif date == 2012 - # http://www.gpo.gov/fdsys/pkg/FR-2012-04-26/pdf/2012-10058.pdf - return 11.84 - elsif date == 2013 - # http://www.gpo.gov/fdsys/pkg/FR-2013-03-22/pdf/2013-06618.pdf - return 12.10 - elsif date == 2014 - # http://www.gpo.gov/fdsys/pkg/FR-2014-03-18/pdf/2014-05949.pdf - return 12.40 - elsif date >= 2015 - # http://www.gpo.gov/fdsys/pkg/FR-2015-08-27/pdf/2015-21243.pdf - return 12.70 - elsif date >= 2016 - # https://www.gpo.gov/fdsys/pkg/FR-2016-03-23/pdf/2016-06505.pdf - return 12.60 - end - end - -end - -class BuildingLoadVars - - def self.get_space_heating_load_vars - return [ - 'Heating Coil Total Heating Energy', - 'Heating Coil Air Heating Energy', - 'Boiler Heating Energy', - 'Baseboard Total Heating Energy', - 'Heating Coil Heating Energy', - ] - end - - def self.get_space_cooling_load_vars - return [ - 'Cooling Coil Sensible Cooling Energy', - 'Cooling Coil Latent Cooling Energy', - ] - end - - def self.get_water_heating_load_vars - return [ - 'Water Use Connections Plant Hot Water Energy', - ] - end - -end \ No newline at end of file diff --git a/measures/TimeseriesCSVExport/resources/weather.rb b/measures/TimeseriesCSVExport/resources/weather.rb deleted file mode 100644 index 0caf9f3ab..000000000 --- a/measures/TimeseriesCSVExport/resources/weather.rb +++ /dev/null @@ -1,572 +0,0 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - -require "#{File.dirname(__FILE__)}/psychrometrics" -require "#{File.dirname(__FILE__)}/constants" - -class WeatherHeader - def initialize - end - attr_accessor(:City, :State, :Country, :DataSource, :Station, :Latitude, :Longitude, :Timezone, :Altitude, :LocalPressure) -end - -class WeatherData - def initialize - end - attr_accessor(:AnnualAvgDrybulb, :AnnualMinDrybulb, :AnnualMaxDrybulb, :CDD50F, :CDD65F, :HDD50F, :HDD65F, :DailyAvgDrybulbs, :DailyMaxDrybulbs, :DailyMinDrybulbs, :AnnualAvgWindspeed, :MonthlyAvgDrybulbs, :MainsDailyTemps, :MainsMonthlyTemps, :MainsAvgTemp, :GroundMonthlyTemps, :WSF, :MonthlyAvgDailyHighDrybulbs, :MonthlyAvgDailyLowDrybulbs) -end - -class WeatherDesign - def initialize - end - attr_accessor(:HeatingDrybulb, :HeatingWindspeed, :CoolingDrybulb, :CoolingWetbulb, :CoolingHumidityRatio, :CoolingWindspeed, :DailyTemperatureRange, :DehumidDrybulb, :DehumidHumidityRatio, :CoolingDirectNormal, :CoolingDiffuseHorizontal) -end - -class WeatherProcess - - def initialize(model, runner, measure_dir, header_only=false) - @model = model - @runner = runner - @measure_dir = measure_dir - if model.weatherFile.is_initialized - # OpenStudio measures - wf = model.weatherFile.get - # Sometimes path is available, sometimes just url. Should be improved in OS 2.0. - if wf.path.is_initialized - @epw_path = wf.path.get.to_s - else - @epw_path = wf.url.to_s.sub("file:///","").sub("file://","").sub("file:","") - end - if not File.exist? @epw_path # Handle relative paths for unit tests - epw_path2 = File.join(measure_dir, "resources", @epw_path) - if File.exist? epw_path2 - @epw_path = epw_path2 - end - # Handle relative paths for unit tests - epw_path3 = File.join(measure_dir, "tests", File.basename(@epw_path)) - if File.exist? epw_path3 - @epw_path = epw_path3 - end - end - @header, @data, @design = process_epw(@epw_path, header_only) - else - runner.registerError("Model has not been assigned a weather file.") - @error = true - end - end - - def epw_path - return @epw_path - end - - def epw_timestamps - epw_file = OpenStudio::EpwFile.new(epw_path) - timestamps = [] - epw_file.data.each do |epw_data| - timestamps << "#{epw_data.year}/#{epw_data.month.to_s.rjust(2, "0")}/#{epw_data.day.to_s.rjust(2, "0")} #{epw_data.hour.to_s.rjust(2, "0")}:#{epw_data.minute.to_s.rjust(2, "0")}:00" - end - return timestamps - end - - def error? - return @error - end - - attr_accessor(:header, :data, :design) - - private - - def process_epw(epw_path, header_only) - if not File.exist?(epw_path) - @runner.registerError("Cannot find weather file at #{epw_path}.") - @error = true - return nil, nil, nil - end - - epw_file = OpenStudio::EpwFile.new(epw_path, !header_only) - - # Header info: - header = WeatherHeader.new - header.City = epw_file.city - header.State = epw_file.stateProvinceRegion - header.Country = epw_file.country - header.DataSource = epw_file.dataSource - header.Station = epw_file.wmoNumber - header.Latitude = epw_file.latitude - header.Longitude = epw_file.longitude - header.Timezone = epw_file.timeZone - header.Altitude = OpenStudio::convert(epw_file.elevation,"m","ft").get - header.LocalPressure = Math::exp(-0.0000368 * header.Altitude) # atm - - if header_only - return header, nil, nil - end - - design = WeatherDesign.new - ddy_path = epw_path.gsub(".epw",".ddy") - epwHasDesignData = false - if File.exist?(ddy_path) - epwHasDesignData = true - design = get_design_info_from_ddy(design, ddy_path, header.Altitude) - end - - # Timeseries data: - epw_file_data = epw_file.data - hourdata = [] - dailydbs = [] - dailyhighdbs = [] - dailylowdbs = [] - epw_file_data.each_with_index do |epwdata, hournum| - - hourdict = {} - hourdict['month'] = epwdata.month - hourdict['day'] = epwdata.day - hourdict['hour'] = epwdata.hour - if epwdata.dryBulbTemperature.is_initialized - hourdict['db'] = epwdata.dryBulbTemperature.get - else - @runner.registerError("Cannot retrieve dryBulbTemperature from the EPW for hour #{hournum+1}.") - @error = true - end - if epwdata.dewPointTemperature.is_initialized - hourdict['dp'] = epwdata.dewPointTemperature.get - else - @runner.registerError("Cannot retrieve dewPointTemperature from the EPW for hour #{hournum+1}.") - @error = true - end - if epwdata.relativeHumidity.is_initialized - hourdict['rh'] = epwdata.relativeHumidity.get / 100.0 - else - @runner.registerError("Cannot retrieve relativeHumidity from the EPW for hour #{hournum+1}.") - @error = true - end - #if epwdata.extraterrestrialHorizontalRadiation.is_initialized - # hourdict['ethoriz'] = epwdata.extraterrestrialHorizontalRadiation.get - #else - # @runner.registerError("Cannot retrieve extraterrestrialHorizontalRadiation from the EPW for hour #{hournum+1}.") - # @error = true - #end - #if epwdata.globalHorizontalRadiation.is_initialized - # hourdict['ghoriz'] = epwdata.globalHorizontalRadiation.get - #else - # @runner.registerError("Cannot retrieve globalHorizontalRadiation from the EPW for hour #{hournum+1}.") - # @error = true - #end - if epwdata.directNormalRadiation.is_initialized - hourdict['dirnormal'] = epwdata.directNormalRadiation.get # W/m^2 - else - @runner.registerError("Cannot retrieve directNormalRadiation from the EPW for hour #{hournum+1}.") - @error = true - end - if epwdata.diffuseHorizontalRadiation.is_initialized - hourdict['diffhoriz'] = epwdata.diffuseHorizontalRadiation.get # W/m^2 - else - @runner.registerError("Cannot retrieve diffuseHorizontalRadiation from the EPW for hour #{hournum+1}.") - @error = true - end - if epwdata.windSpeed.is_initialized - hourdict['ws'] = epwdata.windSpeed.get - else - @runner.registerError("Cannot retrieve windSpeed from the EPW for hour #{hournum+1}.") - @error = true - end - if @error - return nil, nil, nil - end - hourdata << hourdict - - if (hournum + 1) % 24 == 0 - - db = [] - maxdb = hourdata[hourdata.length - 24]['db'] - mindb = hourdata[hourdata.length - 24]['db'] - hourdata[hourdata.length - 24..-1].each do |x| - if x['db'] > maxdb - maxdb = x['db'] - end - if x['db'] < mindb - mindb = x['db'] - end - db << x['db'] - end - - dailydbs << db.inject{ |sum, n| sum + n } / 24.0 - dailyhighdbs << maxdb - dailylowdbs << mindb - - end - - end - - data = WeatherData.new - data = calc_annual_drybulbs(data, hourdata) - data = calc_monthly_drybulbs(data, hourdata) - data = calc_heat_cool_degree_days(data, hourdata, dailydbs) - data = calc_avg_highs_lows(data, dailyhighdbs, dailylowdbs) - data = calc_avg_windspeed(data, hourdata) - data = calc_mains_temperature(data, header) - data = calc_ground_temperatures(data) - data.WSF = get_ashrae_622_wsf(header.Station) - - if not epwHasDesignData - @runner.registerWarning("No DDY file found; calculating design conditions from EPW weather data.") - design = calc_design_info(design, hourdata, header.Altitude) - design.DailyTemperatureRange = data.MonthlyAvgDailyHighDrybulbs[7] - data.MonthlyAvgDailyLowDrybulbs[7] - end - - design = calc_design_solar_radiation(design, hourdata) - - return header, data, design - - end - - def calc_annual_drybulbs(data, hd) - # Calculates and stores annual average, minimum, and maximum drybulbs - db = [] - mindict = hd[0] - maxdict = hd[0] - hd.each do |x| - if x['db'] > maxdict['db'] - maxdict = x - end - if x['db'] < mindict['db'] - mindict = x - end - db << x['db'] - end - - data.AnnualAvgDrybulb = OpenStudio::convert(db.inject{ |sum, n| sum + n } / 8760.0,"C","F").get - - # Peak temperatures: - data.AnnualMinDrybulb = OpenStudio::convert(mindict['db'],"C","F").get - data.AnnualMaxDrybulb = OpenStudio::convert(maxdict['db'],"C","F").get - - return data - - end - - def calc_monthly_drybulbs(data, hd) - # Calculates and stores monthly average drybulbs - data.MonthlyAvgDrybulbs = [] - (1...13).to_a.each do |month| - y = [] - hd.each do |x| - if x['month'] == month - y << x['db'] - end - end - month_dbtotal = y.inject{ |sum, n| sum + n } - month_hours = y.length - data.MonthlyAvgDrybulbs << OpenStudio::convert(month_dbtotal / month_hours,"C","F").get - end - - return data - end - - def calc_avg_windspeed(data, hd) - # Calculates and stores annual average windspeed - ws = [] - hd.each do |x| - ws << x['ws'] - end - avgws = ws.inject{ |sum, n| sum + n } / 8760.0 - data.AnnualAvgWindspeed = avgws - return data - end - - def calc_heat_cool_degree_days(data, hd, dailydbs) - # Calculates and stores heating/cooling degree days - data.HDD65F = calc_degree_days(dailydbs, 65, true) - data.HDD50F = calc_degree_days(dailydbs, 50, true) - data.CDD65F = calc_degree_days(dailydbs, 65, false) - data.CDD50F = calc_degree_days(dailydbs, 50, false) - - return data - - end - - def calc_degree_days(daily_dbs, base_temp_f, is_heating) - # Calculates and returns degree days from a base temperature for either heating or cooling - base_temp_c = OpenStudio::convert(base_temp_f,"F","C").get - - deg_days = [] - if is_heating - daily_dbs.each do |x| - if x < base_temp_c - deg_days << base_temp_c - x - end - end - else - daily_dbs.each do |x| - if x > base_temp_c - deg_days << x - base_temp_c - end - end - end - if deg_days.size == 0 - return 0.0 - end - deg_days = deg_days.inject{ |sum, n| sum + n } - return 1.8 * deg_days - - end - - def calc_avg_highs_lows(data, daily_high_dbs, daily_low_dbs) - # Calculates and stores avg daily highs and lows for each month - data.MonthlyAvgDailyHighDrybulbs = [] - data.MonthlyAvgDailyLowDrybulbs = [] - - first_day = 0 - for month in 1..12 - ndays = Constants.MonthNumDays[month-1] # Number of days in current month - if month > 1 - first_day += Constants.MonthNumDays[month-2] # Number of days in previous month - end - avg_high = daily_high_dbs[first_day, ndays].inject{ |sum, n| sum + n } / ndays.to_f - avg_low = daily_low_dbs[first_day, ndays].inject{ |sum, n| sum + n } / ndays.to_f - data.MonthlyAvgDailyHighDrybulbs << OpenStudio::convert(avg_high,"C","F").get - data.MonthlyAvgDailyLowDrybulbs << OpenStudio::convert(avg_low,"C","F").get - end - return data - end - - def calc_design_solar_radiation(design, hourdata) - # Calculate cooling design day info, for roof surface sol air temperature, which is used for attic temperature calculation for Manual J/ASHRAE Std 152: - # Max summer direct normal solar radiation - # Diffuse horizontal solar radiation during hour with max direct normal - summer_hourdata = [] - months = [6,7,8,9] - for hr in 0..(hourdata.size - 1) - next if not months.include?(hourdata[hr]['month']) - summer_hourdata << hourdata[hr] - end - - r_d = (1 + Math::cos(26.565052 * Math::PI / 180 ))/2 # Correct diffuse horizontal for tilt. Assume 6:12 roof pitch for this calculation. - max_solar_radiation_hour = summer_hourdata[0] - for hr in 1..(summer_hourdata.size - 1) - next if summer_hourdata[hr]['dirnormal'] + summer_hourdata[hr]['diffhoriz'] * r_d < max_solar_radiation_hour['dirnormal'] + max_solar_radiation_hour['diffhoriz'] * r_d - max_solar_radiation_hour = summer_hourdata[hr] - end - - design.CoolingDirectNormal = max_solar_radiation_hour['dirnormal'] - design.CoolingDiffuseHorizontal = max_solar_radiation_hour['diffhoriz'] - return design - end - - def calc_mains_temperature(data, header) - #Calculates and returns the annual average, daily, and monthly mains water temperature - #Only use this method if no OS:Site:WaterMainsTemperature object exists. - - avgOAT = data.AnnualAvgDrybulb - maxDiffMonthlyAvgOAT = data.MonthlyAvgDrybulbs.max - data.MonthlyAvgDrybulbs.min - - data.MainsAvgTemp, data.MainsMonthlyTemps, data.MainsDailyTemps = WeatherProcess._calculate_mains_temperature(avgOAT, maxDiffMonthlyAvgOAT, header.Latitude) - - return data - end - - def self.get_mains_temperature(waterMainsTemperature, latitude) - #Use this static method if OS:Site:WaterMainsTemperature object exists. - if waterMainsTemperature.calculationMethod == 'Schedule' - # We only currently support the Correlation method - return nil, nil, nil - end - - avgOAT = OpenStudio.convert(waterMainsTemperature.annualAverageOutdoorAirTemperature.get, "C", "F").get - maxDiffMonthlyAvgOAT = OpenStudio.convert(waterMainsTemperature.maximumDifferenceInMonthlyAverageOutdoorAirTemperatures.get, "K", "R").get - - return self._calculate_mains_temperature(avgOAT, maxDiffMonthlyAvgOAT, latitude) - end - - def get_ashrae_622_wsf(wmo) - # Looks up the ASHRAE 62.2 weather and shielding factor from ASHRAE622WSF - # for the specified WMO station number. If not found, uses the average value - # in the file. - - # Sets the WSF value. - - ashrae_csv = File.join(@measure_dir, "resources", 'ASHRAE622WSF.csv') - if not File.exists?(ashrae_csv) - return nil - end - - ashrae_csvlines = [] - File.open(ashrae_csv) do |file| - # if not os.path.exists(ashrae_csv): - # raise IOError("Cannot find file " + ashrae_csv) - file.each do |line| - line = line.strip.chomp.chomp(',').chomp # remove RHS whitespace and extra comma - ashrae_csvlines << line - end - end - - keys = ashrae_csvlines.delete_at(0).split(',') - ashrae_dict = [] - ashrae_csvlines.each do |line| - line = line.split(',') - ashrae_dict << Hash[keys.zip(line)] - end - - wsfs = [] - ashrae_dict.each do |adict| - if adict['TMY3'] == wmo - return adict['wsf'].to_f - end - wsfs << adict['wsf'].to_f - end - - # Value not found, use average - wsf_avg = wsfs.inject{ |sum, n| sum + n } / wsfs.length - @runner.registerWarning("ASHRAE 62.2 WSF not found for station number #{wmo.to_s}, using the national average value of #{wsf_avg.round(3).to_s} instead.") - return wsf_avg - - end - - def get_design_info_from_ddy(design, ddy_path, altitude) - ddy_model = OpenStudio::EnergyPlus.loadAndTranslateIdf(ddy_path).get - dehum02per_dp = nil - ddy_model.getObjectsByType("OS:SizingPeriod:DesignDay".to_IddObjectType).each do |d| - designDay = d.to_DesignDay.get - if d.name.get.include?("Ann Htg 99% Condns DB") - design.HeatingDrybulb = OpenStudio::convert(designDay.maximumDryBulbTemperature,"C","F").get - elsif d.name.get.include?("Ann Htg Wind 99% Condns WS=>MCDB") - # FIXME: Is this correct? Or should be wind speed coincident with heating drybulb? - design.HeatingWindspeed = designDay.windSpeed - elsif d.name.get.include?("Ann Clg 1% Condns DB=>MWB") - design.CoolingDrybulb = OpenStudio::convert(designDay.maximumDryBulbTemperature,"C","F").get - design.CoolingWetbulb = OpenStudio::convert(designDay.humidityIndicatingConditionsAtMaximumDryBulb,"C","F").get - design.CoolingWindspeed = designDay.windSpeed - design.DailyTemperatureRange = OpenStudio::convert(designDay.dailyDryBulbTemperatureRange,"K","R").get - elsif d.name.get.include?("Ann Clg 2% Condns DP=>MDB") - design.DehumidDrybulb = OpenStudio::convert(designDay.maximumDryBulbTemperature,"C","F").get - dehum02per_dp = OpenStudio::convert(designDay.humidityIndicatingConditionsAtMaximumDryBulb,"C","F").get - end - end - std_press = Psychrometrics.Pstd_fZ(altitude) - design.CoolingHumidityRatio = Psychrometrics.w_fT_Twb_P(design.CoolingDrybulb, design.CoolingWetbulb, std_press) - design.DehumidHumidityRatio = Psychrometrics.w_fT_Twb_P(dehum02per_dp, dehum02per_dp, std_press) - return design - end - - def calc_design_info(design, hourdata, altitude) - # Calculate design day info: - # - Heating 99% drybulb - # - Heating mean coincident windspeed - # - Cooling 99% drybulb - # - Cooling mean coincident windspeed - # - Cooling mean coincident wetbulb - # - Cooling mean coincident humidity ratio - - std_press = Psychrometrics.Pstd_fZ(altitude) - annual_hd_sorted_by_db = hourdata.sort_by { |x| x['db'] } - annual_hd_sorted_by_dp = hourdata.sort_by { |x| x['dp'] } - - # 1%/99%/2% values - heat99per_db = annual_hd_sorted_by_db[88]['db'] - cool01per_db = annual_hd_sorted_by_db[8673]['db'] - dehum02per_dp = annual_hd_sorted_by_dp[8584]['dp'] - - # Mean coincident values for cooling - cool_windspeed = [] - cool_wetbulb = [] - for i in 0..(annual_hd_sorted_by_db.size - 1) - if (annual_hd_sorted_by_db[i]['db'] > cool01per_db - 0.5) and (annual_hd_sorted_by_db[i]['db'] < cool01per_db + 0.5) - cool_windspeed << annual_hd_sorted_by_db[i]['ws'] - wb = Psychrometrics.Twb_fT_R_P(OpenStudio::convert(annual_hd_sorted_by_db[i]['db'],"C","F").get, annual_hd_sorted_by_db[i]['rh'], std_press) - cool_wetbulb << wb - end - end - cool_design_wb = cool_wetbulb.inject{ |sum, n| sum + n } / cool_wetbulb.size - - # Mean coincident values for heating - heat_windspeed = [] - for i in 0..(annual_hd_sorted_by_db.size - 1) - if (annual_hd_sorted_by_db[i]['db'] > heat99per_db - 0.5) and (annual_hd_sorted_by_db[i]['db'] < heat99per_db + 0.5) - heat_windspeed << annual_hd_sorted_by_db[i]['ws'] - end - end - - # Mean coincident values for dehumidification - dehum_drybulb = [] - for i in 0..(annual_hd_sorted_by_dp.size - 1) - if (annual_hd_sorted_by_dp[i]['dp'] > dehum02per_dp - 0.5) and (annual_hd_sorted_by_dp[i]['dp'] < dehum02per_dp + 0.5) - dehum_drybulb << annual_hd_sorted_by_dp[i]['db'] - end - end - dehum_design_db = dehum_drybulb.inject{ |sum, n| sum + n } / dehum_drybulb.size - - - design.CoolingDrybulb = OpenStudio::convert(cool01per_db,"C","F").get - design.CoolingWetbulb = cool_design_wb - design.CoolingHumidityRatio = Psychrometrics.w_fT_Twb_P(design.CoolingDrybulb, design.CoolingWetbulb, std_press) - design.CoolingWindspeed = cool_windspeed.inject{ |sum, n| sum + n } / cool_windspeed.size - - design.HeatingDrybulb = OpenStudio::convert(heat99per_db,"C","F").get - design.HeatingWindspeed = heat_windspeed.inject{ |sum, n| sum + n } / heat_windspeed.size - - design.DehumidDrybulb = OpenStudio::convert(dehum_design_db,"C","F").get - design.DehumidHumidityRatio = Psychrometrics.w_fT_Twb_P(OpenStudio::convert(dehum02per_dp,"C","F").get, OpenStudio::convert(dehum02per_dp,"C","F").get, std_press) - - return design - - end - - def calc_ground_temperatures(data) - # Return monthly ground temperatures. - - amon = [15.0, 46.0, 74.0, 95.0, 135.0, 166.0, 196.0, 227.0, 258.0, 288.0, 319.0, 349.0] - po = 0.6 - dif = 0.025 - p = OpenStudio::convert(1.0,"yr","hr").get - - beta = Math::sqrt(Math::PI / (p * dif)) * 10.0 - x = Math::exp(-beta) - x2 = x * x - s = Math::sin(beta) - c = Math::cos(beta) - y = (x2 - 2.0 * x * c + 1.0) / (2.0 * beta ** 2.0) - gm = Math::sqrt(y) - z = (1.0 - x * (c + s)) / (1.0 - x * (c - s)) - phi = Math::atan(z) - bo = (data.MonthlyAvgDrybulbs.max - data.MonthlyAvgDrybulbs.min) * 0.5 - - data.GroundMonthlyTemps = [] - (0...12).to_a.each do |i| - theta = amon[i] * 24.0 - data.GroundMonthlyTemps << OpenStudio::convert(data.AnnualAvgDrybulb - bo * Math::cos(2.0 * Math::PI / p * theta - po - phi) * gm + 460.0,"R","F").get - end - - return data - - end - - private - - def self._calculate_mains_temperature(avgOAT, maxDiffMonthlyAvgOAT, latitude) - pi = Math::PI - deg_rad = pi/180 - mainsDailyTemps = Array.new(365, 0) - mainsMonthlyTemps = Array.new(12, 0) - mainsAvgTemp = 0 - - tmains_ratio = 0.4 + 0.01*(avgOAT - 44) - tmains_lag = 35 - (avgOAT - 44) - if latitude < 0 - sign = 1 - else - sign = -1 - end - - #Calculate daily and annual - for d in 1..365 - mainsDailyTemps[d-1] = avgOAT + 6 + tmains_ratio * maxDiffMonthlyAvgOAT / 2 * Math.sin(deg_rad * (0.986 * (d - 15 - tmains_lag) + sign * 90)) - mainsAvgTemp += mainsDailyTemps[d-1] / 365.0 - end - #Calculate monthly - for m in 1..12 - mainsMonthlyTemps[m-1] = avgOAT + 6 + tmains_ratio * maxDiffMonthlyAvgOAT / 2 * Math.sin(deg_rad * (0.986 * ((m * 30 - 15) - 15 - tmains_lag) + sign * 90)) - end - return mainsAvgTemp, mainsMonthlyTemps, mainsDailyTemps - end - -end \ No newline at end of file diff --git a/measures/TimeseriesCSVExport/tests/Measure_Test.rb b/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb similarity index 57% rename from measures/TimeseriesCSVExport/tests/Measure_Test.rb rename to measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb index c0b4f2bc4..9404614d4 100644 --- a/measures/TimeseriesCSVExport/tests/Measure_Test.rb +++ b/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb @@ -1,71 +1,33 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2018, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* - -require 'openstudio' -require 'openstudio/measure/ShowRunnerOutput' +# dependencies require 'fileutils' -require 'open3' - -require_relative '../measure.rb' -require_relative '../../../test/helpers/minitest_helper' - require 'minitest/autorun' +require 'open3' +require 'openstudio' +require 'openstudio/measure/ShowRunnerOutput' +require_relative '../measure' -class TimeseriesCSVExport_Test < Minitest::Test - def is_openstudio_2? +class TimeseriesCSVExportTest < Minitest::Test + def openstudio_2? begin - workflow = OpenStudio::WorkflowJSON.new + OpenStudio::WorkflowJSON.new rescue StandardError return false end - return true + true end def model_in_path_default - return "#{File.dirname(__FILE__)}/ExampleModel.osm" + "#{File.dirname(__FILE__)}/ExampleModel.osm" end def epw_path_default # make sure we have a weather data location - epw = nil epw = OpenStudio::Path.new("#{File.dirname(__FILE__)}/USA_CO_Golden-NREL.724666_TMY3.epw") assert(File.exist?(epw.to_s)) - return epw.to_s + epw.to_s end def run_dir(test_name) @@ -78,19 +40,17 @@ def model_out_path(test_name) end def workspace_path(test_name) - if is_openstudio_2? - return "#{run_dir(test_name)}/run/in.idf" - else - return "#{run_dir(test_name)}/ModelToIdf/in.idf" - end + return "#{run_dir(test_name)}/run/in.idf" if openstudio_2? + + + "#{run_dir(test_name)}/ModelToIdf/in.idf" end def sql_path(test_name) - if is_openstudio_2? - return "#{run_dir(test_name)}/run/eplusout.sql" - else - return "#{run_dir(test_name)}/ModelToIdf/EnergyPlusPreProcess-0/EnergyPlus-0/eplusout.sql" - end + return "#{run_dir(test_name)}/run/eplusout.sql" if openstudio_2? + + + "#{run_dir(test_name)}/ModelToIdf/EnergyPlusPreProcess-0/EnergyPlus-0/eplusout.sql" end def report_path(test_name) @@ -102,22 +62,23 @@ def setup_test_1(test_name, epw_path) co = OpenStudio::Runmanager::ConfigOptions.new(true) co.findTools(false, true, false, true) - if !File.exist?(sql_path(test_name)) - puts 'Running EnergyPlus' + return if File.exist?(sql_path(test_name)) - wf = OpenStudio::Runmanager::Workflow.new('modeltoidf->energypluspreprocess->energyplus') - wf.add(co.getTools) - job = wf.create(OpenStudio::Path.new(run_dir(test_name)), OpenStudio::Path.new(model_out_path(test_name)), OpenStudio::Path.new(epw_path)) + puts 'Running EnergyPlus' - rm = OpenStudio::Runmanager::RunManager.new - rm.enqueue(job, true) - rm.waitForFinished - end + wf = OpenStudio::Runmanager::Workflow.new('modeltoidf->energypluspreprocess->energyplus') + wf.add(co.getTools) + job = wf.create(OpenStudio::Path.new(run_dir(test_name)), OpenStudio::Path.new(model_out_path(test_name)), + OpenStudio::Path.new(epw_path)) + + rm = OpenStudio::Runmanager::RunManager.new + rm.enqueue(job, true) + rm.waitForFinished end # method for running the test simulation using OpenStudio 2.x API def setup_test_2(test_name, epw_path) - if !File.exist?(sql_path(test_name)) + unless File.exist?(sql_path(test_name)) osw_path = File.join(run_dir(test_name), 'in.osw') osw_path = File.absolute_path(osw_path) @@ -150,30 +111,21 @@ def setup_test_2(test_name, epw_path) puts("stdout: #{stdout_str}") puts("stderr: #{stderr_str}") cmd2 = "\"#{cli_path}\" gem_list" - stdout_str_2, stderr_str_2, status_2 = Open3.capture3(new_env, cmd2) + stdout_str_2, = Open3.capture3(new_env, cmd2) puts("Gems available to openstudio cli according to (openstudio gem_list): \n #{stdout_str_2}") end end - return true + true end # create test files if they do not exist when the test first runs def setup_test(test_name, idf_output_requests, model_in_path = model_in_path_default, epw_path = epw_path_default) - if !File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) - - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end - + FileUtils.rm_f(report_path(test_name)) assert(File.exist?(model_in_path)) - - if File.exist?(model_out_path(test_name)) - FileUtils.rm(model_out_path(test_name)) - end + FileUtils.rm_f(model_out_path(test_name)) # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) @@ -188,13 +140,9 @@ def setup_test(test_name, idf_output_requests, model_in_path = model_in_path_def model.addObjects(request_model.objects) model.save(model_out_path(test_name), true) - if ENV['OPENSTUDIO_TEST_NO_CACHE_SQLFILE'] - if File.exist?(sql_path(test_name)) - FileUtils.rm_f(sql_path(test_name)) - end - end + FileUtils.rm_f(sql_path(test_name)) if ENV['OPENSTUDIO_TEST_NO_CACHE_SQLFILE'] && File.exist?(sql_path(test_name)) - if is_openstudio_2? + if openstudio_2? setup_test_2(test_name, epw_path) else setup_test_1(test_name, epw_path) @@ -205,29 +153,24 @@ def setup_test(test_name, idf_output_requests, model_in_path = model_in_path_def def section_errors(runner) test_string = 'section failed and was skipped because' - if is_openstudio_2? + if openstudio_2? section_errors = [] runner.result.stepWarnings.each do |warning| - if warning.include?(test_string) - section_errors << warning - end + section_errors << warning if warning.include?(test_string) end assert(section_errors.empty?) else section_errors = [] runner.result.warnings.each do |warning| - if warning.logMessage.include?(test_string) - section_errors << warning - end + section_errors << warning if warning.logMessage.include?(test_string) end assert(section_errors.empty?) end - return section_errors + section_errors end def test_sm_hotel - test_name = 'sm_hotel' model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" @@ -250,18 +193,18 @@ def test_sm_hotel # populate argument with specified hash value if specified arguments.each do |arg| temp_arg_var = arg.clone - if args_hash[arg.name] - assert(temp_arg_var.setValue(args_hash[arg.name])) - end + assert(temp_arg_var.setValue(args_hash[arg.name])) if args_hash[arg.name] argument_map[arg.name] = temp_arg_var end # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + idf_output_requests = measure.energyPlusOutputRequests( + OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map + ) + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT - epw_path = epw_path_default + epw_path_default setup_test(test_name, idf_output_requests, model_in_path) assert(File.exist?(model_out_path(test_name))) @@ -275,9 +218,7 @@ def test_sm_hotel runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end + FileUtils.rm_f(report_path(test_name)) assert(!File.exist?(report_path(test_name))) # temporarily change directory to the run directory and run the measure @@ -305,7 +246,6 @@ def test_sm_hotel end def test_restaurant - test_name = 'restaurant' model_in_path = "#{File.dirname(__FILE__)}/FullServiceRestaurant.osm" @@ -328,18 +268,18 @@ def test_restaurant # populate argument with specified hash value if specified arguments.each do |arg| temp_arg_var = arg.clone - if args_hash[arg.name] - assert(temp_arg_var.setValue(args_hash[arg.name])) - end + assert(temp_arg_var.setValue(args_hash[arg.name])) if args_hash[arg.name] argument_map[arg.name] = temp_arg_var end # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + idf_output_requests = measure.energyPlusOutputRequests( + OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map + ) + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT - epw_path = epw_path_default + epw_path_default setup_test(test_name, idf_output_requests, model_in_path) assert(File.exist?(model_out_path(test_name))) @@ -353,9 +293,7 @@ def test_restaurant runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end + FileUtils.rm_f(report_path(test_name)) assert(!File.exist?(report_path(test_name))) # temporarily change directory to the run directory and run the measure @@ -382,57 +320,56 @@ def test_restaurant assert(File.exist?(report_path(test_name))) # make sure that the expected columns are in the file - f = File.open(report_path(test_name), 'r').each_with_index do |line, i| - if i == 0 - cols = line.split(',') - # Electricity - assert(cols.include?('total_site_electricity_kwh')) - assert(cols.include?('electricity_heating_kwh')) - assert(cols.include?('electricity_cooling_kwh')) - assert(cols.include?('electricity_interior_lighting_kwh')) - assert(cols.include?('electricity_interior_equipment_kwh')) - assert(cols.include?('electricity_exterior_lighting_kwh')) - assert(cols.include?('electricity_fans_kwh')) - assert(cols.include?('electricity_pumps_kwh')) - assert(cols.include?('electricity_refrigeration_kwh')) - assert(cols.include?('electricity_water_systems_kwh')) - assert(!cols.include?('electricity_exterior_equipment_kwh')) - assert(!cols.include?('electricity_heat_rejection_kwh')) - assert(!cols.include?('electricity_humidification_kwh')) - assert(!cols.include?('electricity_heat_recovery_kwh')) - assert(!cols.include?('electricity_generators_kwh')) - # Natural Gas - assert(cols.include?('total_site_gas_kbtu')) - assert(cols.include?('gas_interior_equipment_kbtu')) - assert(cols.include?('gas_water_systems_kbtu')) - assert(!cols.include?('gas_heating_kbtu')) - assert(!cols.include?('gas_exterior_equipment_kbtu')) - # Fuel Oil No 2 - assert(cols.include?('total_site_fueloil_kbtu')) - assert(cols.include?('fueloil_water_systems_kbtu')) - assert(!cols.include?('fueloil_heating_kbtu')) - # Propane - assert(cols.include?('total_site_propane_kbtu')) - assert(cols.include?('propane_water_systems_kbtu')) - assert(!cols.include?('propane_heating_kbtu')) - # District Heating - assert(!cols.include?('total_site_districtheating_kbtu')) - assert(!cols.include?('districtheating_water_systems_kbtu')) - assert(!cols.include?('districtheating_heating_kbtu')) - # District Cooling - assert(!cols.include?('total_site_districtcooling_kbtu')) - assert(!cols.include?('districtcooling_cooling_kbtu')) - # Water - assert(cols.include?('total_site_water_gal')) - assert(!cols.include?('cooling_gal')) - assert(cols.include?('water_systems_gal')) - assert(!cols.include?('heat_rejection_gal')) - end + File.open(report_path(test_name), 'r').each_with_index do |line, i| + next unless i == 0 + + cols = line.split(',') + # Electricity + assert(cols.include?('total_site_electricity_kwh')) + assert(cols.include?('electricity_heating_kwh')) + assert(cols.include?('electricity_cooling_kwh')) + assert(cols.include?('electricity_interior_lighting_kwh')) + assert(cols.include?('electricity_interior_equipment_kwh')) + assert(cols.include?('electricity_exterior_lighting_kwh')) + assert(cols.include?('electricity_fans_kwh')) + assert(cols.include?('electricity_pumps_kwh')) + assert(cols.include?('electricity_refrigeration_kwh')) + assert(cols.include?('electricity_water_systems_kwh')) + assert(!cols.include?('electricity_exterior_equipment_kwh')) + assert(!cols.include?('electricity_heat_rejection_kwh')) + assert(!cols.include?('electricity_humidification_kwh')) + assert(!cols.include?('electricity_heat_recovery_kwh')) + assert(!cols.include?('electricity_generators_kwh')) + # Natural Gas + assert(cols.include?('total_site_gas_kbtu')) + assert(cols.include?('gas_interior_equipment_kbtu')) + assert(cols.include?('gas_water_systems_kbtu')) + assert(!cols.include?('gas_heating_kbtu')) + assert(!cols.include?('gas_exterior_equipment_kbtu')) + # Fuel Oil No 2 + assert(cols.include?('total_site_fueloil_kbtu')) + assert(cols.include?('fueloil_water_systems_kbtu')) + assert(!cols.include?('fueloil_heating_kbtu')) + # Propane + assert(cols.include?('total_site_propane_kbtu')) + assert(cols.include?('propane_water_systems_kbtu')) + assert(!cols.include?('propane_heating_kbtu')) + # District Heating + assert(!cols.include?('total_site_districtheating_kbtu')) + assert(!cols.include?('districtheating_water_systems_kbtu')) + assert(!cols.include?('districtheating_heating_kbtu')) + # District Cooling + assert(!cols.include?('total_site_districtcooling_kbtu')) + assert(!cols.include?('districtcooling_cooling_kbtu')) + # Water + assert(cols.include?('total_site_water_gal')) + assert(!cols.include?('cooling_gal')) + assert(cols.include?('water_systems_gal')) + assert(!cols.include?('heat_rejection_gal')) end end def test_retail - test_name = 'retail' model_in_path = "#{File.dirname(__FILE__)}/Retail.osm" @@ -447,11 +384,13 @@ def test_retail argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + idf_output_requests = measure.energyPlusOutputRequests( + OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map + ) + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT - epw_path = epw_path_default + epw_path_default setup_test(test_name, idf_output_requests, model_in_path) assert(File.exist?(model_out_path(test_name))) @@ -465,9 +404,7 @@ def test_retail runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end + FileUtils.rm_f(report_path(test_name)) assert(!File.exist?(report_path(test_name))) # temporarily change directory to the run directory and run the measure diff --git a/test/reporting_measure_tests.txt b/test/reporting_measure_tests.txt index b858a94b6..d973c7f8b 100644 --- a/test/reporting_measure_tests.txt +++ b/test/reporting_measure_tests.txt @@ -2,4 +2,4 @@ measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb measures/emissions_reporting/tests/emissions_reporting_test.rb measures/qoi_report/tests/qoi_report_test.rb measures/simulation_settings_check/tests/simulation_settings_check_test.rb -measures/TimeseriesCSVExport/tests/Measure_Test.rb +measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb From f64edfe48ba06024f188ee1199e7f60b569ee6ec Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Tue, 29 Oct 2024 17:08:47 -0600 Subject: [PATCH 09/23] remove comment --- measures/TimeseriesCSVExport/measure.rb | 1 - measures/TimeseriesCSVExport/measure.xml | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/measures/TimeseriesCSVExport/measure.rb b/measures/TimeseriesCSVExport/measure.rb index cae863c34..00a295b24 100644 --- a/measures/TimeseriesCSVExport/measure.rb +++ b/measures/TimeseriesCSVExport/measure.rb @@ -12,7 +12,6 @@ require 'rbconfig' require 'date' require 'time' -# require "#{File.dirname(__FILE__)}/resources/weather" # start the measure class TimeseriesCSVExport < OpenStudio::Measure::ReportingMeasure diff --git a/measures/TimeseriesCSVExport/measure.xml b/measures/TimeseriesCSVExport/measure.xml index ae19900b2..b14356c4a 100644 --- a/measures/TimeseriesCSVExport/measure.xml +++ b/measures/TimeseriesCSVExport/measure.xml @@ -3,8 +3,8 @@ 3.1 timeseries_csv_export 2a3442c1-944d-4e91-9e11-11e0cf368c64 - 47dc2970-907a-4f54-9fff-c243b16093cc - 2024-10-29T22:56:37Z + 842f393a-5bee-4e17-a32d-c6aa33951a4b + 2024-10-29T23:08:25Z 15BF4E57 TimeseriesCSVExport Timeseries CSV Export @@ -82,7 +82,7 @@ measure.rb rb script - 5E1B98BE + 807D1B31 ReadVarsESO From c0250befd9164b698f2e28fba8b922f678a873fc Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 11:27:22 -0700 Subject: [PATCH 10/23] Delete resource_measure_tests.txt --- test/resource_measure_tests.txt | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 test/resource_measure_tests.txt diff --git a/test/resource_measure_tests.txt b/test/resource_measure_tests.txt deleted file mode 100644 index 27109b818..000000000 --- a/test/resource_measure_tests.txt +++ /dev/null @@ -1,28 +0,0 @@ -resources/measures/add_blinds_to_selected_windows/tests/add_blinds_to_selected_windows_test.rb -resources/measures/add_hvac_nighttime_operation_variability/tests/add_hvac_nighttime_operation_variability_test.rb -resources/measures/add_thermostat_setpoint_variability/tests/add_thermostat_setpoint_variability_test.rb -resources/measures/adjust_occupancy_schedule/tests/adjust_occupancy_schedule_test.rb -resources/measures/ChangeBuildingLocation/tests/change_building_location_test.rb -resources/measures/create_bar_from_building_type_ratios/tests/create_bar_from_building_type_ratios_test.rb -resources/measures/create_typical_building_from_model/tests/create_typical_building_from_model_test.rb -resources/measures/create_typical_building_from_model/tests/test_hvac.rb -resources/measures/fault_hvac_economizer_changeover_temperature/tests/fault_hvac_economizer_changeover_temperature_test.rb -resources/measures/fault_hvac_economizer_damper_stuck/tests/fault_hvac_economizer_damper_stuck_test.rb -resources/measures/hardsize_model/tests/hardsize_model_test.rb -resources/measures/prototype_space_type_assignment/tests/prototype_space_type_assignment_test.rb -resources/measures/replace_baseline_windows/tests/replace_baseline_windows_test.rb -resources/measures/set_electric_equipment_bpr/tests/set_electric_equipment_bpr_test.rb -resources/measures/set_exterior_lighting_template/tests/set_exterior_lighting_template_test.rb -resources/measures/set_heating_fuel/tests/set_heating_fuel_test.rb -resources/measures/set_hvac_template/tests/set_hvac_template_test.rb -resources/measures/set_interior_equipment_template/tests/set_interior_equipment_template_test.rb -resources/measures/set_interior_lighting_bpr/tests/set_interior_lighting_bpr_test.rb -resources/measures/set_interior_lighting_technology/tests/set_interior_lighting_technology_test.rb -resources/measures/set_nist_infiltration_correlations/tests/nist_infiltration_correlations_test.rb -resources/measures/set_primary_kitchen_equipment/tests/set_primary_kitchen_equipment_test.rb -resources/measures/set_roof_template/tests/set_roof_template_test.rb -resources/measures/set_service_water_heating_fuel/tests/set_service_water_heating_fuel_test.rb -resources/measures/set_service_water_heating_template/tests/set_service_water_heating_template_test.rb -resources/measures/set_space_type_load_subcategories/tests/set_space_type_load_subcategories_test.rb -resources/measures/set_wall_template/tests/set_wall_template_test.rb -resources/measures/simulation_settings/tests/simulation_settings_test.rb \ No newline at end of file From 2fad570b22e61ff4bd0a29233eef1651028085fb Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 15:08:03 -0700 Subject: [PATCH 11/23] Rubocop updates to Gemfile --- resources/Gemfile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/resources/Gemfile b/resources/Gemfile index 50d5d9072..f3f9b10ad 100644 --- a/resources/Gemfile +++ b/resources/Gemfile @@ -1,22 +1,24 @@ source 'http://rubygems.org' -ruby "~> 3.2.0" +ruby '~> 3.2.0' # Bug in addressable to 2.8.1 and patched version has an issue https://github.com/NREL/OpenStudio/issues/4870 gem 'addressable', '= 2.8.1' # This removes the rubocop runtime dependency on 'json ~> 2.3'. -gem 'rubocop', :github => 'jmarrec/rubocop', :ref => '1.50.0-no_json' +gem 'rubocop', github: 'jmarrec/rubocop', ref: '1.50.0-no_json' +gem 'rubocop-rake' +gem 'rubocop-rspec' -gem 'bcl', "= 0.8.0" +gem 'bcl', '= 0.8.0' gem 'openstudio-extension', '= 0.8.0' -gem 'openstudio-workflow', '= 2.4.0' gem 'openstudio-standards', '= 0.6.3' -#gem 'openstudio-standards', git: 'https://github.com/NREL/openstudio-standards.git', ref: 'e61d7d41a0e285cc99c7c6ea4aff1fcdc0be3599' +gem 'openstudio-workflow', '= 2.4.0' +# gem 'openstudio-standards', git: 'https://github.com/NREL/openstudio-standards.git', ref: 'e61d7d41a0e285cc99c7c6ea4aff1fcdc0be3599' # gem 'openstudio-standards', path: "C:/GitRepos/openstudio-standards" # Use this format when testing openstudio-standards changes locally +gem 'openstudio-geb', '= 0.4.0', github: 'LBNL-ETA/Openstudio-GEB-gem', ref: 'a18e023936dd5c92be7dbf354f6331f60a965828' gem 'tbd', '= 3.4.1' -gem 'openstudio-geb', '= 0.4.0',:github => 'LBNL-ETA/Openstudio-GEB-gem', :ref => 'a18e023936dd5c92be7dbf354f6331f60a965828' group :test do - gem 'minitest-reporters', '= 1.4.3' gem 'minitest-junit', '= 1.1.0' + gem 'minitest-reporters', '= 1.4.3' end From 4fabf4bad0652bfc3ed98d008b07006ea9cbcb8c Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 15:08:15 -0700 Subject: [PATCH 12/23] Rubocop updates to Rakefile --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 5df231b21..f36c55dad 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ require 'rubocop/rake_task' desc 'Run measure tests' namespace :unit_tests do desc 'Run all measure tests' - task :all_tests => [:measure_tests, :workflow_measure_tests, :upgrade_measure_tests] do + task all_tests: [:measure_tests, :workflow_measure_tests, :upgrade_measure_tests] do puts 'Running all measure tests:' end From bbf003611891d2dd2c524ce5bfcb1263e0d39f53 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 15:18:14 -0700 Subject: [PATCH 13/23] emissions measure rubocop --- measures/emissions_reporting/measure.rb | 152 +++++++++++------------ measures/emissions_reporting/measure.xml | 6 +- 2 files changed, 76 insertions(+), 82 deletions(-) diff --git a/measures/emissions_reporting/measure.rb b/measures/emissions_reporting/measure.rb index 8a4a0d90a..21056a1ba 100644 --- a/measures/emissions_reporting/measure.rb +++ b/measures/emissions_reporting/measure.rb @@ -41,11 +41,11 @@ # from https://stackoverflow.com/questions/1509915/converting-camel-case-to-underscore-case-in-ruby class String def underscore - self.gsub(/::/, '/'). - gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). - gsub(/([a-z\d])([A-Z])/,'\1_\2'). - tr("-", "_"). - downcase + gsub('::', '/') + .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') + .gsub(/([a-z\d])([A-Z])/, '\1_\2') + .tr('-', '_') + .downcase end end @@ -54,7 +54,7 @@ class EmissionsReporting < OpenStudio::Measure::ReportingMeasure # define the name that a user will see, this method may be deprecated as # the display name in PAT comes from the name field in measure.xml def name - return "Emissions Reporting" + return 'Emissions Reporting' end # human readable description @@ -185,18 +185,18 @@ def grid_states def resources(model) resources = [ 'Electricity', - 'Propane', + 'Propane' # 'DistrictHeating', # 'DistrictCooling' ] # Handle fuel output variables that changed in EnergyPlus version 9.4 (Openstudio version >= 3.1) if model.version > OpenStudio::VersionString.new('3.0.1') - resources << "NaturalGas" - resources << "FuelOilNo2" + resources << 'NaturalGas' + resources << 'FuelOilNo2' else - resources << "Gas" - resources << "FuelOil#2" + resources << 'Gas' + resources << 'FuelOil#2' end return resources @@ -210,7 +210,7 @@ def enduses 'InteriorEquipment', # 'ExteriorEquipment', 'Refrigeration', - 'WaterSystems', + 'WaterSystems' ] return enduses end @@ -230,12 +230,12 @@ def hvac_uses def seasons return { - 'winter' => [-1e9, 55], - 'summer' => [70, 1e9], - 'shoulder' => [55, 70] + 'winter' => [-1e9, 55], + 'summer' => [70, 1e9], + 'shoulder' => [55, 70] } end - + # define the arguments that the user will input def arguments(model = nil) args = OpenStudio::Measure::OSArgumentVector.new @@ -297,10 +297,10 @@ def energyPlusOutputRequests(runner, user_arguments) resources = resources(model) resources.each do |resource| # only request timeseries for electricity - if !resource.include?("Electricity") - frequency = "RunPeriod" + if resource.include?('Electricity') + frequency = 'Hourly' else - frequency = "Hourly" + frequency = 'RunPeriod' end # add facility meters @@ -309,15 +309,16 @@ def energyPlusOutputRequests(runner, user_arguments) # add enduse meters enduses.each do |enduse| # lights, refrigeration only use electricity - next if (enduse.include?("Lights") || enduse.include?("Refrigeration")) && resource != "Electricity" + next if (enduse.include?('Lights') || enduse.include?('Refrigeration')) && resource != 'Electricity' + result << OpenStudio::IdfObject.load("Output:Meter,#{enduse}:#{resource},#{frequency};").get end # custom meters for hvac total_hvac_string = "Meter:Custom,TotalHVAC:#{resource},#{resource}," - - hvac_uses.each_with_index do |use,i| - if hvac_uses.size == i+1 + + hvac_uses.each_with_index do |use, i| + if hvac_uses.size == i + 1 total_hvac_string << ",#{use}:#{resource};" else total_hvac_string << ",#{use}:#{resource}," @@ -330,7 +331,6 @@ def energyPlusOutputRequests(runner, user_arguments) result << OpenStudio::IdfObject.load(cooling_string).get result << OpenStudio::IdfObject.load("Output:Meter,TotalHVAC:#{resource},#{frequency};").get result << OpenStudio::IdfObject.load("Output:Meter,CoolingHVAC:#{resource},#{frequency};").get - end return result @@ -359,21 +359,21 @@ def run(runner, user_arguments) run_dir = run_dir_comstock runner.registerInfo("run directory: #{run_dir}") else - runner.registerError("Could not find directory with EnergyPlus output, cannont extract timeseries results") + runner.registerError('Could not find directory with EnergyPlus output, cannont extract timeseries results') return false end # get the last model and sql file model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Cannot find last model.") + runner.registerError('Cannot find last model.') return false end model = model.get sqlFile = runner.lastEnergyPlusSqlFile if sqlFile.empty? - runner.registerError("Cannot find last sql file.") + runner.registerError('Cannot find last sql file.') return false end sqlFile = sqlFile.get @@ -382,10 +382,8 @@ def run(runner, user_arguments) ann_env_pd = nil sqlFile.availableEnvPeriods.each do |env_pd| env_type = sqlFile.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') - ann_env_pd = env_pd - end + if env_type.is_initialized && (env_type.get == (OpenStudio::EnvironmentType.new('WeatherRunPeriod'))) + ann_env_pd = env_pd end end if ann_env_pd == false @@ -411,17 +409,17 @@ def run(runner, user_arguments) # natural gas emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values natural_gas_emissions_factor_co2e_lb_per_mmbtu = 147.3 - natural_gas_emissions_factor_co2e_kg_per_kbtu = natural_gas_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + natural_gas_emissions_factor_co2e_kg_per_kbtu = natural_gas_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # fuel oil emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values fuel_oil_emissions_factor_co2e_lb_per_mmbtu = 195.9 - fuel_oil_emissions_factor_co2e_kg_per_kbtu = fuel_oil_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + fuel_oil_emissions_factor_co2e_kg_per_kbtu = fuel_oil_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # propane emissions factors # from: https://openstudio-hpxml.readthedocs.io/en/latest/workflow_inputs.html#default-values propane_emissions_factor_co2e_lb_per_mmbtu = 177.8 - propane_emissions_factor_co2e_kg_per_kbtu = propane_emissions_factor_co2e_lb_per_mmbtu * (1/1000.0) * lbm_to_kg + propane_emissions_factor_co2e_kg_per_kbtu = propane_emissions_factor_co2e_lb_per_mmbtu * (1 / 1000.0) * lbm_to_kg # set cambium and egrid regions if grid_region == 'Lookup from model' @@ -458,7 +456,7 @@ def run(runner, user_arguments) else runner.registerError("State '#{model_state}' is not a valid eGRID state.") return false - end + end else egrid_state = grid_state runner.registerInfo("Using state '#{egrid_state}' from user inputs.") @@ -473,9 +471,8 @@ def run(runner, user_arguments) runner.registerError('Unable to get hourly temperature from the model. Cannot calculate seasonal emissions.') return false end - hourly_temperature_F = [] - temperatures.each do |val| - hourly_temperature_F << OpenStudio.convert(val, 'C', 'F').get + hourly_temperature_F = temperatures.map do |val| + OpenStudio.convert(val, 'C', 'F').get end # get hourly electricity values @@ -486,14 +483,11 @@ def run(runner, user_arguments) return false end - # hourly_electricity_kwh = [] - hourly_electricity_mwh = [] - # electricity_values.each { |val| hourly_electricity_kwh << val * j_to_kwh } - electricity_values.each { |val| hourly_electricity_mwh << val * j_to_mwh } + hourly_electricity_mwh = electricity_values.map { |val| (val * j_to_mwh) } # get end-use electricity values electricity_enduse_results = {} - enduses.push(["TotalHVAC","CoolingHVAC"]).flatten.each do |enduse| + enduses.push(['TotalHVAC', 'CoolingHVAC']).flatten.each do |enduse| electricity_enduse_results["#{enduse}_mwh"] = [] electricity_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:ELECTRICITY' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" electricity_enduse_values = sqlFile.execAndReturnVectorOfDouble(electricity_enduse_query).get @@ -501,7 +495,7 @@ def run(runner, user_arguments) runner.registerWarning("Unable to get hourly timeseries #{enduse} electricity use from the model. Cannot calculate results") electricity_enduse_results["#{enduse}_mwh"] << 0 end - electricity_enduse_values.each { |val| electricity_enduse_results["#{enduse}_mwh"] << val * j_to_mwh} + electricity_enduse_values.each { |val| electricity_enduse_results["#{enduse}_mwh"] << (val * j_to_mwh) } end # get run period natural gas values @@ -512,7 +506,7 @@ def run(runner, user_arguments) if natural_gas_values.empty? runner.registerWarning('Unable to get hourly timeseries facility natural gas use from the model, the model may not use gas. Cannot calculate emissions.') else - annual_natural_gas_emissions_co2e_kg = natural_gas_values.map{|v| v * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu}.sum + annual_natural_gas_emissions_co2e_kg = natural_gas_values.map { |v| v * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual hourly natural gas emissions (kg CO2e): #{annual_natural_gas_emissions_co2e_kg.round(2)}") runner.registerValue('annual_natural_gas_ghg_emissions_kg', annual_natural_gas_emissions_co2e_kg) @@ -524,7 +518,7 @@ def run(runner, user_arguments) if fuel_oil_values.empty? runner.registerWarning('Unable to get hourly timeseries facility fuel oil use from the model, the model may not use fuel oil. Cannot calculate emissions.') else - annual_fuel_oil_emissions_co2e_kg = fuel_oil_values.map{|v| v * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu}.sum + annual_fuel_oil_emissions_co2e_kg = fuel_oil_values.map { |v| v * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual hourly fuel oil emissions (kg CO2e): #{annual_fuel_oil_emissions_co2e_kg.round(2)}") runner.registerValue('annual_fuel_oil_ghg_emissions_kg', annual_fuel_oil_emissions_co2e_kg) @@ -536,14 +530,14 @@ def run(runner, user_arguments) if propane_values.empty? runner.registerWarning('Unable to get hourly timeseries facility propane use from the model, the model may not use propane. Cannot calculate emissions.') else - annual_propane_emissions_co2e_kg = propane_values.map{|val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu}.sum + annual_propane_emissions_co2e_kg = propane_values.map { |val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual hourly propane emissions (kg CO2e): #{annual_propane_emissions_co2e_kg.round(2)}") runner.registerValue('annual_propane_ghg_emissions_kg', annual_propane_emissions_co2e_kg) # fuel end-use emissions - enduses.push("TotalHVAC").each do |enduse| - next if (enduse.include?("Lights") || enduse.include?("Refrigeration")) + enduses.push('TotalHVAC').each do |enduse| + next if enduse.include?('Lights') || enduse.include?('Refrigeration') # get run period natural gas end-use values gas_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:#{gas.upcase}' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" @@ -552,7 +546,7 @@ def run(runner, user_arguments) runner.registerWarning("Unable to find annual #{enduse} natural gas use from the model, the model may not use gas for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_gas_emissions_co2e_kg = 0 else - total_enduse_gas_emissions_co2e_kg = gas_enduse_values.map{|val| val * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_gas_emissions_co2e_kg = gas_enduse_values.map { |val| val * j_to_kbtu * natural_gas_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual total natural gas #{enduse} emissions (kg CO2e): #{total_enduse_gas_emissions_co2e_kg.round(2)}") runner.registerValue("annual_#{enduse.underscore}_natural_gas_ghg_emissions_kg", total_enduse_gas_emissions_co2e_kg) @@ -564,7 +558,7 @@ def run(runner, user_arguments) runner.registerWarning("Unable to find annual #{enduse} propane from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_propane_emissions_co2e_kg = 0 else - total_enduse_propane_emissions_co2e_kg = propane_enduse_values.map{|val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_propane_emissions_co2e_kg = propane_enduse_values.map { |val| val * j_to_kbtu * propane_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual total propane #{enduse} emissions (kg CO2e): #{total_enduse_propane_emissions_co2e_kg.round(2)}.") runner.registerValue("annual_#{enduse.underscore}_propane_ghg_emissions_kg", total_enduse_propane_emissions_co2e_kg) @@ -576,7 +570,7 @@ def run(runner, user_arguments) runner.registerWarning("Unable to find annual #{enduse} fuel oil from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_fuel_oil_emissions_co2e_kg = 0 else - total_enduse_fuel_oil_emissions_co2e_kg = fuel_oil_enduse_values.map{|val| val * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu}.sum + total_enduse_fuel_oil_emissions_co2e_kg = fuel_oil_enduse_values.map { |val| val * j_to_kbtu * fuel_oil_emissions_factor_co2e_kg_per_kbtu }.sum end runner.registerInfo("Annual total fuel oil #{enduse} emissions (kg CO2e): #{total_enduse_fuel_oil_emissions_co2e_kg.round(2)}.") runner.registerValue("annual_#{enduse.underscore}_fuel_oil_ghg_emissions_kg", total_enduse_fuel_oil_emissions_co2e_kg) @@ -584,12 +578,12 @@ def run(runner, user_arguments) # calculate eGRID subregion emissions egrid_subregion_emissions_factors_csv = "#{File.dirname(__FILE__)}/resources/egrid/egrid_subregion_emissions_factors.csv" - if not File.file?(egrid_subregion_emissions_factors_csv) + if !File.file?(egrid_subregion_emissions_factors_csv) runner.registerError("Unable to find file: #{egrid_subregion_emissions_factors_csv}") return false end egrid_subregion_lkp = CSV.table(egrid_subregion_emissions_factors_csv) - egrid_subregion_hsh = egrid_subregion_lkp.map { |row| row.to_hash } + egrid_subregion_hsh = egrid_subregion_lkp.map(&:to_hash) egrid_subregion_hsh = egrid_subregion_hsh.select { |r| (r[:subregion] == egrid_region) } if egrid_subregion_hsh.empty? runner.registerError("Unable to find eGRID data for subregion: #{egrid_region}") @@ -599,13 +593,13 @@ def run(runner, user_arguments) egrid_co2e_lb_per_mwh = egrid_subregion_hsh[0][:"#{year}"] egrid_co2e_kg_per_mwh = egrid_co2e_lb_per_mwh * lbm_to_kg runner.registerInfo("eGRID #{year} emissions factor for '#{egrid_region}' is #{egrid_co2e_kg_per_mwh.round(2)} CO2e kg per MWh") - annual_egrid_emissions_co2e_kg = (hourly_electricity_mwh.inject(:+)) * egrid_co2e_kg_per_mwh + annual_egrid_emissions_co2e_kg = hourly_electricity_mwh.inject(:+) * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion emissions CO2e kg: #{annual_egrid_emissions_co2e_kg.round(2)}") runner.registerValue("annual_electricity_ghg_emissions_egrid_#{year}_subregion_kg", annual_egrid_emissions_co2e_kg) - # electricity end-uses + # electricity end-uses electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') annual_egrid_enduse_emissions_co2e_kg = enduse_array.sum * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion #{enduse_name} emissions CO2e kg: #{annual_egrid_enduse_emissions_co2e_kg.round(2)}") runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_subregion_kg", annual_egrid_enduse_emissions_co2e_kg) @@ -613,13 +607,13 @@ def run(runner, user_arguments) # seasonal for 2021 if year == 2021 - seasonal_daily_vals_egrid = {'winter' => [], 'summer' => [], 'shoulder' => []} + seasonal_daily_vals_egrid = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_mwh.each_slice(24).with_index do |mwhs, i| - temps = hourly_temperature_F[(24 * i)...(24 * i + 24)] + temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| - if avg_temp > temperature_range[0] and avg_temp < temperature_range[1] # day is in this season - seasonal_daily_vals_egrid[season] << mwhs.sum * egrid_co2e_kg_per_mwh + if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season + seasonal_daily_vals_egrid[season] << (mwhs.sum * egrid_co2e_kg_per_mwh) end end end @@ -633,12 +627,12 @@ def run(runner, user_arguments) # calculate eGRID state emissions egrid_state_emissions_factors_csv = "#{File.dirname(__FILE__)}/resources/egrid/egrid_state_emissions_factors.csv" - if not File.file?(egrid_state_emissions_factors_csv) + if !File.file?(egrid_state_emissions_factors_csv) runner.registerError("Unable to find file: #{egrid_state_emissions_factors_csv}") return false end egrid_state_lkp = CSV.table(egrid_state_emissions_factors_csv) - egrid_state_hsh = egrid_state_lkp.map { |row| row.to_hash } + egrid_state_hsh = egrid_state_lkp.map(&:to_hash) egrid_state_hsh = egrid_state_hsh.select { |r| (r[:state] == egrid_state) } if egrid_state_hsh.empty? runner.registerError("Unable to find eGRID data for state: #{egrid_state}") @@ -648,13 +642,13 @@ def run(runner, user_arguments) egrid_co2e_lb_per_mwh = egrid_state_hsh[0][:"#{year}"] egrid_co2e_kg_per_mwh = egrid_co2e_lb_per_mwh * lbm_to_kg runner.registerInfo("eGRID #{year} emissions factor for '#{egrid_state}' is #{egrid_co2e_kg_per_mwh.round(2)} CO2e kg per MWh") - annual_egrid_emissions_co2e_kg = (hourly_electricity_mwh.inject(:+)) * egrid_co2e_kg_per_mwh + annual_egrid_emissions_co2e_kg = hourly_electricity_mwh.inject(:+) * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} state emissions CO2e kg: #{annual_egrid_emissions_co2e_kg.round(2)}") runner.registerValue("annual_electricity_ghg_emissions_egrid_#{year}_state_kg", annual_egrid_emissions_co2e_kg) - # electricity end-uses + # electricity end-uses electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') annual_egrid_enduse_emissions_co2e_kg = enduse_array.sum * egrid_co2e_kg_per_mwh runner.registerInfo("Annual eGRID #{year} subregion #{enduse_name} emissions CO2e kg: #{annual_egrid_enduse_emissions_co2e_kg.round(2)}") runner.registerValue("annual_#{enduse_name}_electricity_ghg_emissions_egrid_#{year}_state_kg", annual_egrid_enduse_emissions_co2e_kg) @@ -662,13 +656,13 @@ def run(runner, user_arguments) # seasonal for 2021 if year == 2021 - seasonal_daily_vals_egrid = {'winter' => [], 'summer' => [], 'shoulder' => []} + seasonal_daily_vals_egrid = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_mwh.each_slice(24).with_index do |mwhs, i| - temps = hourly_temperature_F[(24 * i)...(24 * i + 24)] + temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| - if avg_temp > temperature_range[0] and avg_temp < temperature_range[1] # day is in this season - seasonal_daily_vals_egrid[season] << mwhs.sum * egrid_co2e_kg_per_mwh + if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season + seasonal_daily_vals_egrid[season] << (mwhs.sum * egrid_co2e_kg_per_mwh) end end end @@ -695,14 +689,14 @@ def run(runner, user_arguments) emissions_scenario_lookups.each do |scenario| # name correction for AER scenarios if scenario.include? 'AER' - scenario_lookup = scenario + '_1' + scenario_lookup = "#{scenario}_1" else scenario_lookup = scenario end # read factors from csv emissions_csv = "#{File.dirname(__FILE__)}/resources/cambium/#{scenario_lookup}/#{cambium_grid_region}.csv" - if not File.file?(emissions_csv) + if !File.file?(emissions_csv) runner.registerError("Unable to find file: #{emissions_csv}") return false end @@ -723,11 +717,11 @@ def run(runner, user_arguments) annual_electricity_emissions_co2e_kg = hourly_electricity_emissions_kg.inject(:+) runner.registerInfo("Annual hourly emissions for cambium scenario '#{scenario}' (kg CO2e): #{annual_electricity_emissions_co2e_kg.round(2)}") register_value_name = "annual_electricity_ghg_emissions_#{scenario}_kg" - runner.registerValue("#{register_value_name}", annual_electricity_emissions_co2e_kg) + runner.registerValue(register_value_name.to_s, annual_electricity_emissions_co2e_kg) # end-use emissions electricity_enduse_results.each do |enduse_key, enduse_array| - enduse_name = enduse_key.gsub('_mwh','') + enduse_name = enduse_key.gsub('_mwh', '') # check that arrays are the same length and adjust for leap years if present unless (enduse_array.size == hourly_elec_factors_kg_per_mwh.size) || (enduse_array.size == 1) if enduse_array.size == 8784 @@ -741,7 +735,7 @@ def run(runner, user_arguments) if enduse_array.size == 1 hourly_enduse_electricity_emissions_kg = [0] else - hourly_enduse_electricity_emissions_kg = enduse_array.zip(hourly_elec_factors_kg_per_mwh).map{|n,f| n * f} + hourly_enduse_electricity_emissions_kg = enduse_array.zip(hourly_elec_factors_kg_per_mwh).map { |n, f| n * f } end annual_enduse_electricity_emisssions_co2e_kg = hourly_enduse_electricity_emissions_kg.sum runner.registerInfo("Annual hourly #{enduse_name} emissions for cambium scenario '#{scenario} (kg CO2e): #{annual_enduse_electricity_emisssions_co2e_kg.round(2)}") @@ -749,13 +743,13 @@ def run(runner, user_arguments) end # seasonal for two selectec scenarios - if scenario == 'LRMER_HighRECost_15' or scenario == 'LRMER_LowRECost_15' or scenario == 'LRMER_MidCase_15' - seasonal_daily_vals = {'winter' => [], 'summer' => [], 'shoulder' => []} + if (scenario == 'LRMER_HighRECost_15') || (scenario == 'LRMER_LowRECost_15') || (scenario == 'LRMER_MidCase_15') + seasonal_daily_vals = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_emissions_kg.each_slice(24).with_index do |co2es, i| - temps = hourly_temperature_F[(24 * i)...(24 * i + 24)] + temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| - if avg_temp > temperature_range[0] and avg_temp < temperature_range[1] # day is in this season + if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season seasonal_daily_vals[season] << co2es.sum end end diff --git a/measures/emissions_reporting/measure.xml b/measures/emissions_reporting/measure.xml index 9730d21b0..913942426 100644 --- a/measures/emissions_reporting/measure.xml +++ b/measures/emissions_reporting/measure.xml @@ -3,8 +3,8 @@ 3.1 emissions_reporting acdba906-e08f-4c88-9aef-2f0b0cfbb9d1 - a72ac840-7b69-4322-9731-fca93d4f0e21 - 2024-10-28T21:17:48Z + 0d9284e7-899d-4351-91c8-b1d1d162fa7d + 2024-11-07T22:17:56Z C46EF23F EmissionsReporting Emissions Reporting @@ -489,7 +489,7 @@ measure.rb rb script - 9A6FCBFB + 633149BB cambium/AER_95DecarbBy2035_1/AZNMc.csv From 48eb36c8c5bf8ac4ab83e143dd8d938d2b92ba31 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 16:46:32 -0700 Subject: [PATCH 14/23] comstock_sensitivity_reports rubocop --- .../comstock_sensitivity_reports/measure.rb | 324 ++++++-------- .../comstock_sensitivity_reports/measure.xml | 8 +- .../comstock_sensitivity_reports_test.rb | 420 ++++++++---------- 3 files changed, 337 insertions(+), 415 deletions(-) diff --git a/measures/comstock_sensitivity_reports/measure.rb b/measures/comstock_sensitivity_reports/measure.rb index 5987f86bd..9ff9c13d0 100644 --- a/measures/comstock_sensitivity_reports/measure.rb +++ b/measures/comstock_sensitivity_reports/measure.rb @@ -1,41 +1,6 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2018, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* - require 'openstudio-standards' require 'erb' @@ -68,7 +33,7 @@ def modeler_description end # define the arguments that the user will input - def arguments(model=nil) + def arguments(model = nil) args = OpenStudio::Measure::OSArgumentVector.new # this measure does not require any user arguments, return an empty list return args @@ -104,7 +69,7 @@ def sql_get_report_variable_data_double(runner, sql, object, variable_name) elsif object.respond_to?('name') runner.registerWarning("'#{variable_name}' not available for #{object.iddObjectType} '#{object.name}'.") else - runner.registerWarning("'#{variable_name}' not available for #{object}'.") + runner.registerWarning("'#{variable_name}' not available for #{object}'.") end return value end @@ -149,20 +114,20 @@ def energyPlusOutputRequests(runner, user_arguments) # request coil and fan energy use for HVAC equipment result << OpenStudio::IdfObject.load('Output:Variable,*,Chiller COP,RunPeriod;').get - result << OpenStudio::IdfObject.load('Output:Variable,*,Chiller Evaporator Cooling Energy,RunPeriod;').get #J - result << OpenStudio::IdfObject.load('Output:Variable,*,Boiler Heating Energy,RunPeriod;').get #J - result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{elec} Energy,RunPeriod;").get #J - result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{gas} Energy,RunPeriod;").get #J - result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{fuel_oil} Energy,RunPeriod;").get #J - result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler Propane Energy,RunPeriod;").get #J - result << OpenStudio::IdfObject.load("Output:Variable,*,Heat Pump #{elec} Energy,RunPeriod;").get #J - result << OpenStudio::IdfObject.load('Output:Variable,*,Heat Pump Load Side Heat Transfer Energy,RunPeriod;').get #J - result << OpenStudio::IdfObject.load('Output:Variable,*,Heat Pump Source Side Inlet Temperature,RunPeriod;').get #C - result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Supply Side Inlet Temperature,RunPeriod;').get #C - result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Supply Side Outlet Temperature,RunPeriod;').get #C - result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Demand Side Inlet Temperature,RunPeriod;').get #C - result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Demand Side Outlet Temperature,RunPeriod;').get #C - result << OpenStudio::IdfObject.load("Output:Variable,*,Fluid Heat Exchanger Heat Transfer Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Chiller Evaporator Cooling Energy,RunPeriod;').get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Boiler Heating Energy,RunPeriod;').get # J + result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{elec} Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{gas} Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load("Output:Variable,*,Boiler #{fuel_oil} Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Boiler Propane Energy,RunPeriod;').get # J + result << OpenStudio::IdfObject.load("Output:Variable,*,Heat Pump #{elec} Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Heat Pump Load Side Heat Transfer Energy,RunPeriod;').get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Heat Pump Source Side Inlet Temperature,RunPeriod;').get # C + result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Supply Side Inlet Temperature,RunPeriod;').get # C + result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Supply Side Outlet Temperature,RunPeriod;').get # C + result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Demand Side Inlet Temperature,RunPeriod;').get # C + result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Loop Demand Side Outlet Temperature,RunPeriod;').get # C + result << OpenStudio::IdfObject.load('Output:Variable,*,Fluid Heat Exchanger Heat Transfer Energy,RunPeriod;').get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Cooling Coil #{elec} Energy,RunPeriod;").get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Heating Coil #{elec} Energy,RunPeriod;").get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Heating Coil #{gas} Energy,RunPeriod;").get # J @@ -182,7 +147,7 @@ def energyPlusOutputRequests(runner, user_arguments) result << OpenStudio::IdfObject.load("Output:Variable,*,Water Heater #{elec} Energy,RunPeriod;").get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Water Heater #{gas} Energy,RunPeriod;").get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Water Heater #{fuel_oil} Energy,RunPeriod;").get # J - result << OpenStudio::IdfObject.load("Output:Variable,*,Water Heater Propane Energy,RunPeriod;").get # J + result << OpenStudio::IdfObject.load('Output:Variable,*,Water Heater Propane Energy,RunPeriod;').get # J result << OpenStudio::IdfObject.load('Output:Variable,*,Water Heater Heating Energy,RunPeriod;').get # J result << OpenStudio::IdfObject.load('Output:Variable,*,Water Heater Unmet Demand Heat Transfer Energy,RunPeriod;').get # J result << OpenStudio::IdfObject.load("Output:Variable,*,Unitary System DX Coil Cycling Ratio,#{timeseries_timestep};").get # - @@ -203,7 +168,7 @@ def energyPlusOutputRequests(runner, user_arguments) model.getZoneHVACComponents.sort.each do |zone_hvac_component| # cast the zone_hvac_component down to its child object obj_type = zone_hvac_component.iddObjectType.valueName - obj_type_name = obj_type.gsub('OS_','').gsub('_','') + obj_type_name = obj_type.gsub('OS_', '').gsub('_', '') method_name = "to_#{obj_type_name}" if zone_hvac_component.respond_to?(method_name) actual_zone_hvac = zone_hvac_component.method(method_name).call @@ -227,11 +192,11 @@ def energyPlusOutputRequests(runner, user_arguments) end - #result << OpenStudio::IdfObject.load("Output:Variable,*,Fan #{elec} Energy,RunPeriod;").get # J - #result << OpenStudio::IdfObject.load("Output:Variable,*,Humidifier #{elec} Energy,RunPeriod;").get # J - #result << OpenStudio::IdfObject.load("Output:Variable,*,Evaporative Cooler #{elec} Energy,RunPeriod;").get # J - #result << OpenStudio::IdfObject.load('Output:Variable,*,Baseboard Hot Water Energy,RunPeriod;').get # J - #result << OpenStudio::IdfObject.load("Output:Variable,*,Baseboard #{elec} Energy,RunPeriod;").get # J + # result << OpenStudio::IdfObject.load("Output:Variable,*,Fan #{elec} Energy,RunPeriod;").get # J + # result << OpenStudio::IdfObject.load("Output:Variable,*,Humidifier #{elec} Energy,RunPeriod;").get # J + # result << OpenStudio::IdfObject.load("Output:Variable,*,Evaporative Cooler #{elec} Energy,RunPeriod;").get # J + # result << OpenStudio::IdfObject.load('Output:Variable,*,Baseboard Hot Water Energy,RunPeriod;').get # J + # result << OpenStudio::IdfObject.load("Output:Variable,*,Baseboard #{elec} Energy,RunPeriod;").get # J return result end @@ -275,7 +240,7 @@ def get_dep_var_from_lookup_table_with_two_ind_var(runner, lookup_table, input1, # lookup or interpolate dependent varible based on two independent variable arrays and one dependent variable array # @param ind_var_1 [Array] independent variables 1 # @param ind_var_2 [Array] independent variables 2 - # @param dep_var [Array] dependent variables + # @param dep_var [Array] dependent variables # @param input1 [Double] independent variable 1 # @param input2 [Double] independent variable 2 def interpolate_from_two_ind_vars(runner, ind_var_1, ind_var_2, dep_var, input1, input2) @@ -298,11 +263,11 @@ def interpolate_from_two_ind_vars(runner, ind_var_1, ind_var_2, dep_var, input1, end # Find the closest lower and upper bounds for input1 in ind_var_1 - i1_lower = ind_var_1.index { |val| val >= input1 } || ind_var_1.length - 1 + i1_lower = ind_var_1.index { |val| val >= input1 } || (ind_var_1.length - 1) i1_upper = i1_lower.positive? ? i1_lower - 1 : 0 # Find the closest lower and upper bounds for input2 in ind_var_2 - i2_lower = ind_var_2.index { |val| val >= input2 } || ind_var_2.length - 1 + i2_lower = ind_var_2.index { |val| val >= input2 } || (ind_var_2.length - 1) i2_upper = i2_lower.positive? ? i2_lower - 1 : 0 # Ensure i1_lower and i1_upper are correctly ordered @@ -318,10 +283,10 @@ def interpolate_from_two_ind_vars(runner, ind_var_1, ind_var_2, dep_var, input1, end # Get the dep_var values at these indices - v11 = dep_var[i1_upper * ind_var_2.length + i2_upper] - v12 = dep_var[i1_upper * ind_var_2.length + i2_lower] - v21 = dep_var[i1_lower * ind_var_2.length + i2_upper] - v22 = dep_var[i1_lower * ind_var_2.length + i2_lower] + v11 = dep_var[(i1_upper * ind_var_2.length) + i2_upper] + v12 = dep_var[(i1_upper * ind_var_2.length) + i2_lower] + v21 = dep_var[(i1_lower * ind_var_2.length) + i2_upper] + v22 = dep_var[(i1_lower * ind_var_2.length) + i2_lower] # If input1 or input2 exactly matches, no need for interpolation return v11 if input1 == ind_var_1[i1_upper] && input2 == ind_var_2[i2_upper] @@ -332,10 +297,10 @@ def interpolate_from_two_ind_vars(runner, ind_var_1, ind_var_2, dep_var, input1, y1 = ind_var_2[i2_upper] y2 = ind_var_2[i2_lower] - (v11 * (x2 - input1) * (y2 - input2) + - v12 * (x2 - input1) * (input2 - y1) + - v21 * (input1 - x1) * (y2 - input2) + - v22 * (input1 - x1) * (input2 - y1)) / ((x2 - x1) * (y2 - y1)) + ((v11 * (x2 - input1) * (y2 - input2)) + + (v12 * (x2 - input1) * (input2 - y1)) + + (v21 * (input1 - x1) * (y2 - input2)) + + (v22 * (input1 - x1) * (input2 - y1))) / ((x2 - x1) * (y2 - y1)) end def convert_timeseries_to_list(timeseries) @@ -357,7 +322,6 @@ def get_average_from_array(array) end def get_cooling_coil_curves(runner, coil) - # initialize parameter capacity_w = 99999999999.0 @@ -391,7 +355,6 @@ def get_cooling_coil_curves(runner, coil) end def get_heating_coil_curves(runner, coil) - # initialize parameter capacity_w = 99999999999.0 @@ -422,7 +385,6 @@ def get_heating_coil_curves(runner, coil) end def get_cooling_coil_capacity_and_cop(runner, model, coil) - capacity_w = 0.0 coil_design_cop = 0.0 @@ -536,11 +498,11 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) # get rated capacity and capacity at lower temperatures cap_curve = coil.totalHeatingCapacityFunctionofTemperatureCurve if cap_curve.to_CurveCubic.is_initialized - coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) capacity_17F_w = capacity_w * coil_cap_17F - coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) capacity_5F_w = capacity_w * coil_cap_5F - coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) capacity_0F_w = capacity_w * coil_cap_0F else runner.registerWarning("Heating coil capacity at lower temperatures not available for coil '#{coil.name}' with given curve.") @@ -550,11 +512,11 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) coil_design_cop = coil.ratedCOP eir_curve = coil.energyInputRatioFunctionofTemperatureCurve if eir_curve.to_CurveCubic.is_initialized - coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) coil_design_cop_17F = coil_design_cop / coil_eir_17F - coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) coil_design_cop_5F = coil_design_cop / coil_eir_5F - coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) coil_design_cop_0F = coil_design_cop / coil_eir_0F else runner.registerWarning("Coil COP at non-design temperatures not available for coil '#{coil.name}'.") @@ -574,18 +536,18 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) # get capacity and capacity at lower temperatures cap_curve = stage.heatingCapacityFunctionofTemperatureCurve if cap_curve.to_CurveCubic.is_initialized - coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) capacity_17F_w = capacity_w * coil_cap_17F if temp_capacity_w >= capacity_w - coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) capacity_5F_w = capacity_w * coil_cap_5F if temp_capacity_w >= capacity_w - coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) capacity_0F_w = capacity_w * coil_cap_0F if temp_capacity_w >= capacity_w elsif cap_curve.to_CurveBiquadratic.is_initialized - coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(17.0,'F','C').get) + coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(17.0, 'F', 'C').get) capacity_17F_w = capacity_w * coil_cap_17F if temp_capacity_w >= capacity_w - coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(5.0,'F','C').get) + coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(5.0, 'F', 'C').get) capacity_5F_w = capacity_w * coil_cap_5F if temp_capacity_w >= capacity_w - coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(0.0,'F','C').get) + coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(0.0, 'F', 'C').get) capacity_0F_w = capacity_w * coil_cap_0F if temp_capacity_w >= capacity_w else runner.registerWarning("Heating coil capacity at lower temperatures not available for coil '#{coil.name}' with given curve.") @@ -597,18 +559,18 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) coil_design_cop = temp_coil_design_cop if temp_capacity_w >= capacity_w eir_curve = stage.energyInputRatioFunctionofTemperatureCurve if eir_curve.to_CurveCubic.is_initialized - coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) coil_design_cop_17F = coil_design_cop / coil_eir_17F if temp_capacity_w >= capacity_w - coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) coil_design_cop_5F = coil_design_cop / coil_eir_5F if temp_capacity_w >= capacity_w - coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) coil_design_cop_0F = coil_design_cop / coil_eir_0F if temp_capacity_w >= capacity_w elsif cap_curve.to_CurveBiquadratic.is_initialized - coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(17.0,'F','C').get) + coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(17.0, 'F', 'C').get) coil_design_cop_17F = coil_design_cop / coil_eir_17F if temp_capacity_w >= capacity_w - coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(5.0,'F','C').get) + coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(5.0, 'F', 'C').get) coil_design_cop_5F = coil_design_cop / coil_eir_5F if temp_capacity_w >= capacity_w - coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(70.0,'F','C').get, OpenStudio.convert(0.0,'F','C').get) + coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(70.0, 'F', 'C').get, OpenStudio.convert(0.0, 'F', 'C').get) coil_design_cop_0F = coil_design_cop / coil_eir_0F if temp_capacity_w >= capacity_w else runner.registerWarning("Coil COP at non-design temperatures not available for coil '#{coil.name}'.") @@ -625,11 +587,11 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) # get capacity and capacity at lower temperatures cap_curve = stage.heatingCapacityFunctionofTemperatureCurve if cap_curve.to_CurveCubic.is_initialized - coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_cap_17F = cap_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) capacity_17F_w = capacity_w * coil_cap_17F if temp_capacity_w >= capacity_w - coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_cap_5F = cap_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) capacity_5F_w = capacity_w * coil_cap_5F if temp_capacity_w >= capacity_w - coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_cap_0F = cap_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) capacity_0F_w = capacity_w * coil_cap_0F if temp_capacity_w >= capacity_w else runner.registerWarning("Heating coil capacity at lower temperatures not available for coil '#{coil.name}' with given curve.") @@ -641,11 +603,11 @@ def get_heating_coil_capacity_and_cop(runner, model, coil) coil_design_cop = temp_coil_design_cop if temp_capacity_w >= capacity_w eir_curve = speed.energyInputRatioFunctionofTemperatureCurve if eir_curve.to_CurveCubic.is_initialized - coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0,'F','C').get) + coil_eir_17F = eir_curve.evaluate(OpenStudio.convert(17.0, 'F', 'C').get) coil_design_cop_17F = coil_design_cop / coil_eir_17F if temp_capacity_w >= capacity_w - coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0,'F','C').get) + coil_eir_5F = eir_curve.evaluate(OpenStudio.convert(5.0, 'F', 'C').get) coil_design_cop_5F = coil_design_cop / coil_eir_5F if temp_capacity_w >= capacity_w - coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0,'F','C').get) + coil_eir_0F = eir_curve.evaluate(OpenStudio.convert(0.0, 'F', 'C').get) coil_design_cop_0F = coil_design_cop / coil_eir_0F if temp_capacity_w >= capacity_w else runner.registerWarning("Coil COP at non-design temperatures not available for coil '#{coil.name}'.") @@ -690,10 +652,8 @@ def run(runner, user_arguments) ann_env_pd = nil sql.availableEnvPeriods.each do |env_pd| env_type = sql.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') - ann_env_pd = env_pd - end + if env_type.is_initialized && (env_type.get == (OpenStudio::EnvironmentType.new('WeatherRunPeriod'))) + ann_env_pd = env_pd end end @@ -738,6 +698,7 @@ def run(runner, user_arguments) space.surfaces.sort.each do |surface| num_surfaces += 1 * space.multiplier next if surface.outsideBoundaryCondition != 'Outdoors' + if surface.surfaceType.to_s == 'RoofCeiling' surface_absorptance = surface.exteriorVisibleAbsorptance.is_initialized ? surface.exteriorVisibleAbsorptance.get : 0.0 surface_u_value_si = surface.uFactor.is_initialized ? surface.uFactor.get : 0.0 @@ -862,7 +823,7 @@ def run(runner, user_arguments) surface_area_m2 = mass.surfaceArea.is_initialized ? mass.surfaceArea.get : 0.0 surface_area_per_floor_area_m2 = mass.surfaceAreaPerFloorArea.is_initialized ? mass.surfaceAreaPerFloorArea.get : 0.0 surface_area_per_person_m2 = mass.surfaceAreaPerPerson.is_initialized ? mass.surfaceAreaPerPerson.get : 0.0 - internal_mass_area_m2 += surface_area_m2 + surface_area_per_floor_area_m2 * space_area_m2 + surface_area_per_person_m2 * num_people + internal_mass_area_m2 += surface_area_m2 + (surface_area_per_floor_area_m2 * space_area_m2) + (surface_area_per_person_m2 * num_people) total_space_area_m2 += space_area_m2 end internal_mass_area_ratio = total_space_area_m2 > 0.0 ? internal_mass_area_m2 / total_space_area_m2 : 0.0 @@ -875,7 +836,7 @@ def run(runner, user_arguments) zone_area_m2 = zone.floorArea * zone.multiplier primary_fraction = zone.primaryDaylightingControl.is_initialized ? zone.fractionofZoneControlledbyPrimaryDaylightingControl : 0.0 secondary_fraction = zone.secondaryDaylightingControl.is_initialized ? zone.fractionofZoneControlledbySecondaryDaylightingControl : 0.0 - total_fraction = (primary_fraction + secondary_fraction) > 1.0 ? 1.0 : (primary_fraction + secondary_fraction) + total_fraction = [(primary_fraction + secondary_fraction), 1.0].min weighted_daylight_control_area_m2 += total_fraction * zone_area_m2 total_zone_area_m2 += zone_area_m2 end @@ -963,6 +924,7 @@ def run(runner, user_arguments) # skip zones with no plug loads; this will skip zones with equipment defined only at space instance level next if zone_electric_equipment_power_w == 0.0 + total_zone_electric_equipment_area_m2 += floor_area_m2 total_zone_electric_equipment_power_w += zone_electric_equipment_power_w @@ -1045,6 +1007,7 @@ def run(runner, user_arguments) model.getThermalZones.sort.each do |zone| zone.spaces.sort.each do |space| next unless space.designSpecificationOutdoorAir.is_initialized + dsn_oa = space.designSpecificationOutdoorAir.get # get the space properties @@ -1117,7 +1080,7 @@ def run(runner, user_arguments) fan_static_pressure = supply_fan.pressureRise fan_efficiency = supply_fan.fanTotalEfficiency else - runner.registerWarning("Supply Fan type not recognized for air loop hvac '#{air_loop_hvac.name}'.") + runner.registerWarning("Supply Fan type not recognized for air loop hvac '#{air_loop_hvac.name}'.") end else runner.registerWarning("Supply Fan not available for air loop hvac '#{air_loop_hvac.name}'.") unless std.air_loop_hvac_unitary_system?(air_loop_hvac) @@ -1149,10 +1112,10 @@ def run(runner, user_arguments) # record economizer statistics unless economizer_type == 'NoEconomizer' economizer_statistics << { - :air_loop_mass_flow_rate_kg_s => air_loop_mass_flow_rate_kg_s, - :economizer_type => economizer_type, - :economizer_high_limit_temperature_c => economizer_high_limit_temperature_c, - :economizer_high_limit_enthalpy_j_per_kg => economizer_high_limit_enthalpy_j_per_kg + air_loop_mass_flow_rate_kg_s: air_loop_mass_flow_rate_kg_s, + economizer_type: economizer_type, + economizer_high_limit_temperature_c: economizer_high_limit_temperature_c, + economizer_high_limit_enthalpy_j_per_kg: economizer_high_limit_enthalpy_j_per_kg } end @@ -1168,7 +1131,7 @@ def run(runner, user_arguments) air_system_fan_power_minimum_flow_fraction = air_system_total_mass_flow_kg_s > 0.0 ? air_system_weighted_fan_power_minimum_flow_fraction / air_system_total_mass_flow_kg_s : 0.0 runner.registerValue('com_report_air_system_fan_power_minimum_flow_fraction', air_system_fan_power_minimum_flow_fraction) air_system_fan_static_pressure = air_system_total_mass_flow_kg_s > 0.0 ? air_system_weighted_fan_static_pressure / air_system_total_mass_flow_kg_s : 0.0 - runner.registerValue('com_report_air_system_fan_static_pressure', air_system_fan_static_pressure ,'Pa') + runner.registerValue('com_report_air_system_fan_static_pressure', air_system_fan_static_pressure, 'Pa') air_system_fan_total_efficiency = air_system_total_mass_flow_kg_s > 0.0 ? air_system_weighted_fan_efficiency / air_system_total_mass_flow_kg_s : 0.0 runner.registerValue('com_report_air_system_fan_total_efficiency', air_system_fan_total_efficiency) @@ -1177,15 +1140,15 @@ def run(runner, user_arguments) runner.registerValue('com_report_hvac_economizer_control_type', 'NoEconomizer') else economizer_type_hash = economizer_statistics.group_by { |e| e[:economizer_type] } - economizer_area_m2 = economizer_statistics.sum{ |e| e[:air_loop_mass_flow_rate_kg_s] } - economizer_type_areas = economizer_type_hash.map{ |x, y| [x, y.inject(0){ |sum, i| sum + i[:air_loop_mass_flow_rate_kg_s] }] } - largest_economizer_type = economizer_type_areas.max_by { |k,v| v } + economizer_area_m2 = economizer_statistics.sum { |e| e[:air_loop_mass_flow_rate_kg_s] } + economizer_type_areas = economizer_type_hash.map { |x, y| [x, y.inject(0) { |sum, i| sum + i[:air_loop_mass_flow_rate_kg_s] }] } + largest_economizer_type = economizer_type_areas.max_by { |k, v| v } runner.registerInfo("'#{largest_economizer_type[0]}' serves #{largest_economizer_type[1].round(0)} m^2, the most floor area of any economizer type, out of #{economizer_area_m2.round(0)} m^2 served by economizers and #{total_building_area_m2.round(0)} m^2 total building area.") runner.registerValue('com_report_hvac_economizer_control_type', largest_economizer_type[0]) end - temperature_limited_hash = economizer_statistics.select { |e| !e[:economizer_high_limit_temperature_c].nil? } - enthalpy_limited_hash = economizer_statistics.select { |e| !e[:economizer_high_limit_enthalpy_j_per_kg].nil? } + temperature_limited_hash = economizer_statistics.reject { |e| e[:economizer_high_limit_temperature_c].nil? } + enthalpy_limited_hash = economizer_statistics.reject { |e| e[:economizer_high_limit_enthalpy_j_per_kg].nil? } if temperature_limited_hash.empty? weighted_economizer_high_limit_temperature_c = -999 else @@ -1195,7 +1158,7 @@ def run(runner, user_arguments) weighted_economizer_high_limit_temperature_c_flow_rate_kg_s += e[:air_loop_mass_flow_rate_kg_s] weighted_economizer_high_limit_temperature_c += e[:economizer_high_limit_temperature_c] * e[:air_loop_mass_flow_rate_kg_s] end - weighted_economizer_high_limit_temperature_c = weighted_economizer_high_limit_temperature_c / weighted_economizer_high_limit_temperature_c_flow_rate_kg_s + weighted_economizer_high_limit_temperature_c /= weighted_economizer_high_limit_temperature_c_flow_rate_kg_s end if enthalpy_limited_hash.empty? weighted_economizer_high_limit_enthalpy_j_per_kg = -999 @@ -1206,7 +1169,7 @@ def run(runner, user_arguments) weighted_economizer_high_limit_enthalpy_j_per_flow_rate_kg_s += e[:air_loop_mass_flow_rate_kg_s] weighted_economizer_high_limit_enthalpy_j_per_kg += e[:economizer_high_limit_enthalpy_j_per_kg] * e[:air_loop_mass_flow_rate_kg_s] end - weighted_economizer_high_limit_enthalpy_j_per_kg = weighted_economizer_high_limit_enthalpy_j_per_kg / weighted_economizer_high_limit_enthalpy_j_per_flow_rate_kg_s + weighted_economizer_high_limit_enthalpy_j_per_kg /= weighted_economizer_high_limit_enthalpy_j_per_flow_rate_kg_s end runner.registerValue('com_report_hvac_economizer_high_limit_temperature_c', weighted_economizer_high_limit_temperature_c) runner.registerValue('com_report_hvac_economizer_high_limit_enthalpy_j_per_kg', weighted_economizer_high_limit_enthalpy_j_per_kg) @@ -1315,7 +1278,7 @@ def run(runner, user_arguments) # cast zone_hvac_component down to its child object obj_type = zone_hvac_component.iddObjectType.valueName - obj_type_name = obj_type.gsub('OS_','').gsub('_','') + obj_type_name = obj_type.gsub('OS_', '').gsub('_', '') method_name = "to_#{obj_type_name}" if zone_hvac_component.respond_to?(method_name) actual_zone_hvac = zone_hvac_component.method(method_name).call @@ -1356,14 +1319,14 @@ def run(runner, user_arguments) zone_hvac_fan_power_minimum_flow_fraction = zone_hvac_fan_total_air_flow_m3_per_s > 0.0 ? zone_hvac_weighted_fan_power_minimum_flow_fraction / zone_hvac_fan_total_air_flow_m3_per_s : 0.0 runner.registerValue('com_report_zone_hvac_fan_power_minimum_flow_fraction', zone_hvac_fan_power_minimum_flow_fraction) zone_hvac_fan_static_pressure = zone_hvac_fan_total_air_flow_m3_per_s > 0.0 ? zone_hvac_weighted_fan_static_pressure / zone_hvac_fan_total_air_flow_m3_per_s : 0.0 - runner.registerValue('com_report_zone_hvac_fan_static_pressure', zone_hvac_fan_static_pressure ,'Pa') + runner.registerValue('com_report_zone_hvac_fan_static_pressure', zone_hvac_fan_static_pressure, 'Pa') zone_hvac_fan_total_efficiency = zone_hvac_fan_total_air_flow_m3_per_s > 0.0 ? zone_hvac_weighted_fan_efficiency / zone_hvac_fan_total_air_flow_m3_per_s : 0.0 runner.registerValue('com_report_zone_hvac_fan_total_efficiency', zone_hvac_fan_total_efficiency) total_building_avg_mass_flow_rate_kg_s = zone_hvac_total_mass_flow_kg_s + air_system_total_mass_flow_kg_s runner.registerValue('com_report_total_building_average_mass_flow_rate', total_building_avg_mass_flow_rate_kg_s, 'kg/s') total_building_avg_oa_mass_flow_rate_kg_s = zone_hvac_total_oa_mass_flow_kg_s + air_system_total_oa_mass_flow_kg_s runner.registerValue('com_report_total_building_average_oa_mass_flow_rate', total_building_avg_oa_mass_flow_rate_kg_s, 'kg/s') - total_building_avg_oa_fraction = total_building_avg_oa_mass_flow_rate_kg_s/total_building_avg_mass_flow_rate_kg_s + total_building_avg_oa_fraction = total_building_avg_oa_mass_flow_rate_kg_s / total_building_avg_mass_flow_rate_kg_s runner.registerValue('com_report_total_building_average_outdoor_air_fraction', total_building_avg_oa_fraction) # calculate building heating and cooling @@ -1393,19 +1356,20 @@ def run(runner, user_arguments) weighted_thermostat_cooling_area_m2 = 0.0 model.getThermalZones.sort.each do |zone| next unless zone.thermostatSetpointDualSetpoint.is_initialized + floor_area_m2 = zone.floorArea * zone.multiplier thermostat = zone.thermostatSetpointDualSetpoint.get if thermostat.heatingSetpointTemperatureSchedule.is_initialized thermostat_heating_schedule = thermostat.heatingSetpointTemperatureSchedule.get if thermostat_heating_schedule.to_ScheduleRuleset.is_initialized - puts("--- Ruleset schedule") + puts('--- Ruleset schedule') thermostat_heating_schedule = thermostat_heating_schedule.to_ScheduleRuleset.get cool_min_max = OpenstudioStandards::Schedules.schedule_ruleset_get_min_max(thermostat_heating_schedule) weighted_thermostat_heating_min_c += cool_min_max['min'] * floor_area_m2 weighted_thermostat_heating_max_c += cool_min_max['max'] * floor_area_m2 weighted_thermostat_heating_area_m2 += floor_area_m2 elsif thermostat_heating_schedule.to_ScheduleInterval.is_initialized - puts("--- Interval schedule") + puts('--- Interval schedule') thermostat_heating_schedule = thermostat_heating_schedule.to_ScheduleInterval.get ts = thermostat_heating_schedule.timeSeries interval_values_array = ts.values @@ -1413,7 +1377,7 @@ def run(runner, user_arguments) weighted_thermostat_heating_max_c += interval_values_array.max * floor_area_m2 weighted_thermostat_heating_area_m2 += floor_area_m2 else - puts("--- Not supported schedule") + puts('--- Not supported schedule') end # next unless thermostat_heating_schedule.to_ScheduleRuleset.is_initialized # thermostat_heating_schedule = thermostat_heating_schedule.to_ScheduleRuleset.get @@ -1425,14 +1389,14 @@ def run(runner, user_arguments) if thermostat.coolingSetpointTemperatureSchedule.is_initialized thermostat_cooling_schedule = thermostat.coolingSetpointTemperatureSchedule.get if thermostat_cooling_schedule.to_ScheduleRuleset.is_initialized - puts("--- Ruleset schedule") + puts('--- Ruleset schedule') thermostat_cooling_schedule = thermostat_cooling_schedule.to_ScheduleRuleset.get cool_min_max = OpenstudioStandards::Schedules.schedule_ruleset_get_min_max(thermostat_cooling_schedule) weighted_thermostat_cooling_min_c += cool_min_max['min'] * floor_area_m2 weighted_thermostat_cooling_max_c += cool_min_max['max'] * floor_area_m2 weighted_thermostat_cooling_area_m2 += floor_area_m2 elsif thermostat_cooling_schedule.to_ScheduleInterval.is_initialized - puts("--- Interval schedule") + puts('--- Interval schedule') thermostat_cooling_schedule = thermostat_cooling_schedule.to_ScheduleInterval.get ts = thermostat_cooling_schedule.timeSeries interval_values_array = ts.values @@ -1440,14 +1404,14 @@ def run(runner, user_arguments) weighted_thermostat_cooling_max_c += interval_values_array.max * floor_area_m2 weighted_thermostat_cooling_area_m2 += floor_area_m2 else - puts("--- Not supported schedule") + puts('--- Not supported schedule') end end end # Thermostat heating setpoint minimum and maximum if weighted_thermostat_heating_area_m2 > 0.0 - average_heating_setpoint_min_c = weighted_thermostat_heating_min_c / weighted_thermostat_heating_area_m2 + average_heating_setpoint_min_c = weighted_thermostat_heating_min_c / weighted_thermostat_heating_area_m2 average_heating_setpoint_max_c = weighted_thermostat_heating_max_c / weighted_thermostat_heating_area_m2 runner.registerValue('com_report_average_heating_setpoint_min_c', average_heating_setpoint_min_c, 'C') runner.registerValue('com_report_average_heating_setpoint_max_c', average_heating_setpoint_max_c, 'C') @@ -1806,38 +1770,38 @@ def run(runner, user_arguments) cooling_eir_110F_curve = cooling_eir_low_temp_curve else # use boundary curve to determine whether to use high or low temperature - cooling_eir_35F_curve = OpenStudio.convert(35.0,'F','C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve - cooling_eir_60F_curve = OpenStudio.convert(60.0,'F','C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve - cooling_eir_85F_curve = OpenStudio.convert(85.0,'F','C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve - cooling_eir_110F_curve = OpenStudio.convert(110.0,'F','C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve + cooling_eir_35F_curve = OpenStudio.convert(35.0, 'F', 'C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve + cooling_eir_60F_curve = OpenStudio.convert(60.0, 'F', 'C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve + cooling_eir_85F_curve = OpenStudio.convert(85.0, 'F', 'C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve + cooling_eir_110F_curve = OpenStudio.convert(110.0, 'F', 'C').get > cooling_boundary_temperature_c ? cooling_eir_high_temp_curve : cooling_eir_low_temp_curve end if cooling_eir_35F_curve.to_TableLookup.is_initialized cooling_eir_35F_curve = cooling_eir_35F_curve.to_TableLookup.get - eir_35F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_35F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(35.0,'F','C').get) + eir_35F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_35F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(35.0, 'F', 'C').get) vrf_cooling_design_cop_35F = vrf_cooling_design_cop / eir_35F else - vrf_cooling_design_cop_35F = vrf_cooling_design_cop / cooling_eir_35F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(35.0,'F','C').get) + vrf_cooling_design_cop_35F = vrf_cooling_design_cop / cooling_eir_35F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(35.0, 'F', 'C').get) end if cooling_eir_60F_curve.to_TableLookup.is_initialized cooling_eir_60F_curve = cooling_eir_60F_curve.to_TableLookup.get - eir_60F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_60F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(60.0,'F','C').get) + eir_60F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_60F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(60.0, 'F', 'C').get) vrf_cooling_design_cop_60F = vrf_cooling_design_cop / eir_60F else - vrf_cooling_design_cop_60F = vrf_cooling_design_cop / cooling_eir_60F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(60.0,'F','C').get) + vrf_cooling_design_cop_60F = vrf_cooling_design_cop / cooling_eir_60F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(60.0, 'F', 'C').get) end if cooling_eir_85F_curve.to_TableLookup.is_initialized cooling_eir_85F_curve = cooling_eir_85F_curve.to_TableLookup.get - eir_85F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_85F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(85.0,'F','C').get) + eir_85F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_85F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(85.0, 'F', 'C').get) vrf_cooling_design_cop_85F = vrf_cooling_design_cop / eir_85F else - vrf_cooling_design_cop_85F = vrf_cooling_design_cop / cooling_eir_85F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(85.0,'F','C').get) + vrf_cooling_design_cop_85F = vrf_cooling_design_cop / cooling_eir_85F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(85.0, 'F', 'C').get) end if cooling_eir_110F_curve.to_TableLookup.is_initialized cooling_eir_110F_curve = cooling_eir_110F_curve.to_TableLookup.get - eir_110F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_110F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(110.0,'F','C').get) + eir_110F = get_dep_var_from_lookup_table_with_two_ind_var(runner, cooling_eir_110F_curve, cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(110.0, 'F', 'C').get) vrf_cooling_design_cop_110F = vrf_cooling_design_cop / eir_110F else - vrf_cooling_design_cop_110F = vrf_cooling_design_cop / cooling_eir_110F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(110.0,'F','C').get) + vrf_cooling_design_cop_110F = vrf_cooling_design_cop / cooling_eir_110F_curve.evaluate(cooling_indoor_rating_wetbulb_temperature_c, OpenStudio.convert(110.0, 'F', 'C').get) end end @@ -1879,38 +1843,38 @@ def run(runner, user_arguments) heating_eir_40F_curve = heating_eir_low_temp_curve else # use boundary curve to determine whether to use high or low temperature - heating_eir_minus22F_curve = OpenStudio.convert(-22.0,'F','C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve - heating_eir_0F_curve = OpenStudio.convert(0.0,'F','C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve - heating_eir_20F_curve = OpenStudio.convert(20.0,'F','C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve - heating_eir_40F_curve = OpenStudio.convert(40.0,'F','C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve + heating_eir_minus22F_curve = OpenStudio.convert(-22.0, 'F', 'C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve + heating_eir_0F_curve = OpenStudio.convert(0.0, 'F', 'C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve + heating_eir_20F_curve = OpenStudio.convert(20.0, 'F', 'C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve + heating_eir_40F_curve = OpenStudio.convert(40.0, 'F', 'C').get > heating_boundary_temperature_c ? heating_eir_high_temp_curve : heating_eir_low_temp_curve end if heating_eir_minus22F_curve.to_TableLookup.is_initialized heating_eir_minus22F_curve = heating_eir_minus22F_curve.to_TableLookup.get - eir_minus22F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_minus22F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(-22.0,'F','C').get) + eir_minus22F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_minus22F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(-22.0, 'F', 'C').get) vrf_heating_design_cop_minus22F = vrf_heating_design_cop / eir_minus22F else - vrf_heating_design_cop_minus22F = vrf_heating_design_cop / heating_eir_minus22F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(-22.0,'F','C').get) + vrf_heating_design_cop_minus22F = vrf_heating_design_cop / heating_eir_minus22F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(-22.0, 'F', 'C').get) end if heating_eir_0F_curve.to_TableLookup.is_initialized heating_eir_0F_curve = heating_eir_0F_curve.to_TableLookup.get - eir_0F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_0F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(0.0,'F','C').get) + eir_0F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_0F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(0.0, 'F', 'C').get) vrf_heating_design_cop_0F = vrf_heating_design_cop / eir_0F else - vrf_heating_design_cop_0F = vrf_heating_design_cop / heating_eir_0F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(0.0,'F','C').get) + vrf_heating_design_cop_0F = vrf_heating_design_cop / heating_eir_0F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(0.0, 'F', 'C').get) end if heating_eir_20F_curve.to_TableLookup.is_initialized heating_eir_20F_curve = heating_eir_20F_curve.to_TableLookup.get - eir_20F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_20F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(20.0,'F','C').get) + eir_20F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_20F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(20.0, 'F', 'C').get) vrf_heating_design_cop_20F = vrf_heating_design_cop / eir_20F else - vrf_heating_design_cop_20F = vrf_heating_design_cop / heating_eir_20F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(20.0,'F','C').get) + vrf_heating_design_cop_20F = vrf_heating_design_cop / heating_eir_20F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(20.0, 'F', 'C').get) end if heating_eir_40F_curve.to_TableLookup.is_initialized heating_eir_40F_curve = heating_eir_40F_curve.to_TableLookup.get - eir_40F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_40F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(40.0,'F','C').get) + eir_40F = get_dep_var_from_lookup_table_with_two_ind_var(runner, heating_eir_40F_curve, heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(40.0, 'F', 'C').get) vrf_heating_design_cop_40F = vrf_heating_design_cop / eir_40F else - vrf_heating_design_cop_40F = vrf_heating_design_cop / heating_eir_40F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(40.0,'F','C').get) + vrf_heating_design_cop_40F = vrf_heating_design_cop / heating_eir_40F_curve.evaluate(heating_indoor_rating_drybulb_temperature_c, OpenStudio.convert(40.0, 'F', 'C').get) end end vrf_heating_performance_curve_temperature_type = vrf.heatingPerformanceCurveOutdoorTemperatureType @@ -2197,8 +2161,7 @@ def run(runner, user_arguments) dx_cooling_load_weighted_design_ieer_240_to_760_kbtuh = 0.0 dx_cooling_load_weighted_design_eer_760_plus_kbtuh = 0.0 dx_cooling_load_weighted_design_ieer_760_plus_kbtuh = 0.0 - dx_cooling_coils = [] - model.getCoilCoolingDXSingleSpeeds.each { |c| dx_cooling_coils << c } + dx_cooling_coils = model.getCoilCoolingDXSingleSpeeds.map { |c| c } model.getCoilCoolingDXTwoSpeeds.each { |c| dx_cooling_coils << c } model.getCoilCoolingDXMultiSpeeds.each { |c| dx_cooling_coils << c } model.getCoilCoolingDXVariableSpeeds.each { |c| dx_cooling_coils << c } @@ -2365,8 +2328,7 @@ def run(runner, user_arguments) dx_heating_load_weighted_design_cop_65_to_135_kbtuh = 0.0 dx_heating_load_weighted_design_cop_135_to_240_kbtuh = 0.0 dx_heating_load_weighted_design_cop_240_plus_kbtuh = 0.0 - dx_heating_coils = [] - model.getCoilHeatingDXSingleSpeeds.each { |c| dx_heating_coils << c } + dx_heating_coils = model.getCoilHeatingDXSingleSpeeds.map { |c| c } model.getCoilHeatingDXMultiSpeeds.each { |c| dx_heating_coils << c } model.getCoilHeatingDXVariableSpeeds.each { |c| dx_heating_coils << c } dx_heating_coils.sort.each do |coil| @@ -2512,8 +2474,8 @@ def run(runner, user_arguments) # get heating coil crankcase heater Electric Energy coil_crankcase_heater_electric_energy_j = sql_get_report_variable_data_double(runner, sql, coil, "Heating Coil Crankcase Heater #{elec} Energy") - #puts "coil_crankcase_heater_electric_energy_j: #{coil_crankcase_heater_electric_energy_j}" - #coil_crankcase_heater_electric_energy_j = 5000000 + # puts "coil_crankcase_heater_electric_energy_j: #{coil_crankcase_heater_electric_energy_j}" + # coil_crankcase_heater_electric_energy_j = 5000000 # add to weighted load cop total_heating_j = coil_heating_energy_j + supplemental_coil_heating_energy_j @@ -2797,9 +2759,9 @@ def run(runner, user_arguments) runner.registerValue('com_report_unitary_sys_cycling_ratio_cooling', com_report_unitary_sys_cycling_ratio_cooling) runner.registerValue('com_report_unitary_sys_cycling_ratio_heating', com_report_unitary_sys_cycling_ratio_heating) runner.registerValue('com_report_unitary_sys_cycling_excess_electricity_cooling_pcnt', - com_report_unitary_sys_cycling_excess_electricity_cooling_pcnt) + com_report_unitary_sys_cycling_excess_electricity_cooling_pcnt) runner.registerValue('com_report_unitary_sys_cycling_excess_electricity_heating_pcnt', - com_report_unitary_sys_cycling_excess_electricity_heating_pcnt) + com_report_unitary_sys_cycling_excess_electricity_heating_pcnt) # Get the outdoor air temp timeseries and calculate heating and cooling degree days # Per ISO 15927-6, "Accumulated hourly temperature differences shall be calculated according to 4.4 when hourly data are available. When hourly data are not available, the approximate method given in 4.5, based on the maximum and minimum temperatures each day, may be used." @@ -2833,13 +2795,13 @@ def run(runner, user_arguments) hours_below_50_F = oa_temps_f.count { |val| val < 50.0 } hours_above_65_F = oa_temps_f.count { |val| val > 65.0 } hdd50f = oa_temps_f.sum { |val| val < 50.0 ? 50.0 - val : 0.0 } - hdd50f = hdd50f / 24.0 + hdd50f /= 24.0 hdd65f = oa_temps_f.sum { |val| val < 65.0 ? 65.0 - val : 0.0 } - hdd65f = hdd65f / 24.0 + hdd65f /= 24.0 cdd50f = oa_temps_f.sum { |val| val > 50.0 ? val - 50.0 : 0.0 } - cdd50f = cdd50f / 24.0 - cdd65f = oa_temps_f.sum { |val| val > 65.0 ? val - 65.0: 0.0 } - cdd65f = cdd65f / 24.0 + cdd50f /= 24.0 + cdd65f = oa_temps_f.sum { |val| val > 65.0 ? val - 65.0 : 0.0 } + cdd65f /= 24.0 else runner.registerWarning('Site Outdoor Air Drybulb Temperature could not be found, cannot calculate hours below x degF.') end @@ -3171,18 +3133,17 @@ def run(runner, user_arguments) # iterate through each model to get all of the gas coils and check if they are supplemental coils for Unitary HVAC Objects and count each seperately. model.getCoilHeatingGass.sort.each do |coil| - # get gas coil capacity supplemental_capacity_w = 0.0 # default coil type unless proven otherwise supplemental_coil = false - #check if coil is contained by an unitary equipment and cast the hvac component to its child types + # check if coil is contained by an unitary equipment and cast the hvac component to its child types if coil.containingHVACComponent.is_initialized hvac_comp = coil.containingHVACComponent.get obj_type = hvac_comp.iddObjectType.valueName - obj_type_name = obj_type.gsub('OS_','').gsub('_','') + obj_type_name = obj_type.gsub('OS_', '').gsub('_', '') method_name = "to_#{obj_type_name}" if hvac_comp.respond_to?(method_name) unitary_equip = hvac_comp.method(method_name).call @@ -3192,12 +3153,12 @@ def run(runner, user_arguments) end end - #test if the coil is a supplemental coil on the unitary equipment - if unitary_equip.respond_to?("supplementalHeatingCoil") && unitary_equip.supplementalHeatingCoil.is_initialized && unitary_equip.supplementalHeatingCoil.get == coil + # test if the coil is a supplemental coil on the unitary equipment + if unitary_equip.respond_to?('supplementalHeatingCoil') && unitary_equip.supplementalHeatingCoil.is_initialized && unitary_equip.supplementalHeatingCoil.get == coil supplemental_coil = true end - #get supplemental gas coil capacity + # get supplemental gas coil capacity if supplemental_coil if coil.nominalCapacity.is_initialized supplemental_capacity_w = coil.nominalCapacity.get @@ -3251,7 +3212,7 @@ def run(runner, user_arguments) end end end - #report the primary gas coil counts, weight efficiency, and total capacity + # report the primary gas coil counts, weight efficiency, and total capacity primary_capacity_weighted_gas_coil_efficiency = primary_gas_coil_total_capacity_w > 0.0 ? primary_gas_coil_capacity_weighted_efficiency / primary_gas_coil_total_capacity_w : 0.0 primary_gas_coil_total_capacity_kbuth = OpenStudio.convert(primary_gas_coil_total_capacity_w, 'W', 'kBtu/h').get runner.registerValue('com_report_hvac_capacity_weighted_primary_gas_coil_efficiency', primary_capacity_weighted_gas_coil_efficiency) @@ -3262,7 +3223,7 @@ def run(runner, user_arguments) runner.registerValue('com_report_hvac_count_primary_gas_coil_135_to_240_kbtuh', primary_gas_count_135_to_240_kbtuh) runner.registerValue('com_report_hvac_count_primary_gas_coil_240_plus_kbtuh', primary_gas_count_240_plus_kbtuh) - #report the supplemental gas coil counts, weight efficiency, and total capacity + # report the supplemental gas coil counts, weight efficiency, and total capacity supplemental_capacity_weighted_gas_coil_efficiency = supplemental_gas_coil_total_capacity_w > 0.0 ? supplemental_gas_coil_capacity_weighted_efficiency / supplemental_gas_coil_total_capacity_w : 0.0 supplemental_gas_coil_total_capacity_kbuth = OpenStudio.convert(supplemental_gas_coil_total_capacity_w, 'W', 'kBtu/h').get runner.registerValue('com_report_hvac_supplemental_capacity_weighted_gas_coil_efficiency', supplemental_capacity_weighted_gas_coil_efficiency) @@ -3302,7 +3263,7 @@ def run(runner, user_arguments) heat_pump_water_heater_0_to_40_gal_capacity_w = 0.0 heat_pump_water_heater_40_to_65_gal_capacity_w = 0.0 heat_pump_water_heater_65_to_90_gal_capacity_w = 0.0 - heat_pump_water_heater_90_plus_capacity_w = 0.0 + heat_pump_water_heater_90_plus_capacity_w = 0.0 heat_pump_water_heater_cop = 0.0 heat_pump_water_heater_0_to_40_gal_cop = 0.0 heat_pump_water_heater_40_to_65_gal_cop = 0.0 @@ -3340,9 +3301,8 @@ def run(runner, user_arguments) booster_water_heater_electric_j = 0.0 booster_water_heater_gas_j = 0.0 water_heater_unmet_heat_transfer_demand_j = 0.0 - heat_pump_water_heaters = [] heat_pump_water_heater_tanks = [] - model.getWaterHeaterHeatPumps.each { |wh| heat_pump_water_heaters << wh } + heat_pump_water_heaters = model.getWaterHeaterHeatPumps.map { |wh| wh } model.getWaterHeaterHeatPumpWrappedCondensers.each { |wh| heat_pump_water_heaters << wh } # loop through heat pump water heaters and report out variables heat_pump_water_heaters.sort.each do |hpwh| @@ -3354,7 +3314,7 @@ def run(runner, user_arguments) end heat_pump_water_heater_tanks << tank.name.to_s volume_m3 = tank.tankVolume.is_initialized ? tank.tankVolume.get : 0.0 - volume_gal = OpenStudio.convert(volume_m3, 'm^3','gal').get.round(3) + volume_gal = OpenStudio.convert(volume_m3, 'm^3', 'gal').get.round(3) # log heat pump water heater tank size heat_pump_water_heater_total_volume_gal += volume_gal @@ -3483,22 +3443,21 @@ def run(runner, user_arguments) end # loop through non-heat pump water heaters, omitting those that are tanks for hpwh objects - water_heaters = [] - model.getWaterHeaterMixeds.each { |wh| water_heaters << wh } + water_heaters = model.getWaterHeaterMixeds.map { |wh| wh} model.getWaterHeaterStratifieds.each { |wh| water_heaters << wh } water_heaters.sort.each do |wh| # skip tanks that are associated with heat pump water heaters next if heat_pump_water_heater_tanks.include? wh.name.to_s volume_m3 = wh.tankVolume.is_initialized ? wh.tankVolume.get : 0.0 - volume_gal = OpenStudio.convert(volume_m3, 'm^3','gal').get.round(3) + volume_gal = OpenStudio.convert(volume_m3, 'm^3', 'gal').get.round(3) # log water heater tank size water_heater_total_volume_gal += volume_gal water_heater_count += 1.0 if volume_gal == 0.0 runner.registerWarning("Water heater #{wh} has a zero gallon tank.") - elsif volume_gal < 40.0 + elsif volume_gal < 40.0 water_heater_0_to_40_gal_total_volume_gal += volume_gal water_heater_0_to_40_gal_count += 1.0 elsif volume_gal < 65.0 @@ -3532,7 +3491,7 @@ def run(runner, user_arguments) wh_other_fuel_energy_j = sql_get_report_variable_data_double(runner, sql, wh, "Water Heater #{fuel} Energy") end - is_booster = wh.name.get.to_s.downcase.include?('booster') ? true : false + is_booster = wh.name.get.to_s.downcase.include?('booster') water_heater_electric_j += wh_electric_energy_j water_heater_gas_j += wh_gas_energy_j @@ -3614,12 +3573,13 @@ def run(runner, user_arguments) err_path = File.join(File.dirname(sql.path.to_s), 'eplusout.err') File.foreach(err_path).each do |line| next unless line.include?('EnergyPlus Completed Successfully') - m = line.match /.*EnergyPlus Completed Successfully-- (\d+) Warning; (\d+) Severe Errors/ + + m = line.match(/.*EnergyPlus Completed Successfully-- (\d+) Warning; (\d+) Severe Errors/) if m runner.registerValue('com_report_num_warnings', m[1].to_i) runner.registerValue('com_report_num_errors', m[2].to_i) else - runner.registerWarning("Could not determine number of warnings or errors from error file") + runner.registerWarning('Could not determine number of warnings or errors from error file') end break end diff --git a/measures/comstock_sensitivity_reports/measure.xml b/measures/comstock_sensitivity_reports/measure.xml index fe71163f5..408e10717 100644 --- a/measures/comstock_sensitivity_reports/measure.xml +++ b/measures/comstock_sensitivity_reports/measure.xml @@ -3,8 +3,8 @@ 3.1 com_stock_sensitivity_reports aeb81242-de7e-4613-af47-c1faf19d286a - 12fe744c-1db6-4ff1-ad52-b7cb4557d23c - 2024-10-30T22:38:02Z + a0d59a4e-a224-4c13-a125-b43299450812 + 2024-11-07T23:45:58Z A0069B90 ComStockSensitivityReports ComStock_Sensitivity_Reports @@ -76,7 +76,7 @@ measure.rb rb script - DFEF0B37 + 0D17EF7E Variable List.xlsx @@ -232,7 +232,7 @@ comstock_sensitivity_reports_test.rb rb test - B8A37D2A + 8F425468 ground_heat_exchanger.osm diff --git a/measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb b/measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb index 73983418b..7f4171f8a 100644 --- a/measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb +++ b/measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb @@ -1,57 +1,22 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2018, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* - +# dependencies +require 'fileutils' +require 'minitest/autorun' require 'openstudio' +require 'openstudio/measure/ShowRunnerOutput' require 'openstudio-standards' -require 'openstudio/ruleset/ShowRunnerOutput' -require 'minitest/autorun' -require_relative '../measure.rb' -require 'fileutils' -require_relative '../../../test/helpers/minitest_helper' +require_relative '../measure' class ComStockSensitivityReportsTest < Minitest::Test def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{File.dirname(__FILE__)}/output/#{test_name}" + return "#{__dir__}/output/#{test_name}" end def model_output_path(test_name) - return "#{run_dir(test_name)}/#{test_name}.osm" + return "#{run_dir(test_name)}/out.osm" end def workspace_path(test_name) @@ -68,267 +33,264 @@ def report_path(test_name) def run_test(test_name, osm_path, epw_path) # create run directory if it does not exist - unless File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) # change into run directory for tests start_dir = Dir.pwd - Dir.chdir run_dir(test_name) - - # create an instance of the measure - measure = ComStockSensitivityReports.new - - # create an instance of a runner - runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) - - # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(osm_path) - assert(model.is_initialized) - model = model.get - runner.setLastOpenStudioModel(model) - - # get arguments - arguments = measure.arguments() - argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) - - # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - - # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) - workspace.addObjects(idf_output_requests) - rt = OpenStudio::EnergyPlus::ReverseTranslator.new - request_model = rt.translateWorkspace(workspace) - - # load the test model and add output requests - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - model.addObjects(request_model.objects) - model.save(model_output_path(test_name), true) - - # set model weather file - assert(File.exist?(epw_path)) - epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) - OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) - assert(model.weatherFile.is_initialized) - - # run the simulation if necessary - unless File.exist?(sql_path(test_name)) - puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." - - std = Standard.build('90.1-2013') - std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + begin + Dir.chdir run_dir(test_name) + + # create an instance of the measure + measure = ComStockSensitivityReports.new + + # create an instance of a runner + runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) + + # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(osm_path) + assert(model.is_initialized) + model = model.get + runner.setLastOpenStudioModel(model) + + # get arguments + arguments = measure.arguments + argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) + + # get the energyplus output requests, this will be done automatically by OS App and PAT + idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) + + # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf + workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) + workspace.addObjects(idf_output_requests) + rt = OpenStudio::EnergyPlus::ReverseTranslator.new + request_model = rt.translateWorkspace(workspace) + + # load the test model and add output requests + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(OpenStudio::Path.new(osm_path)) + assert(!model.empty?) + model = model.get + model.addObjects(request_model.objects) + model.save(model_output_path(test_name), true) + + # set model weather file + assert(File.exist?(epw_path)) + epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) + OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) + assert(model.weatherFile.is_initialized) + + # run the simulation if necessary + unless File.exist?(sql_path(test_name)) + puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." + + std = Standard.build('90.1-2013') + std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + end + assert(File.exist?(model_output_path(test_name))) + assert(File.exist?(sql_path(test_name))) + + # set up runner, this will happen automatically when measure is run in PAT or OpenStudio + runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) + runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) + runner.setLastEpwFilePath(epw_path) + runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) + + # delete the output if it exists + + FileUtils.rm_f(report_path(test_name)) + + assert(!File.exist?(report_path(test_name))) + + # run the measure + puts "\nRUNNING MEASURE RUN FOR #{test_name}..." + measure.run(runner, argument_map) + result = runner.result + show_output(result) + + # log result to file for comparisons + values = result.stepValues.map(&:string) + File.write("#{run_dir(test_name)}/output.txt", "[\n#{values.join(',').strip}\n]") + + assert_equal('Success', result.value.valueName) + ensure + # change back directory + Dir.chdir(start_dir) end - assert(File.exist?(model_output_path(test_name))) - assert(File.exist?(sql_path(test_name))) - - # set up runner, this will happen automatically when measure is run in PAT or OpenStudio - runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) - runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) - runner.setLastEpwFilePath(epw_path) - runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) - - # delete the output if it exists - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end - assert(!File.exist?(report_path(test_name))) - - # run the measure - puts "\nRUNNING MEASURE RUN FOR #{test_name}..." - measure.run(runner, argument_map) - result = runner.result - show_output(result) - - # log result to file for comparisons - values = [] - result.stepValues.each do |value| - values << value.string - end - File.write(run_dir(test_name)+"/output.txt", "[\n#{values.join(',').strip}\n]") - - assert_equal('Success', result.value.valueName) - # change back directory - Dir.chdir(start_dir) return true end def test_number_of_arguments_and_argument_names # this test ensures that the current test is matched to the measure inputs - test_name = "test_number_of_arguments_and_argument_names" - puts "\n######\nTEST:#{test_name}\n######\n" + puts "\n######\nTEST:#{__method__}\n######\n" # create an instance of the measure measure = ComStockSensitivityReports.new # get arguments and test that they are what we are expecting - arguments = measure.arguments() + arguments = measure.arguments assert_equal(0, arguments.size) end def test_bldg25 - test_name = 'test_bldg25_retail_resforcedair' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000025.osm' - epw_path = File.dirname(__FILE__) + '/USA_MI_Detroit.City.725375_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # retail_resforcedair + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000025.osm" + epw_path = "#{__dir__}/USA_MI_Detroit.City.725375_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg31 - test_name = 'test_bldg31_quick_service_restaurant_pthp' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000031.osm' - epw_path = File.dirname(__FILE__) + '/USA_OH_Toledo.Express.725360_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # quick_service_restaurant_pthp + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000031.osm" + epw_path = "#{__dir__}/USA_OH_Toledo.Express.725360_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg43 - test_name = 'test_bldg43_warehouse_baseboardelec' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000043.osm' - epw_path = File.dirname(__FILE__) + '/USA_NV_Nellis.Afb.723865_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # warehouse_baseboardelec + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000043.osm" + epw_path = "#{__dir__}/USA_NV_Nellis.Afb.723865_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg45 - test_name = 'test_bldg45_stripmall_windowac' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000045.osm' - epw_path = File.dirname(__FILE__) + '/USA_TX_San.Marcos.Muni.722539_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # stripmall_windowac + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000045.osm" + epw_path = "#{__dir__}/USA_TX_San.Marcos.Muni.722539_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg53 - test_name = 'test_bldg53_smallhotel_pszac' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000053.osm' - epw_path = File.dirname(__FILE__) + '/USA_MI_Cherry.Capital.726387_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # smallhotel_pszac + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000053.osm" + epw_path = "#{__dir__}/USA_MI_Cherry.Capital.726387_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg82 - test_name = 'test_bldg82_hospitalvav' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000082.osm' - epw_path = File.dirname(__FILE__) + '/USA_KY_Bowman.Fld.724235_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # hospital_vav + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000082.osm" + epw_path = "#{__dir__}/USA_KY_Bowman.Fld.724235_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_bldg03 - test_name = 'test_bldg03_smalloffice_pszac' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000003.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' - assert(run_test(test_name, osm_path, epw_path)) + # smalloffice_pszac + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000003.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" + assert(run_test(__method__, osm_path, epw_path)) end - def test_bldg04 - test_name = 'test_bldg04_retail_pszacnoheat' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000004.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' - assert(run_test(test_name, osm_path, epw_path)) + def test_bldg04 + # retail_pszacnoheat + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000004.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_fuel_oil_boiler - test_name = 'test_fuel_oil_boiler' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000034.osm' - epw_path = File.dirname(__FILE__) + '/USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw' - assert(run_test(test_name, osm_path, epw_path)) + # fuel_oil_boiler + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000034.osm" + epw_path = "#{__dir__}/USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_propane_boiler - test_name = 'test_propane_boiler' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0000090.osm' - epw_path = File.dirname(__FILE__) + '/USA_NV_Nellis.Afb.723865_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # propane_boiler + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0000090.osm" + epw_path = "#{__dir__}/USA_NV_Nellis.Afb.723865_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_vrf - test_name = 'test_vrf' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/bldg0146294.osm' - epw_path = File.dirname(__FILE__) + '/USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw' - assert(run_test(test_name, osm_path, epw_path)) + # vrf + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/bldg0146294.osm" + epw_path = "#{__dir__}/USA_MD_Baltimore-Washington.Intl.AP.724060_TMY3.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_multispeed_heat_pump - test_name = 'test_multispeed_heat_pump' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/multispeed_hps.osm' - epw_path = File.dirname(__FILE__) + '/USA_MI_Detroit.City.725375_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # multispeed_heat_pump + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/multispeed_hps.osm" + epw_path = "#{__dir__}/USA_MI_Detroit.City.725375_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_heat_pump_boiler_1 - test_name = 'test_heat_pump_boiler_1' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/heat_pump_boiler_1.osm' - epw_path = File.dirname(__FILE__) + '/USA_MN_Duluth.Intl.AP.727450_TMY.epw' - assert(run_test(test_name, osm_path, epw_path)) + # heat_pump_boiler_1 + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/heat_pump_boiler_1.osm" + epw_path = "#{__dir__}/USA_MN_Duluth.Intl.AP.727450_TMY.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_heat_pump_boiler_2 - test_name = 'test_heat_pump_boiler_2' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/heat_pump_boiler_2.osm' - epw_path = File.dirname(__FILE__) + '/USA_KY_Bowman.Fld.724235_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # heat_pump_boiler_2 + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/heat_pump_boiler_2.osm" + epw_path = "#{__dir__}/USA_KY_Bowman.Fld.724235_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_shw_hpwh - test_name = 'test_shw_hpwh' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/hpwh002.osm' - epw_path = File.dirname(__FILE__) + '/USA_NV_Nellis.Afb.723865_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # shw_hpwh + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/hpwh002.osm" + epw_path = "#{__dir__}/USA_NV_Nellis.Afb.723865_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_ghx_outputs - test_name = 'test_ground_heat_exchanger_outputs' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/ground_heat_exchanger.osm' - epw_path = File.dirname(__FILE__) + '/USA_MI_Detroit.City.725375_2012.epw' - assert(run_test(test_name, osm_path, epw_path)) + # ground_heat_exchanger_outputs + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/ground_heat_exchanger.osm" + epw_path = "#{__dir__}/USA_MI_Detroit.City.725375_2012.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_hp_rtu_gas_backup - test_name = 'test_hp_rtu_gas_backup' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/hp_rtu_gas_backup.osm' - epw_path = File.dirname(__FILE__) + '/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw' - assert(run_test(test_name, osm_path, epw_path)) + # hp_rtu_gas_backup + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/hp_rtu_gas_backup.osm" + epw_path = "#{__dir__}/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_vrf_cold_climate - test_name = 'test_vrf_cold_climate' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/vrf_cold_climate.osm' - epw_path = File.dirname(__FILE__) + '/USA_MN_Duluth.Intl.AP.727450_TMY.epw' - assert(run_test(test_name, osm_path, epw_path)) + # vrf_cold_climate + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/vrf_cold_climate.osm" + epw_path = "#{__dir__}/USA_MN_Duluth.Intl.AP.727450_TMY.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_8172d17_0000008 - test_name = 'test_8172d17_0000008' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/8172d17_0000008.osm' - epw_path = File.dirname(__FILE__) + '/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw' - assert(run_test(test_name, osm_path, epw_path)) + # 8172d17_0000008 + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/8172d17_0000008.osm" + epw_path = "#{__dir__}/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw" + assert(run_test(__method__, osm_path, epw_path)) end def test_base_0000008 - test_name = 'test_base_0000008' - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/base_0000008.osm' - epw_path = File.dirname(__FILE__) + '/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw' - assert(run_test(test_name, osm_path, epw_path)) + # base_0000008 + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/base_0000008.osm" + epw_path = "#{__dir__}/USA_AL_Mobile-Downtown.AP.722235_TMY3.epw" + assert(run_test(__method__, osm_path, epw_path)) end end From 77ca95776281535bf1674775653618141c499fa5 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 16:55:24 -0700 Subject: [PATCH 15/23] utility_bills rubocop --- measures/utility_bills/measure.rb | 126 ++++++++--------- measures/utility_bills/measure.xml | 18 +-- ...{Measure_Test.rb => utility_bills_test.rb} | 131 +++++++----------- test/reporting_measure_tests.txt | 3 +- 4 files changed, 112 insertions(+), 166 deletions(-) rename measures/utility_bills/tests/{Measure_Test.rb => utility_bills_test.rb} (82%) diff --git a/measures/utility_bills/measure.rb b/measures/utility_bills/measure.rb index b6501d3f3..aa132b4e1 100644 --- a/measures/utility_bills/measure.rb +++ b/measures/utility_bills/measure.rb @@ -1,20 +1,15 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# see the URL below for information on how to write OpenStudio measures -# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/ - require 'csv' require 'date' require 'json' require 'open3' - -#start the measure +# start the measure class UtilityBills < OpenStudio::Measure::ReportingMeasure - def os - @os ||= ( + @os ||= begin host_os = RbConfig::CONFIG['host_os'] case host_os when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ @@ -28,22 +23,22 @@ def os else raise Error::WebDriverError, "unknown os: #{host_os.inspect}" end - ) + end end # human readable name def name - return "Utility Bills" + return 'Utility Bills' end # human readable description def description - return "Calculates utility bills for the model based on location." + return 'Calculates utility bills for the model based on location.' end # human readable description of modeling approach def modeler_description - return "Calculates utility bills using the PySAM API and commercial rates from the NREL Utility Rate Database or EIA data." + return 'Calculates utility bills using the PySAM API and commercial rates from the NREL Utility Rate Database or EIA data.' end # define the arguments that the user will input @@ -60,7 +55,7 @@ def energyPlusOutputRequests(runner, user_arguments) result = OpenStudio::IdfObjectVector.new # Request hourly data for fuel types with hourly bill calculations - result << OpenStudio::IdfObject.load("Output:Meter,Electricity:Facility,Hourly;").get + result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,Hourly;').get return result end @@ -72,14 +67,14 @@ def run(runner, user_arguments) # Get the last model and sql file model = runner.lastOpenStudioModel if model.empty? - runner.registerError("Could not load last OpenStudio model, cannot apply measure.") + runner.registerError('Could not load last OpenStudio model, cannot apply measure.') return false end model = model.get sql = runner.lastEnergyPlusSqlFile if sql.empty? - runner.registerError("Cannot find last sql file.") + runner.registerError('Cannot find last sql file.') return false end sql = sql.get @@ -93,7 +88,7 @@ def run(runner, user_arguments) elsif File.exist?(run_dir_comstock) run_dir = run_dir_comstock else - runner.registerError("Could not find directory with EnergyPlus output, cannot extract timeseries results") + runner.registerError('Could not find directory with EnergyPlus output, cannot extract timeseries results') return false end @@ -115,10 +110,8 @@ def run(runner, user_arguments) ann_env_pd = nil sql.availableEnvPeriods.each do |env_pd| env_type = sql.environmentType(env_pd) - if env_type.is_initialized - if env_type.get == OpenStudio::EnvironmentType.new('WeatherRunPeriod') - ann_env_pd = env_pd - end + if env_type.is_initialized && (env_type.get == (OpenStudio::EnvironmentType.new('WeatherRunPeriod'))) + ann_env_pd = env_pd end end if ann_env_pd == false @@ -131,7 +124,7 @@ def run(runner, user_arguments) # Get hourly electricity timeseries elec_ts = sql.timeSeries(ann_env_pd, 'Hourly', 'Electricity:Facility', '') if elec_ts.empty? - runner.registerError("Could not get hourly electricity consumption, cannot calculate electricity bill") + runner.registerError('Could not get hourly electricity consumption, cannot calculate electricity bill') return false end elec_ts = elec_ts.get @@ -145,7 +138,7 @@ def run(runner, user_arguments) elec_ts.dateTimes.each_with_index do |date_time, i| # runner.registerInfo("timestamp index: #{i}, #{date_time.date.dayOfWeek.valueName} ,#{date_time}") if date_time.date.dayOfWeek.valueName == 'Monday' - # E+ timestamps are hour-ending, so a 00:00 timestamp represents 11-12pm the day prior + # E+ timestamps are hour-ending, so a 00:00 timestamp represents 11-12pm the day prior if date_time.time.hours.zero? first_monday_i = i + 1 else @@ -157,10 +150,9 @@ def run(runner, user_arguments) end # Convert the timeseries vectors to Ruby arrays - orig_dts = [] - elec_ts.dateTimes.each {|dt| orig_dts << dt} + orig_dts = elec_ts.dateTimes.map { |dt| dt } orig_vals = [] - elec_ts.values.each {|val| orig_vals << val} + elec_ts.values.each { |val| orig_vals << val } # Shift values if necessary runner.registerInfo("Raw electric timeseries dates #{orig_dts[0]} to #{orig_dts[-1]}") @@ -170,9 +162,9 @@ def run(runner, user_arguments) shifted_vals = orig_vals else # First monday through the end of the year, then first few pre-Monday days - runner.registerInfo("Shifting electric timeseries to Monday start for PySAM") - shifted_dts = orig_dts[first_monday_i..-1] + orig_dts[0..first_monday_i-1] - shifted_vals = orig_vals[first_monday_i..-1] + orig_vals[0..first_monday_i-1] + runner.registerInfo('Shifting electric timeseries to Monday start for PySAM') + shifted_dts = orig_dts[first_monday_i..] + orig_dts[0..first_monday_i - 1] + shifted_vals = orig_vals[first_monday_i..] + orig_vals[0..first_monday_i - 1] runner.registerInfo("Shifted electric timeseries dates #{shifted_dts[0]} to #{shifted_dts[-1]}") end @@ -189,9 +181,8 @@ def run(runner, user_arguments) end # Convert electricity to kWh - hourly_electricity_kwh = [] - shifted_vals.each do |val| - hourly_electricity_kwh << OpenStudio.convert(val, 'J', 'kWh').get # hourly data + hourly_electricity_kwh = shifted_vals.map do |val| + OpenStudio.convert(val, 'J', 'kWh').get # hourly data end # Get min and peak demand for rates with qualifiers @@ -224,22 +215,22 @@ def run(runner, user_arguments) # Look up the utility EIA ID based on the census tract elec_eia_id = tract_to_elec_util[census_tract] - unless elec_eia_id.nil? - runner.registerValue('electricity_utility_eia_id', elec_eia_id) - else + if elec_eia_id.nil? runner.registerWarning("No electric utility for census tract #{census_tract}, using EIA average electric price.") + else + runner.registerValue('electricity_utility_eia_id', elec_eia_id) end # Find all the electric rates for this utility all_rates = Dir.glob(File.join(File.dirname(__FILE__), "resources/elec_rates/#{elec_eia_id}/*.json")) - if all_rates.size > 0 - runner.registerInfo("Found #{all_rates.size} URDB electric rates for EIA utility #{elec_eia_id}.") - use_urdb_rates = true - else + if all_rates.empty? unless elec_eia_id.nil? runner.registerWarning("No URDB electric rates found for EIA utility #{elec_eia_id}, using EIA average electric price.") use_urdb_rates = false end + else + runner.registerInfo("Found #{all_rates.size} URDB electric rates for EIA utility #{elec_eia_id}.") + use_urdb_rates = true end # Downselect to applicable rates based on kW and kWh limits @@ -250,32 +241,24 @@ def run(runner, user_arguments) rate_name = rate['name'] rate_id = rate['label'] - if rate.has_key?('peakkwcapacitymin') - if min_kw < rate['peakkwcapacitymin'] - runner.registerInfo("Rate #{rate_name} is not applicable because the building min demand of #{min_kw} kW is below minimum threshold of #{rate['peakkwcapacitymin']} kW.") - next - end + if rate.key?('peakkwcapacitymin') && (min_kw < (rate['peakkwcapacitymin'])) + runner.registerInfo("Rate #{rate_name} is not applicable because the building min demand of #{min_kw} kW is below minimum threshold of #{rate['peakkwcapacitymin']} kW.") + next end - if rate.has_key?('peakkwcapacitymax') - if max_kw > rate['peakkwcapacitymax'] - runner.registerInfo("Rate #{rate_name} is not applicable because the building max demand of #{max_kw} kW is above maximum threshold of #{rate['peakkwcapacitymax']} kW.") - next - end + if rate.key?('peakkwcapacitymax') && (max_kw > (rate['peakkwcapacitymax'])) + runner.registerInfo("Rate #{rate_name} is not applicable because the building max demand of #{max_kw} kW is above maximum threshold of #{rate['peakkwcapacitymax']} kW.") + next end - if rate.has_key?('peakkwhusagemin') - if tot_elec_kwh < rate['peakkwhusagemin'] - runner.registerInfo("Rate #{rate_name} is not applicable because the building annual energy #{tot_elec_kwh} kWh is below minimum threshold of #{rate['peakkwhusagemin']} kWh.") - next - end + if rate.key?('peakkwhusagemin') && (tot_elec_kwh < (rate['peakkwhusagemin'])) + runner.registerInfo("Rate #{rate_name} is not applicable because the building annual energy #{tot_elec_kwh} kWh is below minimum threshold of #{rate['peakkwhusagemin']} kWh.") + next end - if rate.has_key?('peakkwhusagemax') - if tot_elec_kwh > rate['peakkwhusagemax'] - runner.registerInfo("Rate #{rate_name} is not applicable because the building annual energy #{tot_elec_kwh} kWh is above maximum threshold of #{rate['peakkwhusagemax']} kWh.") - next - end + if rate.key?('peakkwhusagemax') && (tot_elec_kwh > (rate['peakkwhusagemax'])) + runner.registerInfo("Rate #{rate_name} is not applicable because the building annual energy #{tot_elec_kwh} kWh is above maximum threshold of #{rate['peakkwhusagemax']} kWh.") + next end # Rate is applicable to this building @@ -284,9 +267,9 @@ def run(runner, user_arguments) end # Ensure at least one rate is applicable to this building - if all_rates.size > 0 && applicable_rates.size.zero? + if !all_rates.empty? && applicable_rates.empty? use_urdb_rates = false - runner.registerWarning("No URDB electric rates were applicable to this building, using EIA average electric price.") + runner.registerWarning('No URDB electric rates were applicable to this building, using EIA average electric price.') end # Calculate bills using either URDB rates or EIA average price @@ -294,7 +277,7 @@ def run(runner, user_arguments) if use_urdb_rates # Write the hourly kWh to CSV elec_csv_path = File.expand_path("#{run_dir}/electricity_hourly.csv") - CSV.open(elec_csv_path, "wb") do |csv| + CSV.open(elec_csv_path, 'wb') do |csv| hourly_electricity_kwh.each do |kwh| csv << [kwh.round(3)] end @@ -320,7 +303,7 @@ def run(runner, user_arguments) end # Call calc_elec_bill.py - py = if (os == :windows || os == :macosx) + py = if os == :windows || os == :macosx 'python' # Assumes running buildstockbatch from a Conda shell elsif os == :linux 'python3.8' # Assumes running buildstockbatch from ComStock docker image @@ -362,7 +345,7 @@ def run(runner, user_arguments) # Report bills for reasonable rates where: 0.25x_median < bill < 2x_median bills_sorted = rate_results.values.sort - median_bill = bills_sorted[(bills_sorted.length - 1) / 2] + bills_sorted[bills_sorted.length / 2] / 2.0 + median_bill = bills_sorted[(bills_sorted.length - 1) / 2] + (bills_sorted[bills_sorted.length / 2] / 2.0) i = 1 rate_results.each do |rate_name, bill| if bill < 0.25 * median_bill @@ -381,8 +364,8 @@ def run(runner, user_arguments) elec_prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_com_elec_prices_dol_per_kwh_2022.json') elec_rate_dollars_per_kwh = JSON.parse(File.read(elec_prices_path))[state_abbreviation] total_elec_utility_bill_dollars = (tot_elec_kwh * elec_rate_dollars_per_kwh).round.to_i - runner.registerValue("electricity_rate_1_name", "EIA 2022 Average Commercial Electric Price for #{state_abbreviation}") - runner.registerValue("electricity_rate_1_bill_dollars", total_elec_utility_bill_dollars) + runner.registerValue('electricity_rate_1_name', "EIA 2022 Average Commercial Electric Price for #{state_abbreviation}") + runner.registerValue('electricity_rate_1_bill_dollars', total_elec_utility_bill_dollars) elec_bills << total_elec_utility_bill_dollars end @@ -413,8 +396,8 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_com_gas_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] utility_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("natural_gas_rate_name", "EIA 2022 Average Commercial Natural Gas Price for #{state_abbreviation}") - runner.registerValue("natural_gas_bill_dollars", utility_bill_dollars) + runner.registerValue('natural_gas_rate_name', "EIA 2022 Average Commercial Natural Gas Price for #{state_abbreviation}") + runner.registerValue('natural_gas_bill_dollars', utility_bill_dollars) end end @@ -425,8 +408,8 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_res_propane_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] utility_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("propane_rate_name", "EIA 2022 Average Residential Propane Price for #{state_abbreviation}") - runner.registerValue("propane_bill_dollars", utility_bill_dollars) + runner.registerValue('propane_rate_name', "EIA 2022 Average Residential Propane Price for #{state_abbreviation}") + runner.registerValue('propane_bill_dollars', utility_bill_dollars) end end @@ -437,8 +420,8 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_res_fuel_oil_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] utility_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("fuel_oil_rate_name", "EIA 2022 Average Residential Fuel Oil Price for #{state_abbreviation}") - runner.registerValue("fuel_oil_bill_dollars", utility_bill_dollars) + runner.registerValue('fuel_oil_rate_name', "EIA 2022 Average Residential Fuel Oil Price for #{state_abbreviation}") + runner.registerValue('fuel_oil_bill_dollars', utility_bill_dollars) end end @@ -465,7 +448,6 @@ def run(runner, user_arguments) return true end - end # register the measure to be used by the application diff --git a/measures/utility_bills/measure.xml b/measures/utility_bills/measure.xml index 3ca509054..278fa10b1 100644 --- a/measures/utility_bills/measure.xml +++ b/measures/utility_bills/measure.xml @@ -3,8 +3,8 @@ 3.1 utility_bills 2a3442c1-944d-4e91-9e11-11e0cf368c64 - 3835ce49-df43-471c-8439-6bb22b89f8a5 - 2024-06-20T19:00:14Z + 4972c9d6-fc91-433e-baf7-707900da6178 + 2024-11-07T22:52:00Z 15BF4E57 UtilityBills Utility Bills @@ -33,7 +33,7 @@ measure.rb rb script - C5A9C741 + F0B5C3A2 calc_elec_bill.py @@ -63821,12 +63821,6 @@ test 3F796846 - - Measure_Test.rb - rb - test - 30EC3ADD - USA_CO_Golden-NREL.724666_TMY3.ddy ddy @@ -63851,5 +63845,11 @@ test E0B9A507 + + utility_bills_test.rb + rb + test + 19BD118C + diff --git a/measures/utility_bills/tests/Measure_Test.rb b/measures/utility_bills/tests/utility_bills_test.rb similarity index 82% rename from measures/utility_bills/tests/Measure_Test.rb rename to measures/utility_bills/tests/utility_bills_test.rb index f4b954566..ea3c03c8d 100644 --- a/measures/utility_bills/tests/Measure_Test.rb +++ b/measures/utility_bills/tests/utility_bills_test.rb @@ -1,50 +1,15 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2018, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* - -require 'openstudio' -require 'openstudio/measure/ShowRunnerOutput' +# dependencies require 'fileutils' -require 'open3' - -require_relative '../measure.rb' require 'minitest/autorun' +require 'open3' +require 'openstudio' +require 'openstudio/measure/ShowRunnerOutput' +require_relative '../measure' -class UtilityBills_Test < Minitest::Test +class UtilityBillsTest < Minitest::Test def epw_path_default # make sure we have a weather data location epw = nil @@ -119,20 +84,19 @@ def run_test_simulation(test_name, epw_path) # create test files if they do not exist when the test first runs def setup_test(test_name, idf_output_requests, census_tract, state_abbrev, start_year, model_in_path, epw_path = epw_path_default) - if !File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) + assert(File.exist?(run_dir(test_name))) - if File.exist?(report_path(test_name)) - FileUtils.rm(report_path(test_name)) - end + + FileUtils.rm_f(report_path(test_name)) + assert(File.exist?(model_in_path)) - if File.exist?(model_out_path(test_name)) - FileUtils.rm(model_out_path(test_name)) - end + + FileUtils.rm_f(model_out_path(test_name)) + # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) @@ -151,9 +115,9 @@ def setup_test(test_name, idf_output_requests, census_tract, state_abbrev, start model.save(model_out_path(test_name), true) if ENV['OPENSTUDIO_TEST_NO_CACHE_SQLFILE'] - if File.exist?(sql_path(test_name)) - FileUtils.rm_f(sql_path(test_name)) - end + + FileUtils.rm_f(sql_path(test_name)) + end run_test_simulation(test_name, epw_path) @@ -165,7 +129,7 @@ def test_sm_hotel_no_utility_for_tract model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" # This census tract has no EIA utility ID assigned census_tract = 'G0100470957000' - state_abbreviation ='AL' + state_abbreviation = 'AL' year = 1999 # create an instance of the measure @@ -180,7 +144,7 @@ def test_sm_hotel_no_utility_for_tract # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT epw_path = epw_path_default @@ -215,12 +179,12 @@ def test_sm_hotel_no_utility_for_tract name_val = JSON.parse(value.string) rvs[name_val['name']] = name_val['value'] end - assert(rvs.has_key?('electricity_rate_1_name')) - assert(rvs.has_key?('electricity_rate_1_bill_dollars')) - assert(rvs.has_key?('electricity_bill_mean_dollars')) + assert(rvs.key?('electricity_rate_1_name')) + assert(rvs.key?('electricity_rate_1_bill_dollars')) + assert(rvs.key?('electricity_bill_mean_dollars')) # Check that the statistics make sense (all should match b/c using the EIA rate only) - assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_mean_dollars']) + assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_mean_dollars']) assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_median_dollars']) assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_max_dollars']) assert_equal(rvs['electricity_bill_number_of_rates'], 1) @@ -240,7 +204,7 @@ def test_sm_hotel_no_urdb_rates # This census tract is assigned to EIA utility 17683, # which has no valid rates in URDB census_tract = 'G2800630950100' - state_abbreviation ='MS' + state_abbreviation = 'MS' year = 1999 # create an instance of the measure @@ -255,7 +219,7 @@ def test_sm_hotel_no_urdb_rates # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT epw_path = epw_path_default @@ -290,12 +254,12 @@ def test_sm_hotel_no_urdb_rates name_val = JSON.parse(value.string) rvs[name_val['name']] = name_val['value'] end - assert(rvs.has_key?('electricity_rate_1_name')) - assert(rvs.has_key?('electricity_rate_1_bill_dollars')) - assert(rvs.has_key?('electricity_bill_mean_dollars')) + assert(rvs.key?('electricity_rate_1_name')) + assert(rvs.key?('electricity_rate_1_bill_dollars')) + assert(rvs.key?('electricity_bill_mean_dollars')) # Check that the statistics make sense (all should match b/c using the EIA rate only) - assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_mean_dollars']) + assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_mean_dollars']) assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_median_dollars']) assert_equal(rvs['electricity_bill_min_dollars'], rvs['electricity_bill_max_dollars']) assert_equal(rvs['electricity_bill_number_of_rates'], 1) @@ -315,7 +279,7 @@ def test_sm_hotel_many_urdb_rates # Set census tract: G0600010400200 which matches # utility ID: 14328 (Pacific Gas & Electric Co.) with lots of rates census_tract = 'G0600010400200' - state_abbreviation ='CA' + state_abbreviation = 'CA' year = 1999 # create an instance of the measure @@ -330,7 +294,7 @@ def test_sm_hotel_many_urdb_rates # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT epw_path = epw_path_default @@ -365,9 +329,9 @@ def test_sm_hotel_many_urdb_rates name_val = JSON.parse(value.string) rvs[name_val['name']] = name_val['value'] end - assert(rvs.has_key?('electricity_rate_1_name')) - assert(rvs.has_key?('electricity_rate_1_bill_dollars')) - assert(rvs.has_key?('electricity_bill_mean_dollars')) + assert(rvs.key?('electricity_rate_1_name')) + assert(rvs.key?('electricity_rate_1_bill_dollars')) + assert(rvs.key?('electricity_bill_mean_dollars')) # Check that the statistics make sense assert(rvs['electricity_bill_min_dollars'] < rvs['electricity_bill_mean_dollars']) @@ -394,7 +358,7 @@ def test_sm_hotel_many_urdb_rates_monday_start # Set census tract: G0600010400200 which matches # utility ID: 14328 (Pacific Gas & Electric Co.) with lots of rates census_tract = 'G0600010400200' - state_abbreviation ='CA' + state_abbreviation = 'CA' year = 2018 # create an instance of the measure @@ -409,7 +373,7 @@ def test_sm_hotel_many_urdb_rates_monday_start # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT epw_path = epw_path_default @@ -444,9 +408,9 @@ def test_sm_hotel_many_urdb_rates_monday_start name_val = JSON.parse(value.string) rvs[name_val['name']] = name_val['value'] end - assert(rvs.has_key?('electricity_rate_1_name')) - assert(rvs.has_key?('electricity_rate_1_bill_dollars')) - assert(rvs.has_key?('electricity_bill_mean_dollars')) + assert(rvs.key?('electricity_rate_1_name')) + assert(rvs.key?('electricity_rate_1_bill_dollars')) + assert(rvs.key?('electricity_bill_mean_dollars')) # Check that the statistics make sense assert(rvs['electricity_bill_min_dollars'] < rvs['electricity_bill_mean_dollars']) @@ -475,7 +439,7 @@ def test_sm_hotel_pysam_warn_rates # Set census tract: G0900110693300 which matches # utility ID: 2089 (Bozrah Light & Power Company) with lots of rates census_tract = 'G0900110693300' - state_abbreviation ='CT' + state_abbreviation = 'CT' year = 1999 # create an instance of the measure @@ -490,7 +454,7 @@ def test_sm_hotel_pysam_warn_rates # get the energyplus output requests, this will be done automatically by OS App and PAT idf_output_requests = measure.energyPlusOutputRequests(OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new), argument_map) - assert(idf_output_requests.size > 0, 'Expected IDF output requests, but none were found') + assert(!idf_output_requests.empty?, 'Expected IDF output requests, but none were found') # mimic the process of running this measure in OS App or PAT epw_path = epw_path_default @@ -525,9 +489,9 @@ def test_sm_hotel_pysam_warn_rates name_val = JSON.parse(value.string) rvs[name_val['name']] = name_val['value'] end - assert(rvs.has_key?('electricity_rate_1_name')) - assert(rvs.has_key?('electricity_rate_1_bill_dollars')) - assert(rvs.has_key?('electricity_bill_mean_dollars')) + assert(rvs.key?('electricity_rate_1_name')) + assert(rvs.key?('electricity_rate_1_bill_dollars')) + assert(rvs.key?('electricity_bill_mean_dollars')) # Check that the statistics make sense assert(rvs['electricity_bill_min_dollars'] < rvs['electricity_bill_mean_dollars']) @@ -555,7 +519,7 @@ def dont_test_all_rates_through_pysam calc_elec_bill_path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'resources', 'calc_elec_bill.py')) # Find all the electric rates - all_elec_rates = Dir.glob(File.join(File.dirname(__FILE__), '..', "resources/elec_rates/**/*.json")) + all_elec_rates = Dir.glob(File.join(File.dirname(__FILE__), '..', 'resources/elec_rates/**/*.json')) rates_per_min = 5.0 * 60 mins_est = all_elec_rates.size / rates_per_min puts("There are #{all_elec_rates.size} electric rates to check, test will take ~#{mins_est} minutes") @@ -577,7 +541,7 @@ def dont_test_all_rates_through_pysam msg = "#{i} rate_path: #{rate_path}, stdout: #{stdout_str}, stderr: #{stderr_str}" begin pysam_out = JSON.parse(stdout_str) - rescue + rescue StandardError puts(msg) end assert(!pysam_out.nil?, msg) @@ -597,6 +561,5 @@ def dont_test_all_rates_through_pysam broken_rate_paths.each do |brp| puts brp end - end end diff --git a/test/reporting_measure_tests.txt b/test/reporting_measure_tests.txt index 5823776d8..a1b1f8a1e 100644 --- a/test/reporting_measure_tests.txt +++ b/test/reporting_measure_tests.txt @@ -2,4 +2,5 @@ measures/comstock_sensitivity_reports/tests/comstock_sensitivity_reports_test.rb measures/emissions_reporting/tests/emissions_reporting_test.rb measures/qoi_report/tests/qoi_report_test.rb measures/simulation_settings_check/tests/simulation_settings_check_test.rb -measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb \ No newline at end of file +measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb +measures/utility_bills/tests/utility_bills_test.rb \ No newline at end of file From 8e58a52c800aa799125abb0106828c1414038f74 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 17:15:23 -0700 Subject: [PATCH 16/23] guarantee change back to starting directory --- measures/emissions_reporting/measure.xml | 6 +- .../tests/emissions_reporting_test.rb | 128 +++++++++--------- 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/measures/emissions_reporting/measure.xml b/measures/emissions_reporting/measure.xml index 913942426..62861555b 100644 --- a/measures/emissions_reporting/measure.xml +++ b/measures/emissions_reporting/measure.xml @@ -3,8 +3,8 @@ 3.1 emissions_reporting acdba906-e08f-4c88-9aef-2f0b0cfbb9d1 - 0d9284e7-899d-4351-91c8-b1d1d162fa7d - 2024-11-07T22:17:56Z + cc5c8bd0-55f9-4e05-8b43-c7a6fb8b32d3 + 2024-11-08T00:14:34Z C46EF23F EmissionsReporting Emissions Reporting @@ -3045,7 +3045,7 @@ emissions_reporting_test.rb rb test - 652F7BD0 + BF2EECF7 office.osm diff --git a/measures/emissions_reporting/tests/emissions_reporting_test.rb b/measures/emissions_reporting/tests/emissions_reporting_test.rb index b47b99843..5d2b5c477 100644 --- a/measures/emissions_reporting/tests/emissions_reporting_test.rb +++ b/measures/emissions_reporting/tests/emissions_reporting_test.rb @@ -128,70 +128,72 @@ def run_test(test_name, osm_path, epw_path, argument_map) # change into run directory for tests start_dir = Dir.pwd - Dir.chdir run_dir(test_name) - - # create an instance of the measure - measure = EmissionsReporting.new - - # create an instance of a runner - runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) - - # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(osm_path) - assert(model.is_initialized) - model = model.get - runner.setLastOpenStudioModel(model) - - # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - - # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) - workspace.addObjects(idf_output_requests) - rt = OpenStudio::EnergyPlus::ReverseTranslator.new - request_model = rt.translateWorkspace(workspace) - - # load the test model and add output requests - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - request_model.objects.each { |o| model.addObject(o) } - # model.addObjects(request_model.objects) - model.save(model_output_path(test_name), true) - - # set model weather file - assert(File.exist?(epw_path)) - epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) - OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) - assert(model.weatherFile.is_initialized) - - # run the simulation if necessary - unless File.exist?(sql_path(test_name)) - puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." - - std = Standard.build('90.1-2013') - std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + begin + Dir.chdir run_dir(test_name) + + # create an instance of the measure + measure = EmissionsReporting.new + + # create an instance of a runner + runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) + + # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(osm_path) + assert(model.is_initialized) + model = model.get + runner.setLastOpenStudioModel(model) + + # get the energyplus output requests, this will be done automatically by OS App and PAT + idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) + + # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf + workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) + workspace.addObjects(idf_output_requests) + rt = OpenStudio::EnergyPlus::ReverseTranslator.new + request_model = rt.translateWorkspace(workspace) + + # load the test model and add output requests + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(OpenStudio::Path.new(osm_path)) + assert(!model.empty?) + model = model.get + request_model.objects.each { |o| model.addObject(o) } + # model.addObjects(request_model.objects) + model.save(model_output_path(test_name), true) + + # set model weather file + assert(File.exist?(epw_path)) + epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) + OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) + assert(model.weatherFile.is_initialized) + + # run the simulation if necessary + unless File.exist?(sql_path(test_name)) + puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." + + std = Standard.build('90.1-2013') + std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + end + assert(File.exist?(model_output_path(test_name))) + assert(File.exist?(sql_path(test_name))) + + # set up runner, this will happen automatically when measure is run in PAT or OpenStudio + runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) + runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) + runner.setLastEpwFilePath(epw_path) + runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) + + # run the measure + puts "\nRUNNING MEASURE RUN FOR #{test_name}..." + measure.run(runner, argument_map) + result = runner.result + show_output(result) + assert_equal('Success', result.value.valueName) + ensure + # change back directory + Dir.chdir(start_dir) end - assert(File.exist?(model_output_path(test_name))) - assert(File.exist?(sql_path(test_name))) - - # set up runner, this will happen automatically when measure is run in PAT or OpenStudio - runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) - runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) - runner.setLastEpwFilePath(epw_path) - runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) - - # run the measure - puts "\nRUNNING MEASURE RUN FOR #{test_name}..." - measure.run(runner, argument_map) - result = runner.result - show_output(result) - assert_equal('Success', result.value.valueName) - - # change back directory - Dir.chdir(start_dir) result end From 0fb80744283dc5ec72a3aaaa87f28f276cc72474 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Thu, 7 Nov 2024 17:15:42 -0700 Subject: [PATCH 17/23] use __dir__ for file dir --- measures/TimeseriesCSVExport/measure.xml | 6 +++--- .../tests/timeseries_csv_export_test.rb | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/measures/TimeseriesCSVExport/measure.xml b/measures/TimeseriesCSVExport/measure.xml index b14356c4a..959c51f22 100644 --- a/measures/TimeseriesCSVExport/measure.xml +++ b/measures/TimeseriesCSVExport/measure.xml @@ -3,8 +3,8 @@ 3.1 timeseries_csv_export 2a3442c1-944d-4e91-9e11-11e0cf368c64 - 842f393a-5bee-4e17-a32d-c6aa33951a4b - 2024-10-29T23:08:25Z + d76cda01-32f9-4465-a17e-80b7b7418acd + 2024-11-08T00:14:52Z 15BF4E57 TimeseriesCSVExport Timeseries CSV Export @@ -178,7 +178,7 @@ timeseries_csv_export_test.rb rb test - 2D275644 + EF59D34E diff --git a/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb b/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb index 9404614d4..019e3e540 100644 --- a/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb +++ b/measures/TimeseriesCSVExport/tests/timeseries_csv_export_test.rb @@ -20,19 +20,19 @@ def openstudio_2? end def model_in_path_default - "#{File.dirname(__FILE__)}/ExampleModel.osm" + "#{__dir__}/ExampleModel.osm" end def epw_path_default # make sure we have a weather data location - epw = OpenStudio::Path.new("#{File.dirname(__FILE__)}/USA_CO_Golden-NREL.724666_TMY3.epw") + epw = OpenStudio::Path.new("#{__dir__}/USA_CO_Golden-NREL.724666_TMY3.epw") assert(File.exist?(epw.to_s)) epw.to_s end def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - "#{File.dirname(__FILE__)}/output/#{test_name}/run" + "#{__dir__}/output/#{test_name}/run" end def model_out_path(test_name) @@ -172,7 +172,7 @@ def section_errors(runner) def test_sm_hotel test_name = 'sm_hotel' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # create an instance of the measure measure = TimeseriesCSVExport.new @@ -247,7 +247,7 @@ def test_sm_hotel def test_restaurant test_name = 'restaurant' - model_in_path = "#{File.dirname(__FILE__)}/FullServiceRestaurant.osm" + model_in_path = "#{__dir__}/FullServiceRestaurant.osm" # create an instance of the measure measure = TimeseriesCSVExport.new @@ -371,7 +371,7 @@ def test_restaurant def test_retail test_name = 'retail' - model_in_path = "#{File.dirname(__FILE__)}/Retail.osm" + model_in_path = "#{__dir__}/Retail.osm" # create an instance of the measure measure = TimeseriesCSVExport.new From f218edfea855330233cb3eb0e045ee2c3d6c9e97 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Fri, 8 Nov 2024 17:40:59 -0700 Subject: [PATCH 18/23] add oudoor temp output variable Add "Site Outdoor Air Drybulb Temperature,Hourly" to emissions reporting, which is needed for seasonal checks. The tests don't work in isolation. Also address some rubocop warnings. --- measures/emissions_reporting/measure.rb | 46 +++++++++++++----------- measures/emissions_reporting/measure.xml | 6 ++-- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/measures/emissions_reporting/measure.rb b/measures/emissions_reporting/measure.rb index 21056a1ba..041c44675 100644 --- a/measures/emissions_reporting/measure.rb +++ b/measures/emissions_reporting/measure.rb @@ -279,13 +279,17 @@ def arguments(model = nil) def energyPlusOutputRequests(runner, user_arguments) super(runner, user_arguments) - result = OpenStudio::IdfObjectVector.new + # use the built-in error checking if !runner.validateUserArguments(arguments, user_arguments) return result end + # make a vector of output requests + result = OpenStudio::IdfObjectVector.new + result << OpenStudio::IdfObject.load('Output:Variable,*,Site Outdoor Air Drybulb Temperature,Hourly;').get + # Get model model = runner.lastOpenStudioModel if model.empty? @@ -371,17 +375,17 @@ def run(runner, user_arguments) end model = model.get - sqlFile = runner.lastEnergyPlusSqlFile - if sqlFile.empty? + sql_file = runner.lastEnergyPlusSqlFile + if sql_file.empty? runner.registerError('Cannot find last sql file.') return false end - sqlFile = sqlFile.get - model.setSqlFile(sqlFile) + sql_file = sql_file.get + model.setSqlFile(sql_file) ann_env_pd = nil - sqlFile.availableEnvPeriods.each do |env_pd| - env_type = sqlFile.environmentType(env_pd) + sql_file.availableEnvPeriods.each do |env_pd| + env_type = sql_file.environmentType(env_pd) if env_type.is_initialized && (env_type.get == (OpenStudio::EnvironmentType.new('WeatherRunPeriod'))) ann_env_pd = env_pd end @@ -463,21 +467,21 @@ def run(runner, user_arguments) end env_period_ix_query = "SELECT EnvironmentPeriodIndex FROM EnvironmentPeriods WHERE EnvironmentName='#{ann_env_pd}'" - env_period_ix = sqlFile.execAndReturnFirstInt(env_period_ix_query).get + env_period_ix = sql_file.execAndReturnFirstInt(env_period_ix_query).get # get hourly temperature values temperature_query = "SELECT VariableValue FROM ReportVariableData WHERE ReportVariableDataDictionaryIndex IN (SELECT ReportVariableDataDictionaryIndex FROM ReportVariableDataDictionary WHERE VariableType='Avg' AND VariableName IN ('Site Outdoor Air Drybulb Temperature') AND ReportingFrequency='Hourly' AND VariableUnits='C') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - temperatures = sqlFile.execAndReturnVectorOfDouble(temperature_query).get + temperatures = sql_file.execAndReturnVectorOfDouble(temperature_query).get if temperatures.empty? runner.registerError('Unable to get hourly temperature from the model. Cannot calculate seasonal emissions.') return false end - hourly_temperature_F = temperatures.map do |val| + hourly_temperature_f = temperatures.map do |val| OpenStudio.convert(val, 'C', 'F').get end # get hourly electricity values electricity_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='Electricity:Facility' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - electricity_values = sqlFile.execAndReturnVectorOfDouble(electricity_query).get + electricity_values = sql_file.execAndReturnVectorOfDouble(electricity_query).get if electricity_values.empty? runner.registerError('Unable to get hourly timeseries facility electricity use from the model. Cannot calculate emissions.') return false @@ -490,7 +494,7 @@ def run(runner, user_arguments) enduses.push(['TotalHVAC', 'CoolingHVAC']).flatten.each do |enduse| electricity_enduse_results["#{enduse}_mwh"] = [] electricity_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:ELECTRICITY' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - electricity_enduse_values = sqlFile.execAndReturnVectorOfDouble(electricity_enduse_query).get + electricity_enduse_values = sql_file.execAndReturnVectorOfDouble(electricity_enduse_query).get if electricity_enduse_values.empty? runner.registerWarning("Unable to get hourly timeseries #{enduse} electricity use from the model. Cannot calculate results") electricity_enduse_results["#{enduse}_mwh"] << 0 @@ -502,7 +506,7 @@ def run(runner, user_arguments) annual_natural_gas_emissions_co2e_kg = 0 natural_gas_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='#{gas}:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" puts natural_gas_query - natural_gas_values = sqlFile.execAndReturnVectorOfDouble(natural_gas_query).get + natural_gas_values = sql_file.execAndReturnVectorOfDouble(natural_gas_query).get if natural_gas_values.empty? runner.registerWarning('Unable to get hourly timeseries facility natural gas use from the model, the model may not use gas. Cannot calculate emissions.') else @@ -514,7 +518,7 @@ def run(runner, user_arguments) # get run period fuel oil values annual_fuel_oil_emissions_co2e_kg = 0 fuel_oil_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='#{fuel_oil}:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - fuel_oil_values = sqlFile.execAndReturnVectorOfDouble(fuel_oil_query).get + fuel_oil_values = sql_file.execAndReturnVectorOfDouble(fuel_oil_query).get if fuel_oil_values.empty? runner.registerWarning('Unable to get hourly timeseries facility fuel oil use from the model, the model may not use fuel oil. Cannot calculate emissions.') else @@ -526,7 +530,7 @@ def run(runner, user_arguments) # get run period propane values annual_propane_emissions_co2e_kg = 0 propane_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND VariableName='Propane:Facility' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - propane_values = sqlFile.execAndReturnVectorOfDouble(propane_query).get + propane_values = sql_file.execAndReturnVectorOfDouble(propane_query).get if propane_values.empty? runner.registerWarning('Unable to get hourly timeseries facility propane use from the model, the model may not use propane. Cannot calculate emissions.') else @@ -541,7 +545,7 @@ def run(runner, user_arguments) # get run period natural gas end-use values gas_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:#{gas.upcase}' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - gas_enduse_values = sqlFile.execAndReturnVectorOfDouble(gas_enduse_query).get + gas_enduse_values = sql_file.execAndReturnVectorOfDouble(gas_enduse_query).get if gas_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} natural gas use from the model, the model may not use gas for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_gas_emissions_co2e_kg = 0 @@ -553,7 +557,7 @@ def run(runner, user_arguments) # get run period propane end-use values propane_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:PROPANE' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - propane_enduse_values = sqlFile.execAndReturnVectorOfDouble(propane_enduse_query).get + propane_enduse_values = sql_file.execAndReturnVectorOfDouble(propane_enduse_query).get if propane_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} propane from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_propane_emissions_co2e_kg = 0 @@ -565,7 +569,7 @@ def run(runner, user_arguments) # get run period fuel oil end-use values fuel_oil_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex FROM ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:#{fuel_oil.upcase}' AND ReportingFrequency='Run Period' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - fuel_oil_enduse_values = sqlFile.execAndReturnVectorOfDouble(fuel_oil_enduse_query).get + fuel_oil_enduse_values = sql_file.execAndReturnVectorOfDouble(fuel_oil_enduse_query).get if fuel_oil_enduse_values.empty? runner.registerWarning("Unable to find annual #{enduse} fuel oil from the model, the model may not use propane for this end-use. Cannot calculate end-use emissions for this fuel.") total_enduse_fuel_oil_emissions_co2e_kg = 0 @@ -609,7 +613,7 @@ def run(runner, user_arguments) if year == 2021 seasonal_daily_vals_egrid = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_mwh.each_slice(24).with_index do |mwhs, i| - temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] + temps = hourly_temperature_f[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season @@ -658,7 +662,7 @@ def run(runner, user_arguments) if year == 2021 seasonal_daily_vals_egrid = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_mwh.each_slice(24).with_index do |mwhs, i| - temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] + temps = hourly_temperature_f[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season @@ -746,7 +750,7 @@ def run(runner, user_arguments) if (scenario == 'LRMER_HighRECost_15') || (scenario == 'LRMER_LowRECost_15') || (scenario == 'LRMER_MidCase_15') seasonal_daily_vals = { 'winter' => [], 'summer' => [], 'shoulder' => [] } hourly_electricity_emissions_kg.each_slice(24).with_index do |co2es, i| - temps = hourly_temperature_F[(24 * i)...((24 * i) + 24)] + temps = hourly_temperature_f[(24 * i)...((24 * i) + 24)] avg_temp = temps.inject { |sum, el| sum + el }.to_f / temps.size seasons.each do |season, temperature_range| if (avg_temp > temperature_range[0]) && (avg_temp < temperature_range[1]) # day is in this season diff --git a/measures/emissions_reporting/measure.xml b/measures/emissions_reporting/measure.xml index 62861555b..5d3979bfd 100644 --- a/measures/emissions_reporting/measure.xml +++ b/measures/emissions_reporting/measure.xml @@ -3,8 +3,8 @@ 3.1 emissions_reporting acdba906-e08f-4c88-9aef-2f0b0cfbb9d1 - cc5c8bd0-55f9-4e05-8b43-c7a6fb8b32d3 - 2024-11-08T00:14:34Z + f10fe9d1-ce7d-45a1-bd37-92464b3ab493 + 2024-11-09T00:34:24Z C46EF23F EmissionsReporting Emissions Reporting @@ -489,7 +489,7 @@ measure.rb rb script - 633149BB + 2FFFF2DB cambium/AER_95DecarbBy2035_1/AZNMc.csv From 8698976915f4cf5f0700521531b2ef8b91033bd1 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Fri, 8 Nov 2024 18:02:53 -0700 Subject: [PATCH 19/23] rubocop edits --- measures/utility_bills/measure.xml | 8 ++++---- .../utility_bills/tests/utility_bills_test.rb | 20 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/measures/utility_bills/measure.xml b/measures/utility_bills/measure.xml index 278fa10b1..0f39bfd2c 100644 --- a/measures/utility_bills/measure.xml +++ b/measures/utility_bills/measure.xml @@ -3,8 +3,8 @@ 3.1 utility_bills 2a3442c1-944d-4e91-9e11-11e0cf368c64 - 4972c9d6-fc91-433e-baf7-707900da6178 - 2024-11-07T22:52:00Z + 84ec9d20-c405-4e5d-a963-ffb8af035ada + 2024-11-09T01:00:33Z 15BF4E57 UtilityBills Utility Bills @@ -33,7 +33,7 @@ measure.rb rb script - F0B5C3A2 + A2522B2D calc_elec_bill.py @@ -63849,7 +63849,7 @@ utility_bills_test.rb rb test - 19BD118C + 9E51273B diff --git a/measures/utility_bills/tests/utility_bills_test.rb b/measures/utility_bills/tests/utility_bills_test.rb index ea3c03c8d..dc0474626 100644 --- a/measures/utility_bills/tests/utility_bills_test.rb +++ b/measures/utility_bills/tests/utility_bills_test.rb @@ -13,14 +13,14 @@ class UtilityBillsTest < Minitest::Test def epw_path_default # make sure we have a weather data location epw = nil - epw = OpenStudio::Path.new("#{File.dirname(__FILE__)}/USA_CO_Golden-NREL.724666_TMY3.epw") + epw = OpenStudio::Path.new("#{__dir__}/USA_CO_Golden-NREL.724666_TMY3.epw") assert(File.exist?(epw.to_s)) return epw.to_s end def run_dir(test_name) # always generate test output in specially named 'output' directory so result files are not made part of the measure - "#{File.dirname(__FILE__)}/output/#{test_name}/run" + "#{__dir__}/output/#{test_name}/run" end def model_out_path(test_name) @@ -126,7 +126,7 @@ def setup_test(test_name, idf_output_requests, census_tract, state_abbrev, start # Test when the building is in a tract with no EIA utility ID assigned def test_sm_hotel_no_utility_for_tract test_name = 'sm_hotel_no_urdb_rates' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # This census tract has no EIA utility ID assigned census_tract = 'G0100470957000' state_abbreviation = 'AL' @@ -200,7 +200,7 @@ def test_sm_hotel_no_utility_for_tract # Test when the building is assigned a utility with no rates from URDB def test_sm_hotel_no_urdb_rates test_name = 'sm_hotel_no_urdb_rates' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # This census tract is assigned to EIA utility 17683, # which has no valid rates in URDB census_tract = 'G2800630950100' @@ -275,7 +275,7 @@ def test_sm_hotel_no_urdb_rates # Test when the building is assigned a utility with many rates from URDB def test_sm_hotel_many_urdb_rates test_name = 'sm_hotel_many_urdb_rates' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # Set census tract: G0600010400200 which matches # utility ID: 14328 (Pacific Gas & Electric Co.) with lots of rates census_tract = 'G0600010400200' @@ -354,7 +354,7 @@ def test_sm_hotel_many_urdb_rates # Test when the building is assigned a utility with many rates from URDB def test_sm_hotel_many_urdb_rates_monday_start test_name = 'sm_hotel_many_urdb_rates_monday_start' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # Set census tract: G0600010400200 which matches # utility ID: 14328 (Pacific Gas & Electric Co.) with lots of rates census_tract = 'G0600010400200' @@ -435,7 +435,7 @@ def test_sm_hotel_many_urdb_rates_monday_start # Test when the building is a utility with rates with PySAM warning def test_sm_hotel_pysam_warn_rates test_name = 'sm_hotel_pysam_warn_rates' - model_in_path = "#{File.dirname(__FILE__)}/1004_SmallHotel_a.osm" + model_in_path = "#{__dir__}/1004_SmallHotel_a.osm" # Set census tract: G0900110693300 which matches # utility ID: 2089 (Bozrah Light & Power Company) with lots of rates census_tract = 'G0900110693300' @@ -515,11 +515,11 @@ def test_sm_hotel_pysam_warn_rates # Test that all of the rate .json files can successfully be evaluated through PySAM def dont_test_all_rates_through_pysam - elec_csv_path = File.expand_path(File.join(File.dirname(__FILE__), 'test_electricity_hourly.csv')) - calc_elec_bill_path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'resources', 'calc_elec_bill.py')) + elec_csv_path = File.expand_path(File.join(__dir__, 'test_electricity_hourly.csv')) + calc_elec_bill_path = File.expand_path(File.join(__dir__, '..', 'resources', 'calc_elec_bill.py')) # Find all the electric rates - all_elec_rates = Dir.glob(File.join(File.dirname(__FILE__), '..', 'resources/elec_rates/**/*.json')) + all_elec_rates = Dir.glob(File.join(__dir__, '..', 'resources/elec_rates/**/*.json')) rates_per_min = 5.0 * 60 mins_est = all_elec_rates.size / rates_per_min puts("There are #{all_elec_rates.size} electric rates to check, test will take ~#{mins_est} minutes") From 7daeb58c1e512b776b2174c5ac939f7943f0fd30 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Fri, 8 Nov 2024 18:15:59 -0700 Subject: [PATCH 20/23] Update pull_request_template.md --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 65f98e439..7daaef34b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -30,7 +30,7 @@ Author pull request checklist: - [ ] Changes reflected in example `.yml` files - [ ] Changes reflected in `README.md` files - [ ] Added 'See ComStock License' language to first two lines of each code file - - [ ] Implements corresponding measure tests and indexing path in `test/measure_tests.txt` or/and `test/resource_measure_tests.txt` + - [ ] Implements corresponding measure tests and indexing path in `test/reporting_measure_tests.txt`, `test/workflow_measure_tests.txt`, or `test/upgrade_measure_tests.txt` - [ ] All new and existing tests pass the CI ### Review Checklist From c17eb2c7b9207386ef9c9845742aeb850996c2ae Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Tue, 12 Nov 2024 11:38:34 -0700 Subject: [PATCH 21/23] merge updates resolve conflicts and make rubocop edits for the utility_bills and emissions_reporting measures --- measures/emissions_reporting/measure.rb | 10 +- measures/emissions_reporting/measure.xml | 16 +- .../tests/EmissionsReporting_Test.rb | 304 +- .../tests/emissions_reporting_test.rb | 283 - measures/emissions_reporting/tests/office.osm | 31742 ---------------- .../emissions_reporting/tests/smalloffice.osm | 5 +- measures/utility_bills/measure.rb | 12 +- measures/utility_bills/measure.xml | 18 +- 8 files changed, 161 insertions(+), 32229 deletions(-) delete mode 100644 measures/emissions_reporting/tests/emissions_reporting_test.rb delete mode 100644 measures/emissions_reporting/tests/office.osm diff --git a/measures/emissions_reporting/measure.rb b/measures/emissions_reporting/measure.rb index bdb99fb87..bd163c0b7 100644 --- a/measures/emissions_reporting/measure.rb +++ b/measures/emissions_reporting/measure.rb @@ -284,8 +284,6 @@ def arguments(model = nil) def energyPlusOutputRequests(runner, user_arguments) super(runner, user_arguments) - - # use the built-in error checking if !runner.validateUserArguments(arguments, user_arguments) return result @@ -293,7 +291,6 @@ def energyPlusOutputRequests(runner, user_arguments) # make a vector of output requests result = OpenStudio::IdfObjectVector.new - result << OpenStudio::IdfObject.load('Output:Variable,*,Site Outdoor Air Drybulb Temperature,Hourly;').get # Get model model = runner.lastOpenStudioModel @@ -303,6 +300,9 @@ def energyPlusOutputRequests(runner, user_arguments) end model = model.get + # add outdoor drybulb temperature request + result << OpenStudio::IdfObject.load('Output:Variable,*,Site Outdoor Air Drybulb Temperature,Hourly;').get + resources = resources(model) resources.each do |resource| # only request timeseries for electricity @@ -488,14 +488,14 @@ def run(runner, user_arguments) return false end - hourly_electricity_mwh = electricity_values.map{ |val| val * j_to_mwh } + hourly_electricity_mwh = electricity_values.map { |val| val * j_to_mwh } # get end-use electricity values electricity_enduse_results = {} enduses.push(['TotalHVAC']).flatten.each do |enduse| electricity_enduse_results["#{enduse}_mwh"] = [] electricity_enduse_query = "SELECT VariableValue FROM ReportMeterData WHERE ReportMeterDataDictionaryIndex IN (SELECT ReportMeterDataDictionaryIndex from ReportMeterDataDictionary WHERE VariableType='Sum' AND upper(VariableName)='#{enduse.upcase}:ELECTRICITY' AND ReportingFrequency='Hourly' AND VariableUnits='J') AND TimeIndex IN (SELECT TimeIndex FROM Time WHERE EnvironmentPeriodIndex='#{env_period_ix}')" - electricity_enduse_values = sqlFile.execAndReturnVectorOfDouble(electricity_enduse_query).get.to_a + electricity_enduse_values = sql_file.execAndReturnVectorOfDouble(electricity_enduse_query).get.to_a if electricity_enduse_values.empty? runner.registerWarning("Unable to get hourly timeseries #{enduse} electricity use from the model. Cannot calculate results") electricity_enduse_results["#{enduse}_mwh"] << 0 diff --git a/measures/emissions_reporting/measure.xml b/measures/emissions_reporting/measure.xml index bed61289d..9065a9ab4 100644 --- a/measures/emissions_reporting/measure.xml +++ b/measures/emissions_reporting/measure.xml @@ -3,8 +3,8 @@ 3.1 emissions_reporting acdba906-e08f-4c88-9aef-2f0b0cfbb9d1 - 9e9bc9bb-88ce-420e-864f-77cbdaf1d4b6 - 2024-10-14T14:42:11Z + ac0521c5-cbfe-4b98-9575-ca95768b109a + 2024-11-12T18:35:04Z C46EF23F EmissionsReporting Emissions Reporting @@ -489,7 +489,7 @@ measure.rb rb script - F4929A45 + 8863F753 cambium/AER_95DecarbBy2035_1/AZNMc.csv @@ -3039,7 +3039,7 @@ EmissionsReporting_Test.rb rb test - F8D3563F + B7F240AB FortCollins2016.epw @@ -3047,17 +3047,11 @@ test 25EF7C9B - - office.osm - osm - test - 122E4E19 - smalloffice.osm osm test - 40A4F1D3 + FF9261AA diff --git a/measures/emissions_reporting/tests/EmissionsReporting_Test.rb b/measures/emissions_reporting/tests/EmissionsReporting_Test.rb index c19349119..09c1cd684 100644 --- a/measures/emissions_reporting/tests/EmissionsReporting_Test.rb +++ b/measures/emissions_reporting/tests/EmissionsReporting_Test.rb @@ -1,54 +1,40 @@ -# ComStockā„¢, Copyright (c) 2023 Alliance for Sustainable Energy, LLC. All rights reserved. +# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. # See top level LICENSE.txt file for license terms. -# ******************************************************************************* -# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. -# All rights reserved. -# 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 any contributors -# may be used to endorse or promote products derived from this software without -# specific prior written permission from the respective party. -# -# (4) Other than as required in clauses (1) and (2), distributions in any form -# of modifications or other derivative works may not use the "OpenStudio" -# trademark, "OS", "os", or any other confusingly similar designation without -# specific prior written permission from Alliance for Sustainable Energy, LLC. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY 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(S), ANY CONTRIBUTORS, THE -# UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF -# THEIR EMPLOYEES, 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. -# ******************************************************************************* +# dependencies +require 'csv' +require 'fileutils' +require 'minitest/autorun' require 'openstudio' require 'openstudio/measure/ShowRunnerOutput' -require 'minitest/autorun' -require_relative '../measure.rb' -require 'fileutils' require 'openstudio-standards' -require_relative '../../../test/helpers/minitest_helper' -require 'csv' +require_relative '../measure' + +class EmissionsReportingTest < Minitest::Test + def run_dir(test_name) + # always generate test output in specially named 'output' directory so result files are not made part of the measure + return "#{__dir__}/output/#{test_name}" + end + + def model_output_path(test_name) + return "#{run_dir(test_name)}/out.osm" + end + + def sql_path(test_name) + return "#{run_dir(test_name)}/run/eplusout.sql" + end + + def workspace_path(test_name) + "#{run_dir(test_name)}/run/in.idf" + end + + def report_path(test_name) + return "#{run_dir(test_name)}/reports/eplustbl.html" + end -class EmissionsReporting_Test < Minitest::Test def test_number_of_arguments_and_argument_names # this test ensures that the current test is matched to the measure inputs - test_name = "test_number_of_arguments_and_argument_names" - puts "\n######\nTEST:#{test_name}\n######\n" + puts "\n######\nTEST:#{__method__}\n######\n" # create an instance of the measure measure = EmissionsReporting.new @@ -64,31 +50,10 @@ def test_number_of_arguments_and_argument_names assert_equal('emissions_scenario', arguments[2].name) end - def run_dir(test_name) - # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{File.dirname(__FILE__)}/output/#{test_name}" - end - - def model_output_path(test_name) - return "#{run_dir(test_name)}/#{test_name}.osm" - end - - def workspace_path(test_name) - return "#{run_dir(test_name)}/run/in.idf" - end - - def sql_path(test_name) - return "#{run_dir(test_name)}/run/eplusout.sql" - end - - def report_path(test_name) - return "#{run_dir(test_name)}/reports/eplustbl.html" - end - def print_step_values(result_h) - CSV.open(File.join(run_dir('test_all_scenarios'),'step_vals.csv'), "w") do |csv| - result_h["step_values"].each do |h| - csv << [h["name"]] + CSV.open(File.join(run_dir('test_all_scenarios'), 'step_vals.csv'), 'w') do |csv| + result_h['step_values'].each do |h| + csv << [h['name']] end end end @@ -96,36 +61,36 @@ def print_step_values(result_h) # process output names and field descriptions for comstock_column_definitions.csv def print_column_definitions(result_h, test_name) regex = /annual_?(.*)_(electricity|natural_gas|fuel_oil|propane)_ghg_emissions_?(.*)_kg/ - result = "" + result = '' result_h['step_values'].each do |h| result_string = "\nresults.csv,emissions_reporting." - value_name = h["name"] + value_name = h['name'] # make new col name result_string << "#{value_name},out.emissions" captures = value_name.scan(regex).flatten next if captures.empty? + # fuel type fuel_type = captures[1] result_string << ".#{fuel_type}" unless fuel_type.empty? # end use end_use = captures[0] if end_use.include?('hvac') - result_string << ".enduse_group.hvac" + result_string << '.enduse_group.hvac' else result_string << ".#{end_use}" unless end_use.empty? end # scenario scenario = captures[2] - case - when scenario.include?('egrid') + if scenario.include?('egrid') result_string << ".#{scenario}" - field_desc_string = "#{scenario.gsub('_',' ').gsub('egrid','eGRID')} emissions intensity values" - when scenario.include?('aer') + field_desc_string = "#{scenario.gsub('_', ' ').gsub('egrid', 'eGRID')} emissions intensity values" + elsif scenario.include?('aer') result_string << ".#{scenario}_from_2023" - field_desc_string = "Cambium 2022 #{scenario.gsub('_',' ').gsub('aer', 'Average Emissions Rate').gsub('re','renewable energy').gsub('95','95%')} non-levelized emissions intensity values from 2023" - when scenario.include?('lrmer') - field_desc_string = "Cambium 2022 #{scenario.gsub('_',' ').gsub('lrmer', 'Long-Range Marginal Emissions Rate').gsub('re','renewable energy').gsub('95','95%').gsub(/\s\d{2}$/,'').gsub(/\s\d{2}\s\d{4}\sstart/,'')} emissions intensity values " + field_desc_string = "Cambium 2022 #{scenario.gsub('_', ' ').gsub('aer', 'Average Emissions Rate').gsub('re', 'renewable energy').gsub('95', '95%')} non-levelized emissions intensity values from 2023" + elsif scenario.include?('lrmer') + field_desc_string = "Cambium 2022 #{scenario.gsub('_', ' ').gsub('lrmer', 'Long-Range Marginal Emissions Rate').gsub('re', 'renewable energy').gsub('95', '95%').gsub(/\s\d{2}$/, '').gsub(/\s\d{2}\s\d{4}\sstart/, '')} emissions intensity values " if scenario.match?(/_\d{2}_\d{4}_/) result_string << ".#{scenario}" matches = scenario.scan(/_(\d{2})_(\d{4})_start/).flatten @@ -138,25 +103,25 @@ def print_column_definitions(result_h, test_name) end # full_metadata, basic_metadata, data_type, original_units, new_units - result_string << ",TRUE,FALSE,float,co2e_kg,co2e_kg" + result_string << ',TRUE,FALSE,float,co2e_kg,co2e_kg' # if end_use.empty? # # include total emissions in basic metadata - # result_string << ",TRUE,TRUE,float,co2e_kg,co2e_kg" + # result_string << ',TRUE,TRUE,float,co2e_kg,co2e_kg' # else # # only include end-use emissions in full metadata - # result_string << ",TRUE,FALSE,float,co2e_kg,co2e_kg" + # result_string << ',TRUE,FALSE,float,co2e_kg,co2e_kg' # end # process fuel string if end_use.empty? - fuel_str = "total on-site #{fuel_type.gsub("_"," ")}" + fuel_str = "total on-site #{fuel_type.gsub('_', ' ')}" else - fuel_str = "#{fuel_type.gsub("_"," ")}" + fuel_str = fuel_type.gsub('_', ' ').to_s end # end-use string - end_use_str = "on-site #{end_use.gsub('_',' ')}" + end_use_str = "on-site #{end_use.gsub('_', ' ')}" # construct field_description if end_use.empty? && scenario.empty? @@ -175,7 +140,7 @@ def print_column_definitions(result_h, test_name) result << result_string end - CSV.open(File.join(run_dir(test_name),'emissions_columns.csv'), "w") do |csv| + CSV.open(File.join(run_dir(test_name), 'emissions_columns.csv'), 'w') do |csv| result.split("\n").each do |row| csv << row.split(',') end @@ -184,86 +149,85 @@ def print_column_definitions(result_h, test_name) def run_test(test_name, osm_path, epw_path, argument_map) # create run directory if it does not exist - unless File.exist?(run_dir(test_name)) - FileUtils.mkdir_p(run_dir(test_name)) - end + FileUtils.mkdir_p(run_dir(test_name)) assert(File.exist?(run_dir(test_name))) # change into run directory for tests start_dir = Dir.pwd - Dir.chdir run_dir(test_name) - - # create an instance of the measure - measure = EmissionsReporting.new - - # create an instance of a runner - runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) - - # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(osm_path) - assert(model.is_initialized) - model = model.get - runner.setLastOpenStudioModel(model) - - # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - - # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) - workspace.addObjects(idf_output_requests) - rt = OpenStudio::EnergyPlus::ReverseTranslator.new - request_model = rt.translateWorkspace(workspace) - - # load the test model and add output requests - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - request_model.objects.each{|o| model.addObject(o)} - # model.addObjects(request_model.objects) - model.save(model_output_path(test_name), true) - - # set model weather file - assert(File.exist?(epw_path)) - epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) - OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) - assert(model.weatherFile.is_initialized) - - # run the simulation if necessary - unless File.exist?(sql_path(test_name)) - puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." - - std = Standard.build('90.1-2013') - std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + begin + Dir.chdir run_dir(test_name) + + # create an instance of the measure + measure = EmissionsReporting.new + + # create an instance of a runner + runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) + + # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(osm_path) + assert(model.is_initialized) + model = model.get + runner.setLastOpenStudioModel(model) + + # get the energyplus output requests, this will be done automatically by OS App and PAT + idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) + + # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf + workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) + workspace.addObjects(idf_output_requests) + rt = OpenStudio::EnergyPlus::ReverseTranslator.new + request_model = rt.translateWorkspace(workspace) + + # load the test model and add output requests + translator = OpenStudio::OSVersion::VersionTranslator.new + model = translator.loadModel(OpenStudio::Path.new(osm_path)) + assert(!model.empty?) + model = model.get + request_model.objects.each { |o| model.addObject(o) } + # model.addObjects(request_model.objects) + model.save(model_output_path(test_name), true) + + # set model weather file + assert(File.exist?(epw_path)) + epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) + OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) + assert(model.weatherFile.is_initialized) + + # run the simulation if necessary + unless File.exist?(sql_path(test_name)) + puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." + + std = Standard.build('90.1-2013') + std.model_run_simulation_and_log_errors(model, run_dir(test_name)) + end + assert(File.exist?(model_output_path(test_name))) + assert(File.exist?(sql_path(test_name))) + + # set up runner, this will happen automatically when measure is run in PAT or OpenStudio + runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) + runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) + runner.setLastEpwFilePath(epw_path) + runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) + + # run the measure + puts "\nRUNNING MEASURE RUN FOR #{test_name}..." + measure.run(runner, argument_map) + result = runner.result + show_output(result) + assert_equal('Success', result.value.valueName) + ensure + # change back directory + Dir.chdir(start_dir) end - assert(File.exist?(model_output_path(test_name))) - assert(File.exist?(sql_path(test_name))) - - # set up runner, this will happen automatically when measure is run in PAT or OpenStudio - runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) - runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) - runner.setLastEpwFilePath(epw_path) - runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) - - # run the measure - puts "\nRUNNING MEASURE RUN FOR #{test_name}..." - measure.run(runner, argument_map) - result = runner.result - show_output(result) - assert_equal('Success', result.value.valueName) - - # change back directory - Dir.chdir(start_dir) + return result end def test_timeseries_lrmer - test_name = 'test_timeseries_lrmer' - - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/office.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/smalloffice.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -281,15 +245,13 @@ def test_timeseries_lrmer argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - assert(run_test(test_name, osm_path, epw_path, argument_map)) + assert(run_test(__method__, osm_path, epw_path, argument_map)) end def test_all_scenarios - test_name = 'test_all_scenarios' - - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/smalloffice.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/smalloffice.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -307,28 +269,26 @@ def test_all_scenarios argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - result = run_test(test_name, osm_path, epw_path, argument_map) + result = run_test(__method__, osm_path, epw_path, argument_map) assert(result) require 'json' result_h = JSON.parse(result.to_s) # test that runperiod totals same as summed hourly - assert_in_delta(3384.63, result_h['step_values'].select{|v| v["name"] == "annual_natural_gas_ghg_emissions_kg"}.first["value"], 0.1) + assert_in_delta(3384.63, result_h['step_values'].select { |v| v['name'] == 'annual_natural_gas_ghg_emissions_kg' }.first['value'], 0.1) # test that all electricity emissions are > 0 - result_h['step_values'].select{ |v| v["name"].include?('cooling_electricity')}.each do |result| - assert(result['value'] > 0, "Result for #{result['name']} is zero") + result_h['step_values'].select { |v| v['name'].include?('cooling_electricity') }.each do |step_result| + assert(step_result['value'] > 0, "Result for #{step_result['name']} is zero") end print_step_values(result_h) - print_column_definitions(result_h, test_name) + print_column_definitions(result_h, __method__) end def test_hawaii - test_name = 'test_hawaii' - - puts "\n######\nTEST:#{test_name}\n######\n" - osm_path = File.dirname(__FILE__) + '/smalloffice.osm' - epw_path = File.dirname(__FILE__) + '/FortCollins2016.epw' + puts "\n######\nTEST:#{__method__}\n######\n" + osm_path = "#{__dir__}/smalloffice.osm" + epw_path = "#{__dir__}/FortCollins2016.epw" # create an instance of the measure measure = EmissionsReporting.new @@ -346,6 +306,6 @@ def test_hawaii argument_map['grid_state'] = grid_state argument_map['emissions_scenario'] = emissions_scenario - assert(run_test(test_name, osm_path, epw_path, argument_map)) + assert(run_test(__method__, osm_path, epw_path, argument_map)) end end diff --git a/measures/emissions_reporting/tests/emissions_reporting_test.rb b/measures/emissions_reporting/tests/emissions_reporting_test.rb deleted file mode 100644 index 5d2b5c477..000000000 --- a/measures/emissions_reporting/tests/emissions_reporting_test.rb +++ /dev/null @@ -1,283 +0,0 @@ -# ComStockā„¢, Copyright (c) 2024 Alliance for Sustainable Energy, LLC. All rights reserved. -# See top level LICENSE.txt file for license terms. - -# dependencies -require 'fileutils' -require 'minitest/autorun' -require 'openstudio' -require 'openstudio/measure/ShowRunnerOutput' -require 'openstudio-standards' -require_relative '../measure' - -class EmissionsReportingTest < Minitest::Test - def load_model(osm_path) - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - return model - end - - def run_dir(test_name) - # always generate test output in specially named 'output' directory so result files are not made part of the measure - return "#{__dir__}/output/#{test_name}" - end - - def model_output_path(test_name) - return "#{run_dir(test_name)}/out.osm" - end - - def sql_path(test_name) - return "#{run_dir(test_name)}/run/eplusout.sql" - end - - def workspace_path(test_name) - "#{run_dir(test_name)}/run/in.idf" - end - - def report_path(test_name) - return "#{run_dir(test_name)}/reports/eplustbl.html" - end - - def test_number_of_arguments_and_argument_names - # this test ensures that the current test is matched to the measure inputs - puts "\n######\nTEST:#{__method__}\n######\n" - - # create an instance of the measure - measure = EmissionsReporting.new - - # make an empty model - model = OpenStudio::Model::Model.new - - # get arguments and test that they are what we are expecting - arguments = measure.arguments(model) - assert_equal(3, arguments.size) - assert_equal('grid_region', arguments[0].name) - assert_equal('grid_state', arguments[1].name) - assert_equal('emissions_scenario', arguments[2].name) - end - - def print_column_definitions(result_h) - # print output names for column definitions - regex = /annual_(.*)_(electricity|natural_gas|fuel_oil|propane)_ghg_emissions_?(.*)_kg/ - result = '' - result_h['step_values'].each do |h| - result_string = "\nresults.csv,emissions_reporting." - value_name = h['name'] - result_string << "#{value_name},out.emissions" - # puts value_name - captures = value_name.scan(regex).flatten - next if captures.empty? - - # puts captures - captures.each_with_index do |c, i| - if i == 2 && !c.empty? - result_string << if c.match?(/aer_/) - ".#{c}_from_2023" - elsif c.match?(/lrmer_/) - if c.match?(/_start_/) - ".#{c}" - else - ".#{c}_2023_start" - end - else - ".#{c}" - end - else - result_string << ".#{c}" unless c.empty? - end - end - result_string << ',TRUE,TRUE,float,co2e_kg,co2e_kg' - if captures[2].include?('egrid') - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', - ' ')} #{captures[1].gsub('_', - ' ')} use, using #{captures[2].gsub( - '_', ' ' - )} emissions intensity\"" - elsif captures[2].include?('aer') - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', - ' ')} #{captures[1].gsub('_', - ' ')} use, using Cambium 2022 #{captures[2]} non-levelized values from 2023\"" - elsif captures[2].include?('lrmer') - if captures[2].match?(/_\d{2}_\d{4}_/) - matches = captures[2].scan(/_(\d{2})_(\d{4})_start/).flatten - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', - ' ')} #{captures[1].gsub('_', - ' ')} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in #{matches[1]}\"" - else - matches = captures[2].scan(/_\w{4}_(\d{2})/).flatten - result_string << ",\"annual greehouse gas emissions from #{captures[0].gsub('_', - ' ')} #{captures[1].gsub('_', - ' ')} use, using Cambium 2022 #{captures[2]} levelized over #{matches[0]} years starting in 2023\"" - end - else - result_string << ",\"annual greenhouse gas emissions from on site #{captures[0].gsub('_', - ' ')} #{captures[1].gsub( - '_', ' ' - )} use\"" - end - result << result_string - end - puts result - end - - def run_test(test_name, osm_path, epw_path, argument_map) - # create run directory if it does not exist - FileUtils.mkdir_p(run_dir(test_name)) - assert(File.exist?(run_dir(test_name))) - - # change into run directory for tests - start_dir = Dir.pwd - begin - Dir.chdir run_dir(test_name) - - # create an instance of the measure - measure = EmissionsReporting.new - - # create an instance of a runner - runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) - - # Load the input model to set up runner, this will happen automatically when measure is run in PAT or OpenStudio - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(osm_path) - assert(model.is_initialized) - model = model.get - runner.setLastOpenStudioModel(model) - - # get the energyplus output requests, this will be done automatically by OS App and PAT - idf_output_requests = measure.energyPlusOutputRequests(runner, argument_map) - - # convert output requests to OSM for testing, OS App and PAT will add these to the E+ Idf - workspace = OpenStudio::Workspace.new('Draft'.to_StrictnessLevel, 'EnergyPlus'.to_IddFileType) - workspace.addObjects(idf_output_requests) - rt = OpenStudio::EnergyPlus::ReverseTranslator.new - request_model = rt.translateWorkspace(workspace) - - # load the test model and add output requests - translator = OpenStudio::OSVersion::VersionTranslator.new - model = translator.loadModel(OpenStudio::Path.new(osm_path)) - assert(!model.empty?) - model = model.get - request_model.objects.each { |o| model.addObject(o) } - # model.addObjects(request_model.objects) - model.save(model_output_path(test_name), true) - - # set model weather file - assert(File.exist?(epw_path)) - epw_file = OpenStudio::EpwFile.new(OpenStudio::Path.new(epw_path)) - OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file) - assert(model.weatherFile.is_initialized) - - # run the simulation if necessary - unless File.exist?(sql_path(test_name)) - puts "\nRUNNING ANNUAL RUN FOR #{test_name}..." - - std = Standard.build('90.1-2013') - std.model_run_simulation_and_log_errors(model, run_dir(test_name)) - end - assert(File.exist?(model_output_path(test_name))) - assert(File.exist?(sql_path(test_name))) - - # set up runner, this will happen automatically when measure is run in PAT or OpenStudio - runner.setLastOpenStudioModelPath(OpenStudio::Path.new(model_output_path(test_name))) - runner.setLastEnergyPlusWorkspacePath(OpenStudio::Path.new(workspace_path(test_name))) - runner.setLastEpwFilePath(epw_path) - runner.setLastEnergyPlusSqlFilePath(OpenStudio::Path.new(sql_path(test_name))) - - # run the measure - puts "\nRUNNING MEASURE RUN FOR #{test_name}..." - measure.run(runner, argument_map) - result = runner.result - show_output(result) - assert_equal('Success', result.value.valueName) - ensure - # change back directory - Dir.chdir(start_dir) - end - result - end - - def test_timeseries_lrmer - puts "\n######\nTEST:#{__method__}\n######\n" - - osm_path = "#{__dir__}/office.osm" - epw_path = "#{__dir__}/FortCollins2016.epw" - - # create an instance of the measure - measure = EmissionsReporting.new - - # set arguments - arguments = measure.arguments(OpenStudio::Model::Model.new) - argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) - grid_region = arguments[0].clone - grid_state = arguments[1].clone - emissions_scenario = arguments[2].clone - assert(grid_region.setValue('Lookup from model')) - assert(grid_state.setValue('Lookup from model')) - assert(emissions_scenario.setValue('LRMER_MidCase_15')) - argument_map['grid_region'] = grid_region - argument_map['grid_state'] = grid_state - argument_map['emissions_scenario'] = emissions_scenario - - assert(run_test(__method__, osm_path, epw_path, argument_map)) - end - - def test_all_scenarios - puts "\n######\nTEST:#{__method__}\n######\n" - - osm_path = "#{__dir__}/office.osm" - epw_path = "#{__dir__}/FortCollins2016.epw" - - # create an instance of the measure - measure = EmissionsReporting.new - - # set arguments - arguments = measure.arguments(OpenStudio::Model::Model.new) - argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) - grid_region = arguments[0].clone - grid_state = arguments[1].clone - emissions_scenario = arguments[2].clone - assert(grid_region.setValue('RMPAc')) - assert(grid_state.setValue('Lookup from model')) - assert(emissions_scenario.setValue('All')) - argument_map['grid_region'] = grid_region - argument_map['grid_state'] = grid_state - argument_map['emissions_scenario'] = emissions_scenario - - result = run_test(__method__, osm_path, epw_path, argument_map) - assert(result) - require 'json' - result_h = JSON.parse(result.to_s) - # test that runperiod totals same as summed hourly - assert_in_delta(8613.9, result_h['step_values'].select do |v| - v['name'] == 'annual_natural_gas_ghg_emissions_kg' - end.first['value'], 0.1) - - # print_column_definitions(result_h) - end - - def test_hawaii - puts "\n######\nTEST:#{__method__}\n######\n" - - osm_path = "#{__dir__}/office.osm" - epw_path = "#{__dir__}/FortCollins2016.epw" - - # create an instance of the measure - measure = EmissionsReporting.new - - # set arguments - arguments = measure.arguments(OpenStudio::Model::Model.new) - argument_map = OpenStudio::Measure.convertOSArgumentVectorToMap(arguments) - grid_region = arguments[0].clone - grid_state = arguments[1].clone - emissions_scenario = arguments[2].clone - assert(grid_region.setValue('HIMS')) - assert(grid_state.setValue('Lookup from model')) - assert(emissions_scenario.setValue('LRMER_MidCase_15')) - argument_map['grid_region'] = grid_region - argument_map['grid_state'] = grid_state - argument_map['emissions_scenario'] = emissions_scenario - - assert(run_test(__method__, osm_path, epw_path, argument_map)) - end -end diff --git a/measures/emissions_reporting/tests/office.osm b/measures/emissions_reporting/tests/office.osm deleted file mode 100644 index 5f1bf2a68..000000000 --- a/measures/emissions_reporting/tests/office.osm +++ /dev/null @@ -1,31742 +0,0 @@ - -OS:Version, - {3fb554ab-a7a2-4b4d-bd07-001322dc5678}, !- Handle - 2.9.1; !- Version Identifier - -OS:Facility, - {e9c30dd6-83bf-4345-8721-4bc63fbe1de7}; !- Handle - -OS:Site, - {a7641b85-2ed6-43bf-a077-c052a8ffcf10}, !- Handle - Fort Collins Sawrs_CO_USA, !- Name - 40.58, !- Latitude {deg} - -105.08, !- Longitude {deg} - -7, !- Time Zone {hr} - 1525, !- Elevation {m} - City; !- Terrain - -OS:SimulationControl, - {44e63032-8c42-483f-b1d3-ab813861a8f0}, !- 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:Sizing:Parameters, - {5d6f1b4c-59b8-4cc2-ba3b-3783f686b7e0}, !- Handle - 1.25, !- Heating Sizing Factor - 1.15; !- Cooling Sizing Factor - -OS:Timestep, - {508d9023-15f5-4d7a-b1a3-cf1d5f45cfe9}, !- Handle - 4; !- Number of Timesteps per Hour - -OS:ShadowCalculation, - {6515cd36-5396-4c88-945d-38a04e234dca}, !- Handle - 20, !- Calculation Frequency - 15000; !- Maximum Figures in Shadow Overlap Calculations - -OS:HeatBalanceAlgorithm, - {0527523b-9dd5-47fd-9137-2ebf35a3ee97}, !- Handle - ConductionTransferFunction, !- Algorithm - 200; !- Surface Temperature Upper Limit {C} - -OS:RunPeriod, - {b6eb8bed-a8de-4962-bb40-0a9cb6ae9465}, !- Handle - Run Period 1, !- Name - 1, !- Begin Month - 1, !- Begin Day of Month - 12, !- End Month - 30, !- 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:LifeCycleCost:Parameters, - {f1f368c3-b6a8-4b1d-8740-0e668ecddc16}, !- Handle - , !- 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 - -OS:WeatherFile, - {9bbcd8fd-cb40-478b-9488-3e847a83df1a}, !- Handle - Fort Collins Sawrs, !- City - CO, !- State Province Region - USA, !- Country - customized weather file, !- Data Source - 724697, !- WMO Number - 40.58, !- Latitude {deg} - -105.08, !- Longitude {deg} - -7, !- Time Zone {hr} - 1525, !- Elevation {m} - file:////weather/G0800690.epw, !- Url - 226BE93E; !- Checksum - -OS:Site:WaterMainsTemperature, - {bc172fb6-4446-4e61-a252-d0c55136b130}, !- Handle - Correlation, !- Calculation Method - , !- Temperature Schedule Name - 12.0175, !- Annual Average Outdoor Air Temperature {C} - 24.29; !- Maximum Difference In Monthly Average Outdoor Air Temperatures {deltaC} - -OS:SizingPeriod:DesignDay, - {261dacb8-74b9-4e66-a5d7-9e067ffc277b}, !- Handle - Fort Collins Sawrs Ann Clg .4% Condns DB=>MWB 1, !- Name - 32.3, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 16.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {fefab789-7f20-4938-8e6d-62446b2acf68}, !- Handle - Fort Collins Sawrs Ann Clg .4% Condns WB=>MDB 1, !- Name - 27.1, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 18.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {d452d00a-8482-453e-a0f3-4f6d18d1358b}, !- Handle - Fort Collins Sawrs Ann Clg 1% Condns DB=>MWB 1, !- Name - 30.7, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 15.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {d185a394-d6da-4682-9097-8588e8e88f1d}, !- Handle - Fort Collins Sawrs Ann Clg 2% Condns DP=>MDB 1, !- Name - 20.4, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 13.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {c53213b4-9df6-4769-9824-834bf32a33a2}, !- Handle - Fort Collins Sawrs Ann Htg 99% Condns DB 1, !- Name - -15.1, !- Maximum Dry-Bulb Temperature {C} - 0, !- Daily Dry-Bulb Temperature Range {deltaC} - -15.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 2.1, !- 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:SizingPeriod:DesignDay, - {cb8f8efc-5894-4613-bf39-2b48e64c9d81}, !- Handle - Fort Collins Sawrs Ann Htg 99.6% Condns DB 1, !- Name - -19.2, !- Maximum Dry-Bulb Temperature {C} - 0, !- Daily Dry-Bulb Temperature Range {deltaC} - -19.2, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 2.1, !- 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:SizingPeriod:DesignDay, - {ebbfd264-9b3f-4e74-b11c-398e885cf474}, !- Handle - Fort Collins Sawrs Ann Htg Wind 99% Condns WS=>MCDB 1, !- Name - 6.3, !- Maximum Dry-Bulb Temperature {C} - 0, !- Daily Dry-Bulb Temperature Range {deltaC} - 6.3, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 8.8, !- 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:SizingPeriod:DesignDay, - {568320fc-b11f-4914-ba76-74365b668875}, !- Handle - Fort Collins Sawrs April .4% Condns DB=>MCWB 1, !- Name - 27.4, !- Maximum Dry-Bulb Temperature {C} - 13.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 12.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 4, !- 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.287, !- ASHRAE Taub {dimensionless} - 2.478; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {4fa18429-bec9-41d8-90c3-10e38a685364}, !- Handle - Fort Collins Sawrs April .4% Condns WB=>MCDB 1, !- Name - 25.4, !- Maximum Dry-Bulb Temperature {C} - 13.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 13.8, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 4, !- 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.287, !- ASHRAE Taub {dimensionless} - 2.478; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {7567ea74-4326-4bea-940d-88abcf307eae}, !- Handle - Fort Collins Sawrs August .4% Condns DB=>MCWB 1, !- Name - 32.9, !- Maximum Dry-Bulb Temperature {C} - 13.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 15.5, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 8, !- 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.334, !- ASHRAE Taub {dimensionless} - 2.44; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {6bf0399c-d5aa-44d8-850d-676724219a65}, !- Handle - Fort Collins Sawrs August .4% Condns WB=>MCDB 1, !- Name - 25.9, !- Maximum Dry-Bulb Temperature {C} - 13.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 18.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 8, !- 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.334, !- ASHRAE Taub {dimensionless} - 2.44; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {b80bbe7f-0c89-4947-9021-de12bd8ae25d}, !- Handle - Fort Collins Sawrs December .4% Condns DB=>MCWB 1, !- Name - 16.2, !- Maximum Dry-Bulb Temperature {C} - 12.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 12, !- 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.262, !- ASHRAE Taub {dimensionless} - 2.566; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {d4155747-9e57-49c8-9112-ce0744f771af}, !- Handle - Fort Collins Sawrs December .4% Condns WB=>MCDB 1, !- Name - 14.4, !- Maximum Dry-Bulb Temperature {C} - 12.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 6.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 12, !- 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.262, !- ASHRAE Taub {dimensionless} - 2.566; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {cefec6bf-329d-4493-910d-0c149bf759e7}, !- Handle - Fort Collins Sawrs February .4% Condns DB=>MCWB 1, !- Name - 19, !- Maximum Dry-Bulb Temperature {C} - 12.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 7.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 2, !- 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.258, !- ASHRAE Taub {dimensionless} - 2.535; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {216e039e-c631-495b-8a66-314cb91e32b2}, !- Handle - Fort Collins Sawrs February .4% Condns WB=>MCDB 1, !- Name - 17.9, !- Maximum Dry-Bulb Temperature {C} - 12.3, !- Daily Dry-Bulb Temperature Range {deltaC} - 8.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 2, !- 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.258, !- ASHRAE Taub {dimensionless} - 2.535; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {3b06a9de-b6d9-45be-bac0-c4494f6a854e}, !- Handle - Fort Collins Sawrs January .4% Condns DB=>MCWB 1, !- Name - 15.7, !- Maximum Dry-Bulb Temperature {C} - 12.5, !- Daily Dry-Bulb Temperature Range {deltaC} - 5.3, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 1, !- 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.249, !- ASHRAE Taub {dimensionless} - 2.667; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {7dae5a84-29d9-457c-b90f-97c478e458ac}, !- Handle - Fort Collins Sawrs January .4% Condns WB=>MCDB 1, !- Name - 15.2, !- Maximum Dry-Bulb Temperature {C} - 12.5, !- Daily Dry-Bulb Temperature Range {deltaC} - 6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 1, !- 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.249, !- ASHRAE Taub {dimensionless} - 2.667; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {7bc70cbe-26cd-4d8e-bf58-732391d915a7}, !- Handle - Fort Collins Sawrs July .4% Condns DB=>MCWB 1, !- Name - 34.2, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 15.9, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {7b9e6383-d49e-474c-9524-1b6fe181a0cb}, !- Handle - Fort Collins Sawrs July .4% Condns WB=>MCDB 1, !- Name - 27.7, !- Maximum Dry-Bulb Temperature {C} - 13.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 19.4, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- 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.328, !- ASHRAE Taub {dimensionless} - 2.426; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {344733c8-a0b0-419a-a030-5cf6bcc8c294}, !- Handle - Fort Collins Sawrs June .4% Condns DB=>MCWB 1, !- Name - 34.2, !- Maximum Dry-Bulb Temperature {C} - 13.5, !- Daily Dry-Bulb Temperature Range {deltaC} - 16.3, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 6, !- 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.303, !- ASHRAE Taub {dimensionless} - 2.453; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {ff8809e6-e3d2-4293-a92e-4f3b56308a7b}, !- Handle - Fort Collins Sawrs June .4% Condns WB=>MCDB 1, !- Name - 28.7, !- Maximum Dry-Bulb Temperature {C} - 13.5, !- Daily Dry-Bulb Temperature Range {deltaC} - 18.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 6, !- 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.303, !- ASHRAE Taub {dimensionless} - 2.453; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {daf8405a-60b4-4ff5-abf5-f16213affdde}, !- Handle - Fort Collins Sawrs March .4% Condns DB=>MCWB 1, !- Name - 22.2, !- Maximum Dry-Bulb Temperature {C} - 12.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 8.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 3, !- 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.275, !- ASHRAE Taub {dimensionless} - 2.474; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {739118d8-3121-40df-a9f4-f36cd7d25e0d}, !- Handle - Fort Collins Sawrs March .4% Condns WB=>MCDB 1, !- Name - 20, !- Maximum Dry-Bulb Temperature {C} - 12.6, !- Daily Dry-Bulb Temperature Range {deltaC} - 9.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 3, !- 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.275, !- ASHRAE Taub {dimensionless} - 2.474; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {2979a371-1c5c-4526-b70a-4bbb8ff2fec7}, !- Handle - Fort Collins Sawrs May .4% Condns DB=>MCWB 1, !- Name - 29.3, !- Maximum Dry-Bulb Temperature {C} - 13, !- Daily Dry-Bulb Temperature Range {deltaC} - 13.1, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 5, !- 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.293, !- ASHRAE Taub {dimensionless} - 2.478; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {2fba94d7-6f72-4567-9d30-e113d9d9eeee}, !- Handle - Fort Collins Sawrs May .4% Condns WB=>MCDB 1, !- Name - 24.8, !- Maximum Dry-Bulb Temperature {C} - 13, !- Daily Dry-Bulb Temperature Range {deltaC} - 15.3, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 5, !- 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.293, !- ASHRAE Taub {dimensionless} - 2.478; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {67f2a153-c1c2-4ca8-bb3e-df0e88f501c9}, !- Handle - Fort Collins Sawrs November .4% Condns DB=>MCWB 1, !- Name - 20, !- Maximum Dry-Bulb Temperature {C} - 12.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 8.2, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 11, !- 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.267, !- ASHRAE Taub {dimensionless} - 2.573; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {54768027-76a0-4231-9471-b24827f3b37e}, !- Handle - Fort Collins Sawrs November .4% Condns WB=>MCDB 1, !- Name - 16.5, !- Maximum Dry-Bulb Temperature {C} - 12.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 9.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 11, !- 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.267, !- ASHRAE Taub {dimensionless} - 2.573; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {6133f43a-0f94-44ac-8e46-54ef9df84878}, !- Handle - Fort Collins Sawrs October .4% Condns DB=>MCWB 1, !- Name - 27.4, !- Maximum Dry-Bulb Temperature {C} - 14.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 11.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 10, !- 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.277, !- ASHRAE Taub {dimensionless} - 2.645; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {b4746514-716c-4012-aa49-4a18718da0fb}, !- Handle - Fort Collins Sawrs October .4% Condns WB=>MCDB 1, !- Name - 24.4, !- Maximum Dry-Bulb Temperature {C} - 14.1, !- Daily Dry-Bulb Temperature Range {deltaC} - 13.3, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 10, !- 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.277, !- ASHRAE Taub {dimensionless} - 2.645; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {a5666091-3e66-42c1-983c-469505357edc}, !- Handle - Fort Collins Sawrs September .4% Condns DB=>MCWB 1, !- Name - 30.2, !- Maximum Dry-Bulb Temperature {C} - 14.2, !- Daily Dry-Bulb Temperature Range {deltaC} - 14.6, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 9, !- 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.297, !- ASHRAE Taub {dimensionless} - 2.587; !- ASHRAE Taud {dimensionless} - -OS:SizingPeriod:DesignDay, - {be1810b4-c82b-480e-bd6b-58f94644adbc}, !- Handle - Fort Collins Sawrs September .4% Condns WB=>MCDB 1, !- Name - 26.1, !- Maximum Dry-Bulb Temperature {C} - 14.2, !- Daily Dry-Bulb Temperature Range {deltaC} - 17.7, !- Humidity Indicating Conditions at Maximum Dry-Bulb - 84297, !- Barometric Pressure {Pa} - 3.7, !- Wind Speed {m/s} - 90, !- Wind Direction {deg} - 0, !- Sky Clearness - 0, !- Rain Indicator - 0, !- Snow Indicator - 21, !- Day of Month - 9, !- 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.297, !- ASHRAE Taub {dimensionless} - 2.587; !- ASHRAE Taud {dimensionless} - -OS:ClimateZones, - {9f3a8b98-ea70-482b-ba11-6252982b3893}, !- 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 - ASHRAE 169-2013-5B; !- Climate Zone Value 1 - -OS:Building, - {727ede1b-9760-434e-bab7-a3c88d2032bb}, !- Handle - ComStock DOE Ref Pre-1980|SmallOffice, !- Name - , !- Building Sector Type - 180, !- North Axis {deg} - , !- Nominal Floor to Floor Height {m} - , !- Space Type Name - {971d61fd-b03b-4b8d-a8d6-3cbe5831c9d5}, !- Default Construction Set Name - {d4ce4081-dde3-408b-8eb5-629b52494215}, !- Default Schedule Set Name - , !- Standards Number of Stories - , !- Standards Number of Above Ground Stories - , !- Standards Template - Office; !- Standards Building Type - -OS:SpaceType, - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980, !- Name - , !- Default Construction Set Name - {1c350ca7-a13f-49b0-a071-45d541846985}, !- Default Schedule Set Name - {d29c7d11-25c7-4ef4-8767-95f86b7a6825}, !- Group Rendering Name - {ec9072c0-0a72-43ea-8867-27ba59be7a30}, !- Design Specification Outdoor Air Object Name - , !- Standards Template - Office, !- Standards Building Type - WholeBuilding - Sm Office; !- Standards Space Type - -OS:Rendering:Color, - {d29c7d11-25c7-4ef4-8767-95f86b7a6825}, !- Handle - Office WholeBuilding - Sm Office, !- Name - 120, !- Rendering Red Value - 230, !- Rendering Green Value - 199; !- Rendering Blue Value - -OS:BuildingStory, - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Handle - Story Ground, !- Name - 0, !- Nominal Z Coordinate {m} - 3.048, !- Nominal Floor to Floor Height {m} - , !- Default Construction Set Name - , !- Default Schedule Set Name - ; !- Group Rendering Name - -OS:Space, - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {288c262f-c53d-4940-bd0b-0957555a60f6}; !- Thermal Zone Name - -OS:Surface, - {1ddcfe0b-14f3-4cbf-8d29-20902c1dd323}, !- Handle - Surface 1, !- Name - Floor, !- Surface Type - , !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {208ad1f5-17f3-4698-815b-3c78bf6586b3}, !- Handle - Surface 2, !- Name - Wall, !- Surface Type - , !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {83c25419-635c-49a6-9326-08de5b36429a}, !- Handle - Surface 3, !- Name - Wall, !- Surface Type - , !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Surface, !- Outside Boundary Condition - {e1beb26d-f933-46d6-b9eb-a1705212dad3}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {9f7f46ce-400b-4cd4-a250-0bbfc530a8b3}, !- Handle - Surface 4, !- Name - Wall, !- Surface Type - , !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Surface, !- Outside Boundary Condition - {efba2dd5-9557-443b-8d05-35cb8f625da2}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {8182bf3f-e67c-471d-aad8-adfa68fbef52}, !- Handle - Surface 5, !- Name - Wall, !- Surface Type - , !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {530729bd-eadb-4caa-bab9-18f2e5bfd51a}, !- Handle - Surface 6, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {a950a31c-5125-4031-ae3f-0b46f69a62d2}, !- Zone Air Inlet Port List - {82b98caf-23db-4692-8b45-cb9deb86e96f}, !- Zone Air Exhaust Port List - {9e2764e6-7ac5-45c9-b6eb-703a2d1118ea}, !- Zone Air Node Name - {8551f027-9bce-479f-b3d6-0dd88c2c8dae}, !- 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 - {78e9f416-e26a-444c-9036-2883bce36ae5}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {351653e7-078a-4772-9925-061c7be6d206}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground Zone Air Node, !- Name - {9e2764e6-7ac5-45c9-b6eb-703a2d1118ea}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {9e2764e6-7ac5-45c9-b6eb-703a2d1118ea}, !- Handle - {f010d520-07a8-4aaa-b5a1-911599e053d0}, !- Name - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- Source Object - 11, !- Outlet Port - {351653e7-078a-4772-9925-061c7be6d206}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {a950a31c-5125-4031-ae3f-0b46f69a62d2}, !- Handle - {a130dd6b-f9e1-4d49-a547-656008f2c7fe}, !- Name - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- HVAC Component - {96cbd93e-13b1-4a0a-8fb5-a382aad438b7}; !- Port 1 - -OS:PortList, - {82b98caf-23db-4692-8b45-cb9deb86e96f}, !- Handle - {035bbada-0756-487b-aea5-f6694a807062}, !- Name - {288c262f-c53d-4940-bd0b-0957555a60f6}; !- HVAC Component - -OS:PortList, - {8551f027-9bce-479f-b3d6-0dd88c2c8dae}, !- Handle - {9eb5ec7d-b9d8-4cc3-9f96-136b60fbcdc1}, !- Name - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- HVAC Component - {d2d38102-2d99-45bd-8ac5-a4869f6129fd}; !- Port 1 - -OS:Sizing:Zone, - {6e4aea4b-7b36-4b4f-82c2-a340d9ddbb5c}, !- Handle - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- 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, - {d6dc82a7-962e-49ab-8fb7-9584b2be3243}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground Zone HVAC Equipment List, !- Name - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- Thermal Zone - , !- Load Distribution Scheme - {1369c127-4102-44fb-89a7-08a17ca904c4}, !- 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:Space, - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}; !- Thermal Zone Name - -OS:Surface, - {eaeb6678-8288-4478-b8c3-9763686d20aa}, !- Handle - Surface 7, !- Name - Floor, !- Surface Type - , !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {939b5764-55de-4faf-9fbf-6fc22ca6e431}, !- Handle - Surface 8, !- Name - Wall, !- Surface Type - , !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {f72e34ad-bfcc-46ba-9c09-f6a3a6ee874f}, !- Handle - Surface 9, !- Name - Wall, !- Surface Type - , !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Surface, !- Outside Boundary Condition - {e4d75b38-5c49-4da8-a49c-ae11b2015a2f}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {93383790-08b1-40ce-87de-9fbf888a3dbf}, !- Handle - Surface 10, !- Name - Wall, !- Surface Type - , !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Surface, !- Outside Boundary Condition - {26d20f74-62a6-461c-bceb-5c83f4783763}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {e1beb26d-f933-46d6-b9eb-a1705212dad3}, !- Handle - Surface 11, !- Name - Wall, !- Surface Type - , !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Surface, !- Outside Boundary Condition - {83c25419-635c-49a6-9326-08de5b36429a}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {605668da-7a39-4dfb-9229-340d13b453a7}, !- Handle - Surface 12, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {8fa95bf5-619f-4d6b-8c5e-713fdf0a1a80}, !- Zone Air Inlet Port List - {280992fc-745d-4ac5-b713-2265ae93b8ee}, !- Zone Air Exhaust Port List - {b0f12b2a-b039-48e4-959c-04cae1cb76cf}, !- Zone Air Node Name - {a299abb2-f795-47e9-ace4-35d9a1124836}, !- 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 - {e8e1ba03-5712-4f90-8e48-b56a1a8c8d9b}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {36df1101-9a2c-4bd6-ba28-52d8b933c0eb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground Zone Air Node, !- Name - {b0f12b2a-b039-48e4-959c-04cae1cb76cf}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {b0f12b2a-b039-48e4-959c-04cae1cb76cf}, !- Handle - {95695ea9-d771-4646-88f1-c91a3fdf3858}, !- Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- Source Object - 11, !- Outlet Port - {36df1101-9a2c-4bd6-ba28-52d8b933c0eb}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {8fa95bf5-619f-4d6b-8c5e-713fdf0a1a80}, !- Handle - {ffd6e423-ce84-4462-b678-bb9d5e1f887b}, !- Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- HVAC Component - {ceaf2805-55c3-4a4d-aedd-509c5e516986}; !- Port 1 - -OS:PortList, - {280992fc-745d-4ac5-b713-2265ae93b8ee}, !- Handle - {95aa9c92-c9ec-4c87-bca5-980ffba9e605}, !- Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}; !- HVAC Component - -OS:PortList, - {a299abb2-f795-47e9-ace4-35d9a1124836}, !- Handle - {1382542e-7d11-4fd3-9efe-0e5950e99319}, !- Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- HVAC Component - {04cbc5dd-cc14-4909-8daf-e171af533bf3}; !- Port 1 - -OS:Sizing:Zone, - {7c92c4e4-27da-4647-9436-e95a2a9b1ea4}, !- Handle - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- 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, - {94d70dc9-3659-42ba-8575-f1c32f258b0a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground Zone HVAC Equipment List, !- Name - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- Thermal Zone - , !- Load Distribution Scheme - {1aa118d0-d84b-4eaa-9dc1-07b036512d8f}, !- 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:Space, - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}; !- Thermal Zone Name - -OS:Surface, - {61dfa83b-8a9e-4314-a7a2-b8c1adf45841}, !- Handle - Surface 13, !- Name - Floor, !- Surface Type - , !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {2e0b8338-ea2f-42c9-863e-ba54c6081426}, !- Handle - Surface 14, !- Name - Wall, !- Surface Type - , !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {ee0e5043-0aeb-4199-9980-a3048ff9f38e}, !- Handle - Surface 15, !- Name - Wall, !- Surface Type - , !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {b341e97e-ba62-46c0-bf8c-b8938d1dbae1}, !- Handle - Surface 16, !- Name - Wall, !- Surface Type - , !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Surface, !- Outside Boundary Condition - {8d0d4761-3283-44bc-909a-be8b2055ad7a}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {e4d75b38-5c49-4da8-a49c-ae11b2015a2f}, !- Handle - Surface 17, !- Name - Wall, !- Surface Type - , !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Surface, !- Outside Boundary Condition - {f72e34ad-bfcc-46ba-9c09-f6a3a6ee874f}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d696b873-2413-4c84-bfe8-88928fb96431}, !- Handle - Surface 18, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {76d977a3-6f25-4b0d-8159-af3f858de483}, !- Zone Air Inlet Port List - {e01b704c-c39a-4ae9-87b0-14f80904e0fe}, !- Zone Air Exhaust Port List - {e9e26a05-8cd8-478a-b52f-1624afa24d6b}, !- Zone Air Node Name - {96cf45ee-8880-4786-8842-3b4f2775dee3}, !- 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 - {69b87271-504d-4389-9c92-8f8729fc6e96}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {7eec52df-47ff-41a9-acb3-284257b7bd7e}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground Zone Air Node, !- Name - {e9e26a05-8cd8-478a-b52f-1624afa24d6b}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {e9e26a05-8cd8-478a-b52f-1624afa24d6b}, !- Handle - {886ef04d-be14-4b3e-bcb9-03755994d5d0}, !- Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- Source Object - 11, !- Outlet Port - {7eec52df-47ff-41a9-acb3-284257b7bd7e}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {76d977a3-6f25-4b0d-8159-af3f858de483}, !- Handle - {522658d0-f5fd-411c-9344-42e9c720c4e6}, !- Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- HVAC Component - {e35ab2ac-f359-40c0-8bf7-deceec8f946b}; !- Port 1 - -OS:PortList, - {e01b704c-c39a-4ae9-87b0-14f80904e0fe}, !- Handle - {d7e68d84-d1c3-4469-ad90-0a60015f23af}, !- Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}; !- HVAC Component - -OS:PortList, - {96cf45ee-8880-4786-8842-3b4f2775dee3}, !- Handle - {d5a74d99-f76e-4999-8f6e-d8a9e28af80b}, !- Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- HVAC Component - {90cee586-feb9-4972-ba64-82f5ddc334f8}; !- Port 1 - -OS:Sizing:Zone, - {1acf2c8b-f9ef-4f2e-aed0-9a65f959a3ea}, !- Handle - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- 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, - {dcb41374-0086-4ea0-b6cf-e2cf60914024}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground Zone HVAC Equipment List, !- Name - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- Thermal Zone - , !- Load Distribution Scheme - {d70a3cbb-6059-40f0-b622-74fddc574b29}, !- 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:Space, - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Handle - Office WholeBuilding - Sm Office A - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}; !- Thermal Zone Name - -OS:Surface, - {3fb77996-03c7-4eac-b8c5-fb22e1ff38b8}, !- Handle - Surface 19, !- Name - Floor, !- Surface Type - , !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {efba2dd5-9557-443b-8d05-35cb8f625da2}, !- Handle - Surface 20, !- Name - Wall, !- Surface Type - , !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Surface, !- Outside Boundary Condition - {9f7f46ce-400b-4cd4-a250-0bbfc530a8b3}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {597e2c51-4104-43c7-ae7d-b91944c1d874}, !- Handle - Surface 21, !- Name - Wall, !- Surface Type - , !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Surface, !- Outside Boundary Condition - {e1cd53fc-f71f-4009-a723-c736b3f7eaaf}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d6b511de-3943-449b-a685-109d65482fcf}, !- Handle - Surface 22, !- Name - Wall, !- Surface Type - , !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Surface, !- Outside Boundary Condition - {2e1de416-16ab-4a7f-aa46-ca0b3ca8de94}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {ed5d99ab-c6c7-44d6-9e61-9e321fde9df4}, !- Handle - Surface 23, !- Name - Wall, !- Surface Type - , !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0bec26e4-d970-4ba0-b7de-ea0680d58d62}, !- Handle - Surface 24, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {e942048d-2ff8-4fde-b78f-7e5d8c995071}, !- Zone Air Inlet Port List - {b8be8759-c744-4d50-bc5d-c1c02d73250d}, !- Zone Air Exhaust Port List - {e9e0dc7d-7726-4f99-9a3f-42a945afaadd}, !- Zone Air Node Name - {2a0fee1f-d705-47b8-944e-b544137b36e4}, !- 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 - {81830ea1-5dd8-46ca-814e-0640ac7de207}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {55b85321-a08a-4ab7-a138-d5dd3c09f244}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground Zone Air Node, !- Name - {e9e0dc7d-7726-4f99-9a3f-42a945afaadd}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {e9e0dc7d-7726-4f99-9a3f-42a945afaadd}, !- Handle - {ae8cf56a-663c-425e-b50b-8da02c40f862}, !- Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- Source Object - 11, !- Outlet Port - {55b85321-a08a-4ab7-a138-d5dd3c09f244}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {e942048d-2ff8-4fde-b78f-7e5d8c995071}, !- Handle - {02235ee5-851e-4bd5-aa83-53b3e9788592}, !- Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- HVAC Component - {c5bd6394-7322-4887-b3de-0285e1f8d44b}; !- Port 1 - -OS:PortList, - {b8be8759-c744-4d50-bc5d-c1c02d73250d}, !- Handle - {cd7b0034-152c-4737-8978-7655030bcd20}, !- Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}; !- HVAC Component - -OS:PortList, - {2a0fee1f-d705-47b8-944e-b544137b36e4}, !- Handle - {c5f57d1d-2ddf-42f8-9dea-792e08de7cd6}, !- Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- HVAC Component - {7f8d05b1-6272-463f-8efa-35a7190dc3ef}; !- Port 1 - -OS:Sizing:Zone, - {7266892e-4e9e-4175-b488-37061a84c250}, !- Handle - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- 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, - {b031265e-b4f0-4828-982f-98002f968cd5}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground Zone HVAC Equipment List, !- Name - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- Thermal Zone - , !- Load Distribution Scheme - {dfaea635-2ef8-40f8-a31c-eba9472feb08}, !- 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:Space, - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Handle - Office WholeBuilding - Sm Office B - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}; !- Thermal Zone Name - -OS:Surface, - {315e857d-2f0f-44a0-9919-636bfc9d90de}, !- Handle - Surface 25, !- Name - Floor, !- Surface Type - , !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {26d20f74-62a6-461c-bceb-5c83f4783763}, !- Handle - Surface 26, !- Name - Wall, !- Surface Type - , !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Surface, !- Outside Boundary Condition - {93383790-08b1-40ce-87de-9fbf888a3dbf}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {852cc69d-b514-4061-9a4f-4fe4928588b9}, !- Handle - Surface 27, !- Name - Wall, !- Surface Type - , !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Surface, !- Outside Boundary Condition - {4b1e2136-8e41-4101-b5f5-7d1448ef65ab}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {9f9aa4a4-0505-45ae-aa7a-eb7b3b7cd57f}, !- Handle - Surface 28, !- Name - Wall, !- Surface Type - , !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Surface, !- Outside Boundary Condition - {5d3a117a-a3df-4924-bf36-641156ef54e6}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {e1cd53fc-f71f-4009-a723-c736b3f7eaaf}, !- Handle - Surface 29, !- Name - Wall, !- Surface Type - , !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Surface, !- Outside Boundary Condition - {597e2c51-4104-43c7-ae7d-b91944c1d874}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {a5ce52e5-ac77-4b57-a755-4c592551ee99}, !- Handle - Surface 30, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {29b1c269-5e63-4ef6-9e59-a5db250dcc2a}, !- Zone Air Inlet Port List - {6b3c08c8-8be6-41e5-ac1f-0775d24a0137}, !- Zone Air Exhaust Port List - {8f7a4ab9-4b15-49ad-b2ac-0bff0c06226c}, !- Zone Air Node Name - {530590f1-dd60-4b31-aa25-13c30589a06a}, !- 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 - {5723a230-5a81-4561-ac99-7d4a007825a1}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {b5e8aa07-f4ae-40f9-94d0-40356ba14f42}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground Zone Air Node, !- Name - {8f7a4ab9-4b15-49ad-b2ac-0bff0c06226c}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {8f7a4ab9-4b15-49ad-b2ac-0bff0c06226c}, !- Handle - {a6bdff52-ae78-49d8-a935-062036f15cc9}, !- Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- Source Object - 11, !- Outlet Port - {b5e8aa07-f4ae-40f9-94d0-40356ba14f42}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {29b1c269-5e63-4ef6-9e59-a5db250dcc2a}, !- Handle - {2c328e03-8d7e-4d91-acde-0c652e84d0ff}, !- Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- HVAC Component - {a1b20260-91c6-4495-9169-b62b2605b5d7}; !- Port 1 - -OS:PortList, - {6b3c08c8-8be6-41e5-ac1f-0775d24a0137}, !- Handle - {2744ea3c-b630-42a3-a2a2-2cf00ab62103}, !- Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}; !- HVAC Component - -OS:PortList, - {530590f1-dd60-4b31-aa25-13c30589a06a}, !- Handle - {7f2aaf49-6c10-4ff6-9ae6-20ef9c561b90}, !- Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- HVAC Component - {c961bfc8-5641-4df4-b44d-546b227270f2}; !- Port 1 - -OS:Sizing:Zone, - {70eab613-13a5-4113-acf3-0f63fc7baec8}, !- Handle - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- 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, - {9df1f188-5b08-482d-aeea-fa20d29ce139}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground Zone HVAC Equipment List, !- Name - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- Thermal Zone - , !- Load Distribution Scheme - {d0307a5a-147b-4e4f-99ec-71596d3d8b76}, !- 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:Space, - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Handle - Office WholeBuilding - Sm Office C - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}; !- Thermal Zone Name - -OS:Surface, - {1919d25c-4ae5-40b0-ac0c-4d3d1f10f4e7}, !- Handle - Surface 31, !- Name - Floor, !- Surface Type - , !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {8d0d4761-3283-44bc-909a-be8b2055ad7a}, !- Handle - Surface 32, !- Name - Wall, !- Surface Type - , !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Surface, !- Outside Boundary Condition - {b341e97e-ba62-46c0-bf8c-b8938d1dbae1}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {48622e95-62ee-4cde-961b-0a0c6f045c4b}, !- Handle - Surface 33, !- Name - Wall, !- Surface Type - , !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {f789b385-438c-4cde-84ee-70e24a6ed739}, !- Handle - Surface 34, !- Name - Wall, !- Surface Type - , !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Surface, !- Outside Boundary Condition - {7ab82d2b-d03a-45bd-801e-ec28c6ee2845}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {4b1e2136-8e41-4101-b5f5-7d1448ef65ab}, !- Handle - Surface 35, !- Name - Wall, !- Surface Type - , !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Surface, !- Outside Boundary Condition - {852cc69d-b514-4061-9a4f-4fe4928588b9}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d2658ad7-a3bf-40c5-82c2-794c4009fdce}, !- Handle - Surface 36, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {fa4d70b6-c2cb-45fc-84b7-9b3591458693}, !- Zone Air Inlet Port List - {6a000e43-23eb-4522-83a4-64633cd38346}, !- Zone Air Exhaust Port List - {104f7c6c-832f-4363-9e7c-249b92bfaf58}, !- Zone Air Node Name - {299dfac0-e22c-4946-afe2-4b87e8a8f8e7}, !- 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 - {c35a181d-a693-4382-914e-3a41f4acc489}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {b907aae4-2237-40df-bfc5-690d6056c3ba}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground Zone Air Node, !- Name - {104f7c6c-832f-4363-9e7c-249b92bfaf58}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {104f7c6c-832f-4363-9e7c-249b92bfaf58}, !- Handle - {9c79f5b5-823f-48f1-ae4b-37fbbf88e76c}, !- Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- Source Object - 11, !- Outlet Port - {b907aae4-2237-40df-bfc5-690d6056c3ba}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {fa4d70b6-c2cb-45fc-84b7-9b3591458693}, !- Handle - {8d4b2ea5-feda-4bfc-a140-8838f1cc00d2}, !- Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- HVAC Component - {d59971a7-692d-4591-b38b-fad7371ac686}; !- Port 1 - -OS:PortList, - {6a000e43-23eb-4522-83a4-64633cd38346}, !- Handle - {95a794b1-fe9c-461e-ad0d-726ed2cd477d}, !- Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}; !- HVAC Component - -OS:PortList, - {299dfac0-e22c-4946-afe2-4b87e8a8f8e7}, !- Handle - {168c0369-9f2b-497c-8732-99898581e4e3}, !- Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- HVAC Component - {84eab0ae-5f54-4891-8111-c08f1d39a92e}; !- Port 1 - -OS:Sizing:Zone, - {f360bf0c-0461-4545-bc6d-d72d284d4b8a}, !- Handle - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- 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, - {94c91cbd-116d-4c8a-beae-6e79bfb38d34}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground Zone HVAC Equipment List, !- Name - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- Thermal Zone - , !- Load Distribution Scheme - {fcebe32a-02f3-41e8-848c-a7779102dd20}, !- 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:Space, - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}; !- Thermal Zone Name - -OS:Surface, - {795f492b-f3e1-42b1-ad8a-bb260d3ce172}, !- Handle - Surface 37, !- Name - Floor, !- Surface Type - , !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {2e1de416-16ab-4a7f-aa46-ca0b3ca8de94}, !- Handle - Surface 38, !- Name - Wall, !- Surface Type - , !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Surface, !- Outside Boundary Condition - {d6b511de-3943-449b-a685-109d65482fcf}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {e625b81e-8cab-4042-852e-e5bcc5e77e81}, !- Handle - Surface 39, !- Name - Wall, !- Surface Type - , !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Surface, !- Outside Boundary Condition - {f8353406-2923-4640-9f53-2906e9b5e0e6}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {6c86fa7c-5f96-48b2-a6c8-1e068f53b6f2}, !- Handle - Surface 40, !- Name - Wall, !- Surface Type - , !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {19beee5e-e944-4b85-8938-6e8b5f8602dc}, !- Handle - Surface 41, !- Name - Wall, !- Surface Type - , !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {06eb4738-a820-4849-a8fe-0ab854870cf1}, !- Handle - Surface 42, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {28fe2dd3-fcb1-4d50-bfe1-ca7f19a300cb}, !- Zone Air Inlet Port List - {7727b12c-8e42-4a28-94a6-1a13597f30b0}, !- Zone Air Exhaust Port List - {3c35fb67-e32a-406a-8e62-b8bc6fe1d5d5}, !- Zone Air Node Name - {ead8e472-6c10-4655-897d-04f8bc31e247}, !- 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 - {15272a0a-70ad-4751-a196-1285ba63b43f}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {0f1e16ba-ac98-4225-8bcb-3a72393722e6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground Zone Air Node, !- Name - {3c35fb67-e32a-406a-8e62-b8bc6fe1d5d5}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {3c35fb67-e32a-406a-8e62-b8bc6fe1d5d5}, !- Handle - {d9ba9eeb-2e75-46a2-bb1d-856ea4996103}, !- Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- Source Object - 11, !- Outlet Port - {0f1e16ba-ac98-4225-8bcb-3a72393722e6}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {28fe2dd3-fcb1-4d50-bfe1-ca7f19a300cb}, !- Handle - {cba6f85e-e14c-412c-b5e3-26dacab048de}, !- Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- HVAC Component - {c040302f-857d-4710-a3fc-ce6710fb4c05}; !- Port 1 - -OS:PortList, - {7727b12c-8e42-4a28-94a6-1a13597f30b0}, !- Handle - {65d6f820-7538-492b-bffe-9473e15d8b66}, !- Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}; !- HVAC Component - -OS:PortList, - {ead8e472-6c10-4655-897d-04f8bc31e247}, !- Handle - {da5b26fa-ace9-4cc6-923b-39ac9d9b7397}, !- Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- HVAC Component - {4e4640a2-aff5-4372-975c-ba45b1b07430}; !- Port 1 - -OS:Sizing:Zone, - {13d86d64-2379-4e4f-aa2f-1b9f2fe21c0c}, !- Handle - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- 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, - {2fdcc7b1-3d44-4d5b-9396-c827c45f672f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground Zone HVAC Equipment List, !- Name - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- Thermal Zone - , !- Load Distribution Scheme - {624266b4-531e-4a81-b2ba-9ba23498690f}, !- 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:Space, - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}; !- Thermal Zone Name - -OS:Surface, - {83f3233a-48a6-4831-bbb1-aed26130067d}, !- Handle - Surface 43, !- Name - Floor, !- Surface Type - , !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {5d3a117a-a3df-4924-bf36-641156ef54e6}, !- Handle - Surface 44, !- Name - Wall, !- Surface Type - , !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Surface, !- Outside Boundary Condition - {9f9aa4a4-0505-45ae-aa7a-eb7b3b7cd57f}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {359607db-8306-4aaf-aade-a72e59b74fbb}, !- Handle - Surface 45, !- Name - Wall, !- Surface Type - , !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Surface, !- Outside Boundary Condition - {6a5039b8-966e-45f4-a49f-b50339eaffd6}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d1a603bf-08fc-4b16-9998-7ae8127236f7}, !- Handle - Surface 46, !- Name - Wall, !- Surface Type - , !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {f8353406-2923-4640-9f53-2906e9b5e0e6}, !- Handle - Surface 47, !- Name - Wall, !- Surface Type - , !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Surface, !- Outside Boundary Condition - {e625b81e-8cab-4042-852e-e5bcc5e77e81}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {3d5d15e1-ec8d-4db2-9061-b8092b3d635e}, !- Handle - Surface 48, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {cdb5440d-7d2a-490d-9d6a-c1872c097ed8}, !- Zone Air Inlet Port List - {2e270d51-70bf-4b45-a8f3-20ccd50c93ce}, !- Zone Air Exhaust Port List - {404b4ce6-c2d7-463d-a64b-c760fc61c0ae}, !- Zone Air Node Name - {00e59bb0-7d7d-4c44-b4f4-bcd0e2b11c75}, !- 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 - {6630126b-a947-4a12-9267-8d3d4e6be682}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {f1168156-3000-4611-b6bf-ae5a43fed672}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground Zone Air Node, !- Name - {404b4ce6-c2d7-463d-a64b-c760fc61c0ae}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {404b4ce6-c2d7-463d-a64b-c760fc61c0ae}, !- Handle - {7c104bd0-5e79-4b50-91b9-7ab37e2a4c36}, !- Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- Source Object - 11, !- Outlet Port - {f1168156-3000-4611-b6bf-ae5a43fed672}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {cdb5440d-7d2a-490d-9d6a-c1872c097ed8}, !- Handle - {de0449c5-ed7b-4239-b8df-aaa178e5d80b}, !- Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- HVAC Component - {65d71324-70d1-4c3e-8e4b-b6d0d91d4b05}; !- Port 1 - -OS:PortList, - {2e270d51-70bf-4b45-a8f3-20ccd50c93ce}, !- Handle - {25ea3b37-661f-4576-8f07-e9418997b137}, !- Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}; !- HVAC Component - -OS:PortList, - {00e59bb0-7d7d-4c44-b4f4-bcd0e2b11c75}, !- Handle - {0a164753-7f59-43cd-b191-6625c26e882c}, !- Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- HVAC Component - {ed8c1ee2-3b83-4686-9d99-27c449e390bd}; !- Port 1 - -OS:Sizing:Zone, - {8e52d185-56da-4479-85ee-86323e78846c}, !- Handle - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- 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, - {827a7142-1f8e-42d5-890e-1db32bf8a114}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground Zone HVAC Equipment List, !- Name - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- Thermal Zone - , !- Load Distribution Scheme - {fb84c3f1-d80f-4dfb-a551-ce9f349ea381}, !- 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:Space, - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Ground, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 0, !- Z Origin {m} - {ff2ca5e4-7b94-4f35-bab1-b9777c63ea62}, !- Building Story Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}; !- Thermal Zone Name - -OS:Surface, - {03c72cbb-30c1-4abe-aeba-0e89a4d01ddf}, !- Handle - Surface 49, !- Name - Floor, !- Surface Type - , !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Ground, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {7ab82d2b-d03a-45bd-801e-ec28c6ee2845}, !- Handle - Surface 50, !- Name - Wall, !- Surface Type - , !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Surface, !- Outside Boundary Condition - {f789b385-438c-4cde-84ee-70e24a6ed739}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0d898ee0-0a37-4033-8a52-f2fc5172317d}, !- Handle - Surface 51, !- Name - Wall, !- Surface Type - , !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {f97dde4c-9dd4-42e3-aef2-614243e80476}, !- Handle - Surface 52, !- Name - Wall, !- Surface Type - , !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {6a5039b8-966e-45f4-a49f-b50339eaffd6}, !- Handle - Surface 53, !- Name - Wall, !- Surface Type - , !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Surface, !- Outside Boundary Condition - {359607db-8306-4aaf-aade-a72e59b74fbb}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {054c9e67-6c0b-41b9-8870-e7b1961f0270}, !- Handle - Surface 54, !- Name - RoofCeiling, !- Surface Type - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {a5629dd0-636d-4f1b-8244-34b07d81d901}, !- Zone Air Inlet Port List - {98465e92-d124-4d21-be81-56c533b39db6}, !- Zone Air Exhaust Port List - {21fd4d3a-24c6-454f-bd01-c56cb28dddd5}, !- Zone Air Node Name - {a5aa2c73-c2ee-44d1-819d-4c8a523cd425}, !- 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 - {ad9456a8-1e62-4f40-afdb-af548a88c2e7}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {fcad96b2-e58a-44ca-861f-6dd0ec11894d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground Zone Air Node, !- Name - {21fd4d3a-24c6-454f-bd01-c56cb28dddd5}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {21fd4d3a-24c6-454f-bd01-c56cb28dddd5}, !- Handle - {52a48ca3-6f39-42bb-9508-9dbc1477541a}, !- Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- Source Object - 11, !- Outlet Port - {fcad96b2-e58a-44ca-861f-6dd0ec11894d}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {a5629dd0-636d-4f1b-8244-34b07d81d901}, !- Handle - {aca4409a-3199-477f-b3b5-b80420bdc98a}, !- Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- HVAC Component - {8e71d287-ec23-4972-8c2c-40ed33358d5d}; !- Port 1 - -OS:PortList, - {98465e92-d124-4d21-be81-56c533b39db6}, !- Handle - {2f9035ba-219e-4010-ac17-944843cc47d3}, !- Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}; !- HVAC Component - -OS:PortList, - {a5aa2c73-c2ee-44d1-819d-4c8a523cd425}, !- Handle - {ee2979e4-e2d6-4f54-bb70-d7b2fa11b995}, !- Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- HVAC Component - {a30d4b98-8b85-45cd-b822-f56474461ec3}; !- Port 1 - -OS:Sizing:Zone, - {5a01a635-2f49-4664-ae9c-409a98504b0d}, !- Handle - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- 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, - {75dbd5c6-6c0e-4342-808a-4f622e9bdb89}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground Zone HVAC Equipment List, !- Name - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- Thermal Zone - , !- Load Distribution Scheme - {da8d4dd0-012d-4804-8092-c7f58af2c758}, !- 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:BuildingStory, - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Handle - Story Top, !- Name - 3.048, !- Nominal Z Coordinate {m} - 3.048, !- Nominal Floor to Floor Height {m} - , !- Default Construction Set Name - , !- Default Schedule Set Name - ; !- Group Rendering Name - -OS:Space, - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}; !- Thermal Zone Name - -OS:Surface, - {dfa693f2-520c-430b-a346-92fbf5f30e6b}, !- Handle - Surface 55, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d5bf54ca-654e-4368-8a32-906b922d6d05}, !- Handle - Surface 56, !- Name - Wall, !- Surface Type - , !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {ee1349b0-786a-455b-b13b-db5ef4b7cf31}, !- Handle - Surface 57, !- Name - Wall, !- Surface Type - , !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Surface, !- Outside Boundary Condition - {6e231391-d199-436b-9198-4a2c9d615106}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {445c88f1-254b-49f8-85f1-8fa2beb15ae1}, !- Handle - Surface 58, !- Name - Wall, !- Surface Type - , !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Surface, !- Outside Boundary Condition - {207ef579-8941-4d22-b7fd-d8cde26d267f}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {b5ee4023-e7d0-4b66-915d-73175793fce3}, !- Handle - Surface 59, !- Name - Wall, !- Surface Type - , !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0de3bfab-2ded-4f2e-951d-ca8a0bc66917}, !- Handle - Surface 60, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {9017abdb-6009-4072-bdeb-5c6398aad881}, !- Zone Air Inlet Port List - {7c38d535-98dd-43c4-bd7a-fb2bfde9fba6}, !- Zone Air Exhaust Port List - {6de41569-755c-48b5-a23f-617524048818}, !- Zone Air Node Name - {e9a1e914-101e-40b3-a3c8-f769840fd104}, !- 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 - {95ae8775-0f14-48be-bbf7-fc6c7e980097}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {54a0ea30-127e-4502-a0cc-e26f98a3179f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top Zone Air Node, !- Name - {6de41569-755c-48b5-a23f-617524048818}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {6de41569-755c-48b5-a23f-617524048818}, !- Handle - {bfc2a168-9a73-4c7a-ad0f-788480bf37dc}, !- Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- Source Object - 11, !- Outlet Port - {54a0ea30-127e-4502-a0cc-e26f98a3179f}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {9017abdb-6009-4072-bdeb-5c6398aad881}, !- Handle - {be299710-bb7f-4f72-867b-01628c00fc4b}, !- Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- HVAC Component - {2abaf22e-4090-4698-9bc0-77e98995639c}; !- Port 1 - -OS:PortList, - {7c38d535-98dd-43c4-bd7a-fb2bfde9fba6}, !- Handle - {ae090624-9f76-4255-b45b-6daeee769065}, !- Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}; !- HVAC Component - -OS:PortList, - {e9a1e914-101e-40b3-a3c8-f769840fd104}, !- Handle - {9afc02a3-0fdd-4215-8a75-6dd6685ea44b}, !- Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- HVAC Component - {01a284f6-c38b-4d17-82d1-927508dd338f}; !- Port 1 - -OS:Sizing:Zone, - {c338af1e-6726-452f-9812-d025fe1d6bb6}, !- Handle - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- 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, - {16517a02-5b19-401f-b3f0-57f61a42ac44}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top Zone HVAC Equipment List, !- Name - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- Thermal Zone - , !- Load Distribution Scheme - {643c31db-1e6d-4cee-b1e3-42e498d68da6}, !- 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:Space, - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}; !- Thermal Zone Name - -OS:Surface, - {2d13fac8-fee7-432d-8329-ee99a6aae180}, !- Handle - Surface 61, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {de3883d9-be16-4be2-8fc1-a9a9025a650c}, !- Handle - Surface 62, !- Name - Wall, !- Surface Type - , !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {7cd08ddd-0bc6-4ae5-9fef-8aed72120941}, !- Handle - Surface 63, !- Name - Wall, !- Surface Type - , !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Surface, !- Outside Boundary Condition - {4be30e76-e0f2-4f08-8bb6-b820a089ebef}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {5c5ba1f6-a074-424b-9185-2d99786fbae7}, !- Handle - Surface 64, !- Name - Wall, !- Surface Type - , !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Surface, !- Outside Boundary Condition - {3b39dd1e-d8fd-4a03-8c89-723dbae197c1}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {6e231391-d199-436b-9198-4a2c9d615106}, !- Handle - Surface 65, !- Name - Wall, !- Surface Type - , !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Surface, !- Outside Boundary Condition - {ee1349b0-786a-455b-b13b-db5ef4b7cf31}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {4c206558-00fa-41cf-b055-9b4d4203d10a}, !- Handle - Surface 66, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {58a006a0-0d08-484b-a4e0-99b161e01776}, !- Zone Air Inlet Port List - {de1ddf90-0711-4ca4-9050-cdbdf36b6162}, !- Zone Air Exhaust Port List - {a5812088-1e45-4f17-8659-0b5ebd7ba70d}, !- Zone Air Node Name - {d9a97764-67c0-4c08-a974-e72b9e874110}, !- 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 - {3d1010fe-be8e-44d7-9f8b-547e8a3492c9}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {c384bb34-1570-4f6e-b2c9-7bd5a645ddc3}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top Zone Air Node, !- Name - {a5812088-1e45-4f17-8659-0b5ebd7ba70d}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {a5812088-1e45-4f17-8659-0b5ebd7ba70d}, !- Handle - {91364ef6-2469-4681-93b5-97e15afeba2f}, !- Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- Source Object - 11, !- Outlet Port - {c384bb34-1570-4f6e-b2c9-7bd5a645ddc3}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {58a006a0-0d08-484b-a4e0-99b161e01776}, !- Handle - {ed58998c-afea-4e46-8493-329904706b4e}, !- Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- HVAC Component - {ccecdf00-3f97-4be4-a765-e687c8f02a09}; !- Port 1 - -OS:PortList, - {de1ddf90-0711-4ca4-9050-cdbdf36b6162}, !- Handle - {de153a48-3e91-4a30-9d4f-a3531ef0324d}, !- Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}; !- HVAC Component - -OS:PortList, - {d9a97764-67c0-4c08-a974-e72b9e874110}, !- Handle - {abf1e10d-6b3a-4622-85fa-0e96163b3daa}, !- Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- HVAC Component - {c2fa1995-310c-4eaa-9e1f-91c2ba4c3c7c}; !- Port 1 - -OS:Sizing:Zone, - {c2c29611-9910-4d5b-b7bc-dd93f81db4e7}, !- Handle - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- 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, - {5e37d81c-9e10-4397-8a30-b9d0cfd17908}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top Zone HVAC Equipment List, !- Name - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- Thermal Zone - , !- Load Distribution Scheme - {cbd9857f-1d35-43e0-b5d2-81e56c150e96}, !- 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:Space, - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -13.1982271536748, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}; !- Thermal Zone Name - -OS:Surface, - {c970f95d-311d-406b-a001-0bd42baa3efa}, !- Handle - Surface 67, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {98e0f71b-b6cb-449c-9d1f-81137e93ab6b}, !- Handle - Surface 68, !- Name - Wall, !- Surface Type - , !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {a8ad7ba8-a12b-47f4-9780-748f4b63be01}, !- Handle - Surface 69, !- Name - Wall, !- Surface Type - , !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {7b285a52-c2be-4030-8846-9a0f405da6b9}, !- Handle - Surface 70, !- Name - Wall, !- Surface Type - , !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Surface, !- Outside Boundary Condition - {703f5138-6e32-4d86-b36a-81e360cc2497}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.572, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {4be30e76-e0f2-4f08-8bb6-b820a089ebef}, !- Handle - Surface 71, !- Name - Wall, !- Surface Type - , !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Surface, !- Outside Boundary Condition - {7cd08ddd-0bc6-4ae5-9fef-8aed72120941}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.44089209850063e-14, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.572, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.572, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {d81a14c3-785d-4dcd-8f38-930ee696e710}, !- Handle - Surface 72, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.572, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.572, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {d5c1fdb4-4bd1-4cd1-bda2-77d17f2f9798}, !- Zone Air Inlet Port List - {f6c1e703-2ca6-4d42-850b-eee3391175de}, !- Zone Air Exhaust Port List - {482a190a-7bc4-4975-b9f2-69d2d8360c1d}, !- Zone Air Node Name - {4c581570-2578-4c03-b1aa-620b22ff8439}, !- 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 - {77018803-b8d4-442d-aea2-2d172a0641a3}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {4b400d23-836d-4bea-abc4-921c0fad2396}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top Zone Air Node, !- Name - {482a190a-7bc4-4975-b9f2-69d2d8360c1d}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {482a190a-7bc4-4975-b9f2-69d2d8360c1d}, !- Handle - {d941e127-532e-43c5-8381-df700e72e40c}, !- Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- Source Object - 11, !- Outlet Port - {4b400d23-836d-4bea-abc4-921c0fad2396}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {d5c1fdb4-4bd1-4cd1-bda2-77d17f2f9798}, !- Handle - {4ba9f991-ab49-42b7-89fd-ede8bcda9e82}, !- Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- HVAC Component - {e51a7074-6c83-4ac3-80cb-54a10ba4102b}; !- Port 1 - -OS:PortList, - {f6c1e703-2ca6-4d42-850b-eee3391175de}, !- Handle - {528d505c-c8bf-461f-8689-94edeed2d6b1}, !- Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}; !- HVAC Component - -OS:PortList, - {4c581570-2578-4c03-b1aa-620b22ff8439}, !- Handle - {aaccc89e-b6a0-4da6-adfa-147ee57c1e4a}, !- Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- HVAC Component - {4e89bfcb-0c76-47b1-aaa7-5328c2dafd78}; !- Port 1 - -OS:Sizing:Zone, - {29f94cfe-d7db-4f1d-8f04-4b985cd46357}, !- Handle - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- 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, - {58d80bf8-9b57-4521-9ab9-247de68cec7c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top Zone HVAC Equipment List, !- Name - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- Thermal Zone - , !- Load Distribution Scheme - {bdf97945-203e-4890-b90f-ca1cbffa31cf}, !- 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:Space, - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Handle - Office WholeBuilding - Sm Office A - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}; !- Thermal Zone Name - -OS:Surface, - {6f581af9-bda6-4791-8991-843ddf6e6607}, !- Handle - Surface 73, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {207ef579-8941-4d22-b7fd-d8cde26d267f}, !- Handle - Surface 74, !- Name - Wall, !- Surface Type - , !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Surface, !- Outside Boundary Condition - {445c88f1-254b-49f8-85f1-8fa2beb15ae1}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {ff7064b2-fcb4-4449-9ba6-fc0cb5c50657}, !- Handle - Surface 75, !- Name - Wall, !- Surface Type - , !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Surface, !- Outside Boundary Condition - {01bb30fd-dfcc-4c89-8576-8dcb2f6af5ca}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {37cce471-66bb-424e-b59a-4c5b77f24a27}, !- Handle - Surface 76, !- Name - Wall, !- Surface Type - , !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Surface, !- Outside Boundary Condition - {f9eb7df7-ca0c-49a4-9c2c-f8567c17ffe6}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {58a0a37d-e7d0-410b-8ca2-05bfcad6de79}, !- Handle - Surface 77, !- Name - Wall, !- Surface Type - , !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {a567d8bc-9eda-4191-b0df-2f514146d051}, !- Handle - Surface 78, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {342ce193-063e-486d-9f1c-b69918722002}, !- Zone Air Inlet Port List - {ed905e5e-19a4-4b60-8385-20d0f12692e0}, !- Zone Air Exhaust Port List - {1e19c0e9-fe8b-4421-846f-2dd9f8e7938b}, !- Zone Air Node Name - {012e63e8-8632-4fbb-adea-1c1f152d668d}, !- 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 - {84ddefbd-e9e0-43bb-b231-e18893c3ad16}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {f6ea0b84-d37c-498d-9989-071b6ef2bc3c}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top Zone Air Node, !- Name - {1e19c0e9-fe8b-4421-846f-2dd9f8e7938b}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {1e19c0e9-fe8b-4421-846f-2dd9f8e7938b}, !- Handle - {f7130af4-17d9-458c-ab70-91e215e4f044}, !- Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- Source Object - 11, !- Outlet Port - {f6ea0b84-d37c-498d-9989-071b6ef2bc3c}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {342ce193-063e-486d-9f1c-b69918722002}, !- Handle - {8a6a48eb-5c62-4e15-993e-46a81f327b93}, !- Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- HVAC Component - {9f847e26-8044-4de1-bd88-c6e39d337d47}; !- Port 1 - -OS:PortList, - {ed905e5e-19a4-4b60-8385-20d0f12692e0}, !- Handle - {225cdf07-63e1-4ad5-b654-0c6c074e832d}, !- Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}; !- HVAC Component - -OS:PortList, - {012e63e8-8632-4fbb-adea-1c1f152d668d}, !- Handle - {75a894da-e30a-467f-9ee6-aa0f5e260721}, !- Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- HVAC Component - {31e5c0be-3283-4206-b6c6-87237f1e7434}; !- Port 1 - -OS:Sizing:Zone, - {694298ea-aed5-4df6-b0ff-fbf9c747b900}, !- Handle - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- 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, - {d6482c73-e8be-4468-a3f6-f76e1017cc28}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top Zone HVAC Equipment List, !- Name - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- Thermal Zone - , !- Load Distribution Scheme - {eb8d0173-5d0f-402f-af98-5132419f137e}, !- 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:Space, - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Handle - Office WholeBuilding - Sm Office B - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}; !- Thermal Zone Name - -OS:Surface, - {fdf9b705-5ccf-4624-bfd8-c9d7e06c9441}, !- Handle - Surface 79, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {3b39dd1e-d8fd-4a03-8c89-723dbae197c1}, !- Handle - Surface 80, !- Name - Wall, !- Surface Type - , !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Surface, !- Outside Boundary Condition - {5c5ba1f6-a074-424b-9185-2d99786fbae7}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {1df09ce2-84d1-48b1-aeb9-ec94685a238b}, !- Handle - Surface 81, !- Name - Wall, !- Surface Type - , !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Surface, !- Outside Boundary Condition - {81e751f7-33aa-41fd-b052-d14dccee1373}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {25922abd-875b-44a8-a618-f69201ba481d}, !- Handle - Surface 82, !- Name - Wall, !- Surface Type - , !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Surface, !- Outside Boundary Condition - {27f69e4e-7be8-43af-8ec0-e16574575147}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {01bb30fd-dfcc-4c89-8576-8dcb2f6af5ca}, !- Handle - Surface 83, !- Name - Wall, !- Surface Type - , !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Surface, !- Outside Boundary Condition - {ff7064b2-fcb4-4449-9ba6-fc0cb5c50657}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {400fcbbf-e45b-423d-81e1-a5ae073a7e26}, !- Handle - Surface 84, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {a8f820c2-7937-409e-9fff-74fd93fd25bb}, !- Zone Air Inlet Port List - {74668703-c400-408f-ad08-41e56870ef81}, !- Zone Air Exhaust Port List - {da94b937-5629-4a6d-97f4-76f8b85e5977}, !- Zone Air Node Name - {3fc6904e-5a1e-4b24-b84d-7106b0956d01}, !- 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 - {8a9820ce-1428-436b-aeb2-ff5229d19a4c}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {2c31e61d-501f-475c-9bd8-55f812da5a33}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top Zone Air Node, !- Name - {da94b937-5629-4a6d-97f4-76f8b85e5977}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {da94b937-5629-4a6d-97f4-76f8b85e5977}, !- Handle - {188270a9-d69a-494d-ac8f-a1ee0209ef2a}, !- Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- Source Object - 11, !- Outlet Port - {2c31e61d-501f-475c-9bd8-55f812da5a33}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {a8f820c2-7937-409e-9fff-74fd93fd25bb}, !- Handle - {2c6e63fa-94e6-4d64-a7b8-1a6539ee2799}, !- Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- HVAC Component - {63e69e56-d1bc-4dbd-aad4-7676f22313c3}; !- Port 1 - -OS:PortList, - {74668703-c400-408f-ad08-41e56870ef81}, !- Handle - {7a7dff7c-5c31-4d95-9efd-5c34c75f9c42}, !- Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}; !- HVAC Component - -OS:PortList, - {3fc6904e-5a1e-4b24-b84d-7106b0956d01}, !- Handle - {7db92d00-a951-47b9-b1e5-5bc9d6cd51d4}, !- Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- HVAC Component - {ae535a84-6845-4dbf-8ae9-d14b3d8387bb}; !- Port 1 - -OS:Sizing:Zone, - {bd45fe78-bfa6-434a-82e4-1e10af945325}, !- Handle - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- 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, - {61aaef3f-b0f7-4b46-bd3c-d23a92144268}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top Zone HVAC Equipment List, !- Name - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- Thermal Zone - , !- Load Distribution Scheme - {825fbba6-6fc8-4c54-9a0d-91bc7ecf41d8}, !- 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:Space, - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Handle - Office WholeBuilding - Sm Office C - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - -8.62622715367484, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {1d923239-0151-46b0-9047-539d56678c8d}; !- Thermal Zone Name - -OS:Surface, - {1a2e3c55-04e7-4387-8dc8-fa5aff1cbaf4}, !- Handle - Surface 85, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {703f5138-6e32-4d86-b36a-81e360cc2497}, !- Handle - Surface 86, !- Name - Wall, !- Surface Type - , !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Surface, !- Outside Boundary Condition - {7b285a52-c2be-4030-8846-9a0f405da6b9}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {1f60e623-65ea-4bb0-92d8-217efd26303d}, !- Handle - Surface 87, !- Name - Wall, !- Surface Type - , !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {c3f8b036-2881-4cb0-8c52-bbf955c8b5e9}, !- Handle - Surface 88, !- Name - Wall, !- Surface Type - , !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Surface, !- Outside Boundary Condition - {2f7346ca-24fa-4dd3-a8c1-6700c575d227}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {81e751f7-33aa-41fd-b052-d14dccee1373}, !- Handle - Surface 89, !- Name - Wall, !- Surface Type - , !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Surface, !- Outside Boundary Condition - {1df09ce2-84d1-48b1-aeb9-ec94685a238b}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 17.2524543073497, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 17.2524543073497, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {4125246b-0b6d-46b1-b9b8-be5c9210aacf}, !- Handle - Surface 90, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 17.2524543073497, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 17.2524543073497, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {1d923239-0151-46b0-9047-539d56678c8d}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {e74a29a4-8bc7-4044-b980-bc3539b00ab5}, !- Zone Air Inlet Port List - {48105714-4b53-4fbe-bc49-50dd9be6d4fd}, !- Zone Air Exhaust Port List - {9def9ba2-4db6-4f52-bf67-ca33dc5cdeb0}, !- Zone Air Node Name - {276c249f-357b-4c22-945b-cfb8fb7d6b6b}, !- 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 - {cacb77ca-6eec-435e-8b30-d2ebbfab4f80}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {4cf62e54-f056-4e4b-ad6f-245628785c6c}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top Zone Air Node, !- Name - {9def9ba2-4db6-4f52-bf67-ca33dc5cdeb0}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {9def9ba2-4db6-4f52-bf67-ca33dc5cdeb0}, !- Handle - {93f8a911-792a-41f7-830c-e06b576b0e01}, !- Name - {1d923239-0151-46b0-9047-539d56678c8d}, !- Source Object - 11, !- Outlet Port - {4cf62e54-f056-4e4b-ad6f-245628785c6c}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {e74a29a4-8bc7-4044-b980-bc3539b00ab5}, !- Handle - {7cd0f0ea-2fd3-4fa3-9d1b-a4a8930c3099}, !- Name - {1d923239-0151-46b0-9047-539d56678c8d}, !- HVAC Component - {099331c7-72c8-4083-b7e2-081096b751c8}; !- Port 1 - -OS:PortList, - {48105714-4b53-4fbe-bc49-50dd9be6d4fd}, !- Handle - {f28b988a-a2cb-461e-b596-603528974257}, !- Name - {1d923239-0151-46b0-9047-539d56678c8d}; !- HVAC Component - -OS:PortList, - {276c249f-357b-4c22-945b-cfb8fb7d6b6b}, !- Handle - {3b792be1-4242-472f-8ec7-ceea74d80398}, !- Name - {1d923239-0151-46b0-9047-539d56678c8d}, !- HVAC Component - {f8704147-fa62-4399-ad0a-a0f4ec8d06da}; !- Port 1 - -OS:Sizing:Zone, - {6135657a-9c5d-42e1-856f-7981bc400b0b}, !- Handle - {1d923239-0151-46b0-9047-539d56678c8d}, !- 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, - {280f4f9c-6994-4a71-8339-d9324b0cbfa3}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top Zone HVAC Equipment List, !- Name - {1d923239-0151-46b0-9047-539d56678c8d}, !- Thermal Zone - , !- Load Distribution Scheme - {9afe9fc0-a8a4-49c3-b95f-8ffa4b630d99}, !- 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:Space, - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - -6.59911357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}; !- Thermal Zone Name - -OS:Surface, - {6bf4c7ab-7c0e-4171-bc33-085b71679c64}, !- Handle - Surface 91, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.5527136788005e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {f9eb7df7-ca0c-49a4-9c2c-f8567c17ffe6}, !- Handle - Surface 92, !- Name - Wall, !- Surface Type - , !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Surface, !- Outside Boundary Condition - {37cce471-66bb-424e-b59a-4c5b77f24a27}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {27b66b91-2e1e-44ab-b8dd-44165c8cd171}, !- Handle - Surface 93, !- Name - Wall, !- Surface Type - , !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Surface, !- Outside Boundary Condition - {4a6464ce-6c50-46c3-9166-0ddce4f33b45}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0b3b9146-55da-4f8d-aade-d9682167d43c}, !- Handle - Surface 94, !- Name - Wall, !- Surface Type - , !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {63c35bcd-ea4e-44bf-89fe-424ded17e56d}, !- Handle - Surface 95, !- Name - Wall, !- Surface Type - , !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 3.5527136788005e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0c7c091a-8002-432a-9cdc-ecb4947fc494}, !- Handle - Surface 96, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.5527136788005e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.5527136788005e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {1fc86722-3dba-4b0a-a316-e94022a4894d}, !- Zone Air Inlet Port List - {3f5137ec-073b-45fe-a33d-aeea29a21c6a}, !- Zone Air Exhaust Port List - {266307c5-80a9-4e14-b039-c6aefe49de7a}, !- Zone Air Node Name - {01af0953-5c68-422e-8396-8d81bea23272}, !- 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 - {fc08395d-8539-409d-a717-5717513f94e9}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {f4f7ec5a-a00c-4f1c-812e-01d22e950024}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top Zone Air Node, !- Name - {266307c5-80a9-4e14-b039-c6aefe49de7a}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {266307c5-80a9-4e14-b039-c6aefe49de7a}, !- Handle - {9cfb55b7-273d-4afb-a090-daa046268574}, !- Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- Source Object - 11, !- Outlet Port - {f4f7ec5a-a00c-4f1c-812e-01d22e950024}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {1fc86722-3dba-4b0a-a316-e94022a4894d}, !- Handle - {7fd79677-079c-4dbf-a136-5efee1aea4a2}, !- Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- HVAC Component - {bd0a6ab2-f015-45b7-999a-2ea7dafdbb7e}; !- Port 1 - -OS:PortList, - {3f5137ec-073b-45fe-a33d-aeea29a21c6a}, !- Handle - {bb2c8f90-e758-46c6-a542-2faff306777d}, !- Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}; !- HVAC Component - -OS:PortList, - {01af0953-5c68-422e-8396-8d81bea23272}, !- Handle - {02dfd1c3-18fd-45d6-b21c-52e66c1ca256}, !- Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- HVAC Component - {2a2dcd96-52e8-4899-b40f-b07ea2a4f9e7}; !- Port 1 - -OS:Sizing:Zone, - {785b572e-ef51-4249-a0f8-5f3dfa631a08}, !- Handle - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- 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, - {fefc63f5-95aa-4313-8955-8315e4751228}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top Zone HVAC Equipment List, !- Name - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- Thermal Zone - , !- Load Distribution Scheme - {b845c4ba-1688-4d8f-b658-a6a3c033a0cf}, !- 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:Space, - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - -2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {ee85c892-64da-4474-be0e-e12863f6dd68}; !- Thermal Zone Name - -OS:Surface, - {9f3dcb55-52b2-4cd1-bf96-bc4a1ba8d400}, !- Handle - Surface 97, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {27f69e4e-7be8-43af-8ec0-e16574575147}, !- Handle - Surface 98, !- Name - Wall, !- Surface Type - , !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Surface, !- Outside Boundary Condition - {25922abd-875b-44a8-a618-f69201ba481d}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {0d0bb929-668d-4c1d-b5b1-624055b7fdd4}, !- Handle - Surface 99, !- Name - Wall, !- Surface Type - , !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Surface, !- Outside Boundary Condition - {b03aa779-396d-47ba-bea5-33b4bc193b4d}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.05422715367484, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {a6a961c7-c750-4eb4-be4f-c4e91083050c}, !- Handle - Surface 100, !- Name - Wall, !- Surface Type - , !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.05422715367484, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.05422715367484, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {4a6464ce-6c50-46c3-9166-0ddce4f33b45}, !- Handle - Surface 101, !- Name - Wall, !- Surface Type - , !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Surface, !- Outside Boundary Condition - {27b66b91-2e1e-44ab-b8dd-44165c8cd171}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {989ea1ee-3a36-4e64-a673-b616aa82ca69}, !- Handle - Surface 102, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.05422715367484, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.05422715367484, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {928a0fc0-de85-4968-b49b-2a3a533068c5}, !- Zone Air Inlet Port List - {5fe7a222-a2ba-4af3-883d-6f01185353c2}, !- Zone Air Exhaust Port List - {7ece8d2e-97c0-4142-89f5-fc16c4ce4aac}, !- Zone Air Node Name - {78296d21-a5ed-4422-86e0-182bdcb2bd2b}, !- 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 - {0577914c-fa90-4f3b-ad2a-51f62a4814aa}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {6770958b-8e64-46f7-b87e-3b0747cef863}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top Zone Air Node, !- Name - {7ece8d2e-97c0-4142-89f5-fc16c4ce4aac}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {7ece8d2e-97c0-4142-89f5-fc16c4ce4aac}, !- Handle - {262f7086-4170-40b8-b59c-86e7d38991ab}, !- Name - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- Source Object - 11, !- Outlet Port - {6770958b-8e64-46f7-b87e-3b0747cef863}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {928a0fc0-de85-4968-b49b-2a3a533068c5}, !- Handle - {97556319-5904-444a-85cc-f93e576aa81d}, !- Name - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- HVAC Component - {ff34225b-6028-4f0c-bc60-f34d6bf332eb}; !- Port 1 - -OS:PortList, - {5fe7a222-a2ba-4af3-883d-6f01185353c2}, !- Handle - {610c972f-4373-4083-ae96-87ddd1fd8dde}, !- Name - {ee85c892-64da-4474-be0e-e12863f6dd68}; !- HVAC Component - -OS:PortList, - {78296d21-a5ed-4422-86e0-182bdcb2bd2b}, !- Handle - {f90c503b-5904-4911-9d73-6ca0b4c61239}, !- Name - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- HVAC Component - {13268a9c-3ae6-44fe-8c42-c5f5c6b62466}; !- Port 1 - -OS:Sizing:Zone, - {8164198b-33ad-49a0-99a0-7c83636d3b1f}, !- Handle - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- 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, - {c67137cf-cfe2-4e04-a3cb-b0f66944564c}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top Zone HVAC Equipment List, !- Name - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- Thermal Zone - , !- Load Distribution Scheme - {31b2412c-f825-49ab-b24b-b28c3d3ce765}, !- 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:Space, - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Top, !- Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space Type Name - , !- Default Construction Set Name - , !- Default Schedule Set Name - -0, !- Direction of Relative North {deg} - 8.62622715367485, !- X Origin {m} - 2.02711357683742, !- Y Origin {m} - 3.048, !- Z Origin {m} - {685e46f0-9425-43de-9c0d-21d874f99c79}, !- Building Story Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}; !- Thermal Zone Name - -OS:Surface, - {6bfde144-ec24-4353-81b7-59d8a2885421}, !- Handle - Surface 103, !- Name - Floor, !- Surface Type - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Adiabatic, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, -3.10862446895044e-15, 0; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {2f7346ca-24fa-4dd3-a8c1-6700c575d227}, !- Handle - Surface 104, !- Name - Wall, !- Surface Type - , !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Surface, !- Outside Boundary Condition - {c3f8b036-2881-4cb0-8c52-bbf955c8b5e9}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {674cd6a3-a713-4395-baaa-c152f00272f7}, !- Handle - Surface 105, !- Name - Wall, !- Surface Type - , !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {c3c6a283-223d-4b78-979d-7d09d5005d23}, !- Handle - Surface 106, !- Name - Wall, !- Surface Type - , !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.572, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.572, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {b03aa779-396d-47ba-bea5-33b4bc193b4d}, !- Handle - Surface 107, !- Name - Wall, !- Surface Type - , !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Surface, !- Outside Boundary Condition - {0d0bb929-668d-4c1d-b5b1-624055b7fdd4}, !- Outside Boundary Condition Object - NoSun, !- Sun Exposure - NoWind, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 3.5527136788005e-15, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, -3.10862446895044e-15, 0, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:Surface, - {309edcb2-f351-4279-acc2-3117845ad3a5}, !- Handle - Surface 108, !- Name - RoofCeiling, !- Surface Type - , !- Construction Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space Name - Outdoors, !- Outside Boundary Condition - , !- Outside Boundary Condition Object - SunExposed, !- Sun Exposure - WindExposed, !- Wind Exposure - , !- View Factor to Ground - , !- Number of Vertices - 4.57199999999995, -3.10862446895044e-15, 3.048, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 4.572, 3.048, !- X,Y,Z Vertex 2 {m} - 3.5527136788005e-15, 4.572, 3.048, !- X,Y,Z Vertex 3 {m} - 3.5527136788005e-15, -3.10862446895044e-15, 3.048; !- X,Y,Z Vertex 4 {m} - -OS:ThermalZone, - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top, !- Name - 1, !- Multiplier - , !- Ceiling Height {m} - , !- Volume {m3} - , !- Floor Area {m2} - , !- Zone Inside Convection Algorithm - , !- Zone Outside Convection Algorithm - , !- Zone Conditioning Equipment List Name - {2553f665-d5be-407c-a7f3-f7ccb1224487}, !- Zone Air Inlet Port List - {7c35638b-58e6-4e62-a617-cc12cf5d25da}, !- Zone Air Exhaust Port List - {00bd69b8-5f2a-48d4-961d-8a1263fbb6df}, !- Zone Air Node Name - {de2bd479-17cd-4476-9813-af05bfc49fbf}, !- 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 - {35be521e-4718-483f-a5da-a1d4cbccf435}, !- Thermostat Name - No; !- Use Ideal Air Loads - -OS:Node, - {073170b3-ba9e-4ee9-81cd-c6ffac35aa8f}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top Zone Air Node, !- Name - {00bd69b8-5f2a-48d4-961d-8a1263fbb6df}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {00bd69b8-5f2a-48d4-961d-8a1263fbb6df}, !- Handle - {d407e379-53ad-4ad6-9ae9-606b58c1f86d}, !- Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- Source Object - 11, !- Outlet Port - {073170b3-ba9e-4ee9-81cd-c6ffac35aa8f}, !- Target Object - 2; !- Inlet Port - -OS:PortList, - {2553f665-d5be-407c-a7f3-f7ccb1224487}, !- Handle - {31398271-03f9-4260-80a6-d34946bbc1af}, !- Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- HVAC Component - {73fc4e8c-01ba-45a8-b347-a9ac0674e6d8}; !- Port 1 - -OS:PortList, - {7c35638b-58e6-4e62-a617-cc12cf5d25da}, !- Handle - {1c747148-be8b-4113-b664-20315c984a4f}, !- Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}; !- HVAC Component - -OS:PortList, - {de2bd479-17cd-4476-9813-af05bfc49fbf}, !- Handle - {d2dffa67-3aa4-4738-a617-013ae8cc22bd}, !- Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- HVAC Component - {8aeece83-517d-4275-b962-e93daa218193}; !- Port 1 - -OS:Sizing:Zone, - {b7d65fe6-84b3-48ab-a9b6-bbdc418c574b}, !- Handle - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- 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, - {3d885c32-e820-4265-a1d2-38663036d678}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top Zone HVAC Equipment List, !- Name - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- Thermal Zone - , !- Load Distribution Scheme - {fd24fdd9-fc72-435b-a42d-b0a7b41dbf3e}, !- 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:SubSurface, - {dde07554-c6d3-4838-8d49-c654000949ae}, !- Handle - Sub Surface 1, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {208ad1f5-17f3-4698-815b-3c78bf6586b3}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.5466, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.5466, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.025400000000003, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.025400000000003, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {2d0893d4-ffa7-4374-a90b-ee0fbdf91c9b}, !- Handle - Sub Surface 2, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {8182bf3f-e67c-471d-aad8-adfa68fbef52}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000444, 3.5527136788005e-15, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 0.0254000000000444, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 4.5466, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 4.5466, 3.5527136788005e-15, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {7748974a-ebbf-4c40-ba17-0d05af14f94b}, !- Handle - Sub Surface 3, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {939b5764-55de-4faf-9fbf-6fc22ca6e431}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.02882715367484, 0.947200587747294, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.02882715367484, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.025400000000003, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.025400000000003, 0.947200587747294; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {8cf7aa05-e94d-4b30-beac-97779b81ec29}, !- Handle - Sub Surface 4, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {2e0b8338-ea2f-42c9-863e-ba54c6081426}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.5466, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.5466, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.0253999999999959, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.0253999999999959, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {e2e00593-94bd-4e75-904a-ac490d2ac6a2}, !- Handle - Sub Surface 5, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {ee0e5043-0aeb-4199-9980-a3048ff9f38e}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.5466, 4.572, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.5466, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.0254000000000438, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.0254000000000438, 4.572, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {8e5a10fb-205e-48c2-9ef9-6bfa073e71ca}, !- Handle - Sub Surface 6, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {ed5d99ab-c6c7-44d6-9e61-9e321fde9df4}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000036, 3.5527136788005e-15, 0.945420082008045, !- X,Y,Z Vertex 1 {m} - 0.0254000000000036, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 17.2270543073497, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 17.2270543073497, 3.5527136788005e-15, 0.945420082008045; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {a7cb531e-9b34-4d8a-971d-15c2aa4f7171}, !- Handle - Sub Surface 7, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {48622e95-62ee-4cde-961b-0a0c6f045c4b}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 17.2270543073497, 4.572, 0.945420082008045, !- X,Y,Z Vertex 1 {m} - 17.2270543073497, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.0254000000000012, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.0254000000000012, 4.572, 0.945420082008045; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {03b041e6-d0a3-44c5-bc10-32d286268158}, !- Handle - Sub Surface 8, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {6c86fa7c-5f96-48b2-a6c8-1e068f53b6f2}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0254000000000036, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0254000000000036, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.5466, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.5466, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {3ae1096b-98dd-4509-904a-754166707b77}, !- Handle - Sub Surface 9, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {19beee5e-e944-4b85-8938-6e8b5f8602dc}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000036, 3.5527136788005e-15, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 0.0254000000000036, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 4.54659999999995, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 4.54659999999995, 3.5527136788005e-15, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {ad19506e-2715-4eb4-9c05-d4274f96315d}, !- Handle - Sub Surface 10, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {d1a603bf-08fc-4b16-9998-7ae8127236f7}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0254000000000031, 0.947200587747294, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0254000000000031, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.02882715367484, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.02882715367484, 0.947200587747294; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {2ba2cd30-69b0-4eaf-a494-f9fc5f103e7d}, !- Handle - Sub Surface 11, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {0d898ee0-0a37-4033-8a52-f2fc5172317d}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.54659999999995, 4.572, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.54659999999995, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.025400000000003, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.025400000000003, 4.572, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {81d0dc79-b358-47e6-b5ab-176e3c30132c}, !- Handle - Sub Surface 12, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {f97dde4c-9dd4-42e3-aef2-614243e80476}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0253999999999969, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0253999999999969, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.5466, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.5466, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {96f68305-8a2e-4562-9465-a7b7abee05e4}, !- Handle - Sub Surface 13, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {d5bf54ca-654e-4368-8a32-906b922d6d05}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.5466, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.5466, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.025400000000003, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.025400000000003, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {87d61a86-abf0-42db-9620-1dc4c9c385f5}, !- Handle - Sub Surface 14, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {b5ee4023-e7d0-4b66-915d-73175793fce3}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000444, 3.5527136788005e-15, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 0.0254000000000444, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 4.5466, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 4.5466, 3.5527136788005e-15, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {763e035b-a3bd-4b63-a710-4c2cc606c033}, !- Handle - Sub Surface 15, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {de3883d9-be16-4be2-8fc1-a9a9025a650c}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.02882715367484, 0.947200587747294, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.02882715367484, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.025400000000003, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.025400000000003, 0.947200587747294; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {2ae73b5d-bd93-469d-94cd-62180ab6ea8a}, !- Handle - Sub Surface 16, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {98e0f71b-b6cb-449c-9d1f-81137e93ab6b}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.44089209850063e-14, 4.5466, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.44089209850063e-14, 4.5466, 0.762, !- X,Y,Z Vertex 2 {m} - 4.44089209850063e-14, 0.0253999999999959, 0.762, !- X,Y,Z Vertex 3 {m} - 4.44089209850063e-14, 0.0253999999999959, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {9395656f-0d09-4a9b-ab6e-9f4ae472dfee}, !- Handle - Sub Surface 17, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {a8ad7ba8-a12b-47f4-9780-748f4b63be01}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.5466, 4.572, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.5466, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.0254000000000438, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.0254000000000438, 4.572, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {9aa5b607-7fe9-4840-8fb6-fa8e2359f1ac}, !- Handle - Sub Surface 18, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {58a0a37d-e7d0-410b-8ca2-05bfcad6de79}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000036, 3.5527136788005e-15, 0.945420082008045, !- X,Y,Z Vertex 1 {m} - 0.0254000000000036, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 17.2270543073497, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 17.2270543073497, 3.5527136788005e-15, 0.945420082008045; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {cf97dfdb-f753-4527-9d8c-f1518ef6fae9}, !- Handle - Sub Surface 19, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {1f60e623-65ea-4bb0-92d8-217efd26303d}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 17.2270543073497, 4.572, 0.945420082008045, !- X,Y,Z Vertex 1 {m} - 17.2270543073497, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.0254000000000012, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.0254000000000012, 4.572, 0.945420082008045; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {038d94f4-2710-4964-a690-f68a1c6d4eab}, !- Handle - Sub Surface 20, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {0b3b9146-55da-4f8d-aade-d9682167d43c}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0254000000000036, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0254000000000036, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.5466, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.5466, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {294252ee-9630-4f33-91b9-f37646900e67}, !- Handle - Sub Surface 21, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {63c35bcd-ea4e-44bf-89fe-424ded17e56d}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 0.0254000000000036, 3.5527136788005e-15, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 0.0254000000000036, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 2 {m} - 4.54659999999995, 3.5527136788005e-15, 0.762, !- X,Y,Z Vertex 3 {m} - 4.54659999999995, 3.5527136788005e-15, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {618b339b-5deb-4c92-80c5-cded0189549b}, !- Handle - Sub Surface 22, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {a6a961c7-c750-4eb4-be4f-c4e91083050c}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0254000000000031, 0.947200587747294, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0254000000000031, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.02882715367484, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.02882715367484, 0.947200587747294; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {c75a3995-b88c-48f3-b7df-f4c9648048d7}, !- Handle - Sub Surface 23, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {674cd6a3-a713-4395-baaa-c152f00272f7}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.54659999999995, 4.572, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.54659999999995, 4.572, 0.762, !- X,Y,Z Vertex 2 {m} - 0.025400000000003, 4.572, 0.762, !- X,Y,Z Vertex 3 {m} - 0.025400000000003, 4.572, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:SubSurface, - {818b8137-83de-46df-abe1-4a8a8e60ff3c}, !- Handle - Sub Surface 24, !- Name - FixedWindow, !- Sub Surface Type - , !- Construction Name - {c3c6a283-223d-4b78-979d-7d09d5005d23}, !- Surface Name - , !- Outside Boundary Condition Object - , !- View Factor to Ground - , !- Shading Control Name - , !- Frame and Divider Name - , !- Multiplier - , !- Number of Vertices - 4.57199999999995, 0.0253999999999969, 0.946934831460674, !- X,Y,Z Vertex 1 {m} - 4.57199999999995, 0.0253999999999969, 0.762, !- X,Y,Z Vertex 2 {m} - 4.57199999999995, 4.5466, 0.762, !- X,Y,Z Vertex 3 {m} - 4.57199999999995, 4.5466, 0.946934831460674; !- X,Y,Z Vertex 4 {m} - -OS:People:Definition, - {8aca61e9-81a8-410f-82d7-c957e1f19286}, !- Handle - Office WholeBuilding - Sm Office People Definition, !- Name - People/Area, !- Number of People Calculation Method - , !- Number of People {people} - 0.0538195520835486, !- People per Space Floor Area {person/m2} - , !- Space Floor Area per Person {m2/person} - 0.3; !- Fraction Radiant - -OS:People, - {6697f4d6-6a01-4f3e-bb11-e7b488d53734}, !- Handle - Office WholeBuilding - Sm Office People, !- Name - {8aca61e9-81a8-410f-82d7-c957e1f19286}, !- People Definition Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space or SpaceType Name - , !- Number of People Schedule Name - , !- Activity Level Schedule Name - , !- Surface Name/Angle Factor List Name - {a1b054a6-1778-4fda-ad07-48e7970abc88}, !- Work Efficiency Schedule Name - {10367f37-bd04-41dd-ae19-705a889a4e2e}, !- Clothing Insulation Schedule Name - {4d42b1f7-68e8-4a78-8806-45e3f3f60795}, !- Air Velocity Schedule Name - 1; !- Multiplier - -OS:Schedule:Ruleset, - {10367f37-bd04-41dd-ae19-705a889a4e2e}, !- Handle - Clothing Schedule, !- Name - {d3b53453-341a-4265-91ea-069cecbcf13b}, !- Schedule Type Limits Name - {ee276d78-5646-4f4b-8b01-a77600242188}; !- Default Day Schedule Name - -OS:Schedule:Day, - {ee276d78-5646-4f4b-8b01-a77600242188}, !- Handle - Clothing Schedule Default Winter Clothes, !- Name - {d3b53453-341a-4265-91ea-069cecbcf13b}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {0925a9ee-993e-4c5a-8d79-d745187e0e0e}, !- Handle - Schedule Rule 1, !- Name - {10367f37-bd04-41dd-ae19-705a889a4e2e}, !- Schedule Ruleset Name - 0, !- Rule Order - {aa10adba-ce6d-46f5-83a7-9aca26965ce6}, !- 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, - {aa10adba-ce6d-46f5-83a7-9aca26965ce6}, !- Handle - Clothing Schedule Summer Clothes, !- Name - {d3b53453-341a-4265-91ea-069cecbcf13b}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.5; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {d3b53453-341a-4265-91ea-069cecbcf13b}, !- Handle - ClothingInsulation, !- Name - 0, !- Lower Limit Value - , !- Upper Limit Value - Continuous, !- Numeric Type - ClothingInsulation; !- Unit Type - -OS:Schedule:Ruleset, - {4d42b1f7-68e8-4a78-8806-45e3f3f60795}, !- Handle - Air Velocity Schedule, !- Name - {f767e3c0-3043-4431-931e-44b5b865b328}, !- Schedule Type Limits Name - {38f88c7b-101d-413d-ba8e-87c950302ebd}; !- Default Day Schedule Name - -OS:Schedule:Day, - {38f88c7b-101d-413d-ba8e-87c950302ebd}, !- Handle - Air Velocity Schedule Default, !- Name - {f767e3c0-3043-4431-931e-44b5b865b328}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.2; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {f767e3c0-3043-4431-931e-44b5b865b328}, !- Handle - Velocity, !- Name - 0, !- Lower Limit Value - , !- Upper Limit Value - Continuous, !- Numeric Type - Velocity; !- Unit Type - -OS:Schedule:Ruleset, - {a1b054a6-1778-4fda-ad07-48e7970abc88}, !- Handle - Work Efficiency Schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {2c08c8c0-3297-4718-b2f6-c852a2ffb028}; !- Default Day Schedule Name - -OS:Schedule:Day, - {2c08c8c0-3297-4718-b2f6-c852a2ffb028}, !- Handle - Work Efficiency Schedule Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Handle - Fractional, !- Name - 0, !- Lower Limit Value - 1, !- Upper Limit Value - Continuous; !- Numeric Type - -OS:Lights:Definition, - {f3ac3df3-14d6-46ec-a2d8-0a8b7ea5f506}, !- Handle - Office WholeBuilding - Sm Office Lights Definition, !- Name - Watts/Area, !- Design Level Calculation Method - , !- Lighting Level {W} - 11.3021059375452, !- Watts per Space Floor Area {W/m2} - , !- Watts per Person {W/person} - 0.655386, !- Fraction Radiant - 0.2, !- Fraction Visible - 0; !- Return Air Fraction - -OS:Lights, - {bd16d2cf-fb3c-4338-912c-7c6dbe042ae6}, !- Handle - Office WholeBuilding - Sm Office Lights, !- Name - {f3ac3df3-14d6-46ec-a2d8-0a8b7ea5f506}, !- Lights Definition Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space or SpaceType Name - {bcc82492-2246-491c-9b61-33bd8d09cfcf}, !- Schedule Name - 1, !- Fraction Replaceable - , !- Multiplier - General; !- End-Use Subcategory - -OS:AdditionalProperties, - {45256ff0-0fef-4632-9be7-f4d807d53e67}, !- Handle - {f3ac3df3-14d6-46ec-a2d8-0a8b7ea5f506}, !- Object Name - lpd_fraction_linear_fluorescent, !- Feature Name 1 - Double, !- Feature Data Type 1 - 0.89910000000000001, !- Feature Value 1 - lpd_fraction_compact_fluorescent, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0.071900000000000006, !- Feature Value 2 - lpd_fraction_high_bay, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0, !- Feature Value 3 - lpd_fraction_specialty_lighting, !- Feature Name 4 - Double, !- Feature Data Type 4 - 0.023199999999999998, !- Feature Value 4 - lpd_fraction_exit_lighting, !- Feature Name 5 - Double, !- Feature Data Type 5 - 0.0057999999999999996; !- Feature Value 5 - -OS:ElectricEquipment:Definition, - {71561d8d-4417-43b8-bcdc-ee2e80273b3b}, !- Handle - Office WholeBuilding - Sm Office Elec Equip Definition, !- Name - Watts/Area, !- Design Level Calculation Method - , !- Design Level {W} - 2.38958843542687, !- Watts per Space Floor Area {W/m2} - , !- Watts per Person {W/person} - 0, !- Fraction Latent - 0.5, !- Fraction Radiant - 0; !- Fraction Lost - -OS:ElectricEquipment, - {1a689048-fe98-4389-ab14-fdc272e31c1a}, !- Handle - Office WholeBuilding - Sm Office Elec Equip, !- Name - {71561d8d-4417-43b8-bcdc-ee2e80273b3b}, !- Electric Equipment Definition Name - {7b0596cd-aae7-4c12-8af2-bd4362191700}, !- Space or SpaceType Name - {5ec30b08-13d3-40cf-995c-2eea15c60d1b}, !- Schedule Name - , !- Multiplier - General; !- End-Use Subcategory - -OS:DesignSpecification:OutdoorAir, - {ec9072c0-0a72-43ea-8867-27ba59be7a30}, !- Handle - Office WholeBuilding - Sm Office Ventilation, !- Name - Sum, !- Outdoor Air Method - 0.009438948864, !- Outdoor Air Flow per Person {m3/s-person} - , !- 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, - {1c350ca7-a13f-49b0-a071-45d541846985}, !- Handle - Office WholeBuilding - Sm Office Schedule Set, !- Name - , !- Hours of Operation Schedule Name - {646aefcb-2e48-490d-8298-46593e5e7a14}, !- Number of People Schedule Name - {399de19a-5dbe-43c8-814b-1f3d3ca9231f}, !- People Activity Level Schedule Name - {d316e523-5dcc-4887-b19f-c2eb41df1811}, !- Lighting Schedule Name - {8e09d78e-80ea-4fdc-8af7-371969ce38e8}, !- Electric Equipment Schedule Name - , !- Gas Equipment Schedule Name - , !- Hot Water Equipment Schedule Name - {0f191ea3-572b-4ec5-8b2a-f30da234fa68}, !- Infiltration Schedule Name - , !- Steam Equipment Schedule Name - ; !- Other Equipment Schedule Name - -OS:Schedule:Ruleset, - {646aefcb-2e48-490d-8298-46593e5e7a14}, !- Handle - Small Office Bldg Occ, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {9d11ccf6-efb1-4ef6-b86f-49bb2df5e09c}, !- Default Day Schedule Name - {8730a4a7-fedd-4a23-ab01-ee745a5fad18}, !- Summer Design Day Schedule Name - {df19ceb1-0bce-462b-ad1c-b0899053f218}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {9d11ccf6-efb1-4ef6-b86f-49bb2df5e09c}, !- Handle - Small Office Bldg Occ Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 5, !- Minute 1 - 0.0194444444444442, !- Value Until Time 1 - 0, !- Hour 2 - 15, !- Minute 2 - 0.0166666666666664, !- Value Until Time 2 - 0, !- Hour 3 - 25, !- Minute 3 - 0.0138888888888886, !- Value Until Time 3 - 0, !- Hour 4 - 35, !- Minute 4 - 0.0111111111111108, !- Value Until Time 4 - 0, !- Hour 5 - 45, !- Minute 5 - 0.00833333333333304, !- Value Until Time 5 - 0, !- Hour 6 - 55, !- Minute 6 - 0.00555555555555524, !- Value Until Time 6 - 1, !- Hour 7 - 5, !- Minute 7 - 0.00277777777777744, !- Value Until Time 7 - 1, !- Hour 8 - 15, !- Minute 8 - 0, !- Value Until Time 8 - 4, !- Hour 9 - 45, !- Minute 9 - 0, !- Value Until Time 9 - 4, !- Hour 10 - 55, !- Minute 10 - 0.0166666666666667, !- Value Until Time 10 - 5, !- Hour 11 - 5, !- Minute 11 - 0.0333333333333334, !- Value Until Time 11 - 5, !- Hour 12 - 15, !- Minute 12 - 0.0500000000000001, !- Value Until Time 12 - 5, !- Hour 13 - 25, !- Minute 13 - 0.0666666666666668, !- Value Until Time 13 - 5, !- Hour 14 - 35, !- Minute 14 - 0.0833333333333335, !- Value Until Time 14 - 5, !- Hour 15 - 45, !- Minute 15 - 0.1, !- Value Until Time 15 - 5, !- Hour 16 - 55, !- Minute 16 - 0.116666666666667, !- Value Until Time 16 - 6, !- Hour 17 - 5, !- Minute 17 - 0.133333333333333, !- Value Until Time 17 - 6, !- Hour 18 - 15, !- Minute 18 - 0.15, !- Value Until Time 18 - 6, !- Hour 19 - 25, !- Minute 19 - 0.166666666666667, !- Value Until Time 19 - 6, !- Hour 20 - 35, !- Minute 20 - 0.183333333333334, !- Value Until Time 20 - 6, !- Hour 21 - 45, !- Minute 21 - 0.2, !- Value Until Time 21 - 6, !- Hour 22 - 55, !- Minute 22 - 0.325, !- Value Until Time 22 - 7, !- Hour 23 - 5, !- Minute 23 - 0.45, !- Value Until Time 23 - 7, !- Hour 24 - 15, !- Minute 24 - 0.575000000000001, !- Value Until Time 24 - 7, !- Hour 25 - 25, !- Minute 25 - 0.700000000000001, !- Value Until Time 25 - 7, !- Hour 26 - 35, !- Minute 26 - 0.825000000000001, !- Value Until Time 26 - 7, !- Hour 27 - 45, !- Minute 27 - 0.95, !- Value Until Time 27 - 11, !- Hour 28 - 15, !- Minute 28 - 0.95, !- Value Until Time 28 - 11, !- Hour 29 - 24, !- Minute 29 - 0.875, !- Value Until Time 29 - 11, !- Hour 30 - 34, !- Minute 30 - 0.8, !- Value Until Time 30 - 11, !- Hour 31 - 44, !- Minute 31 - 0.725000000000001, !- Value Until Time 31 - 11, !- Hour 32 - 54, !- Minute 32 - 0.650000000000001, !- Value Until Time 32 - 12, !- Hour 33 - 4, !- Minute 33 - 0.575000000000001, !- Value Until Time 33 - 12, !- Hour 34 - 14, !- Minute 34 - 0.500000000000002, !- Value Until Time 34 - 12, !- Hour 35 - 15, !- Minute 35 - 0.5, !- Value Until Time 35 - 12, !- Hour 36 - 24, !- Minute 36 - 0.575, !- Value Until Time 36 - 12, !- Hour 37 - 34, !- Minute 37 - 0.649999999999999, !- Value Until Time 37 - 12, !- Hour 38 - 44, !- Minute 38 - 0.724999999999999, !- Value Until Time 38 - 12, !- Hour 39 - 54, !- Minute 39 - 0.799999999999999, !- Value Until Time 39 - 13, !- Hour 40 - 4, !- Minute 40 - 0.874999999999999, !- Value Until Time 40 - 13, !- Hour 41 - 14, !- Minute 41 - 0.949999999999998, !- Value Until Time 41 - 13, !- Hour 42 - 15, !- Minute 42 - 0.95, !- Value Until Time 42 - 16, !- Hour 43 - 45, !- Minute 43 - 0.95, !- Value Until Time 43 - 16, !- Hour 44 - 55, !- Minute 44 - 0.841666666666666, !- Value Until Time 44 - 17, !- Hour 45 - 5, !- Minute 45 - 0.733333333333332, !- Value Until Time 45 - 17, !- Hour 46 - 15, !- Minute 46 - 0.624999999999998, !- Value Until Time 46 - 17, !- Hour 47 - 25, !- Minute 47 - 0.516666666666663, !- Value Until Time 47 - 17, !- Hour 48 - 35, !- Minute 48 - 0.408333333333329, !- Value Until Time 48 - 17, !- Hour 49 - 45, !- Minute 49 - 0.3, !- Value Until Time 49 - 17, !- Hour 50 - 55, !- Minute 50 - 0.266666666666666, !- Value Until Time 50 - 18, !- Hour 51 - 5, !- Minute 51 - 0.233333333333333, !- Value Until Time 51 - 18, !- Hour 52 - 15, !- Minute 52 - 0.199999999999999, !- Value Until Time 52 - 18, !- Hour 53 - 25, !- Minute 53 - 0.166666666666666, !- Value Until Time 53 - 18, !- Hour 54 - 35, !- Minute 54 - 0.133333333333332, !- Value Until Time 54 - 18, !- Hour 55 - 45, !- Minute 55 - 0.1, !- Value Until Time 55 - 19, !- Hour 56 - 15, !- Minute 56 - 0.1, !- Value Until Time 56 - 19, !- Hour 57 - 25, !- Minute 57 - 0.0958333333333333, !- Value Until Time 57 - 19, !- Hour 58 - 35, !- Minute 58 - 0.0916666666666666, !- Value Until Time 58 - 19, !- Hour 59 - 45, !- Minute 59 - 0.0874999999999999, !- Value Until Time 59 - 19, !- Hour 60 - 55, !- Minute 60 - 0.0833333333333332, !- Value Until Time 60 - 20, !- Hour 61 - 5, !- Minute 61 - 0.0791666666666665, !- Value Until Time 61 - 20, !- Hour 62 - 15, !- Minute 62 - 0.0749999999999998, !- Value Until Time 62 - 20, !- Hour 63 - 25, !- Minute 63 - 0.0708333333333331, !- Value Until Time 63 - 20, !- Hour 64 - 35, !- Minute 64 - 0.0666666666666664, !- Value Until Time 64 - 20, !- Hour 65 - 45, !- Minute 65 - 0.0624999999999997, !- Value Until Time 65 - 20, !- Hour 66 - 55, !- Minute 66 - 0.058333333333333, !- Value Until Time 66 - 21, !- Hour 67 - 5, !- Minute 67 - 0.0541666666666663, !- Value Until Time 67 - 21, !- Hour 68 - 15, !- Minute 68 - 0.05, !- Value Until Time 68 - 22, !- Hour 69 - 15, !- Minute 69 - 0.05, !- Value Until Time 69 - 22, !- Hour 70 - 25, !- Minute 70 - 0.0472222222222222, !- Value Until Time 70 - 22, !- Hour 71 - 35, !- Minute 71 - 0.0444444444444444, !- Value Until Time 71 - 22, !- Hour 72 - 45, !- Minute 72 - 0.0416666666666666, !- Value Until Time 72 - 22, !- Hour 73 - 55, !- Minute 73 - 0.0388888888888888, !- Value Until Time 73 - 23, !- Hour 74 - 5, !- Minute 74 - 0.036111111111111, !- Value Until Time 74 - 23, !- Hour 75 - 15, !- Minute 75 - 0.0333333333333332, !- Value Until Time 75 - 23, !- Hour 76 - 25, !- Minute 76 - 0.0305555555555554, !- Value Until Time 76 - 23, !- Hour 77 - 35, !- Minute 77 - 0.0277777777777776, !- Value Until Time 77 - 23, !- Hour 78 - 45, !- Minute 78 - 0.0249999999999998, !- Value Until Time 78 - 23, !- Hour 79 - 55, !- Minute 79 - 0.022222222222222, !- Value Until Time 79 - 24, !- Hour 80 - 0, !- Minute 80 - 0.0194444444444442; !- Value Until Time 80 - -OS:Schedule:Rule, - {fcd89d08-c4e5-4506-b50b-884a76696cd8}, !- Handle - Schedule Rule 2, !- Name - {646aefcb-2e48-490d-8298-46593e5e7a14}, !- Schedule Ruleset Name - 1, !- Rule Order - {eb433e3b-6272-4310-9d9b-e3acbbd1cfd0}, !- 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, - {eb433e3b-6272-4310-9d9b-e3acbbd1cfd0}, !- Handle - Small Office Bldg Occ Sat Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 5, !- Hour 2 - 10, !- Minute 2 - 0.00833333333333335, !- Value Until Time 2 - 5, !- Hour 3 - 20, !- Minute 3 - 0.0166666666666667, !- Value Until Time 3 - 5, !- Hour 4 - 30, !- Minute 4 - 0.025, !- Value Until Time 4 - 5, !- Hour 5 - 40, !- Minute 5 - 0.0333333333333334, !- Value Until Time 5 - 5, !- Hour 6 - 50, !- Minute 6 - 0.0416666666666667, !- Value Until Time 6 - 6, !- Hour 7 - 0, !- Minute 7 - 0.0500000000000001, !- Value Until Time 7 - 6, !- Hour 8 - 10, !- Minute 8 - 0.0583333333333334, !- Value Until Time 8 - 6, !- Hour 9 - 20, !- Minute 9 - 0.0666666666666668, !- Value Until Time 9 - 6, !- Hour 10 - 30, !- Minute 10 - 0.0750000000000001, !- Value Until Time 10 - 6, !- Hour 11 - 40, !- Minute 11 - 0.0833333333333335, !- Value Until Time 11 - 6, !- Hour 12 - 50, !- Minute 12 - 0.0916666666666668, !- Value Until Time 12 - 7, !- Hour 13 - 0, !- Minute 13 - 0.1, !- Value Until Time 13 - 7, !- Hour 14 - 10, !- Minute 14 - 0.116666666666667, !- Value Until Time 14 - 7, !- Hour 15 - 20, !- Minute 15 - 0.133333333333333, !- Value Until Time 15 - 7, !- Hour 16 - 30, !- Minute 16 - 0.15, !- Value Until Time 16 - 7, !- Hour 17 - 40, !- Minute 17 - 0.166666666666667, !- Value Until Time 17 - 7, !- Hour 18 - 50, !- Minute 18 - 0.183333333333333, !- Value Until Time 18 - 8, !- Hour 19 - 0, !- Minute 19 - 0.2, !- Value Until Time 19 - 8, !- Hour 20 - 10, !- Minute 20 - 0.216666666666667, !- Value Until Time 20 - 8, !- Hour 21 - 20, !- Minute 21 - 0.233333333333333, !- Value Until Time 21 - 8, !- Hour 22 - 30, !- Minute 22 - 0.25, !- Value Until Time 22 - 8, !- Hour 23 - 39, !- Minute 23 - 0.266666666666667, !- Value Until Time 23 - 8, !- Hour 24 - 49, !- Minute 24 - 0.283333333333333, !- Value Until Time 24 - 8, !- Hour 25 - 59, !- Minute 25 - 0.3, !- Value Until Time 25 - 9, !- Hour 26 - 0, !- Minute 26 - 0.3, !- Value Until Time 26 - 10, !- Hour 27 - 0, !- Minute 27 - 0.3, !- Value Until Time 27 - 10, !- Hour 28 - 9, !- Minute 28 - 0.291666666666667, !- Value Until Time 28 - 10, !- Hour 29 - 19, !- Minute 29 - 0.283333333333333, !- Value Until Time 29 - 10, !- Hour 30 - 29, !- Minute 30 - 0.275, !- Value Until Time 30 - 10, !- Hour 31 - 39, !- Minute 31 - 0.266666666666667, !- Value Until Time 31 - 10, !- Hour 32 - 49, !- Minute 32 - 0.258333333333333, !- Value Until Time 32 - 10, !- Hour 33 - 59, !- Minute 33 - 0.25, !- Value Until Time 33 - 11, !- Hour 34 - 9, !- Minute 34 - 0.241666666666667, !- Value Until Time 34 - 11, !- Hour 35 - 19, !- Minute 35 - 0.233333333333334, !- Value Until Time 35 - 11, !- Hour 36 - 29, !- Minute 36 - 0.225, !- Value Until Time 36 - 11, !- Hour 37 - 39, !- Minute 37 - 0.216666666666667, !- Value Until Time 37 - 11, !- Hour 38 - 49, !- Minute 38 - 0.208333333333334, !- Value Until Time 38 - 11, !- Hour 39 - 59, !- Minute 39 - 0.2, !- Value Until Time 39 - 12, !- Hour 40 - 9, !- Minute 40 - 0.191666666666667, !- Value Until Time 40 - 12, !- Hour 41 - 19, !- Minute 41 - 0.183333333333334, !- Value Until Time 41 - 12, !- Hour 42 - 29, !- Minute 42 - 0.175, !- Value Until Time 42 - 12, !- Hour 43 - 39, !- Minute 43 - 0.166666666666667, !- Value Until Time 43 - 12, !- Hour 44 - 49, !- Minute 44 - 0.158333333333334, !- Value Until Time 44 - 12, !- Hour 45 - 59, !- Minute 45 - 0.150000000000001, !- Value Until Time 45 - 13, !- Hour 46 - 9, !- Minute 46 - 0.141666666666667, !- Value Until Time 46 - 13, !- Hour 47 - 19, !- Minute 47 - 0.133333333333334, !- Value Until Time 47 - 13, !- Hour 48 - 29, !- Minute 48 - 0.125000000000001, !- Value Until Time 48 - 13, !- Hour 49 - 39, !- Minute 49 - 0.116666666666667, !- Value Until Time 49 - 13, !- Hour 50 - 49, !- Minute 50 - 0.108333333333334, !- Value Until Time 50 - 13, !- Hour 51 - 59, !- Minute 51 - 0.100000000000001, !- Value Until Time 51 - 14, !- Hour 52 - 0, !- Minute 52 - 0.1, !- Value Until Time 52 - 15, !- Hour 53 - 0, !- Minute 53 - 0.1, !- Value Until Time 53 - 15, !- Hour 54 - 9, !- Minute 54 - 0.0958333333333334, !- Value Until Time 54 - 15, !- Hour 55 - 19, !- Minute 55 - 0.0916666666666667, !- Value Until Time 55 - 15, !- Hour 56 - 29, !- Minute 56 - 0.0875, !- Value Until Time 56 - 15, !- Hour 57 - 39, !- Minute 57 - 0.0833333333333334, !- Value Until Time 57 - 15, !- Hour 58 - 49, !- Minute 58 - 0.0791666666666667, !- Value Until Time 58 - 15, !- Hour 59 - 59, !- Minute 59 - 0.0750000000000001, !- Value Until Time 59 - 16, !- Hour 60 - 9, !- Minute 60 - 0.0708333333333334, !- Value Until Time 60 - 16, !- Hour 61 - 19, !- Minute 61 - 0.0666666666666667, !- Value Until Time 61 - 16, !- Hour 62 - 30, !- Minute 62 - 0.0625, !- Value Until Time 62 - 16, !- Hour 63 - 40, !- Minute 63 - 0.0583333333333333, !- Value Until Time 63 - 16, !- Hour 64 - 50, !- Minute 64 - 0.0541666666666666, !- Value Until Time 64 - 17, !- Hour 65 - 0, !- Minute 65 - 0.0499999999999999, !- Value Until Time 65 - 17, !- Hour 66 - 10, !- Minute 66 - 0.0458333333333332, !- Value Until Time 66 - 17, !- Hour 67 - 20, !- Minute 67 - 0.0416666666666665, !- Value Until Time 67 - 17, !- Hour 68 - 30, !- Minute 68 - 0.0374999999999998, !- Value Until Time 68 - 17, !- Hour 69 - 40, !- Minute 69 - 0.0333333333333331, !- Value Until Time 69 - 17, !- Hour 70 - 50, !- Minute 70 - 0.0291666666666664, !- Value Until Time 70 - 18, !- Hour 71 - 0, !- Minute 71 - 0.0249999999999997, !- Value Until Time 71 - 18, !- Hour 72 - 10, !- Minute 72 - 0.020833333333333, !- Value Until Time 72 - 18, !- Hour 73 - 20, !- Minute 73 - 0.0166666666666663, !- Value Until Time 73 - 18, !- Hour 74 - 30, !- Minute 74 - 0.0124999999999996, !- Value Until Time 74 - 18, !- Hour 75 - 40, !- Minute 75 - 0.00833333333333295, !- Value Until Time 75 - 18, !- Hour 76 - 50, !- Minute 76 - 0.00416666666666625, !- Value Until Time 76 - 19, !- Hour 77 - 0, !- Minute 77 - 0, !- Value Until Time 77 - 24, !- Hour 78 - 0, !- Minute 78 - 0; !- Value Until Time 78 - -OS:Schedule:Day, - {8730a4a7-fedd-4a23-ab01-ee745a5fad18}, !- Handle - Small Office Bldg Occ Summer Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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.05; !- Value Until Time 3 - -OS:Schedule:Day, - {df19ceb1-0bce-462b-ad1c-b0899053f218}, !- Handle - Small Office Bldg Occ Winter Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {659d4ee9-caea-4801-9df1-af3402d47aec}, !- Handle - Schedule Rule 3, !- Name - {646aefcb-2e48-490d-8298-46593e5e7a14}, !- Schedule Ruleset Name - 0, !- Rule Order - {4164448f-87cb-424a-9819-5dec90bbf12f}, !- 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, - {4164448f-87cb-424a-9819-5dec90bbf12f}, !- Handle - Small Office Bldg Occ WntrDsn|Sun Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {399de19a-5dbe-43c8-814b-1f3d3ca9231f}, !- Handle - Small Office Activity, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - {ab40253c-b1ac-414d-93db-3bbc508f4734}, !- Default Day Schedule Name - {f323a8b1-05ba-4062-bb70-c0250f2bc7eb}, !- Summer Design Day Schedule Name - {bca20c58-7898-4da3-bc04-90cc9dbd174d}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {ab40253c-b1ac-414d-93db-3bbc508f4734}, !- Handle - Small Office Activity Default, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 120; !- Value Until Time 1 - -OS:Schedule:Day, - {bca20c58-7898-4da3-bc04-90cc9dbd174d}, !- Handle - Small Office Activity Winter Design Day, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 120; !- Value Until Time 1 - -OS:Schedule:Day, - {f323a8b1-05ba-4062-bb70-c0250f2bc7eb}, !- Handle - Small Office Activity Summer Design Day, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 120; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Handle - ActivityLevel, !- Name - 0, !- Lower Limit Value - , !- Upper Limit Value - Continuous, !- Numeric Type - ActivityLevel; !- Unit Type - -OS:Schedule:Ruleset, - {d316e523-5dcc-4887-b19f-c2eb41df1811}, !- Handle - Office BLDG_LIGHT_EndUseData, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {5373c2d3-c1d3-4801-bbc7-db967ced9aa6}, !- Default Day Schedule Name - {d24a9843-ebbd-459c-9689-10f8c80d2f41}, !- Summer Design Day Schedule Name - {3029cd80-2ce4-4174-b2c4-bdc0f40dbb06}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {5373c2d3-c1d3-4801-bbc7-db967ced9aa6}, !- Handle - Schedule Day 5, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 5, !- Minute 1 - 0.0442962736666667, !- Value Until Time 1 - 0, !- Hour 2 - 15, !- Minute 2 - 0.043865994, !- Value Until Time 2 - 0, !- Hour 3 - 25, !- Minute 3 - 0.0434357143333333, !- Value Until Time 3 - 0, !- Hour 4 - 35, !- Minute 4 - 0.0430054346666666, !- Value Until Time 4 - 0, !- Hour 5 - 45, !- Minute 5 - 0.03399742, !- Value Until Time 5 - 0, !- Hour 6 - 55, !- Minute 6 - 0.0342501688333333, !- Value Until Time 6 - 1, !- Hour 7 - 4, !- Minute 7 - 0.0345029176666667, !- Value Until Time 7 - 1, !- Hour 8 - 15, !- Minute 8 - 0.0347556665, !- Value Until Time 8 - 1, !- Hour 9 - 25, !- Minute 9 - 0.0350084153333333, !- Value Until Time 9 - 1, !- Hour 10 - 35, !- Minute 10 - 0.0352611641666667, !- Value Until Time 10 - 1, !- Hour 11 - 45, !- Minute 11 - 0.035513913, !- Value Until Time 11 - 1, !- Hour 12 - 55, !- Minute 12 - 0.0367952618333333, !- Value Until Time 12 - 2, !- Hour 13 - 5, !- Minute 13 - 0.0380766106666667, !- Value Until Time 13 - 2, !- Hour 14 - 15, !- Minute 14 - 0.0393579595, !- Value Until Time 14 - 2, !- Hour 15 - 24, !- Minute 15 - 0.0406393083333333, !- Value Until Time 15 - 2, !- Hour 16 - 34, !- Minute 16 - 0.0419206571666667, !- Value Until Time 16 - 2, !- Hour 17 - 44, !- Minute 17 - 0.043202006, !- Value Until Time 17 - 2, !- Hour 18 - 45, !- Minute 18 - 0.043202006, !- Value Until Time 18 - 2, !- Hour 19 - 54, !- Minute 19 - 0.0421596691666667, !- Value Until Time 19 - 3, !- Hour 20 - 4, !- Minute 20 - 0.0411173323333333, !- Value Until Time 20 - 3, !- Hour 21 - 14, !- Minute 21 - 0.0400749955, !- Value Until Time 21 - 3, !- Hour 22 - 24, !- Minute 22 - 0.0390326586666667, !- Value Until Time 22 - 3, !- Hour 23 - 34, !- Minute 23 - 0.0379903218333333, !- Value Until Time 23 - 3, !- Hour 24 - 44, !- Minute 24 - 0.036947985, !- Value Until Time 24 - 3, !- Hour 25 - 45, !- Minute 25 - 0.036947985, !- Value Until Time 25 - 3, !- Hour 26 - 54, !- Minute 26 - 0.037079159, !- Value Until Time 26 - 4, !- Hour 27 - 4, !- Minute 27 - 0.037210333, !- Value Until Time 27 - 4, !- Hour 28 - 15, !- Minute 28 - 0.037341507, !- Value Until Time 28 - 4, !- Hour 29 - 25, !- Minute 29 - 0.037472681, !- Value Until Time 29 - 4, !- Hour 30 - 35, !- Minute 30 - 0.037603855, !- Value Until Time 30 - 4, !- Hour 31 - 45, !- Minute 31 - 0.037735029, !- Value Until Time 31 - 4, !- Hour 32 - 55, !- Minute 32 - 0.0419383675, !- Value Until Time 32 - 5, !- Hour 33 - 5, !- Minute 33 - 0.046141706, !- Value Until Time 33 - 5, !- Hour 34 - 15, !- Minute 34 - 0.0503450445, !- Value Until Time 34 - 5, !- Hour 35 - 25, !- Minute 35 - 0.054548383, !- Value Until Time 35 - 5, !- Hour 36 - 35, !- Minute 36 - 0.0587517215, !- Value Until Time 36 - 5, !- Hour 37 - 45, !- Minute 37 - 0.06295506, !- Value Until Time 37 - 5, !- Hour 38 - 55, !- Minute 38 - 0.0723684325, !- Value Until Time 38 - 6, !- Hour 39 - 5, !- Minute 39 - 0.081781805, !- Value Until Time 39 - 6, !- Hour 40 - 15, !- Minute 40 - 0.0911951775, !- Value Until Time 40 - 6, !- Hour 41 - 25, !- Minute 41 - 0.10060855, !- Value Until Time 41 - 6, !- Hour 42 - 35, !- Minute 42 - 0.1100219225, !- Value Until Time 42 - 6, !- Hour 43 - 45, !- Minute 43 - 0.119435295, !- Value Until Time 43 - 6, !- Hour 44 - 55, !- Minute 44 - 0.152559235833333, !- Value Until Time 44 - 7, !- Hour 45 - 5, !- Minute 45 - 0.185683176666667, !- Value Until Time 45 - 7, !- Hour 46 - 15, !- Minute 46 - 0.2188071175, !- Value Until Time 46 - 7, !- Hour 47 - 25, !- Minute 47 - 0.251931058333334, !- Value Until Time 47 - 7, !- Hour 48 - 35, !- Minute 48 - 0.285054999166667, !- Value Until Time 48 - 7, !- Hour 49 - 45, !- Minute 49 - 0.31817894, !- Value Until Time 49 - 7, !- Hour 50 - 55, !- Minute 50 - 0.339711411666667, !- Value Until Time 50 - 8, !- Hour 51 - 5, !- Minute 51 - 0.361243883333333, !- Value Until Time 51 - 8, !- Hour 52 - 15, !- Minute 52 - 0.382776355, !- Value Until Time 52 - 8, !- Hour 53 - 24, !- Minute 53 - 0.404308826666667, !- Value Until Time 53 - 8, !- Hour 54 - 34, !- Minute 54 - 0.425841298333333, !- Value Until Time 54 - 8, !- Hour 55 - 44, !- Minute 55 - 0.44737377, !- Value Until Time 55 - 8, !- Hour 56 - 45, !- Minute 56 - 0.44737377, !- Value Until Time 56 - 8, !- Hour 57 - 54, !- Minute 57 - 0.453912329, !- Value Until Time 57 - 9, !- Hour 58 - 4, !- Minute 58 - 0.460450888, !- Value Until Time 58 - 9, !- Hour 59 - 14, !- Minute 59 - 0.466989447, !- Value Until Time 59 - 9, !- Hour 60 - 24, !- Minute 60 - 0.473528006, !- Value Until Time 60 - 9, !- Hour 61 - 34, !- Minute 61 - 0.480066565, !- Value Until Time 61 - 9, !- Hour 62 - 44, !- Minute 62 - 0.486605124, !- Value Until Time 62 - 9, !- Hour 63 - 45, !- Minute 63 - 0.486605124, !- Value Until Time 63 - 9, !- Hour 64 - 54, !- Minute 64 - 0.487026796555556, !- Value Until Time 64 - 10, !- Hour 65 - 4, !- Minute 65 - 0.487448469111111, !- Value Until Time 65 - 10, !- Hour 66 - 14, !- Minute 66 - 0.487870141666667, !- Value Until Time 66 - 10, !- Hour 67 - 24, !- Minute 67 - 0.488291814222222, !- Value Until Time 67 - 10, !- Hour 68 - 34, !- Minute 68 - 0.488713486777778, !- Value Until Time 68 - 10, !- Hour 69 - 44, !- Minute 69 - 0.489135159333333, !- Value Until Time 69 - 10, !- Hour 70 - 54, !- Minute 70 - 0.489556831888889, !- Value Until Time 70 - 11, !- Hour 71 - 4, !- Minute 71 - 0.489978504444444, !- Value Until Time 71 - 11, !- Hour 72 - 14, !- Minute 72 - 0.490400177, !- Value Until Time 72 - 11, !- Hour 73 - 15, !- Minute 73 - 0.490400177, !- Value Until Time 73 - 11, !- Hour 74 - 24, !- Minute 74 - 0.487411464333333, !- Value Until Time 74 - 11, !- Hour 75 - 34, !- Minute 75 - 0.484422751666667, !- Value Until Time 75 - 11, !- Hour 76 - 44, !- Minute 76 - 0.481434039, !- Value Until Time 76 - 11, !- Hour 77 - 54, !- Minute 77 - 0.478445326333333, !- Value Until Time 77 - 12, !- Hour 78 - 4, !- Minute 78 - 0.475456613666667, !- Value Until Time 78 - 12, !- Hour 79 - 14, !- Minute 79 - 0.472467901, !- Value Until Time 79 - 12, !- Hour 80 - 15, !- Minute 80 - 0.472467901, !- Value Until Time 80 - 12, !- Hour 81 - 24, !- Minute 81 - 0.467816268333333, !- Value Until Time 81 - 12, !- Hour 82 - 34, !- Minute 82 - 0.463164635666667, !- Value Until Time 82 - 12, !- Hour 83 - 44, !- Minute 83 - 0.458513003, !- Value Until Time 83 - 12, !- Hour 84 - 54, !- Minute 84 - 0.453861370333333, !- Value Until Time 84 - 13, !- Hour 85 - 4, !- Minute 85 - 0.449209737666667, !- Value Until Time 85 - 13, !- Hour 86 - 14, !- Minute 86 - 0.444558105, !- Value Until Time 86 - 13, !- Hour 87 - 15, !- Minute 87 - 0.444558105, !- Value Until Time 87 - 13, !- Hour 88 - 24, !- Minute 88 - 0.446809231333333, !- Value Until Time 88 - 13, !- Hour 89 - 34, !- Minute 89 - 0.449060357666667, !- Value Until Time 89 - 13, !- Hour 90 - 44, !- Minute 90 - 0.451311484, !- Value Until Time 90 - 13, !- Hour 91 - 54, !- Minute 91 - 0.453562610333333, !- Value Until Time 91 - 14, !- Hour 92 - 4, !- Minute 92 - 0.455813736666667, !- Value Until Time 92 - 14, !- Hour 93 - 14, !- Minute 93 - 0.458064863, !- Value Until Time 93 - 14, !- Hour 94 - 15, !- Minute 94 - 0.458064863, !- Value Until Time 94 - 14, !- Hour 95 - 24, !- Minute 95 - 0.4555492825, !- Value Until Time 95 - 14, !- Hour 96 - 34, !- Minute 96 - 0.453033702, !- Value Until Time 96 - 14, !- Hour 97 - 44, !- Minute 97 - 0.4505181215, !- Value Until Time 97 - 14, !- Hour 98 - 54, !- Minute 98 - 0.448002541, !- Value Until Time 98 - 15, !- Hour 99 - 4, !- Minute 99 - 0.4454869605, !- Value Until Time 99 - 15, !- Hour 100 - 14, !- Minute 100 - 0.44297138, !- Value Until Time 100 - 15, !- Hour 101 - 15, !- Minute 101 - 0.44297138, !- Value Until Time 101 - 15, !- Hour 102 - 24, !- Minute 102 - 0.435609820777778, !- Value Until Time 102 - 15, !- Hour 103 - 34, !- Minute 103 - 0.428248261555556, !- Value Until Time 103 - 15, !- Hour 104 - 44, !- Minute 104 - 0.420886702333333, !- Value Until Time 104 - 15, !- Hour 105 - 54, !- Minute 105 - 0.413525143111111, !- Value Until Time 105 - 16, !- Hour 106 - 4, !- Minute 106 - 0.406163583888889, !- Value Until Time 106 - 16, !- Hour 107 - 15, !- Minute 107 - 0.398802024666667, !- Value Until Time 107 - 16, !- Hour 108 - 25, !- Minute 108 - 0.391440465444444, !- Value Until Time 108 - 16, !- Hour 109 - 35, !- Minute 109 - 0.384078906222222, !- Value Until Time 109 - 16, !- Hour 110 - 45, !- Minute 110 - 0.376717347, !- Value Until Time 110 - 16, !- Hour 111 - 55, !- Minute 111 - 0.344383087, !- Value Until Time 111 - 17, !- Hour 112 - 5, !- Minute 112 - 0.312048826999999, !- Value Until Time 112 - 17, !- Hour 113 - 15, !- Minute 113 - 0.279714566999999, !- Value Until Time 113 - 17, !- Hour 114 - 25, !- Minute 114 - 0.247380306999999, !- Value Until Time 114 - 17, !- Hour 115 - 35, !- Minute 115 - 0.215046046999999, !- Value Until Time 115 - 17, !- Hour 116 - 45, !- Minute 116 - 0.182711787, !- Value Until Time 116 - 17, !- Hour 117 - 55, !- Minute 117 - 0.167376734, !- Value Until Time 117 - 18, !- Hour 118 - 5, !- Minute 118 - 0.152041681, !- Value Until Time 118 - 18, !- Hour 119 - 15, !- Minute 119 - 0.136706628, !- Value Until Time 119 - 18, !- Hour 120 - 25, !- Minute 120 - 0.121371575, !- Value Until Time 120 - 18, !- Hour 121 - 35, !- Minute 121 - 0.106036521999999, !- Value Until Time 121 - 18, !- Hour 122 - 45, !- Minute 122 - 0.090701469, !- Value Until Time 122 - 18, !- Hour 123 - 55, !- Minute 123 - 0.0866046195, !- Value Until Time 123 - 19, !- Hour 124 - 5, !- Minute 124 - 0.08250777, !- Value Until Time 124 - 19, !- Hour 125 - 15, !- Minute 125 - 0.0784109204999999, !- Value Until Time 125 - 19, !- Hour 126 - 25, !- Minute 126 - 0.0743140709999999, !- Value Until Time 126 - 19, !- Hour 127 - 35, !- Minute 127 - 0.0702172214999999, !- Value Until Time 127 - 19, !- Hour 128 - 45, !- Minute 128 - 0.066120372, !- Value Until Time 128 - 19, !- Hour 129 - 55, !- Minute 129 - 0.0656419855, !- Value Until Time 129 - 20, !- Hour 130 - 5, !- Minute 130 - 0.065163599, !- Value Until Time 130 - 20, !- Hour 131 - 15, !- Minute 131 - 0.0646852125, !- Value Until Time 131 - 20, !- Hour 132 - 25, !- Minute 132 - 0.064206826, !- Value Until Time 132 - 20, !- Hour 133 - 35, !- Minute 133 - 0.0637284395, !- Value Until Time 133 - 20, !- Hour 134 - 45, !- Minute 134 - 0.063250053, !- Value Until Time 134 - 20, !- Hour 135 - 55, !- Minute 135 - 0.0633487713333333, !- Value Until Time 135 - 21, !- Hour 136 - 5, !- Minute 136 - 0.0634474896666667, !- Value Until Time 136 - 21, !- Hour 137 - 15, !- Minute 137 - 0.063546208, !- Value Until Time 137 - 21, !- Hour 138 - 25, !- Minute 138 - 0.0636449263333333, !- Value Until Time 138 - 21, !- Hour 139 - 35, !- Minute 139 - 0.0637436446666667, !- Value Until Time 139 - 21, !- Hour 140 - 45, !- Minute 140 - 0.063842363, !- Value Until Time 140 - 21, !- Hour 141 - 55, !- Minute 141 - 0.0637902073333333, !- Value Until Time 141 - 22, !- Hour 142 - 5, !- Minute 142 - 0.0637380516666667, !- Value Until Time 142 - 22, !- Hour 143 - 15, !- Minute 143 - 0.063685896, !- Value Until Time 143 - 22, !- Hour 144 - 25, !- Minute 144 - 0.0636337403333333, !- Value Until Time 144 - 22, !- Hour 145 - 35, !- Minute 145 - 0.0635815846666667, !- Value Until Time 145 - 22, !- Hour 146 - 45, !- Minute 146 - 0.063529429, !- Value Until Time 146 - 22, !- Hour 147 - 55, !- Minute 147 - 0.0604673296666666, !- Value Until Time 147 - 23, !- Hour 148 - 5, !- Minute 148 - 0.0574052303333333, !- Value Until Time 148 - 23, !- Hour 149 - 15, !- Minute 149 - 0.0543431309999999, !- Value Until Time 149 - 23, !- Hour 150 - 25, !- Minute 150 - 0.0512810316666666, !- Value Until Time 150 - 23, !- Hour 151 - 35, !- Minute 151 - 0.0482189323333332, !- Value Until Time 151 - 23, !- Hour 152 - 45, !- Minute 152 - 0.045156833, !- Value Until Time 152 - 23, !- Hour 153 - 55, !- Minute 153 - 0.0447265533333333, !- Value Until Time 153 - 24, !- Hour 154 - 0, !- Minute 154 - 0.0442962736666667; !- Value Until Time 154 - -OS:Schedule:Rule, - {b72f050e-6534-4cc7-9466-e997da74a344}, !- Handle - Schedule Rule 4, !- Name - {d316e523-5dcc-4887-b19f-c2eb41df1811}, !- Schedule Ruleset Name - 1, !- Rule Order - {8b46c2ba-3425-4a07-bbd6-6d12c7fd6df9}, !- 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, - {8b46c2ba-3425-4a07-bbd6-6d12c7fd6df9}, !- Handle - Office BLDG_LIGHT_EndUseData Sat Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.0265055531974693, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.0263908760144096, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.00976268447074694, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.00987170343771503, !- Value Until Time 4 - 0, !- Hour 5 - 49, !- Minute 5 - 0.00998072240468312, !- Value Until Time 5 - 0, !- Hour 6 - 59, !- Minute 6 - 0.0100897413716512, !- Value Until Time 6 - 1, !- Hour 7 - 9, !- Minute 7 - 0.0101987603386193, !- Value Until Time 7 - 1, !- Hour 8 - 19, !- Minute 8 - 0.0103077793055874, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.0104167982725555, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.00942823562712953, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.00843967298170372, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.00745111033627775, !- Value Until Time 12 - 2, !- Hour 13 - 9, !- Minute 13 - 0.00646254769085178, !- Value Until Time 13 - 2, !- Hour 14 - 19, !- Minute 14 - 0.00547398504542598, !- Value Until Time 14 - 2, !- Hour 15 - 29, !- Minute 15 - 0.0044854224, !- Value Until Time 15 - 2, !- Hour 16 - 30, !- Minute 16 - 0.0044854224, !- Value Until Time 16 - 2, !- Hour 17 - 39, !- Minute 17 - 0.0247853954515732, !- Value Until Time 17 - 2, !- Hour 18 - 49, !- Minute 18 - 0.0246707182685134, !- Value Until Time 18 - 2, !- Hour 19 - 59, !- Minute 19 - 0.0245560410854538, !- Value Until Time 19 - 3, !- Hour 20 - 9, !- Minute 20 - 0.024441363902394, !- Value Until Time 20 - 3, !- Hour 21 - 19, !- Minute 21 - 0.0243266867193343, !- Value Until Time 21 - 3, !- Hour 22 - 29, !- Minute 22 - 0.0242120095362745, !- Value Until Time 22 - 3, !- Hour 23 - 30, !- Minute 23 - 0.0091085724205144, !- Value Until Time 23 - 3, !- Hour 24 - 39, !- Minute 24 - 0.0240973323532147, !- Value Until Time 24 - 3, !- Hour 25 - 49, !- Minute 25 - 0.023982655170155, !- Value Until Time 25 - 3, !- Hour 26 - 59, !- Minute 26 - 0.0238679779870952, !- Value Until Time 26 - 4, !- Hour 27 - 9, !- Minute 27 - 0.0237533008040356, !- Value Until Time 27 - 4, !- Hour 28 - 19, !- Minute 28 - 0.0236386236209758, !- Value Until Time 28 - 4, !- Hour 29 - 29, !- Minute 29 - 0.0235239464379161, !- Value Until Time 29 - 4, !- Hour 30 - 30, !- Minute 30 - 0.00568851865961455, !- Value Until Time 30 - 4, !- Hour 31 - 39, !- Minute 31 - 0.0234092692548563, !- Value Until Time 31 - 4, !- Hour 32 - 40, !- Minute 32 - 0.00586917416630699, !- Value Until Time 32 - 4, !- Hour 33 - 49, !- Minute 33 - 0.0232945920717967, !- Value Until Time 33 - 4, !- Hour 34 - 50, !- Minute 34 - 0.00604982967299961, !- Value Until Time 34 - 5, !- Hour 35 - 0, !- Minute 35 - 0.0231799148887368, !- Value Until Time 35 - 5, !- Hour 36 - 10, !- Minute 36 - 0.023065237705677, !- Value Until Time 36 - 5, !- Hour 37 - 20, !- Minute 37 - 0.0229505605226174, !- Value Until Time 37 - 5, !- Hour 38 - 30, !- Minute 38 - 0.0228358833395576, !- Value Until Time 38 - 5, !- Hour 39 - 40, !- Minute 39 - 0.0227212061564979, !- Value Until Time 39 - 5, !- Hour 40 - 50, !- Minute 40 - 0.0226065289734381, !- Value Until Time 40 - 6, !- Hour 41 - 0, !- Minute 41 - 0.0224918517903785, !- Value Until Time 41 - 6, !- Hour 42 - 10, !- Minute 42 - 0.0223771746073186, !- Value Until Time 42 - 6, !- Hour 43 - 20, !- Minute 43 - 0.0222624974242588, !- Value Until Time 43 - 6, !- Hour 44 - 30, !- Minute 44 - 0.0221478202411992, !- Value Until Time 44 - 6, !- Hour 45 - 40, !- Minute 45 - 0.0220331430581394, !- Value Until Time 45 - 6, !- Hour 46 - 50, !- Minute 46 - 0.0219184658750797, !- Value Until Time 46 - 7, !- Hour 47 - 0, !- Minute 47 - 0.0218037886920199, !- Value Until Time 47 - 7, !- Hour 48 - 10, !- Minute 48 - 0.0216891115089601, !- Value Until Time 48 - 7, !- Hour 49 - 20, !- Minute 49 - 0.0215744343259004, !- Value Until Time 49 - 7, !- Hour 50 - 30, !- Minute 50 - 0.0214597571428406, !- Value Until Time 50 - 7, !- Hour 51 - 40, !- Minute 51 - 0.021345079959781, !- Value Until Time 51 - 7, !- Hour 52 - 50, !- Minute 52 - 0.0212304027767212, !- Value Until Time 52 - 8, !- Hour 53 - 0, !- Minute 53 - 0.0211157255936615, !- Value Until Time 53 - 8, !- Hour 54 - 9, !- Minute 54 - 0.0205801779741164, !- Value Until Time 54 - 8, !- Hour 55 - 10, !- Minute 55 - 0.0210010484106017, !- Value Until Time 55 - 8, !- Hour 56 - 19, !- Minute 56 - 0.0227005211697726, !- Value Until Time 56 - 8, !- Hour 57 - 20, !- Minute 57 - 0.0208863712275421, !- Value Until Time 57 - 8, !- Hour 58 - 29, !- Minute 58 - 0.0248208643654288, !- Value Until Time 58 - 8, !- Hour 59 - 30, !- Minute 59 - 0.0207716940444822, !- Value Until Time 59 - 8, !- Hour 60 - 39, !- Minute 60 - 0.0293578488151028, !- Value Until Time 60 - 8, !- Hour 61 - 40, !- Minute 61 - 0.0206570168614224, !- Value Until Time 61 - 8, !- Hour 62 - 49, !- Minute 62 - 0.0338948332647767, !- Value Until Time 62 - 8, !- Hour 63 - 50, !- Minute 63 - 0.0205423396783628, !- Value Until Time 63 - 8, !- Hour 64 - 59, !- Minute 64 - 0.0384318177144509, !- Value Until Time 64 - 9, !- Hour 65 - 0, !- Minute 65 - 0.020427662495303, !- Value Until Time 65 - 9, !- Hour 66 - 9, !- Minute 66 - 0.0429688021641249, !- Value Until Time 66 - 9, !- Hour 67 - 10, !- Minute 67 - 0.0203129853122433, !- Value Until Time 67 - 9, !- Hour 68 - 19, !- Minute 68 - 0.0475057866137988, !- Value Until Time 68 - 9, !- Hour 69 - 20, !- Minute 69 - 0.0201983081291835, !- Value Until Time 69 - 9, !- Hour 70 - 29, !- Minute 70 - 0.052042771063473, !- Value Until Time 70 - 9, !- Hour 71 - 30, !- Minute 71 - 0.052042771063473, !- Value Until Time 71 - 9, !- Hour 72 - 39, !- Minute 72 - 0.0583203838862275, !- Value Until Time 72 - 9, !- Hour 73 - 49, !- Minute 73 - 0.0645979967089819, !- Value Until Time 73 - 9, !- Hour 74 - 59, !- Minute 74 - 0.0708756095317365, !- Value Until Time 74 - 10, !- Hour 75 - 9, !- Minute 75 - 0.0771532223544909, !- Value Until Time 75 - 10, !- Hour 76 - 19, !- Minute 76 - 0.0834308351772454, !- Value Until Time 76 - 10, !- Hour 77 - 29, !- Minute 77 - 0.0897084479999998, !- Value Until Time 77 - 10, !- Hour 78 - 30, !- Minute 78 - 0.089708448, !- Value Until Time 78 - 10, !- Hour 79 - 39, !- Minute 79 - 0.0192808906647055, !- Value Until Time 79 - 10, !- Hour 80 - 49, !- Minute 80 - 0.0191662134816458, !- Value Until Time 80 - 10, !- Hour 81 - 59, !- Minute 81 - 0.019051536298586, !- Value Until Time 81 - 11, !- Hour 82 - 9, !- Minute 82 - 0.0189368591155264, !- Value Until Time 82 - 11, !- Hour 83 - 19, !- Minute 83 - 0.0188221819324666, !- Value Until Time 83 - 11, !- Hour 84 - 29, !- Minute 84 - 0.0187075047494069, !- Value Until Time 84 - 11, !- Hour 85 - 39, !- Minute 85 - 0.0185928275663471, !- Value Until Time 85 - 11, !- Hour 86 - 49, !- Minute 86 - 0.0184781503832873, !- Value Until Time 86 - 11, !- Hour 87 - 59, !- Minute 87 - 0.0183634732002277, !- Value Until Time 87 - 12, !- Hour 88 - 9, !- Minute 88 - 0.0182487960171678, !- Value Until Time 88 - 12, !- Hour 89 - 19, !- Minute 89 - 0.0181341188341082, !- Value Until Time 89 - 12, !- Hour 90 - 29, !- Minute 90 - 0.0180194416510484, !- Value Until Time 90 - 12, !- Hour 91 - 30, !- Minute 91 - 0.089708448, !- Value Until Time 91 - 12, !- Hour 92 - 39, !- Minute 92 - 0.0179047644679887, !- Value Until Time 92 - 12, !- Hour 93 - 49, !- Minute 93 - 0.0177900872849289, !- Value Until Time 93 - 12, !- Hour 94 - 59, !- Minute 94 - 0.0176754101018691, !- Value Until Time 94 - 13, !- Hour 95 - 9, !- Minute 95 - 0.0175607329188094, !- Value Until Time 95 - 13, !- Hour 96 - 19, !- Minute 96 - 0.0174460557357496, !- Value Until Time 96 - 13, !- Hour 97 - 29, !- Minute 97 - 0.01733137855269, !- Value Until Time 97 - 13, !- Hour 98 - 30, !- Minute 98 - 0.0805513714896046, !- Value Until Time 98 - 13, !- Hour 99 - 39, !- Minute 99 - 0.0172167013696302, !- Value Until Time 99 - 13, !- Hour 100 - 49, !- Minute 100 - 0.0171020241865705, !- Value Until Time 100 - 13, !- Hour 101 - 59, !- Minute 101 - 0.0169873470035107, !- Value Until Time 101 - 14, !- Hour 102 - 9, !- Minute 102 - 0.0168726698204509, !- Value Until Time 102 - 14, !- Hour 103 - 19, !- Minute 103 - 0.0167579926373913, !- Value Until Time 103 - 14, !- Hour 104 - 29, !- Minute 104 - 0.0166433154543314, !- Value Until Time 104 - 14, !- Hour 105 - 30, !- Minute 105 - 0.0560071656057388, !- Value Until Time 105 - 14, !- Hour 106 - 39, !- Minute 106 - 0.0165286382712718, !- Value Until Time 106 - 14, !- Hour 107 - 49, !- Minute 107 - 0.016413961088212, !- Value Until Time 107 - 14, !- Hour 108 - 59, !- Minute 108 - 0.0162992839051523, !- Value Until Time 108 - 15, !- Hour 109 - 9, !- Minute 109 - 0.0161846067220925, !- Value Until Time 109 - 15, !- Hour 110 - 19, !- Minute 110 - 0.0160699295390327, !- Value Until Time 110 - 15, !- Hour 111 - 29, !- Minute 111 - 0.0159552523559731, !- Value Until Time 111 - 15, !- Hour 112 - 30, !- Minute 112 - 0.0517378181760913, !- Value Until Time 112 - 15, !- Hour 113 - 39, !- Minute 113 - 0.0158405751729132, !- Value Until Time 113 - 15, !- Hour 114 - 49, !- Minute 114 - 0.0157258979898536, !- Value Until Time 114 - 15, !- Hour 115 - 59, !- Minute 115 - 0.0156112208067938, !- Value Until Time 115 - 16, !- Hour 116 - 9, !- Minute 116 - 0.0154965436237341, !- Value Until Time 116 - 16, !- Hour 117 - 19, !- Minute 117 - 0.0153818664406743, !- Value Until Time 117 - 16, !- Hour 118 - 29, !- Minute 118 - 0.0152671892576145, !- Value Until Time 118 - 16, !- Hour 119 - 30, !- Minute 119 - 0.0515091026347671, !- Value Until Time 119 - 16, !- Hour 120 - 39, !- Minute 120 - 0.0151525120745549, !- Value Until Time 120 - 16, !- Hour 121 - 40, !- Minute 121 - 0.0503037725318746, !- Value Until Time 121 - 16, !- Hour 122 - 49, !- Minute 122 - 0.015037834891495, !- Value Until Time 122 - 16, !- Hour 123 - 50, !- Minute 123 - 0.049098442428982, !- Value Until Time 123 - 16, !- Hour 124 - 59, !- Minute 124 - 0.0149231577084354, !- Value Until Time 124 - 17, !- Hour 125 - 0, !- Minute 125 - 0.0478931123260896, !- Value Until Time 125 - 17, !- Hour 126 - 9, !- Minute 126 - 0.0148084805253756, !- Value Until Time 126 - 17, !- Hour 127 - 10, !- Minute 127 - 0.046687782223197, !- Value Until Time 127 - 17, !- Hour 128 - 19, !- Minute 128 - 0.0146938033423159, !- Value Until Time 128 - 17, !- Hour 129 - 20, !- Minute 129 - 0.0454824521203046, !- Value Until Time 129 - 17, !- Hour 130 - 29, !- Minute 130 - 0.0145791261592561, !- Value Until Time 130 - 17, !- Hour 131 - 30, !- Minute 131 - 0.0442771220174122, !- Value Until Time 131 - 17, !- Hour 132 - 39, !- Minute 132 - 0.0144644489761965, !- Value Until Time 132 - 17, !- Hour 133 - 40, !- Minute 133 - 0.0445421792578978, !- Value Until Time 133 - 17, !- Hour 134 - 49, !- Minute 134 - 0.0143497717931367, !- Value Until Time 134 - 17, !- Hour 135 - 50, !- Minute 135 - 0.0448072364983834, !- Value Until Time 135 - 17, !- Hour 136 - 59, !- Minute 136 - 0.0142350946100768, !- Value Until Time 136 - 18, !- Hour 137 - 0, !- Minute 137 - 0.0450722937388691, !- Value Until Time 137 - 18, !- Hour 138 - 9, !- Minute 138 - 0.0141204174270172, !- Value Until Time 138 - 18, !- Hour 139 - 10, !- Minute 139 - 0.0453373509793547, !- Value Until Time 139 - 18, !- Hour 140 - 19, !- Minute 140 - 0.0140057402439574, !- Value Until Time 140 - 18, !- Hour 141 - 20, !- Minute 141 - 0.0456024082198404, !- Value Until Time 141 - 18, !- Hour 142 - 29, !- Minute 142 - 0.0138910630608977, !- Value Until Time 142 - 18, !- Hour 143 - 30, !- Minute 143 - 0.045867465460326, !- Value Until Time 143 - 18, !- Hour 144 - 39, !- Minute 144 - 0.0137763858778379, !- Value Until Time 144 - 18, !- Hour 145 - 40, !- Minute 145 - 0.0456271506907003, !- Value Until Time 145 - 18, !- Hour 146 - 49, !- Minute 146 - 0.0136617086947783, !- Value Until Time 146 - 18, !- Hour 147 - 50, !- Minute 147 - 0.0453868359210748, !- Value Until Time 147 - 18, !- Hour 148 - 59, !- Minute 148 - 0.0135470315117185, !- Value Until Time 148 - 19, !- Hour 149 - 0, !- Minute 149 - 0.0451465211514492, !- Value Until Time 149 - 19, !- Hour 150 - 9, !- Minute 150 - 0.0134323543286586, !- Value Until Time 150 - 19, !- Hour 151 - 10, !- Minute 151 - 0.0449062063818235, !- Value Until Time 151 - 19, !- Hour 152 - 19, !- Minute 152 - 0.013317677145599, !- Value Until Time 152 - 19, !- Hour 153 - 20, !- Minute 153 - 0.044665891612198, !- Value Until Time 153 - 19, !- Hour 154 - 30, !- Minute 154 - 0.0444255768425723, !- Value Until Time 154 - 19, !- Hour 155 - 40, !- Minute 155 - 0.0443991350510483, !- Value Until Time 155 - 19, !- Hour 156 - 50, !- Minute 156 - 0.0443726932595243, !- Value Until Time 156 - 20, !- Hour 157 - 0, !- Minute 157 - 0.0443462514680003, !- Value Until Time 157 - 20, !- Hour 158 - 10, !- Minute 158 - 0.0443198096764763, !- Value Until Time 158 - 20, !- Hour 159 - 20, !- Minute 159 - 0.0442933678849523, !- Value Until Time 159 - 20, !- Hour 160 - 30, !- Minute 160 - 0.0125149368641808, !- Value Until Time 160 - 20, !- Hour 161 - 40, !- Minute 161 - 0.012400259681121, !- Value Until Time 161 - 20, !- Hour 162 - 50, !- Minute 162 - 0.0122855824980612, !- Value Until Time 162 - 21, !- Hour 163 - 0, !- Minute 163 - 0.0121709053150015, !- Value Until Time 163 - 21, !- Hour 164 - 10, !- Minute 164 - 0.0120562281319417, !- Value Until Time 164 - 21, !- Hour 165 - 20, !- Minute 165 - 0.0119415509488821, !- Value Until Time 165 - 21, !- Hour 166 - 30, !- Minute 166 - 0.0118268737658223, !- Value Until Time 166 - 21, !- Hour 167 - 40, !- Minute 167 - 0.0117121965827626, !- Value Until Time 167 - 21, !- Hour 168 - 50, !- Minute 168 - 0.0115975193997028, !- Value Until Time 168 - 22, !- Hour 169 - 0, !- Minute 169 - 0.0114828422166431, !- Value Until Time 169 - 22, !- Hour 170 - 10, !- Minute 170 - 0.0113681650335833, !- Value Until Time 170 - 22, !- Hour 171 - 20, !- Minute 171 - 0.0112534878505235, !- Value Until Time 171 - 22, !- Hour 172 - 30, !- Minute 172 - 0.0111388106674639, !- Value Until Time 172 - 22, !- Hour 173 - 40, !- Minute 173 - 0.0110241334844041, !- Value Until Time 173 - 22, !- Hour 174 - 50, !- Minute 174 - 0.0109094563013444, !- Value Until Time 174 - 23, !- Hour 175 - 0, !- Minute 175 - 0.0107947791182846, !- Value Until Time 175 - 23, !- Hour 176 - 10, !- Minute 176 - 0.0106801019352248, !- Value Until Time 176 - 23, !- Hour 177 - 20, !- Minute 177 - 0.0105654247521651, !- Value Until Time 177 - 23, !- Hour 178 - 30, !- Minute 178 - 0.0104507475691053, !- Value Until Time 178 - 23, !- Hour 179 - 40, !- Minute 179 - 0.0103360703860457, !- Value Until Time 179 - 23, !- Hour 180 - 50, !- Minute 180 - 0.0102213932029859, !- Value Until Time 180 - 24, !- Hour 181 - 0, !- Minute 181 - 0.0101067160199262; !- Value Until Time 181 - -OS:Schedule:Day, - {d24a9843-ebbd-459c-9689-10f8c80d2f41}, !- Handle - Office BLDG_LIGHT_EndUseData Summer Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {18b304fd-507e-4414-977c-b25a117a0947}, !- Handle - Schedule Rule 5, !- Name - {d316e523-5dcc-4887-b19f-c2eb41df1811}, !- Schedule Ruleset Name - 0, !- Rule Order - {8b3bdb6e-a239-4a2a-be88-07ca7f559751}, !- 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, - {8b3bdb6e-a239-4a2a-be88-07ca7f559751}, !- Handle - Office BLDG_LIGHT_EndUseData Sun Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.0117429466278677, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.0118153334379658, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.0118877202480639, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.0112241747149736, !- Value Until Time 4 - 0, !- Hour 5 - 50, !- Minute 5 - 0.0105606291818835, !- Value Until Time 5 - 1, !- Hour 6 - 0, !- Minute 6 - 0.00989708364879321, !- Value Until Time 6 - 1, !- Hour 7 - 10, !- Minute 7 - 0.00923353811570286, !- Value Until Time 7 - 1, !- Hour 8 - 20, !- Minute 8 - 0.00856999258261281, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.00790644704952247, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.00802340923095543, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.00814037141238837, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.00825733359382134, !- Value Until Time 12 - 2, !- Hour 13 - 10, !- Minute 13 - 0.00837429577525427, !- Value Until Time 13 - 2, !- Hour 14 - 20, !- Minute 14 - 0.00849125795668722, !- Value Until Time 14 - 2, !- Hour 15 - 30, !- Minute 15 - 0.00860822013812018, !- Value Until Time 15 - 2, !- Hour 16 - 40, !- Minute 16 - 0.00869635414477411, !- Value Until Time 16 - 2, !- Hour 17 - 50, !- Minute 17 - 0.00878448815142831, !- Value Until Time 17 - 3, !- Hour 18 - 0, !- Minute 18 - 0.00887262215808225, !- Value Until Time 18 - 3, !- Hour 19 - 10, !- Minute 19 - 0.00896075616473617, !- Value Until Time 19 - 3, !- Hour 20 - 20, !- Minute 20 - 0.00904889017139039, !- Value Until Time 20 - 3, !- Hour 21 - 30, !- Minute 21 - 0.00913702417804431, !- Value Until Time 21 - 3, !- Hour 22 - 40, !- Minute 22 - 0.00814773777337026, !- Value Until Time 22 - 3, !- Hour 23 - 50, !- Minute 23 - 0.00715845136869622, !- Value Until Time 23 - 4, !- Hour 24 - 0, !- Minute 24 - 0.00616916496402215, !- Value Until Time 24 - 4, !- Hour 25 - 10, !- Minute 25 - 0.00517987855934811, !- Value Until Time 25 - 4, !- Hour 26 - 20, !- Minute 26 - 0.00419059215467407, !- Value Until Time 26 - 4, !- Hour 27 - 30, !- Minute 27 - 0.00320130575, !- Value Until Time 27 - 4, !- Hour 28 - 40, !- Minute 28 - 0.0034184661802943, !- Value Until Time 28 - 4, !- Hour 29 - 50, !- Minute 29 - 0.00363562661058862, !- Value Until Time 29 - 5, !- Hour 30 - 0, !- Minute 30 - 0.00385278704088292, !- Value Until Time 30 - 5, !- Hour 31 - 10, !- Minute 31 - 0.00406994747117721, !- Value Until Time 31 - 5, !- Hour 32 - 20, !- Minute 32 - 0.00428710790147151, !- Value Until Time 32 - 5, !- Hour 33 - 30, !- Minute 33 - 0.00450426833176584, !- Value Until Time 33 - 5, !- Hour 34 - 40, !- Minute 34 - 0.00530052324284494, !- Value Until Time 34 - 5, !- Hour 35 - 50, !- Minute 35 - 0.00609677815392406, !- Value Until Time 35 - 6, !- Hour 36 - 0, !- Minute 36 - 0.00689303306500316, !- Value Until Time 36 - 6, !- Hour 37 - 10, !- Minute 37 - 0.00768928797608229, !- Value Until Time 37 - 6, !- Hour 38 - 20, !- Minute 38 - 0.00848554288716141, !- Value Until Time 38 - 6, !- Hour 39 - 30, !- Minute 39 - 0.00928179779824051, !- Value Until Time 39 - 6, !- Hour 40 - 40, !- Minute 40 - 0.00977644077443528, !- Value Until Time 40 - 6, !- Hour 41 - 50, !- Minute 41 - 0.0102710837506298, !- Value Until Time 41 - 7, !- Hour 42 - 0, !- Minute 42 - 0.0107657267268245, !- Value Until Time 42 - 7, !- Hour 43 - 10, !- Minute 43 - 0.0112603697030193, !- Value Until Time 43 - 7, !- Hour 44 - 20, !- Minute 44 - 0.0117550126792138, !- Value Until Time 44 - 7, !- Hour 45 - 30, !- Minute 45 - 0.0122496556554086, !- Value Until Time 45 - 7, !- Hour 46 - 40, !- Minute 46 - 0.011043209272725, !- Value Until Time 46 - 7, !- Hour 47 - 50, !- Minute 47 - 0.00983676289004116, !- Value Until Time 47 - 8, !- Hour 48 - 0, !- Minute 48 - 0.00863031650735759, !- Value Until Time 48 - 8, !- Hour 49 - 9, !- Minute 49 - 0.00742387012467405, !- Value Until Time 49 - 8, !- Hour 50 - 19, !- Minute 50 - 0.00621742374199021, !- Value Until Time 50 - 8, !- Hour 51 - 29, !- Minute 51 - 0.00501097735930665, !- Value Until Time 51 - 8, !- Hour 52 - 30, !- Minute 52 - 0.00501097735930665, !- Value Until Time 52 - 8, !- Hour 53 - 39, !- Minute 53 - 0.00533671777860584, !- Value Until Time 53 - 8, !- Hour 54 - 49, !- Minute 54 - 0.00566245819790478, !- Value Until Time 54 - 8, !- Hour 55 - 59, !- Minute 55 - 0.00598819861720397, !- Value Until Time 55 - 9, !- Hour 56 - 9, !- Minute 56 - 0.00631393903650316, !- Value Until Time 56 - 9, !- Hour 57 - 19, !- Minute 57 - 0.00663967945580209, !- Value Until Time 57 - 9, !- Hour 58 - 29, !- Minute 58 - 0.00696541987510128, !- Value Until Time 58 - 9, !- Hour 59 - 30, !- Minute 59 - 0.00696541987510128, !- Value Until Time 59 - 9, !- Hour 60 - 39, !- Minute 60 - 0.00820805943669162, !- Value Until Time 60 - 9, !- Hour 61 - 49, !- Minute 61 - 0.00945069899828199, !- Value Until Time 61 - 9, !- Hour 62 - 59, !- Minute 62 - 0.0106933385598723, !- Value Until Time 62 - 10, !- Hour 63 - 9, !- Minute 63 - 0.0119359781214627, !- Value Until Time 63 - 10, !- Hour 64 - 19, !- Minute 64 - 0.013178617683053, !- Value Until Time 64 - 10, !- Hour 65 - 29, !- Minute 65 - 0.0144212572446434, !- Value Until Time 65 - 10, !- Hour 66 - 30, !- Minute 66 - 0.0144212572446434, !- Value Until Time 66 - 10, !- Hour 67 - 39, !- Minute 67 - 0.0226887335372028, !- Value Until Time 67 - 10, !- Hour 68 - 49, !- Minute 68 - 0.030956209829762, !- Value Until Time 68 - 10, !- Hour 69 - 59, !- Minute 69 - 0.0392236861223214, !- Value Until Time 69 - 11, !- Hour 70 - 9, !- Minute 70 - 0.0474911624148806, !- Value Until Time 70 - 11, !- Hour 71 - 19, !- Minute 71 - 0.05575863870744, !- Value Until Time 71 - 11, !- Hour 72 - 29, !- Minute 72 - 0.0640261149999992, !- Value Until Time 72 - 11, !- Hour 73 - 30, !- Minute 73 - 0.064026115, !- Value Until Time 73 - 11, !- Hour 74 - 39, !- Minute 74 - 0.0636849919256167, !- Value Until Time 74 - 11, !- Hour 75 - 49, !- Minute 75 - 0.0633438688512337, !- Value Until Time 75 - 11, !- Hour 76 - 59, !- Minute 76 - 0.0630027457768504, !- Value Until Time 76 - 12, !- Hour 77 - 9, !- Minute 77 - 0.0626616227024671, !- Value Until Time 77 - 12, !- Hour 78 - 19, !- Minute 78 - 0.062320499628084, !- Value Until Time 78 - 12, !- Hour 79 - 29, !- Minute 79 - 0.0619793765537007, !- Value Until Time 79 - 12, !- Hour 80 - 30, !- Minute 80 - 0.0619793765537007, !- Value Until Time 80 - 12, !- Hour 81 - 39, !- Minute 81 - 0.0619858387975583, !- Value Until Time 81 - 12, !- Hour 82 - 49, !- Minute 82 - 0.0619923010414161, !- Value Until Time 82 - 12, !- Hour 83 - 59, !- Minute 83 - 0.0619987632852736, !- Value Until Time 83 - 13, !- Hour 84 - 9, !- Minute 84 - 0.0620052255291311, !- Value Until Time 84 - 13, !- Hour 85 - 19, !- Minute 85 - 0.0620116877729887, !- Value Until Time 85 - 13, !- Hour 86 - 29, !- Minute 86 - 0.0620181500168465, !- Value Until Time 86 - 13, !- Hour 87 - 30, !- Minute 87 - 0.0620181500168465, !- Value Until Time 87 - 13, !- Hour 88 - 39, !- Minute 88 - 0.0623132992555885, !- Value Until Time 88 - 13, !- Hour 89 - 49, !- Minute 89 - 0.0626084484943308, !- Value Until Time 89 - 13, !- Hour 90 - 59, !- Minute 90 - 0.0629035977330728, !- Value Until Time 90 - 14, !- Hour 91 - 9, !- Minute 91 - 0.0631987469718148, !- Value Until Time 91 - 14, !- Hour 92 - 19, !- Minute 92 - 0.0634938962105571, !- Value Until Time 92 - 14, !- Hour 93 - 29, !- Minute 93 - 0.0637890454492991, !- Value Until Time 93 - 14, !- Hour 94 - 30, !- Minute 94 - 0.0637890454492991, !- Value Until Time 94 - 14, !- Hour 95 - 39, !- Minute 95 - 0.0626187926978069, !- Value Until Time 95 - 14, !- Hour 96 - 49, !- Minute 96 - 0.0614485399463146, !- Value Until Time 96 - 14, !- Hour 97 - 59, !- Minute 97 - 0.0602782871948224, !- Value Until Time 97 - 15, !- Hour 98 - 9, !- Minute 98 - 0.0591080344433301, !- Value Until Time 98 - 15, !- Hour 99 - 19, !- Minute 99 - 0.0579377816918379, !- Value Until Time 99 - 15, !- Hour 100 - 29, !- Minute 100 - 0.0567675289403457, !- Value Until Time 100 - 15, !- Hour 101 - 30, !- Minute 101 - 0.0567675289403457, !- Value Until Time 101 - 15, !- Hour 102 - 39, !- Minute 102 - 0.0578394916321449, !- Value Until Time 102 - 15, !- Hour 103 - 49, !- Minute 103 - 0.0589114543239438, !- Value Until Time 103 - 15, !- Hour 104 - 59, !- Minute 104 - 0.059983417015743, !- Value Until Time 104 - 16, !- Hour 105 - 9, !- Minute 105 - 0.0610553797075422, !- Value Until Time 105 - 16, !- Hour 106 - 19, !- Minute 106 - 0.0621273423993411, !- Value Until Time 106 - 16, !- Hour 107 - 30, !- Minute 107 - 0.0631993050911403, !- Value Until Time 107 - 16, !- Hour 108 - 40, !- Minute 108 - 0.0582087409354455, !- Value Until Time 108 - 16, !- Hour 109 - 50, !- Minute 109 - 0.0532181767797507, !- Value Until Time 109 - 17, !- Hour 110 - 0, !- Minute 110 - 0.0482276126240561, !- Value Until Time 110 - 17, !- Hour 111 - 10, !- Minute 111 - 0.0432370484683613, !- Value Until Time 111 - 17, !- Hour 112 - 20, !- Minute 112 - 0.0382464843126665, !- Value Until Time 112 - 17, !- Hour 113 - 30, !- Minute 113 - 0.033255920156972, !- Value Until Time 113 - 17, !- Hour 114 - 40, !- Minute 114 - 0.035328658641793, !- Value Until Time 114 - 17, !- Hour 115 - 50, !- Minute 115 - 0.0374013971266141, !- Value Until Time 115 - 18, !- Hour 116 - 0, !- Minute 116 - 0.0394741356114352, !- Value Until Time 116 - 18, !- Hour 117 - 10, !- Minute 117 - 0.0415468740962563, !- Value Until Time 117 - 18, !- Hour 118 - 20, !- Minute 118 - 0.0436196125810774, !- Value Until Time 118 - 18, !- Hour 119 - 30, !- Minute 119 - 0.0456923510658985, !- Value Until Time 119 - 18, !- Hour 120 - 40, !- Minute 120 - 0.0484416124888354, !- Value Until Time 120 - 18, !- Hour 121 - 50, !- Minute 121 - 0.0511908739117726, !- Value Until Time 121 - 19, !- Hour 122 - 0, !- Minute 122 - 0.0539401353347095, !- Value Until Time 122 - 19, !- Hour 123 - 10, !- Minute 123 - 0.0566893967576467, !- Value Until Time 123 - 19, !- Hour 124 - 20, !- Minute 124 - 0.0594386581805836, !- Value Until Time 124 - 19, !- Hour 125 - 30, !- Minute 125 - 0.0621879196035206, !- Value Until Time 125 - 19, !- Hour 126 - 40, !- Minute 126 - 0.0623461939221455, !- Value Until Time 126 - 19, !- Hour 127 - 50, !- Minute 127 - 0.0625044682407705, !- Value Until Time 127 - 20, !- Hour 128 - 0, !- Minute 128 - 0.0626627425593954, !- Value Until Time 128 - 20, !- Hour 129 - 10, !- Minute 129 - 0.0628210168780204, !- Value Until Time 129 - 20, !- Hour 130 - 20, !- Minute 130 - 0.0629792911966454, !- Value Until Time 130 - 20, !- Hour 131 - 30, !- Minute 131 - 0.0631375655152704, !- Value Until Time 131 - 20, !- Hour 132 - 40, !- Minute 132 - 0.0632018003458549, !- Value Until Time 132 - 20, !- Hour 133 - 50, !- Minute 133 - 0.0632660351764394, !- Value Until Time 133 - 21, !- Hour 134 - 0, !- Minute 134 - 0.0633302700070239, !- Value Until Time 134 - 21, !- Hour 135 - 10, !- Minute 135 - 0.0633945048376085, !- Value Until Time 135 - 21, !- Hour 136 - 20, !- Minute 136 - 0.063458739668193, !- Value Until Time 136 - 21, !- Hour 137 - 30, !- Minute 137 - 0.0635229744987775, !- Value Until Time 137 - 21, !- Hour 138 - 40, !- Minute 138 - 0.063526388343727, !- Value Until Time 138 - 21, !- Hour 139 - 50, !- Minute 139 - 0.0635298021886764, !- Value Until Time 139 - 22, !- Hour 140 - 0, !- Minute 140 - 0.0635332160336258, !- Value Until Time 140 - 22, !- Hour 141 - 10, !- Minute 141 - 0.0635366298785752, !- Value Until Time 141 - 22, !- Hour 142 - 20, !- Minute 142 - 0.0635400437235247, !- Value Until Time 142 - 22, !- Hour 143 - 30, !- Minute 143 - 0.0635434575684741, !- Value Until Time 143 - 22, !- Hour 144 - 40, !- Minute 144 - 0.0548617812049743, !- Value Until Time 144 - 22, !- Hour 145 - 50, !- Minute 145 - 0.0461801048414745, !- Value Until Time 145 - 23, !- Hour 146 - 0, !- Minute 146 - 0.0374984284779744, !- Value Until Time 146 - 23, !- Hour 147 - 10, !- Minute 147 - 0.0288167521144746, !- Value Until Time 147 - 23, !- Hour 148 - 20, !- Minute 148 - 0.0201350757509749, !- Value Until Time 148 - 23, !- Hour 149 - 30, !- Minute 149 - 0.0114533993874753, !- Value Until Time 149 - 23, !- Hour 150 - 40, !- Minute 150 - 0.0115257861975734, !- Value Until Time 150 - 23, !- Hour 151 - 50, !- Minute 151 - 0.0115981730076715, !- Value Until Time 151 - 24, !- Hour 152 - 0, !- Minute 152 - 0.0116705598177696; !- Value Until Time 152 - -OS:Schedule:Day, - {3029cd80-2ce4-4174-b2c4-bdc0f40dbb06}, !- Handle - Office BLDG_LIGHT_EndUseData Winter Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {8e09d78e-80ea-4fdc-8af7-371969ce38e8}, !- Handle - Office BLDG_EQUIP_EndUseData, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {243de0fe-5768-4e1b-911a-837840e3a329}, !- Default Day Schedule Name - {d9415364-0b09-4d29-a2c4-01fc0835efa0}, !- Summer Design Day Schedule Name - {3d9d8692-210c-4d11-ae6a-e21a8c2e7e64}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {243de0fe-5768-4e1b-911a-837840e3a329}, !- Handle - Schedule Day 8, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 5, !- Minute 1 - 0.59256, !- Value Until Time 1 - 0, !- Hour 2 - 15, !- Minute 2 - 0.579345, !- Value Until Time 2 - 0, !- Hour 3 - 25, !- Minute 3 - 0.56613, !- Value Until Time 3 - 0, !- Hour 4 - 35, !- Minute 4 - 0.552914999999999, !- Value Until Time 4 - 0, !- Hour 5 - 45, !- Minute 5 - 0.5806, !- Value Until Time 5 - 0, !- Hour 6 - 55, !- Minute 6 - 0.580533333333333, !- Value Until Time 6 - 1, !- Hour 7 - 4, !- Minute 7 - 0.580466666666667, !- Value Until Time 7 - 1, !- Hour 8 - 15, !- Minute 8 - 0.5804, !- Value Until Time 8 - 1, !- Hour 9 - 25, !- Minute 9 - 0.580333333333333, !- Value Until Time 9 - 1, !- Hour 10 - 35, !- Minute 10 - 0.580266666666667, !- Value Until Time 10 - 1, !- Hour 11 - 45, !- Minute 11 - 0.5802, !- Value Until Time 11 - 1, !- Hour 12 - 55, !- Minute 12 - 0.57735, !- Value Until Time 12 - 2, !- Hour 13 - 5, !- Minute 13 - 0.5745, !- Value Until Time 13 - 2, !- Hour 14 - 15, !- Minute 14 - 0.57165, !- Value Until Time 14 - 2, !- Hour 15 - 24, !- Minute 15 - 0.5688, !- Value Until Time 15 - 2, !- Hour 16 - 34, !- Minute 16 - 0.56595, !- Value Until Time 16 - 2, !- Hour 17 - 44, !- Minute 17 - 0.5631, !- Value Until Time 17 - 2, !- Hour 18 - 45, !- Minute 18 - 0.5631, !- Value Until Time 18 - 2, !- Hour 19 - 54, !- Minute 19 - 0.560416666666667, !- Value Until Time 19 - 3, !- Hour 20 - 4, !- Minute 20 - 0.557733333333333, !- Value Until Time 20 - 3, !- Hour 21 - 14, !- Minute 21 - 0.55505, !- Value Until Time 21 - 3, !- Hour 22 - 24, !- Minute 22 - 0.552366666666667, !- Value Until Time 22 - 3, !- Hour 23 - 34, !- Minute 23 - 0.549683333333333, !- Value Until Time 23 - 3, !- Hour 24 - 44, !- Minute 24 - 0.547, !- Value Until Time 24 - 3, !- Hour 25 - 45, !- Minute 25 - 0.547, !- Value Until Time 25 - 3, !- Hour 26 - 54, !- Minute 26 - 0.545383333333333, !- Value Until Time 26 - 4, !- Hour 27 - 4, !- Minute 27 - 0.543766666666667, !- Value Until Time 27 - 4, !- Hour 28 - 15, !- Minute 28 - 0.54215, !- Value Until Time 28 - 4, !- Hour 29 - 25, !- Minute 29 - 0.540533333333333, !- Value Until Time 29 - 4, !- Hour 30 - 35, !- Minute 30 - 0.538916666666667, !- Value Until Time 30 - 4, !- Hour 31 - 45, !- Minute 31 - 0.5373, !- Value Until Time 31 - 4, !- Hour 32 - 55, !- Minute 32 - 0.537516666666667, !- Value Until Time 32 - 5, !- Hour 33 - 5, !- Minute 33 - 0.537733333333333, !- Value Until Time 33 - 5, !- Hour 34 - 15, !- Minute 34 - 0.53795, !- Value Until Time 34 - 5, !- Hour 35 - 25, !- Minute 35 - 0.538166666666667, !- Value Until Time 35 - 5, !- Hour 36 - 35, !- Minute 36 - 0.538383333333333, !- Value Until Time 36 - 5, !- Hour 37 - 45, !- Minute 37 - 0.5386, !- Value Until Time 37 - 5, !- Hour 38 - 55, !- Minute 38 - 0.5485, !- Value Until Time 38 - 6, !- Hour 39 - 5, !- Minute 39 - 0.5584, !- Value Until Time 39 - 6, !- Hour 40 - 15, !- Minute 40 - 0.5683, !- Value Until Time 40 - 6, !- Hour 41 - 25, !- Minute 41 - 0.5782, !- Value Until Time 41 - 6, !- Hour 42 - 35, !- Minute 42 - 0.5881, !- Value Until Time 42 - 6, !- Hour 43 - 45, !- Minute 43 - 0.598, !- Value Until Time 43 - 6, !- Hour 44 - 55, !- Minute 44 - 0.612533333333333, !- Value Until Time 44 - 7, !- Hour 45 - 5, !- Minute 45 - 0.627066666666667, !- Value Until Time 45 - 7, !- Hour 46 - 15, !- Minute 46 - 0.6416, !- Value Until Time 46 - 7, !- Hour 47 - 25, !- Minute 47 - 0.656133333333333, !- Value Until Time 47 - 7, !- Hour 48 - 35, !- Minute 48 - 0.670666666666667, !- Value Until Time 48 - 7, !- Hour 49 - 45, !- Minute 49 - 0.6852, !- Value Until Time 49 - 7, !- Hour 50 - 55, !- Minute 50 - 0.701133333333333, !- Value Until Time 50 - 8, !- Hour 51 - 5, !- Minute 51 - 0.717066666666667, !- Value Until Time 51 - 8, !- Hour 52 - 15, !- Minute 52 - 0.733, !- Value Until Time 52 - 8, !- Hour 53 - 24, !- Minute 53 - 0.748933333333333, !- Value Until Time 53 - 8, !- Hour 54 - 34, !- Minute 54 - 0.764866666666667, !- Value Until Time 54 - 8, !- Hour 55 - 44, !- Minute 55 - 0.7808, !- Value Until Time 55 - 8, !- Hour 56 - 45, !- Minute 56 - 0.7808, !- Value Until Time 56 - 8, !- Hour 57 - 54, !- Minute 57 - 0.7949, !- Value Until Time 57 - 9, !- Hour 58 - 4, !- Minute 58 - 0.809, !- Value Until Time 58 - 9, !- Hour 59 - 14, !- Minute 59 - 0.8231, !- Value Until Time 59 - 9, !- Hour 60 - 24, !- Minute 60 - 0.8372, !- Value Until Time 60 - 9, !- Hour 61 - 34, !- Minute 61 - 0.8513, !- Value Until Time 61 - 9, !- Hour 62 - 44, !- Minute 62 - 0.8654, !- Value Until Time 62 - 9, !- Hour 63 - 45, !- Minute 63 - 0.8654, !- Value Until Time 63 - 9, !- Hour 64 - 54, !- Minute 64 - 0.867766666666667, !- Value Until Time 64 - 10, !- Hour 65 - 4, !- Minute 65 - 0.870133333333333, !- Value Until Time 65 - 10, !- Hour 66 - 14, !- Minute 66 - 0.8725, !- Value Until Time 66 - 10, !- Hour 67 - 24, !- Minute 67 - 0.874866666666667, !- Value Until Time 67 - 10, !- Hour 68 - 34, !- Minute 68 - 0.877233333333333, !- Value Until Time 68 - 10, !- Hour 69 - 44, !- Minute 69 - 0.8796, !- Value Until Time 69 - 10, !- Hour 70 - 54, !- Minute 70 - 0.881966666666667, !- Value Until Time 70 - 11, !- Hour 71 - 4, !- Minute 71 - 0.884333333333333, !- Value Until Time 71 - 11, !- Hour 72 - 14, !- Minute 72 - 0.8867, !- Value Until Time 72 - 11, !- Hour 73 - 15, !- Minute 73 - 0.8867, !- Value Until Time 73 - 11, !- Hour 74 - 24, !- Minute 74 - 0.8859, !- Value Until Time 74 - 11, !- Hour 75 - 34, !- Minute 75 - 0.8851, !- Value Until Time 75 - 11, !- Hour 76 - 44, !- Minute 76 - 0.8843, !- Value Until Time 76 - 11, !- Hour 77 - 54, !- Minute 77 - 0.8835, !- Value Until Time 77 - 12, !- Hour 78 - 4, !- Minute 78 - 0.8827, !- Value Until Time 78 - 12, !- Hour 79 - 14, !- Minute 79 - 0.8819, !- Value Until Time 79 - 12, !- Hour 80 - 15, !- Minute 80 - 0.8819, !- Value Until Time 80 - 12, !- Hour 81 - 24, !- Minute 81 - 0.8717, !- Value Until Time 81 - 12, !- Hour 82 - 34, !- Minute 82 - 0.8615, !- Value Until Time 82 - 12, !- Hour 83 - 44, !- Minute 83 - 0.8513, !- Value Until Time 83 - 12, !- Hour 84 - 54, !- Minute 84 - 0.8411, !- Value Until Time 84 - 13, !- Hour 85 - 4, !- Minute 85 - 0.8309, !- Value Until Time 85 - 13, !- Hour 86 - 14, !- Minute 86 - 0.8207, !- Value Until Time 86 - 13, !- Hour 87 - 15, !- Minute 87 - 0.8207, !- Value Until Time 87 - 13, !- Hour 88 - 24, !- Minute 88 - 0.814033333333333, !- Value Until Time 88 - 13, !- Hour 89 - 34, !- Minute 89 - 0.807366666666667, !- Value Until Time 89 - 13, !- Hour 90 - 44, !- Minute 90 - 0.8007, !- Value Until Time 90 - 13, !- Hour 91 - 54, !- Minute 91 - 0.794033333333333, !- Value Until Time 91 - 14, !- Hour 92 - 4, !- Minute 92 - 0.787366666666667, !- Value Until Time 92 - 14, !- Hour 93 - 14, !- Minute 93 - 0.7807, !- Value Until Time 93 - 14, !- Hour 94 - 15, !- Minute 94 - 0.7807, !- Value Until Time 94 - 14, !- Hour 95 - 24, !- Minute 95 - 0.773133333333333, !- Value Until Time 95 - 14, !- Hour 96 - 34, !- Minute 96 - 0.765566666666667, !- Value Until Time 96 - 14, !- Hour 97 - 44, !- Minute 97 - 0.758, !- Value Until Time 97 - 14, !- Hour 98 - 54, !- Minute 98 - 0.750433333333334, !- Value Until Time 98 - 15, !- Hour 99 - 4, !- Minute 99 - 0.742866666666667, !- Value Until Time 99 - 15, !- Hour 100 - 14, !- Minute 100 - 0.7353, !- Value Until Time 100 - 15, !- Hour 101 - 15, !- Minute 101 - 0.7353, !- Value Until Time 101 - 15, !- Hour 102 - 24, !- Minute 102 - 0.728066666666667, !- Value Until Time 102 - 15, !- Hour 103 - 34, !- Minute 103 - 0.720833333333333, !- Value Until Time 103 - 15, !- Hour 104 - 44, !- Minute 104 - 0.7136, !- Value Until Time 104 - 15, !- Hour 105 - 54, !- Minute 105 - 0.706366666666667, !- Value Until Time 105 - 16, !- Hour 106 - 4, !- Minute 106 - 0.699133333333333, !- Value Until Time 106 - 16, !- Hour 107 - 15, !- Minute 107 - 0.6919, !- Value Until Time 107 - 16, !- Hour 108 - 25, !- Minute 108 - 0.684666666666667, !- Value Until Time 108 - 16, !- Hour 109 - 35, !- Minute 109 - 0.677433333333333, !- Value Until Time 109 - 16, !- Hour 110 - 45, !- Minute 110 - 0.6702, !- Value Until Time 110 - 16, !- Hour 111 - 55, !- Minute 111 - 0.6593, !- Value Until Time 111 - 17, !- Hour 112 - 5, !- Minute 112 - 0.6484, !- Value Until Time 112 - 17, !- Hour 113 - 15, !- Minute 113 - 0.6375, !- Value Until Time 113 - 17, !- Hour 114 - 25, !- Minute 114 - 0.6266, !- Value Until Time 114 - 17, !- Hour 115 - 35, !- Minute 115 - 0.6157, !- Value Until Time 115 - 17, !- Hour 116 - 45, !- Minute 116 - 0.6048, !- Value Until Time 116 - 17, !- Hour 117 - 55, !- Minute 117 - 0.598333333333333, !- Value Until Time 117 - 18, !- Hour 118 - 5, !- Minute 118 - 0.591866666666667, !- Value Until Time 118 - 18, !- Hour 119 - 15, !- Minute 119 - 0.5854, !- Value Until Time 119 - 18, !- Hour 120 - 25, !- Minute 120 - 0.578933333333333, !- Value Until Time 120 - 18, !- Hour 121 - 35, !- Minute 121 - 0.572466666666666, !- Value Until Time 121 - 18, !- Hour 122 - 45, !- Minute 122 - 0.566, !- Value Until Time 122 - 18, !- Hour 123 - 55, !- Minute 123 - 0.56735, !- Value Until Time 123 - 19, !- Hour 124 - 5, !- Minute 124 - 0.5687, !- Value Until Time 124 - 19, !- Hour 125 - 15, !- Minute 125 - 0.57005, !- Value Until Time 125 - 19, !- Hour 126 - 25, !- Minute 126 - 0.5714, !- Value Until Time 126 - 19, !- Hour 127 - 35, !- Minute 127 - 0.57275, !- Value Until Time 127 - 19, !- Hour 128 - 45, !- Minute 128 - 0.5741, !- Value Until Time 128 - 19, !- Hour 129 - 55, !- Minute 129 - 0.580533333333333, !- Value Until Time 129 - 20, !- Hour 130 - 5, !- Minute 130 - 0.586966666666667, !- Value Until Time 130 - 20, !- Hour 131 - 15, !- Minute 131 - 0.5934, !- Value Until Time 131 - 20, !- Hour 132 - 25, !- Minute 132 - 0.599833333333334, !- Value Until Time 132 - 20, !- Hour 133 - 35, !- Minute 133 - 0.606266666666667, !- Value Until Time 133 - 20, !- Hour 134 - 45, !- Minute 134 - 0.6127, !- Value Until Time 134 - 20, !- Hour 135 - 55, !- Minute 135 - 0.6203, !- Value Until Time 135 - 21, !- Hour 136 - 5, !- Minute 136 - 0.6279, !- Value Until Time 136 - 21, !- Hour 137 - 15, !- Minute 137 - 0.6355, !- Value Until Time 137 - 21, !- Hour 138 - 25, !- Minute 138 - 0.6431, !- Value Until Time 138 - 21, !- Hour 139 - 35, !- Minute 139 - 0.6507, !- Value Until Time 139 - 21, !- Hour 140 - 45, !- Minute 140 - 0.6583, !- Value Until Time 140 - 21, !- Hour 141 - 55, !- Minute 141 - 0.660816666666667, !- Value Until Time 141 - 22, !- Hour 142 - 5, !- Minute 142 - 0.663333333333333, !- Value Until Time 142 - 22, !- Hour 143 - 15, !- Minute 143 - 0.66585, !- Value Until Time 143 - 22, !- Hour 144 - 25, !- Minute 144 - 0.668366666666667, !- Value Until Time 144 - 22, !- Hour 145 - 35, !- Minute 145 - 0.670883333333333, !- Value Until Time 145 - 22, !- Hour 146 - 45, !- Minute 146 - 0.6734, !- Value Until Time 146 - 22, !- Hour 147 - 55, !- Minute 147 - 0.664331666666667, !- Value Until Time 147 - 23, !- Hour 148 - 5, !- Minute 148 - 0.655263333333333, !- Value Until Time 148 - 23, !- Hour 149 - 15, !- Minute 149 - 0.646195, !- Value Until Time 149 - 23, !- Hour 150 - 25, !- Minute 150 - 0.637126666666666, !- Value Until Time 150 - 23, !- Hour 151 - 35, !- Minute 151 - 0.628058333333333, !- Value Until Time 151 - 23, !- Hour 152 - 45, !- Minute 152 - 0.61899, !- Value Until Time 152 - 23, !- Hour 153 - 55, !- Minute 153 - 0.605775, !- Value Until Time 153 - 24, !- Hour 154 - 0, !- Minute 154 - 0.59256; !- Value Until Time 154 - -OS:Schedule:Rule, - {b438f94c-2d41-42e7-a928-c50adc7e7dc5}, !- Handle - Schedule Rule 7, !- Name - {8e09d78e-80ea-4fdc-8af7-371969ce38e8}, !- Schedule Ruleset Name - 1, !- Rule Order - {00512aed-03cf-4500-a71b-3fd0761bd485}, !- 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, - {00512aed-03cf-4500-a71b-3fd0761bd485}, !- Handle - Office BLDG_EQUIP_EndUseData Sat Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.588049207865518, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.588169418770547, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.6056, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.587928996960486, !- Value Until Time 4 - 0, !- Hour 5 - 49, !- Minute 5 - 0.570257993920973, !- Value Until Time 5 - 0, !- Hour 6 - 59, !- Minute 6 - 0.552586990881459, !- Value Until Time 6 - 1, !- Hour 7 - 9, !- Minute 7 - 0.534915987841945, !- Value Until Time 7 - 1, !- Hour 8 - 19, !- Minute 8 - 0.517244984802432, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.499573981762918, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.491278427558256, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.482982873353598, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.474687319148936, !- Value Until Time 12 - 2, !- Hour 13 - 9, !- Minute 13 - 0.466391764944275, !- Value Until Time 13 - 2, !- Hour 14 - 19, !- Minute 14 - 0.458096210739616, !- Value Until Time 14 - 2, !- Hour 15 - 29, !- Minute 15 - 0.449800656534954, !- Value Until Time 15 - 2, !- Hour 16 - 30, !- Minute 16 - 0.449800656534954, !- Value Until Time 16 - 2, !- Hour 17 - 39, !- Minute 17 - 0.589852371440978, !- Value Until Time 17 - 2, !- Hour 18 - 49, !- Minute 18 - 0.589972582346007, !- Value Until Time 18 - 2, !- Hour 19 - 59, !- Minute 19 - 0.590092793251039, !- Value Until Time 19 - 3, !- Hour 20 - 9, !- Minute 20 - 0.590213004156071, !- Value Until Time 20 - 3, !- Hour 21 - 19, !- Minute 21 - 0.5903332150611, !- Value Until Time 21 - 3, !- Hour 22 - 29, !- Minute 22 - 0.590453425966132, !- Value Until Time 22 - 3, !- Hour 23 - 30, !- Minute 23 - 0.433602237082067, !- Value Until Time 23 - 3, !- Hour 24 - 39, !- Minute 24 - 0.59057363687116, !- Value Until Time 24 - 3, !- Hour 25 - 49, !- Minute 25 - 0.590693847776192, !- Value Until Time 25 - 3, !- Hour 26 - 59, !- Minute 26 - 0.590814058681221, !- Value Until Time 26 - 4, !- Hour 27 - 9, !- Minute 27 - 0.590934269586253, !- Value Until Time 27 - 4, !- Hour 28 - 19, !- Minute 28 - 0.591054480491285, !- Value Until Time 28 - 4, !- Hour 29 - 29, !- Minute 29 - 0.591174691396314, !- Value Until Time 29 - 4, !- Hour 30 - 30, !- Minute 30 - 0.431835136778115, !- Value Until Time 30 - 4, !- Hour 31 - 39, !- Minute 31 - 0.591294902301346, !- Value Until Time 31 - 4, !- Hour 32 - 40, !- Minute 32 - 0.43129518946302, !- Value Until Time 32 - 4, !- Hour 33 - 49, !- Minute 33 - 0.591415113206377, !- Value Until Time 33 - 4, !- Hour 34 - 50, !- Minute 34 - 0.430755242147922, !- Value Until Time 34 - 5, !- Hour 35 - 0, !- Minute 35 - 0.591535324111406, !- Value Until Time 35 - 5, !- Hour 36 - 10, !- Minute 36 - 0.591655535016438, !- Value Until Time 36 - 5, !- Hour 37 - 20, !- Minute 37 - 0.59177574592147, !- Value Until Time 37 - 5, !- Hour 38 - 30, !- Minute 38 - 0.591895956826499, !- Value Until Time 38 - 5, !- Hour 39 - 40, !- Minute 39 - 0.592016167731531, !- Value Until Time 39 - 5, !- Hour 40 - 50, !- Minute 40 - 0.59213637863656, !- Value Until Time 40 - 6, !- Hour 41 - 0, !- Minute 41 - 0.592256589541592, !- Value Until Time 41 - 6, !- Hour 42 - 10, !- Minute 42 - 0.592376800446623, !- Value Until Time 42 - 6, !- Hour 43 - 20, !- Minute 43 - 0.592497011351652, !- Value Until Time 43 - 6, !- Hour 44 - 30, !- Minute 44 - 0.592617222256684, !- Value Until Time 44 - 6, !- Hour 45 - 40, !- Minute 45 - 0.592737433161716, !- Value Until Time 45 - 6, !- Hour 46 - 50, !- Minute 46 - 0.592857644066745, !- Value Until Time 46 - 7, !- Hour 47 - 0, !- Minute 47 - 0.592977854971777, !- Value Until Time 47 - 7, !- Hour 48 - 10, !- Minute 48 - 0.593098065876806, !- Value Until Time 48 - 7, !- Hour 49 - 20, !- Minute 49 - 0.593218276781837, !- Value Until Time 49 - 7, !- Hour 50 - 30, !- Minute 50 - 0.593338487686869, !- Value Until Time 50 - 7, !- Hour 51 - 40, !- Minute 51 - 0.593458698591898, !- Value Until Time 51 - 7, !- Hour 52 - 50, !- Minute 52 - 0.59357890949693, !- Value Until Time 52 - 8, !- Hour 53 - 0, !- Minute 53 - 0.593699120401959, !- Value Until Time 53 - 8, !- Hour 54 - 9, !- Minute 54 - 0.314617483282675, !- Value Until Time 54 - 8, !- Hour 55 - 10, !- Minute 55 - 0.593819331306991, !- Value Until Time 55 - 8, !- Hour 56 - 19, !- Minute 56 - 0.296062930091185, !- Value Until Time 56 - 8, !- Hour 57 - 20, !- Minute 57 - 0.593939542212023, !- Value Until Time 57 - 8, !- Hour 58 - 29, !- Minute 58 - 0.277508376899696, !- Value Until Time 58 - 8, !- Hour 59 - 30, !- Minute 59 - 0.594059753117054, !- Value Until Time 59 - 8, !- Hour 60 - 39, !- Minute 60 - 0.25664677608916, !- Value Until Time 60 - 8, !- Hour 61 - 40, !- Minute 61 - 0.594179964022084, !- Value Until Time 61 - 8, !- Hour 62 - 49, !- Minute 62 - 0.235785175278621, !- Value Until Time 62 - 8, !- Hour 63 - 50, !- Minute 63 - 0.594300174927115, !- Value Until Time 63 - 8, !- Hour 64 - 59, !- Minute 64 - 0.214923574468085, !- Value Until Time 64 - 9, !- Hour 65 - 0, !- Minute 65 - 0.594420385832144, !- Value Until Time 65 - 9, !- Hour 66 - 9, !- Minute 66 - 0.194061973657549, !- Value Until Time 66 - 9, !- Hour 67 - 10, !- Minute 67 - 0.594540596737176, !- Value Until Time 67 - 9, !- Hour 68 - 19, !- Minute 68 - 0.17320037284701, !- Value Until Time 68 - 9, !- Hour 69 - 20, !- Minute 69 - 0.594660807642208, !- Value Until Time 69 - 9, !- Hour 70 - 29, !- Minute 70 - 0.152338772036474, !- Value Until Time 70 - 9, !- Hour 71 - 30, !- Minute 71 - 0.152338772036474, !- Value Until Time 71 - 9, !- Hour 72 - 39, !- Minute 72 - 0.147135643363728, !- Value Until Time 72 - 9, !- Hour 73 - 49, !- Minute 73 - 0.141932514690984, !- Value Until Time 73 - 9, !- Hour 74 - 59, !- Minute 74 - 0.136729386018237, !- Value Until Time 74 - 10, !- Hour 75 - 9, !- Minute 75 - 0.13152625734549, !- Value Until Time 75 - 10, !- Hour 76 - 19, !- Minute 76 - 0.126323128672747, !- Value Until Time 76 - 10, !- Hour 77 - 29, !- Minute 77 - 0.12112, !- Value Until Time 77 - 10, !- Hour 78 - 30, !- Minute 78 - 0.12112, !- Value Until Time 78 - 10, !- Hour 79 - 39, !- Minute 79 - 0.595622494882451, !- Value Until Time 79 - 10, !- Hour 80 - 49, !- Minute 80 - 0.595742705787483, !- Value Until Time 80 - 10, !- Hour 81 - 59, !- Minute 81 - 0.595862916692512, !- Value Until Time 81 - 11, !- Hour 82 - 9, !- Minute 82 - 0.595983127597543, !- Value Until Time 82 - 11, !- Hour 83 - 19, !- Minute 83 - 0.596103338502575, !- Value Until Time 83 - 11, !- Hour 84 - 29, !- Minute 84 - 0.596223549407604, !- Value Until Time 84 - 11, !- Hour 85 - 30, !- Minute 85 - 0.14644843768997, !- Value Until Time 85 - 11, !- Hour 86 - 39, !- Minute 86 - 0.596343760312636, !- Value Until Time 86 - 11, !- Hour 87 - 49, !- Minute 87 - 0.596463971217668, !- Value Until Time 87 - 11, !- Hour 88 - 59, !- Minute 88 - 0.596584182122697, !- Value Until Time 88 - 12, !- Hour 89 - 9, !- Minute 89 - 0.596704393027729, !- Value Until Time 89 - 12, !- Hour 90 - 19, !- Minute 90 - 0.596824603932758, !- Value Until Time 90 - 12, !- Hour 91 - 29, !- Minute 91 - 0.596944814837789, !- Value Until Time 91 - 12, !- Hour 92 - 30, !- Minute 92 - 0.1853246443769, !- Value Until Time 92 - 12, !- Hour 93 - 39, !- Minute 93 - 0.597065025742818, !- Value Until Time 93 - 12, !- Hour 94 - 49, !- Minute 94 - 0.59718523664785, !- Value Until Time 94 - 12, !- Hour 95 - 59, !- Minute 95 - 0.597305447552882, !- Value Until Time 95 - 13, !- Hour 96 - 9, !- Minute 96 - 0.597425658457911, !- Value Until Time 96 - 13, !- Hour 97 - 19, !- Minute 97 - 0.597545869362943, !- Value Until Time 97 - 13, !- Hour 98 - 29, !- Minute 98 - 0.597666080267972, !- Value Until Time 98 - 13, !- Hour 99 - 30, !- Minute 99 - 0.216543416413374, !- Value Until Time 99 - 13, !- Hour 100 - 39, !- Minute 100 - 0.597786291173003, !- Value Until Time 100 - 13, !- Hour 101 - 49, !- Minute 101 - 0.597906502078032, !- Value Until Time 101 - 13, !- Hour 102 - 59, !- Minute 102 - 0.598026712983064, !- Value Until Time 102 - 14, !- Hour 103 - 9, !- Minute 103 - 0.598146923888096, !- Value Until Time 103 - 14, !- Hour 104 - 19, !- Minute 104 - 0.598267134793125, !- Value Until Time 104 - 14, !- Hour 105 - 29, !- Minute 105 - 0.598387345698157, !- Value Until Time 105 - 14, !- Hour 106 - 30, !- Minute 106 - 0.278097410334347, !- Value Until Time 106 - 14, !- Hour 107 - 39, !- Minute 107 - 0.598507556603186, !- Value Until Time 107 - 14, !- Hour 108 - 49, !- Minute 108 - 0.598627767508218, !- Value Until Time 108 - 14, !- Hour 109 - 59, !- Minute 109 - 0.598747978413249, !- Value Until Time 109 - 15, !- Hour 110 - 9, !- Minute 110 - 0.598868189318278, !- Value Until Time 110 - 15, !- Hour 111 - 19, !- Minute 111 - 0.59898840022331, !- Value Until Time 111 - 15, !- Hour 112 - 29, !- Minute 112 - 0.599108611128342, !- Value Until Time 112 - 15, !- Hour 113 - 30, !- Minute 113 - 0.279275477203647, !- Value Until Time 113 - 15, !- Hour 114 - 39, !- Minute 114 - 0.599228822033371, !- Value Until Time 114 - 15, !- Hour 115 - 49, !- Minute 115 - 0.599349032938403, !- Value Until Time 115 - 15, !- Hour 116 - 59, !- Minute 116 - 0.599469243843432, !- Value Until Time 116 - 16, !- Hour 117 - 9, !- Minute 117 - 0.599589454748463, !- Value Until Time 117 - 16, !- Hour 118 - 19, !- Minute 118 - 0.599709665653492, !- Value Until Time 118 - 16, !- Hour 119 - 29, !- Minute 119 - 0.599829876558524, !- Value Until Time 119 - 16, !- Hour 120 - 30, !- Minute 120 - 0.270439975683891, !- Value Until Time 120 - 16, !- Hour 121 - 39, !- Minute 121 - 0.599950087463556, !- Value Until Time 121 - 16, !- Hour 122 - 40, !- Minute 122 - 0.275888534954407, !- Value Until Time 122 - 16, !- Hour 123 - 49, !- Minute 123 - 0.600070298368585, !- Value Until Time 123 - 16, !- Hour 124 - 50, !- Minute 124 - 0.281337094224924, !- Value Until Time 124 - 16, !- Hour 125 - 59, !- Minute 125 - 0.600190509273617, !- Value Until Time 125 - 17, !- Hour 126 - 0, !- Minute 126 - 0.286785653495441, !- Value Until Time 126 - 17, !- Hour 127 - 9, !- Minute 127 - 0.600310720178649, !- Value Until Time 127 - 17, !- Hour 128 - 10, !- Minute 128 - 0.292234212765957, !- Value Until Time 128 - 17, !- Hour 129 - 19, !- Minute 129 - 0.600430931083678, !- Value Until Time 129 - 17, !- Hour 130 - 20, !- Minute 130 - 0.297682772036474, !- Value Until Time 130 - 17, !- Hour 131 - 29, !- Minute 131 - 0.60055114198871, !- Value Until Time 131 - 17, !- Hour 132 - 30, !- Minute 132 - 0.303131331306991, !- Value Until Time 132 - 17, !- Hour 133 - 39, !- Minute 133 - 0.600671352893738, !- Value Until Time 133 - 17, !- Hour 134 - 40, !- Minute 134 - 0.314862913880445, !- Value Until Time 134 - 17, !- Hour 135 - 49, !- Minute 135 - 0.60079156379877, !- Value Until Time 135 - 17, !- Hour 136 - 50, !- Minute 136 - 0.326594496453902, !- Value Until Time 136 - 17, !- Hour 137 - 59, !- Minute 137 - 0.600911774703799, !- Value Until Time 137 - 18, !- Hour 138 - 0, !- Minute 138 - 0.338326079027356, !- Value Until Time 138 - 18, !- Hour 139 - 9, !- Minute 139 - 0.601031985608831, !- Value Until Time 139 - 18, !- Hour 140 - 10, !- Minute 140 - 0.35005766160081, !- Value Until Time 140 - 18, !- Hour 141 - 19, !- Minute 141 - 0.601152196513863, !- Value Until Time 141 - 18, !- Hour 142 - 20, !- Minute 142 - 0.361789244174267, !- Value Until Time 142 - 18, !- Hour 143 - 29, !- Minute 143 - 0.601272407418892, !- Value Until Time 143 - 18, !- Hour 144 - 30, !- Minute 144 - 0.37352082674772, !- Value Until Time 144 - 18, !- Hour 145 - 39, !- Minute 145 - 0.601392618323924, !- Value Until Time 145 - 18, !- Hour 146 - 40, !- Minute 146 - 0.389670160081053, !- Value Until Time 146 - 18, !- Hour 147 - 49, !- Minute 147 - 0.601512829228955, !- Value Until Time 147 - 18, !- Hour 148 - 50, !- Minute 148 - 0.405819493414388, !- Value Until Time 148 - 18, !- Hour 149 - 59, !- Minute 149 - 0.601633040133984, !- Value Until Time 149 - 19, !- Hour 150 - 0, !- Minute 150 - 0.42196882674772, !- Value Until Time 150 - 19, !- Hour 151 - 9, !- Minute 151 - 0.601753251039016, !- Value Until Time 151 - 19, !- Hour 152 - 10, !- Minute 152 - 0.438118160081056, !- Value Until Time 152 - 19, !- Hour 153 - 19, !- Minute 153 - 0.601873461944045, !- Value Until Time 153 - 19, !- Hour 154 - 20, !- Minute 154 - 0.454267493414388, !- Value Until Time 154 - 19, !- Hour 155 - 30, !- Minute 155 - 0.47041682674772, !- Value Until Time 155 - 19, !- Hour 156 - 40, !- Minute 156 - 0.487498796352584, !- Value Until Time 156 - 19, !- Hour 157 - 50, !- Minute 157 - 0.504580765957447, !- Value Until Time 157 - 20, !- Hour 158 - 0, !- Minute 158 - 0.52166273556231, !- Value Until Time 158 - 20, !- Hour 159 - 10, !- Minute 159 - 0.538744705167173, !- Value Until Time 159 - 20, !- Hour 160 - 20, !- Minute 160 - 0.555826674772036, !- Value Until Time 160 - 20, !- Hour 161 - 30, !- Minute 161 - 0.602714938279262, !- Value Until Time 161 - 20, !- Hour 162 - 40, !- Minute 162 - 0.602835149184291, !- Value Until Time 162 - 20, !- Hour 163 - 50, !- Minute 163 - 0.602955360089323, !- Value Until Time 163 - 21, !- Hour 164 - 0, !- Minute 164 - 0.603075570994352, !- Value Until Time 164 - 21, !- Hour 165 - 10, !- Minute 165 - 0.603195781899384, !- Value Until Time 165 - 21, !- Hour 166 - 20, !- Minute 166 - 0.603315992804415, !- Value Until Time 166 - 21, !- Hour 167 - 30, !- Minute 167 - 0.603436203709445, !- Value Until Time 167 - 21, !- Hour 168 - 40, !- Minute 168 - 0.603556414614476, !- Value Until Time 168 - 21, !- Hour 169 - 50, !- Minute 169 - 0.603676625519508, !- Value Until Time 169 - 22, !- Hour 170 - 0, !- Minute 170 - 0.603796836424537, !- Value Until Time 170 - 22, !- Hour 171 - 10, !- Minute 171 - 0.603917047329569, !- Value Until Time 171 - 22, !- Hour 172 - 20, !- Minute 172 - 0.604037258234601, !- Value Until Time 172 - 22, !- Hour 173 - 30, !- Minute 173 - 0.604157469139629, !- Value Until Time 173 - 22, !- Hour 174 - 40, !- Minute 174 - 0.604277680044662, !- Value Until Time 174 - 22, !- Hour 175 - 50, !- Minute 175 - 0.604397890949693, !- Value Until Time 175 - 23, !- Hour 176 - 0, !- Minute 176 - 0.604518101854722, !- Value Until Time 176 - 23, !- Hour 177 - 10, !- Minute 177 - 0.604638312759754, !- Value Until Time 177 - 23, !- Hour 178 - 20, !- Minute 178 - 0.604758523664783, !- Value Until Time 178 - 23, !- Hour 179 - 30, !- Minute 179 - 0.604878734569815, !- Value Until Time 179 - 23, !- Hour 180 - 40, !- Minute 180 - 0.604998945474846, !- Value Until Time 180 - 23, !- Hour 181 - 50, !- Minute 181 - 0.605119156379876, !- Value Until Time 181 - 24, !- Hour 182 - 0, !- Minute 182 - 0.605239367284907; !- Value Until Time 182 - -OS:Schedule:Day, - {d9415364-0b09-4d29-a2c4-01fc0835efa0}, !- Handle - Office BLDG_EQUIP_EndUseData Summer Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {6e7ee48d-93c3-40bc-b910-fd5288604d33}, !- Handle - Schedule Rule 8, !- Name - {8e09d78e-80ea-4fdc-8af7-371969ce38e8}, !- Schedule Ruleset Name - 0, !- Rule Order - {3217174d-dbab-4513-8aa1-9a9115ec5942}, !- 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, - {3217174d-dbab-4513-8aa1-9a9115ec5942}, !- Handle - Office BLDG_EQUIP_EndUseData Sun Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.5757; !- Value Until Time 1 - -OS:Schedule:Day, - {3d9d8692-210c-4d11-ae6a-e21a8c2e7e64}, !- Handle - Office BLDG_EQUIP_EndUseData Winter Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {0f191ea3-572b-4ec5-8b2a-f30da234fa68}, !- Handle - Small Office Infil Quarter On, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {0bf9a3fe-f125-4624-969b-2b74f3e255e6}, !- Default Day Schedule Name - {bf0466df-11c9-4841-856f-2d6c708d5128}, !- Summer Design Day Schedule Name - {6859a707-d1d1-4c54-9900-4f4697a99807}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {0bf9a3fe-f125-4624-969b-2b74f3e255e6}, !- Handle - Small Office Infil Quarter On Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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, - {bf0466df-11c9-4841-856f-2d6c708d5128}, !- Handle - Small Office Infil Quarter On Summer Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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, - {6670e3c7-bd55-4538-ad78-b1e296bafc26}, !- Handle - Schedule Rule 10, !- Name - {0f191ea3-572b-4ec5-8b2a-f30da234fa68}, !- Schedule Ruleset Name - 1, !- Rule Order - {479bed49-b871-4524-8ddf-2f5ba3cae19a}, !- 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, - {479bed49-b871-4524-8ddf-2f5ba3cae19a}, !- Handle - Small Office Infil Quarter On Sun Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {6859a707-d1d1-4c54-9900-4f4697a99807}, !- Handle - Small Office Infil Quarter On Winter Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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, - {6bbe2c95-5da4-41cc-ab9e-3d4e83310f95}, !- Handle - Schedule Rule 11, !- Name - {0f191ea3-572b-4ec5-8b2a-f30da234fa68}, !- Schedule Ruleset Name - 0, !- Rule Order - {fb283a60-3ba8-4555-b15f-1f0e76fb4ab4}, !- 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, - {fb283a60-3ba8-4555-b15f-1f0e76fb4ab4}, !- Handle - Small Office Infil Quarter On WntrDsn|Sat Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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:DefaultConstructionSet, - {971d61fd-b03b-4b8d-a8d6-3cbe5831c9d5}, !- Handle - Res ComStock DOE Ref Pre-1980 - Office - ASHRAE 169-2013-5B, !- Name - {0b974c68-36ab-4197-8ec4-474e894c5a10}, !- Default Exterior Surface Constructions Name - {6b8755fc-fbc0-4816-a053-6fde92d38ecb}, !- Default Interior Surface Constructions Name - {de7b33d0-b464-402d-b577-3526e3baddba}, !- Default Ground Contact Surface Constructions Name - {af8d11d7-aeb4-476e-8ba1-153679da7b93}, !- Default Exterior SubSurface Constructions Name - {7c56ff0a-3784-409c-b02b-92c162c6302e}, !- Default Interior SubSurface Constructions Name - {8fb5f7c4-c2b4-4b3e-96b8-4b7cb2d0b015}, !- Interior Partition Construction Name - , !- Space Shading Construction Name - , !- Building Shading Construction Name - , !- Site Shading Construction Name - ; !- Adiabatic Surface Construction Name - -OS:DefaultSurfaceConstructions, - {0b974c68-36ab-4197-8ec4-474e894c5a10}, !- Handle - Default Surface Constructions 1, !- Name - {58eca7ca-8222-4dfc-8000-d2aabeeab4f5}, !- Floor Construction Name - {6cfcf8ed-6387-4f85-99ea-a46d3427d1b3}, !- Wall Construction Name - {4917908d-7f29-4342-a761-943a3d3cacd0}; !- Roof Ceiling Construction Name - -OS:Construction, - {58eca7ca-8222-4dfc-8000-d2aabeeab4f5}, !- Handle - Typical Insulated Exterior Mass Floor, !- Name - , !- Surface Rendering Name - {99c21f97-47ba-454d-af25-19452ad2f260}, !- Layer 1 - {9a66c111-7166-4d43-beee-c4398a234990}; !- Layer 2 - -OS:StandardsInformation:Construction, - {434290e8-6cfc-4400-b1df-7dbe46eea18d}, !- Handle - {58eca7ca-8222-4dfc-8000-d2aabeeab4f5}, !- Construction Name - ExteriorFloor, !- Intended Surface Type - Mass; !- Standards Construction Type - -OS:Material:NoMass, - {f80b4703-4265-4552-9179-471312448dbc}, !- Handle - Typical Insulation R-3.82, !- Name - Smooth, !- Roughness - 0.673215966942562, !- Thermal Resistance {m2-K/W} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material, - {99c21f97-47ba-454d-af25-19452ad2f260}, !- 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, - {9a66c111-7166-4d43-beee-c4398a234990}, !- 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, - {6cfcf8ed-6387-4f85-99ea-a46d3427d1b3}, !- Handle - Typical Insulated Exterior Mass Wall R-6.21, !- Name - , !- Surface Rendering Name - {946c2887-d1d7-4446-8bd6-680adfdafd73}, !- Layer 1 - {bdd2acbf-5fdb-4cc2-9461-84762d6941fc}, !- Layer 2 - {f80b4703-4265-4552-9179-471312448dbc}, !- Layer 3 - {fea778a5-12f1-469b-abf9-4aa864fdcdd5}; !- Layer 4 - -OS:StandardsInformation:Construction, - {8a66f568-c145-42ce-bbd8-dae3cd12b87c}, !- Handle - {6cfcf8ed-6387-4f85-99ea-a46d3427d1b3}, !- Construction Name - ExteriorWall, !- Intended Surface Type - Mass; !- Standards Construction Type - -OS:Material, - {946c2887-d1d7-4446-8bd6-680adfdafd73}, !- Handle - 1IN Stucco, !- Name - Smooth, !- Roughness - 0.0253, !- Thickness {m} - 0.691799999999999, !- Conductivity {W/m-K} - 1858, !- Density {kg/m3} - 836.999999999999, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.92; !- Visible Absorptance - -OS:Material, - {bdd2acbf-5fdb-4cc2-9461-84762d6941fc}, !- Handle - 8IN CONCRETE HW RefBldg, !- Name - Rough, !- Roughness - 0.2032, !- Thickness {m} - 1.311, !- Conductivity {W/m-K} - 2240, !- Density {kg/m3} - 836.800000000001, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material, - {fea778a5-12f1-469b-abf9-4aa864fdcdd5}, !- 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, - {4917908d-7f29-4342-a761-943a3d3cacd0}, !- Handle - Typical IEAD Roof R-13.16, !- Name - , !- Surface Rendering Name - {e473dd4c-309d-4dae-a52e-35c3b50a1bbf}, !- Layer 1 - {004ce11d-8add-49b7-b116-88ee627d0e4e}, !- Layer 2 - {44691d2a-ad20-4af2-94ea-9f19674db52b}; !- Layer 3 - -OS:StandardsInformation:Construction, - {7f1ec35b-190d-45df-b7de-d3f70c008f1e}, !- Handle - {4917908d-7f29-4342-a761-943a3d3cacd0}, !- Construction Name - ExteriorRoof, !- Intended Surface Type - IEAD; !- Standards Construction Type - -OS:Material, - {e473dd4c-309d-4dae-a52e-35c3b50a1bbf}, !- Handle - Roof Membrane, !- Name - VeryRough, !- Roughness - 0.0095, !- Thickness {m} - 0.16, !- Conductivity {W/m-K} - 1121.29, !- Density {kg/m3} - 1460, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material:NoMass, - {004ce11d-8add-49b7-b116-88ee627d0e4e}, !- Handle - Typical Insulation R-12.04, !- Name - Smooth, !- Roughness - 2.12048064786099, !- Thermal Resistance {m2-K/W} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material, - {44691d2a-ad20-4af2-94ea-9f19674db52b}, !- 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:DefaultSurfaceConstructions, - {6b8755fc-fbc0-4816-a053-6fde92d38ecb}, !- Handle - Default Surface Constructions 2, !- Name - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Floor Construction Name - {c4d062d6-fff3-48b7-85ce-63ced7f135e3}, !- Wall Construction Name - {1bf277a3-54a6-4daa-a167-46027354b2ac}; !- Roof Ceiling Construction Name - -OS:Construction, - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Handle - Typical Interior Floor, !- Name - , !- Surface Rendering Name - {31d940a5-8c2f-48a8-a71b-160d5aa814e5}, !- Layer 1 - {d44d20d8-e58c-4526-8d0a-b67e10f921b0}; !- Layer 2 - -OS:StandardsInformation:Construction, - {9d7536f1-5d8c-4318-a32f-12cb737ce1a6}, !- Handle - {69d067dd-79e3-4608-87d3-3808e34fe5a1}, !- Construction Name - InteriorFloor, !- Intended Surface Type - ; !- Standards Construction Type - -OS:Material, - {31d940a5-8c2f-48a8-a71b-160d5aa814e5}, !- Handle - 100mm Normalweight concrete floor, !- Name - MediumRough, !- Roughness - 0.1016, !- Thickness {m} - 2.31044676686054, !- Conductivity {W/m-K} - 2322.00146636525, !- Density {kg/m3} - 832.5567858096, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material:NoMass, - {d44d20d8-e58c-4526-8d0a-b67e10f921b0}, !- Handle - CP02 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, - {c4d062d6-fff3-48b7-85ce-63ced7f135e3}, !- Handle - Typical Interior Wall, !- Name - , !- Surface Rendering Name - {c2614e13-c235-474c-a633-2c3c69ca1d67}, !- Layer 1 - {c2614e13-c235-474c-a633-2c3c69ca1d67}; !- Layer 2 - -OS:StandardsInformation:Construction, - {b6c0420f-4dde-4ec7-94c4-f7b9d67e2b27}, !- Handle - {c4d062d6-fff3-48b7-85ce-63ced7f135e3}, !- Construction Name - InteriorWall, !- Intended Surface Type - ; !- Standards Construction Type - -OS:Material, - {c2614e13-c235-474c-a633-2c3c69ca1d67}, !- Handle - G01 13mm gypsum board, !- Name - Smooth, !- Roughness - 0.0127, !- Thickness {m} - 0.160030944416258, !- Conductivity {W/m-K} - 800.000505207667, !- Density {kg/m3} - 1090.7294438736, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.5; !- Visible Absorptance - -OS:Construction, - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Handle - Typical Interior Ceiling, !- Name - , !- Surface Rendering Name - {d44d20d8-e58c-4526-8d0a-b67e10f921b0}, !- Layer 1 - {31d940a5-8c2f-48a8-a71b-160d5aa814e5}; !- Layer 2 - -OS:StandardsInformation:Construction, - {25adbf87-901d-410a-bc12-ca79a3f57cb1}, !- Handle - {1bf277a3-54a6-4daa-a167-46027354b2ac}, !- Construction Name - InteriorCeiling, !- Intended Surface Type - ; !- Standards Construction Type - -OS:DefaultSurfaceConstructions, - {de7b33d0-b464-402d-b577-3526e3baddba}, !- Handle - Default Surface Constructions 3, !- Name - {83678550-aa75-4e6e-954e-afb2578d56e2}, !- Floor Construction Name - {43c7a04c-075b-4d41-9d52-92b4bfc0a54c}, !- Wall Construction Name - ; !- Roof Ceiling Construction Name - -OS:Construction, - {83678550-aa75-4e6e-954e-afb2578d56e2}, !- Handle - ext-slab-mass, !- Name - , !- Surface Rendering Name - {37ac207b-f750-4ebe-b49f-b5f0821e5b5a}, !- Layer 1 - {d44d20d8-e58c-4526-8d0a-b67e10f921b0}; !- Layer 2 - -OS:StandardsInformation:Construction, - {51ac0128-9eff-4b19-8dd0-43468f860f9d}, !- Handle - {83678550-aa75-4e6e-954e-afb2578d56e2}, !- Construction Name - GroundContactFloor, !- Intended Surface Type - Mass; !- Standards Construction Type - -OS:Material, - {37ac207b-f750-4ebe-b49f-b5f0821e5b5a}, !- Handle - HW CONCRETE, !- Name - Rough, !- Roughness - 0.1016, !- Thickness {m} - 1.31125355293807, !- Conductivity {W/m-K} - 2240.00141458147, !- Density {kg/m3} - 837.36, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Construction, - {43c7a04c-075b-4d41-9d52-92b4bfc0a54c}, !- Handle - Typical Insulated Basement Mass Wall, !- Name - , !- Surface Rendering Name - {f85ead11-9a76-4ab8-b2e3-bfc56fe0d104}; !- Layer 1 - -OS:StandardsInformation:Construction, - {4914eb03-7775-4d82-b0b5-01a90e6218f4}, !- Handle - {43c7a04c-075b-4d41-9d52-92b4bfc0a54c}, !- Construction Name - GroundContactWall, !- Intended Surface Type - Mass; !- Standards Construction Type - -OS:Material:NoMass, - {997e371e-64e1-4a80-8e77-4d5b16985ca3}, !- Handle - Typical Insulation, !- Name - Smooth, !- Roughness - 0.0282222222222221, !- Thermal Resistance {m2-K/W} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Material, - {f85ead11-9a76-4ab8-b2e3-bfc56fe0d104}, !- 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, - {af8d11d7-aeb4-476e-8ba1-153679da7b93}, !- Handle - Default Sub Surface Constructions 1, !- Name - {2fbeff80-f878-47fc-83f5-32d5f76291b1}, !- Fixed Window Construction Name - {9ed98586-aaaa-42df-bcd1-78f02c374e20}, !- Operable Window Construction Name - {f32b116a-ae0b-4ee0-881c-01113a20cb02}, !- Door Construction Name - {dc80c77a-5edf-4416-98b0-33fd6ad8e149}, !- Glass Door Construction Name - {3a93dc17-bfaf-4c82-928a-8171efa388d8}, !- Overhead Door Construction Name - , !- Skylight Construction Name - {b360c75b-66e8-413a-ac65-3c7e29a32952}, !- Tubular Daylight Dome Construction Name - {b360c75b-66e8-413a-ac65-3c7e29a32952}; !- Tubular Daylight Diffuser Construction Name - -OS:Construction, - {2fbeff80-f878-47fc-83f5-32d5f76291b1}, !- Handle - U 0.62 SHGC 0.41 Simple Glazing Window U-0.62 SHGC 0.41, !- Name - , !- Surface Rendering Name - {d1cbc055-17b5-464a-8f6d-58abe1e7e681}; !- Layer 1 - -OS:StandardsInformation:Construction, - {7748d977-f575-4cd1-a56d-d2b5aff7253e}, !- Handle - {2fbeff80-f878-47fc-83f5-32d5f76291b1}, !- 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:SimpleGlazingSystem, - {d1cbc055-17b5-464a-8f6d-58abe1e7e681}, !- Handle - U 0.62 SHGC 0.41 Simple Glazing U-0.62 SHGC 0.41, !- Name - 3.52052327149036, !- U-Factor {W/m2-K} - 0.41, !- Solar Heat Gain Coefficient - 0.32; !- Visible Transmittance - -OS:Construction, - {9ed98586-aaaa-42df-bcd1-78f02c374e20}, !- Handle - U 0.62 SHGC 0.41 Simple Glazing Window U-0.62 SHGC 0.41 1, !- Name - , !- Surface Rendering Name - {b426c586-1515-4283-aa60-c500f7564dfa}; !- Layer 1 - -OS:StandardsInformation:Construction, - {697aa599-1084-4d7e-821c-9b1ff56fce98}, !- Handle - {9ed98586-aaaa-42df-bcd1-78f02c374e20}, !- 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:SimpleGlazingSystem, - {b426c586-1515-4283-aa60-c500f7564dfa}, !- Handle - U 0.62 SHGC 0.41 Simple Glazing U-0.62 SHGC 0.41 1, !- Name - 3.52052327149036, !- U-Factor {W/m2-K} - 0.41, !- Solar Heat Gain Coefficient - 0.32; !- Visible Transmittance - -OS:Construction, - {f32b116a-ae0b-4ee0-881c-01113a20cb02}, !- Handle - Typical Insulated Metal Door, !- Name - , !- Surface Rendering Name - {85c9c411-ac2b-4068-9d0b-ac9884be51a0}, !- Layer 1 - {997e371e-64e1-4a80-8e77-4d5b16985ca3}; !- Layer 2 - -OS:StandardsInformation:Construction, - {c4f56bbb-523c-4b12-881a-a6910ba881e7}, !- Handle - {f32b116a-ae0b-4ee0-881c-01113a20cb02}, !- Construction Name - ExteriorDoor, !- Intended Surface Type - ; !- Standards Construction Type - -OS:Material, - {85c9c411-ac2b-4068-9d0b-ac9884be51a0}, !- 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, - {dc80c77a-5edf-4416-98b0-33fd6ad8e149}, !- Handle - U 0.88 SHGC 0.16 Sgl Ref-A-L Clr 6mm, !- Name - , !- Surface Rendering Name - {d6433e9b-e1ab-41e6-8c80-52cbb361e544}; !- Layer 1 - -OS:StandardsInformation:Construction, - {2f74dc42-0701-46f4-b0dc-ce5f0b479775}, !- Handle - {dc80c77a-5edf-4416-98b0-33fd6ad8e149}, !- 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, - {d6433e9b-e1ab-41e6-8c80-52cbb361e544}, !- 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, - {3a93dc17-bfaf-4c82-928a-8171efa388d8}, !- Handle - Typical Overhead Door, !- Name - , !- Surface Rendering Name - {997e371e-64e1-4a80-8e77-4d5b16985ca3}; !- Layer 1 - -OS:StandardsInformation:Construction, - {37168387-e417-4050-bdc5-30ef623e4730}, !- Handle - {3a93dc17-bfaf-4c82-928a-8171efa388d8}, !- Construction Name - ExteriorDoor, !- Intended Surface Type - RollUp; !- Standards Construction Type - -OS:Construction, - {b360c75b-66e8-413a-ac65-3c7e29a32952}, !- Handle - Typical Interior Window, !- Name - , !- Surface Rendering Name - {c07d15ea-fb61-49dd-9dcc-f125f44c3adf}; !- Layer 1 - -OS:StandardsInformation:Construction, - {d392a8f4-ffe7-4fc7-970d-f2e05edf1311}, !- Handle - {b360c75b-66e8-413a-ac65-3c7e29a32952}, !- Construction Name - InteriorWindow, !- Intended Surface Type - ; !- Standards Construction Type - -OS:WindowMaterial:Glazing, - {c07d15ea-fb61-49dd-9dcc-f125f44c3adf}, !- 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, - {7c56ff0a-3784-409c-b02b-92c162c6302e}, !- Handle - Default Sub Surface Constructions 2, !- Name - {b360c75b-66e8-413a-ac65-3c7e29a32952}, !- Fixed Window Construction Name - {b360c75b-66e8-413a-ac65-3c7e29a32952}, !- Operable Window Construction Name - {2326c056-b31d-4449-ba37-4c54d9f135ce}, !- 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, - {2326c056-b31d-4449-ba37-4c54d9f135ce}, !- Handle - Typical Interior Door, !- Name - , !- Surface Rendering Name - {f427bad8-9a28-4600-98af-5941889db06b}; !- Layer 1 - -OS:StandardsInformation:Construction, - {44a925d3-edf6-48fc-b1f8-aff46cdd3034}, !- Handle - {2326c056-b31d-4449-ba37-4c54d9f135ce}, !- Construction Name - InteriorDoor, !- Intended Surface Type - ; !- Standards Construction Type - -OS:Material, - {f427bad8-9a28-4600-98af-5941889db06b}, !- 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, - {8fb5f7c4-c2b4-4b3e-96b8-4b7cb2d0b015}, !- Handle - Typical Interior Partition, !- Name - , !- Surface Rendering Name - {f427bad8-9a28-4600-98af-5941889db06b}; !- Layer 1 - -OS:StandardsInformation:Construction, - {d92b6656-ba85-4e4a-9473-be56350ab217}, !- Handle - {8fb5f7c4-c2b4-4b3e-96b8-4b7cb2d0b015}, !- Construction Name - InteriorPartition, !- Intended Surface Type - ; !- Standards Construction Type - -OS:Schedule:Constant, - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Handle - Always On Discrete, !- Name - {e851bade-2082-4088-b463-5d566ec39ed1}, !- Schedule Type Limits Name - 1; !- Value - -OS:ScheduleTypeLimits, - {e851bade-2082-4088-b463-5d566ec39ed1}, !- Handle - OnOff, !- Name - 0, !- Lower Limit Value - 1, !- Upper Limit Value - Discrete, !- Numeric Type - Availability; !- Unit Type - -OS:SpaceInfiltration:DesignFlowRate, - {f614c09e-5639-4e86-b3ac-5330ea7bf29d}, !- Handle - Office WholeBuilding - Sm Office A - Story Ground Infiltration, !- Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {aa7e9317-2cad-418c-a35a-dbfa93a3e37c}, !- Handle - Office WholeBuilding - Sm Office A - Story Top Infiltration, !- Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0004100928405, !- 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, - {3df52848-160d-4916-91df-de7bd7df0a7d}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Ground Infiltration, !- Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {20140d49-e322-4eb4-90e1-91a1ef641582}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Top Infiltration, !- Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.000585846915, !- 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, - {f050ae5c-79bb-4a96-8952-9f040a558bd2}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Ground Infiltration, !- Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {f00a905b-a53f-436e-84d9-8c9e578681ee}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Top Infiltration, !- Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.000585846915, !- 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, - {c28d1972-4c63-420c-81b0-1a00e03d380e}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Ground Infiltration, !- Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {2aafaabc-609a-44a2-8add-450115374982}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Top Infiltration, !- Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0004100928405, !- 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, - {7f699457-138c-4a61-a4e5-9f14c2938b3f}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Ground Infiltration, !- Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {67ce57d2-aaa0-41dc-ad71-b0aaee4c7b22}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Top Infiltration, !- Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0004100928405, !- 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, - {55c21ac0-a8d0-427d-89b4-958579f97a9a}, !- Handle - Office WholeBuilding - Sm Office C - Story Ground Infiltration, !- Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {03b0859a-d50d-4ec5-9ff6-03b7674dc654}, !- Handle - Office WholeBuilding - Sm Office C - Story Top Infiltration, !- Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0004100928405, !- 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, - {8bfb8e68-60e0-49e2-806c-b1868e5dc85e}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Ground Infiltration, !- Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {b32f5629-b27c-4d7f-92a2-0b2def474e62}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Top Infiltration, !- Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.000585846915, !- 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, - {299f99d1-eb5c-4392-bdd4-fb1901e40d59}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Ground Infiltration, !- Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.0010252321013, !- 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, - {748e6ac0-b243-4191-94d7-69a60015ab9c}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Top Infiltration, !- Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space or SpaceType Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - Flow/ExteriorArea, !- Design Flow Rate Calculation Method - , !- Design Flow Rate {m3/s} - , !- Flow per Space Floor Area {m3/s-m2} - 0.000585846915, !- 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:GroundTemperature:FCfactorMethod, - {0e4fb1b8-1be8-47ce-bd8c-5b5b02614edb}, !- Handle - 7.1, !- January Ground Temperature {C} - 3, !- February Ground Temperature {C} - -1, !- March Ground Temperature {C} - 0.8, !- April Ground Temperature {C} - -0.2, !- May Ground Temperature {C} - 4.8, !- June Ground Temperature {C} - 6.1, !- July Ground Temperature {C} - 13.7, !- August Ground Temperature {C} - 22.2, !- September Ground Temperature {C} - 22.7, !- October Ground Temperature {C} - 21.7, !- November Ground Temperature {C} - 18.5; !- December Ground Temperature {C} - -OS:YearDescription, - {d1a73832-e415-4c58-863a-54df2615ad13}, !- Handle - 2016, !- Calendar Year - , !- Day of Week for Start Day - ; !- Is Leap Year - -OS:Schedule:Ruleset, - {332b6118-e426-4dab-bf8e-550387f7fe21}, !- Handle - Elevator Schedule, !- Name - , !- Schedule Type Limits Name - {f0c6edc6-fa22-4994-ba9d-36a578b0c7eb}, !- Default Day Schedule Name - {f7e10302-e788-4ff6-aed2-3fd38c9ad175}, !- Summer Design Day Schedule Name - {13eea15a-4f71-4bbc-8300-dca8d9a4393f}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {f0c6edc6-fa22-4994-ba9d-36a578b0c7eb}, !- Handle - 18 space(s) Occ Sch Default, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 7, !- Hour 2 - 0, !- Minute 2 - 0.00248749999999999, !- Value Until Time 2 - 8, !- Hour 3 - 0, !- Minute 3 - 0.0186562499999999, !- Value Until Time 3 - 11, !- Hour 4 - 0, !- Minute 4 - 0, !- Value Until Time 4 - 13, !- Hour 5 - 0, !- Minute 5 - 0.01119375, !- Value Until Time 5 - 16, !- Hour 6 - 0, !- Minute 6 - 0, !- Value Until Time 6 - 17, !- Hour 7 - 0, !- Minute 7 - 0.0161687499999999, !- Value Until Time 7 - 18, !- Hour 8 - 0, !- Minute 8 - 0.00497499999999998, !- Value Until Time 8 - 19, !- Hour 9 - 0, !- Minute 9 - 0, !- Value Until Time 9 - 20, !- Hour 10 - 0, !- Minute 10 - 0.00124374999999999, !- Value Until Time 10 - 24, !- Hour 11 - 0, !- Minute 11 - 0; !- Value Until Time 11 - -OS:AdditionalProperties, - {068f1bac-6919-44fd-8be5-c0565e041a56}, !- Handle - {332b6118-e426-4dab-bf8e-550387f7fe21}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 37.499999999999844, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 18, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:25:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:25:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {13eea15a-4f71-4bbc-8300-dca8d9a4393f}, !- Handle - 18 space(s) Occ Sch Winter Design Day, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {f7e10302-e788-4ff6-aed2-3fd38c9ad175}, !- Handle - 18 space(s) Occ Sch Summer Design Day, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {23250f5c-9056-40c9-a37f-69eaef669abd}, !- Handle - 18 space(s) Occ Sch Saturday Rule, !- Name - {332b6118-e426-4dab-bf8e-550387f7fe21}, !- Schedule Ruleset Name - 1, !- Rule Order - {12b16511-31ff-47d5-bed2-37956b94f17d}, !- 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, - {12b16511-31ff-47d5-bed2-37956b94f17d}, !- Handle - 18 space(s) Occ Sch Saturday, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 6, !- Hour 2 - 0, !- Minute 2 - 0.00248749999999999, !- Value Until Time 2 - 7, !- Hour 3 - 0, !- Minute 3 - 0, !- Value Until Time 3 - 8, !- Hour 4 - 0, !- Minute 4 - 0.00497499999999998, !- Value Until Time 4 - 11, !- Hour 5 - 0, !- Minute 5 - 0, !- Value Until Time 5 - 12, !- Hour 6 - 0, !- Minute 6 - 0.00497499999999998, !- Value Until Time 6 - 16, !- Hour 7 - 0, !- Minute 7 - 0, !- Value Until Time 7 - 17, !- Hour 8 - 0, !- Minute 8 - 0.00248749999999999, !- Value Until Time 8 - 24, !- Hour 9 - 0, !- Minute 9 - 0; !- Value Until Time 9 - -OS:Schedule:Rule, - {aaf17060-3c7b-4826-9957-4babd21e8534}, !- Handle - 18 space(s) Occ Sch Sunday Rule, !- Name - {332b6118-e426-4dab-bf8e-550387f7fe21}, !- Schedule Ruleset Name - 0, !- Rule Order - {742dd92d-00aa-40d3-bce6-e06bea443955}, !- 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, - {742dd92d-00aa-40d3-bce6-e06bea443955}, !- Handle - 18 space(s) Occ Sch Sunday, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {99fcbbe4-ee5b-41fc-b9e6-b9ca6a329f17}, !- Handle - Elevator Schedule 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {1bd874c1-c7a7-4798-a99c-d36b60b2341d}, !- Default Day Schedule Name - {0da920c1-451e-4877-90f9-2bf936fad1c8}, !- Summer Design Day Schedule Name - {b8c4317a-70a7-484b-93b7-1c94838b3a5e}; !- Winter Design Day Schedule Name - -OS:AdditionalProperties, - {1849a946-cb7b-4dd5-99a7-f07aeb9cea27}, !- Handle - {99fcbbe4-ee5b-41fc-b9e6-b9ca6a329f17}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 37.499999999999844, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 18, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:25:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:25:37 UTC, !- Feature Value 4 - param_sch_ver, !- Feature Name 5 - String, !- Feature Data Type 5 - 0.0.1, !- Feature Value 5 - param_sch_floor, !- Feature Name 6 - Double, !- Feature Data Type 6 - 0, !- Feature Value 6 - param_sch_ceiling, !- Feature Name 7 - Double, !- Feature Data Type 7 - 0.018656249999999899; !- Feature Value 7 - -OS:Schedule:Day, - {1bd874c1-c7a7-4798-a99c-d36b60b2341d}, !- Handle - 18 space(s) Occ Sch Default 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 3, !- Hour 1 - 15, !- Minute 1 - 0, !- Value Until Time 1 - 3, !- Hour 2 - 24, !- Minute 2 - 0.000207291666666666, !- Value Until Time 2 - 3, !- Hour 3 - 34, !- Minute 3 - 0.000414583333333331, !- Value Until Time 3 - 3, !- Hour 4 - 44, !- Minute 4 - 0.000621874999999997, !- Value Until Time 4 - 3, !- Hour 5 - 54, !- Minute 5 - 0.000829166666666663, !- Value Until Time 5 - 4, !- Hour 6 - 4, !- Minute 6 - 0.00103645833333333, !- Value Until Time 6 - 4, !- Hour 7 - 15, !- Minute 7 - 0.00124375, !- Value Until Time 7 - 4, !- Hour 8 - 25, !- Minute 8 - 0.00145104166666666, !- Value Until Time 8 - 4, !- Hour 9 - 35, !- Minute 9 - 0.00165833333333333, !- Value Until Time 9 - 4, !- Hour 10 - 45, !- Minute 10 - 0.00186562499999999, !- Value Until Time 10 - 4, !- Hour 11 - 55, !- Minute 11 - 0.00207291666666666, !- Value Until Time 11 - 5, !- Hour 12 - 5, !- Minute 12 - 0.00228020833333333, !- Value Until Time 12 - 5, !- Hour 13 - 15, !- Minute 13 - 0.00248749999999999, !- Value Until Time 13 - 5, !- Hour 14 - 45, !- Minute 14 - 0.00248749999999999, !- Value Until Time 14 - 5, !- Hour 15 - 55, !- Minute 15 - 0.00518229166666665, !- Value Until Time 15 - 6, !- Hour 16 - 5, !- Minute 16 - 0.0078770833333333, !- Value Until Time 16 - 6, !- Hour 17 - 15, !- Minute 17 - 0.010571875, !- Value Until Time 17 - 6, !- Hour 18 - 25, !- Minute 18 - 0.0132666666666666, !- Value Until Time 18 - 6, !- Hour 19 - 35, !- Minute 19 - 0.0159614583333333, !- Value Until Time 19 - 6, !- Hour 20 - 45, !- Minute 20 - 0.0186562499999999, !- Value Until Time 20 - 6, !- Hour 21 - 55, !- Minute 21 - 0.0155468749999999, !- Value Until Time 21 - 7, !- Hour 22 - 5, !- Minute 22 - 0.0124374999999999, !- Value Until Time 22 - 7, !- Hour 23 - 15, !- Minute 23 - 0.00932812499999993, !- Value Until Time 23 - 7, !- Hour 24 - 25, !- Minute 24 - 0.00621874999999994, !- Value Until Time 24 - 7, !- Hour 25 - 35, !- Minute 25 - 0.00310937499999996, !- Value Until Time 25 - 7, !- Hour 26 - 45, !- Minute 26 - 0, !- Value Until Time 26 - 9, !- Hour 27 - 15, !- Minute 27 - 0, !- Value Until Time 27 - 9, !- Hour 28 - 24, !- Minute 28 - 0.000746249999999997, !- Value Until Time 28 - 9, !- Hour 29 - 34, !- Minute 29 - 0.00149249999999999, !- Value Until Time 29 - 9, !- Hour 30 - 44, !- Minute 30 - 0.00223874999999999, !- Value Until Time 30 - 9, !- Hour 31 - 54, !- Minute 31 - 0.00298499999999999, !- Value Until Time 31 - 10, !- Hour 32 - 4, !- Minute 32 - 0.00373124999999999, !- Value Until Time 32 - 10, !- Hour 33 - 14, !- Minute 33 - 0.00447749999999998, !- Value Until Time 33 - 10, !- Hour 34 - 24, !- Minute 34 - 0.00522374999999998, !- Value Until Time 34 - 10, !- Hour 35 - 34, !- Minute 35 - 0.00596999999999998, !- Value Until Time 35 - 10, !- Hour 36 - 44, !- Minute 36 - 0.00671624999999998, !- Value Until Time 36 - 10, !- Hour 37 - 54, !- Minute 37 - 0.00746249999999997, !- Value Until Time 37 - 11, !- Hour 38 - 4, !- Minute 38 - 0.00820874999999997, !- Value Until Time 38 - 11, !- Hour 39 - 14, !- Minute 39 - 0.00895499999999997, !- Value Until Time 39 - 11, !- Hour 40 - 24, !- Minute 40 - 0.00970124999999997, !- Value Until Time 40 - 11, !- Hour 41 - 34, !- Minute 41 - 0.0104475, !- Value Until Time 41 - 11, !- Hour 42 - 44, !- Minute 42 - 0.01119375, !- Value Until Time 42 - 11, !- Hour 43 - 45, !- Minute 43 - 0.01119375, !- Value Until Time 43 - 11, !- Hour 44 - 54, !- Minute 44 - 0.0102609375, !- Value Until Time 44 - 12, !- Hour 45 - 4, !- Minute 45 - 0.00932812500000001, !- Value Until Time 45 - 12, !- Hour 46 - 14, !- Minute 46 - 0.00839531250000001, !- Value Until Time 46 - 12, !- Hour 47 - 24, !- Minute 47 - 0.00746250000000001, !- Value Until Time 47 - 12, !- Hour 48 - 34, !- Minute 48 - 0.00652968750000002, !- Value Until Time 48 - 12, !- Hour 49 - 44, !- Minute 49 - 0.00559687500000002, !- Value Until Time 49 - 12, !- Hour 50 - 54, !- Minute 50 - 0.00466406250000002, !- Value Until Time 50 - 13, !- Hour 51 - 4, !- Minute 51 - 0.00373125000000003, !- Value Until Time 51 - 13, !- Hour 52 - 14, !- Minute 52 - 0.00279843750000003, !- Value Until Time 52 - 13, !- Hour 53 - 24, !- Minute 53 - 0.00186562500000003, !- Value Until Time 53 - 13, !- Hour 54 - 34, !- Minute 54 - 0.000932812500000036, !- Value Until Time 54 - 13, !- Hour 55 - 44, !- Minute 55 - 3.97681887420731e-17, !- Value Until Time 55 - 13, !- Hour 56 - 45, !- Minute 56 - 0, !- Value Until Time 56 - 15, !- Hour 57 - 15, !- Minute 57 - 0, !- Value Until Time 57 - 15, !- Hour 58 - 24, !- Minute 58 - 0.00179652777777776, !- Value Until Time 58 - 15, !- Hour 59 - 34, !- Minute 59 - 0.00359305555555552, !- Value Until Time 59 - 15, !- Hour 60 - 44, !- Minute 60 - 0.00538958333333328, !- Value Until Time 60 - 15, !- Hour 61 - 54, !- Minute 61 - 0.00718611111111104, !- Value Until Time 61 - 16, !- Hour 62 - 4, !- Minute 62 - 0.00898263888888882, !- Value Until Time 62 - 16, !- Hour 63 - 15, !- Minute 63 - 0.0107791666666666, !- Value Until Time 63 - 16, !- Hour 64 - 25, !- Minute 64 - 0.0125756944444444, !- Value Until Time 64 - 16, !- Hour 65 - 35, !- Minute 65 - 0.0143722222222222, !- Value Until Time 65 - 16, !- Hour 66 - 45, !- Minute 66 - 0.0161687499999999, !- Value Until Time 66 - 16, !- Hour 67 - 55, !- Minute 67 - 0.0143031249999999, !- Value Until Time 67 - 17, !- Hour 68 - 5, !- Minute 68 - 0.0124374999999999, !- Value Until Time 68 - 17, !- Hour 69 - 15, !- Minute 69 - 0.0105718749999999, !- Value Until Time 69 - 17, !- Hour 70 - 25, !- Minute 70 - 0.0087062499999999, !- Value Until Time 70 - 17, !- Hour 71 - 35, !- Minute 71 - 0.0068406249999999, !- Value Until Time 71 - 17, !- Hour 72 - 45, !- Minute 72 - 0.00497499999999998, !- Value Until Time 72 - 17, !- Hour 73 - 55, !- Minute 73 - 0.00414583333333331, !- Value Until Time 73 - 18, !- Hour 74 - 5, !- Minute 74 - 0.00331666666666664, !- Value Until Time 74 - 18, !- Hour 75 - 15, !- Minute 75 - 0.00248749999999997, !- Value Until Time 75 - 18, !- Hour 76 - 25, !- Minute 76 - 0.0016583333333333, !- Value Until Time 76 - 18, !- Hour 77 - 35, !- Minute 77 - 0.000829166666666634, !- Value Until Time 77 - 18, !- Hour 78 - 45, !- Minute 78 - 0, !- Value Until Time 78 - 18, !- Hour 79 - 55, !- Minute 79 - 0.000207291666666666, !- Value Until Time 79 - 19, !- Hour 80 - 5, !- Minute 80 - 0.000414583333333333, !- Value Until Time 80 - 19, !- Hour 81 - 15, !- Minute 81 - 0.000621874999999999, !- Value Until Time 81 - 19, !- Hour 82 - 25, !- Minute 82 - 0.000829166666666666, !- Value Until Time 82 - 19, !- Hour 83 - 35, !- Minute 83 - 0.00103645833333333, !- Value Until Time 83 - 19, !- Hour 84 - 45, !- Minute 84 - 0.00124374999999999, !- Value Until Time 84 - 19, !- Hour 85 - 55, !- Minute 85 - 0.00103645833333332, !- Value Until Time 85 - 20, !- Hour 86 - 5, !- Minute 86 - 0.000829166666666657, !- Value Until Time 86 - 20, !- Hour 87 - 15, !- Minute 87 - 0.000621874999999991, !- Value Until Time 87 - 20, !- Hour 88 - 25, !- Minute 88 - 0.000414583333333324, !- Value Until Time 88 - 20, !- Hour 89 - 35, !- Minute 89 - 0.000207291666666658, !- Value Until Time 89 - 20, !- Hour 90 - 45, !- Minute 90 - 0, !- Value Until Time 90 - 24, !- Hour 91 - 0, !- Minute 91 - 0; !- Value Until Time 91 - -OS:Schedule:Day, - {0da920c1-451e-4877-90f9-2bf936fad1c8}, !- Handle - 18 space(s) Occ Sch Summer Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {b8c4317a-70a7-484b-93b7-1c94838b3a5e}, !- Handle - 18 space(s) Occ Sch Winter Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {2e347e37-016f-4733-a5db-d189dbb5f805}, !- Handle - 18 space(s) Occ Sch Sunday Rule 1, !- Name - {99fcbbe4-ee5b-41fc-b9e6-b9ca6a329f17}, !- Schedule Ruleset Name - 0, !- Rule Order - {15f9e573-8eca-4c62-80c4-9f7011d78f9d}, !- 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, - {15f9e573-8eca-4c62-80c4-9f7011d78f9d}, !- Handle - 18 space(s) Occ Sch Sunday 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {d3c96496-ba1a-4193-82ed-fb5a55d62f8a}, !- Handle - 18 space(s) Occ Sch Saturday Rule 1, !- Name - {99fcbbe4-ee5b-41fc-b9e6-b9ca6a329f17}, !- Schedule Ruleset Name - 1, !- Rule Order - {3c123431-b6b5-4049-a78d-91575aed96c4}, !- 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, - {3c123431-b6b5-4049-a78d-91575aed96c4}, !- Handle - 18 space(s) Occ Sch Saturday 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 4, !- Hour 1 - 30, !- Minute 1 - 0, !- Value Until Time 1 - 4, !- Hour 2 - 40, !- Minute 2 - 0.000414583333333332, !- Value Until Time 2 - 4, !- Hour 3 - 50, !- Minute 3 - 0.000829166666666665, !- Value Until Time 3 - 5, !- Hour 4 - 0, !- Minute 4 - 0.00124375, !- Value Until Time 4 - 5, !- Hour 5 - 10, !- Minute 5 - 0.00165833333333333, !- Value Until Time 5 - 5, !- Hour 6 - 20, !- Minute 6 - 0.00207291666666666, !- Value Until Time 6 - 5, !- Hour 7 - 30, !- Minute 7 - 0.00248749999999999, !- Value Until Time 7 - 5, !- Hour 8 - 40, !- Minute 8 - 0.00207291666666666, !- Value Until Time 8 - 5, !- Hour 9 - 50, !- Minute 9 - 0.00165833333333333, !- Value Until Time 9 - 6, !- Hour 10 - 0, !- Minute 10 - 0.00124374999999999, !- Value Until Time 10 - 6, !- Hour 11 - 10, !- Minute 11 - 0.00082916666666666, !- Value Until Time 11 - 6, !- Hour 12 - 20, !- Minute 12 - 0.000414583333333328, !- Value Until Time 12 - 6, !- Hour 13 - 30, !- Minute 13 - 0, !- Value Until Time 13 - 6, !- Hour 14 - 40, !- Minute 14 - 0.000829166666666665, !- Value Until Time 14 - 6, !- Hour 15 - 50, !- Minute 15 - 0.00165833333333333, !- Value Until Time 15 - 7, !- Hour 16 - 0, !- Minute 16 - 0.00248749999999999, !- Value Until Time 16 - 7, !- Hour 17 - 10, !- Minute 17 - 0.00331666666666666, !- Value Until Time 17 - 7, !- Hour 18 - 20, !- Minute 18 - 0.00414583333333332, !- Value Until Time 18 - 7, !- Hour 19 - 30, !- Minute 19 - 0.00497499999999998, !- Value Until Time 19 - 7, !- Hour 20 - 40, !- Minute 20 - 0.00414583333333332, !- Value Until Time 20 - 7, !- Hour 21 - 50, !- Minute 21 - 0.00331666666666665, !- Value Until Time 21 - 8, !- Hour 22 - 0, !- Minute 22 - 0.00248749999999999, !- Value Until Time 22 - 8, !- Hour 23 - 9, !- Minute 23 - 0.00165833333333333, !- Value Until Time 23 - 8, !- Hour 24 - 19, !- Minute 24 - 0.000829166666666669, !- Value Until Time 24 - 8, !- Hour 25 - 29, !- Minute 25 - 8.83737527601621e-18, !- Value Until Time 25 - 8, !- Hour 26 - 30, !- Minute 26 - 0, !- Value Until Time 26 - 10, !- Hour 27 - 30, !- Minute 27 - 0, !- Value Until Time 27 - 10, !- Hour 28 - 39, !- Minute 28 - 0.00082916666666666, !- Value Until Time 28 - 10, !- Hour 29 - 49, !- Minute 29 - 0.00165833333333332, !- Value Until Time 29 - 10, !- Hour 30 - 59, !- Minute 30 - 0.00248749999999998, !- Value Until Time 30 - 11, !- Hour 31 - 9, !- Minute 31 - 0.00331666666666664, !- Value Until Time 31 - 11, !- Hour 32 - 19, !- Minute 32 - 0.0041458333333333, !- Value Until Time 32 - 11, !- Hour 33 - 29, !- Minute 33 - 0.00497499999999996, !- Value Until Time 33 - 11, !- Hour 34 - 30, !- Minute 34 - 0.00497499999999998, !- Value Until Time 34 - 11, !- Hour 35 - 39, !- Minute 35 - 0.00414583333333332, !- Value Until Time 35 - 11, !- Hour 36 - 49, !- Minute 36 - 0.00331666666666666, !- Value Until Time 36 - 11, !- Hour 37 - 59, !- Minute 37 - 0.0024875, !- Value Until Time 37 - 12, !- Hour 38 - 9, !- Minute 38 - 0.00165833333333334, !- Value Until Time 38 - 12, !- Hour 39 - 19, !- Minute 39 - 0.000829166666666678, !- Value Until Time 39 - 12, !- Hour 40 - 29, !- Minute 40 - 1.76747505520324e-17, !- Value Until Time 40 - 12, !- Hour 41 - 30, !- Minute 41 - 0, !- Value Until Time 41 - 15, !- Hour 42 - 30, !- Minute 42 - 0, !- Value Until Time 42 - 15, !- Hour 43 - 39, !- Minute 43 - 0.00041458333333333, !- Value Until Time 43 - 15, !- Hour 44 - 49, !- Minute 44 - 0.00082916666666666, !- Value Until Time 44 - 15, !- Hour 45 - 59, !- Minute 45 - 0.00124374999999999, !- Value Until Time 45 - 16, !- Hour 46 - 9, !- Minute 46 - 0.00165833333333332, !- Value Until Time 46 - 16, !- Hour 47 - 19, !- Minute 47 - 0.00207291666666666, !- Value Until Time 47 - 16, !- Hour 48 - 30, !- Minute 48 - 0.00248749999999999, !- Value Until Time 48 - 16, !- Hour 49 - 40, !- Minute 49 - 0.00207291666666666, !- Value Until Time 49 - 16, !- Hour 50 - 50, !- Minute 50 - 0.00165833333333332, !- Value Until Time 50 - 17, !- Hour 51 - 0, !- Minute 51 - 0.00124374999999999, !- Value Until Time 51 - 17, !- Hour 52 - 10, !- Minute 52 - 0.000829166666666652, !- Value Until Time 52 - 17, !- Hour 53 - 20, !- Minute 53 - 0.000414583333333317, !- Value Until Time 53 - 17, !- Hour 54 - 30, !- Minute 54 - 0, !- Value Until Time 54 - 24, !- Hour 55 - 0, !- Minute 55 - 0; !- Value Until Time 55 - -OS:Schedule:Ruleset, - {c49bb022-a3bc-4f79-a682-8eed2270ba33}, !- Handle - Elevator Schedule 2, !- Name - , !- Schedule Type Limits Name - {18ecc921-0a15-42a0-a2a8-48b6f1ae0233}, !- Default Day Schedule Name - {c388a92e-c2d2-4c59-90f3-3f21392637df}, !- Summer Design Day Schedule Name - {106930d2-71e3-4d02-a356-711fa6457ce4}; !- Winter Design Day Schedule Name - -OS:AdditionalProperties, - {55af62aa-21ed-4e15-ac97-cc962f884e34}, !- Handle - {c49bb022-a3bc-4f79-a682-8eed2270ba33}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 37.499999999999844, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 18, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:25:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:25:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {18ecc921-0a15-42a0-a2a8-48b6f1ae0233}, !- Handle - 18 space(s) Occ Sch Default 2, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 7, !- Hour 2 - 0, !- Minute 2 - 1, !- Value Until Time 2 - 8, !- Hour 3 - 0, !- Minute 3 - 1, !- Value Until Time 3 - 11, !- Hour 4 - 0, !- Minute 4 - 0, !- Value Until Time 4 - 13, !- Hour 5 - 0, !- Minute 5 - 1, !- Value Until Time 5 - 16, !- Hour 6 - 0, !- Minute 6 - 0, !- Value Until Time 6 - 17, !- Hour 7 - 0, !- Minute 7 - 1, !- Value Until Time 7 - 18, !- Hour 8 - 0, !- Minute 8 - 1, !- Value Until Time 8 - 19, !- Hour 9 - 0, !- Minute 9 - 0, !- Value Until Time 9 - 20, !- Hour 10 - 0, !- Minute 10 - 1, !- Value Until Time 10 - 24, !- Hour 11 - 0, !- Minute 11 - 0; !- Value Until Time 11 - -OS:Schedule:Day, - {c388a92e-c2d2-4c59-90f3-3f21392637df}, !- Handle - 18 space(s) Occ Sch Summer Design Day 2, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {106930d2-71e3-4d02-a356-711fa6457ce4}, !- Handle - 18 space(s) Occ Sch Winter Design Day 2, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {de9c3f64-644b-4aea-8e68-c93f363ef10c}, !- Handle - 18 space(s) Occ Sch Sunday Rule 2, !- Name - {c49bb022-a3bc-4f79-a682-8eed2270ba33}, !- Schedule Ruleset Name - 0, !- Rule Order - {b7803f11-e640-4a15-a042-644086546451}, !- 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, - {b7803f11-e640-4a15-a042-644086546451}, !- Handle - 18 space(s) Occ Sch Sunday 2, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {3480e527-714f-4ddc-9a33-3a4ba49dfa11}, !- Handle - 18 space(s) Occ Sch Saturday Rule 2, !- Name - {c49bb022-a3bc-4f79-a682-8eed2270ba33}, !- Schedule Ruleset Name - 1, !- Rule Order - {86b826a9-11a2-4d8d-8fb8-265905cc196a}, !- 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, - {86b826a9-11a2-4d8d-8fb8-265905cc196a}, !- Handle - 18 space(s) Occ Sch Saturday 2, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 6, !- Hour 2 - 0, !- Minute 2 - 1, !- Value Until Time 2 - 7, !- Hour 3 - 0, !- Minute 3 - 0, !- Value Until Time 3 - 8, !- Hour 4 - 0, !- Minute 4 - 1, !- Value Until Time 4 - 11, !- Hour 5 - 0, !- Minute 5 - 0, !- Value Until Time 5 - 12, !- Hour 6 - 0, !- Minute 6 - 1, !- Value Until Time 6 - 16, !- Hour 7 - 0, !- Minute 7 - 0, !- Value Until Time 7 - 17, !- Hour 8 - 0, !- Minute 8 - 1, !- Value Until Time 8 - 24, !- Hour 9 - 0, !- Minute 9 - 0; !- Value Until Time 9 - -OS:Schedule:Ruleset, - {4a6bde33-5c9a-44f8-9c4e-0b720f6a70bf}, !- Handle - Elevator Schedule 3, !- Name - , !- Schedule Type Limits Name - {d63b4472-8bc7-4831-a338-454714019719}, !- Default Day Schedule Name - {dd351e6e-7b66-4f03-b365-6cf85c9712d9}, !- Summer Design Day Schedule Name - {5921084e-4b7b-4065-be01-d0036013eb88}; !- Winter Design Day Schedule Name - -OS:AdditionalProperties, - {4cea7adb-9df1-461a-9409-18c73abe0c11}, !- Handle - {4a6bde33-5c9a-44f8-9c4e-0b720f6a70bf}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 37.499999999999844, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 18, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:25:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:25:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {d63b4472-8bc7-4831-a338-454714019719}, !- Handle - 18 space(s) Occ Sch Default 3, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 7, !- Hour 2 - 0, !- Minute 2 - 1, !- Value Until Time 2 - 8, !- Hour 3 - 0, !- Minute 3 - 1, !- Value Until Time 3 - 11, !- Hour 4 - 0, !- Minute 4 - 0, !- Value Until Time 4 - 13, !- Hour 5 - 0, !- Minute 5 - 1, !- Value Until Time 5 - 16, !- Hour 6 - 0, !- Minute 6 - 0, !- Value Until Time 6 - 17, !- Hour 7 - 0, !- Minute 7 - 1, !- Value Until Time 7 - 18, !- Hour 8 - 0, !- Minute 8 - 1, !- Value Until Time 8 - 19, !- Hour 9 - 0, !- Minute 9 - 0, !- Value Until Time 9 - 20, !- Hour 10 - 0, !- Minute 10 - 1, !- Value Until Time 10 - 24, !- Hour 11 - 0, !- Minute 11 - 0; !- Value Until Time 11 - -OS:Schedule:Day, - {dd351e6e-7b66-4f03-b365-6cf85c9712d9}, !- Handle - 18 space(s) Occ Sch Summer Design Day 3, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {5921084e-4b7b-4065-be01-d0036013eb88}, !- Handle - 18 space(s) Occ Sch Winter Design Day 3, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {c862a189-2636-4247-bb52-8f6202681269}, !- Handle - 18 space(s) Occ Sch Sunday Rule 3, !- Name - {4a6bde33-5c9a-44f8-9c4e-0b720f6a70bf}, !- Schedule Ruleset Name - 0, !- Rule Order - {fab75faf-d18a-47f5-893c-603e9e97fcff}, !- 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, - {fab75faf-d18a-47f5-893c-603e9e97fcff}, !- Handle - 18 space(s) Occ Sch Sunday 3, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {77630a91-4614-4971-8e71-12e8ea790bdd}, !- Handle - 18 space(s) Occ Sch Saturday Rule 3, !- Name - {4a6bde33-5c9a-44f8-9c4e-0b720f6a70bf}, !- Schedule Ruleset Name - 1, !- Rule Order - {58b77db1-0422-4aaa-88de-a6145363064a}, !- 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, - {58b77db1-0422-4aaa-88de-a6145363064a}, !- Handle - 18 space(s) Occ Sch Saturday 3, !- Name - , !- Schedule Type Limits Name - , !- Interpolate to Timestep - 5, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 6, !- Hour 2 - 0, !- Minute 2 - 1, !- Value Until Time 2 - 7, !- Hour 3 - 0, !- Minute 3 - 0, !- Value Until Time 3 - 8, !- Hour 4 - 0, !- Minute 4 - 1, !- Value Until Time 4 - 11, !- Hour 5 - 0, !- Minute 5 - 0, !- Value Until Time 5 - 12, !- Hour 6 - 0, !- Minute 6 - 1, !- Value Until Time 6 - 16, !- Hour 7 - 0, !- Minute 7 - 0, !- Value Until Time 7 - 17, !- Hour 8 - 0, !- Minute 8 - 1, !- Value Until Time 8 - 24, !- Hour 9 - 0, !- Minute 9 - 0; !- Value Until Time 9 - -OS:ElectricEquipment:Definition, - {bdf66808-26ad-480c-9e6c-712f4318975a}, !- Handle - Elevator Lift Motor, !- Name - EquipmentLevel, !- Design Level Calculation Method - 14610, !- Design Level {W} - , !- Watts per Space Floor Area {W/m2} - , !- Watts per Person {W/person} - 0, !- Fraction Latent - 0, !- Fraction Radiant - 1; !- Fraction Lost - -OS:ElectricEquipment, - {381af0bc-2c4c-48da-b9f3-2abef34563ab}, !- Handle - 2 Elevator Lift Motors, !- Name - {bdf66808-26ad-480c-9e6c-712f4318975a}, !- Electric Equipment Definition Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space or SpaceType Name - {99fcbbe4-ee5b-41fc-b9e6-b9ca6a329f17}, !- Schedule Name - 2, !- Multiplier - Elevators; !- End-Use Subcategory - -OS:Exterior:Lights:Definition, - {daf344da-10fe-4ca2-ada6-1023c856e61e}, !- Handle - Parking Areas and Drives Def (W/ft^2), !- Name - 0.030296; !- Design Level {W} - -OS:Exterior:Lights, - {12ffce87-9754-4797-84cc-6430783defe0}, !- Handle - Parking Areas and Drives, !- Name - {daf344da-10fe-4ca2-ada6-1023c856e61e}, !- Exterior Lights Definition Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - AstronomicalClock, !- Control Option - 12150, !- Multiplier - Parking Areas and Drives; !- End-Use Subcategory - -OS:Exterior:Lights:Definition, - {52969fe7-e6c5-4900-85e2-1326a16be85c}, !- Handle - Building Facades Def (W/ft^2), !- Name - 0.15; !- Design Level {W} - -OS:Exterior:Lights, - {0cf0df7c-5d7a-4b31-b90e-89a96c08891b}, !- Handle - Building Facades, !- Name - {52969fe7-e6c5-4900-85e2-1326a16be85c}, !- Exterior Lights Definition Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - AstronomicalClock, !- Control Option - 2598.07621135331, !- Multiplier - Building Facades; !- End-Use Subcategory - -OS:Exterior:Lights:Definition, - {53a05af3-de2c-404a-b996-b3b7627e8982}, !- Handle - Main Entries Def (W/ft), !- Name - 30; !- Design Level {W} - -OS:Exterior:Lights, - {965eb2f3-4866-4b8b-9741-b353e2f81c87}, !- Handle - Main Entries, !- Name - {53a05af3-de2c-404a-b996-b3b7627e8982}, !- Exterior Lights Definition Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - AstronomicalClock, !- Control Option - 8, !- Multiplier - Main Entries; !- End-Use Subcategory - -OS:Exterior:Lights:Definition, - {8619cd68-e8d2-491c-b393-e319f0a2d83f}, !- Handle - Other Doors Def (W/ft), !- Name - 20; !- Design Level {W} - -OS:Exterior:Lights, - {5575db23-dae9-4239-a6b7-f9004eae575f}, !- Handle - Other Doors, !- Name - {8619cd68-e8d2-491c-b393-e319f0a2d83f}, !- Exterior Lights Definition Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Schedule Name - AstronomicalClock, !- Control Option - 2.99999999999999, !- Multiplier - Other Doors; !- End-Use Subcategory - -OS:Schedule:Ruleset, - {acaed598-b52d-4931-8197-e5e08c276e9a}, !- Handle - OfficeSmall BLDG_SWH_SCH, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {d1c7017a-f34a-461c-86f0-7666fa31f12a}, !- Default Day Schedule Name - {981c61cf-33f0-4bea-b574-fa3e0067854e}, !- Summer Design Day Schedule Name - {d497cf4f-66b9-4f4c-86f9-f79214218649}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {d1c7017a-f34a-461c-86f0-7666fa31f12a}, !- Handle - OfficeSmall BLDG_SWH_SCH Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Day, - {d497cf4f-66b9-4f4c-86f9-f79214218649}, !- Handle - OfficeSmall BLDG_SWH_SCH Winter Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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, - {981c61cf-33f0-4bea-b574-fa3e0067854e}, !- Handle - OfficeSmall BLDG_SWH_SCH Summer Design Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- 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, - {1859d07c-b50c-4f9d-9c6d-065af918a23c}, !- Handle - Schedule Rule 12, !- Name - {acaed598-b52d-4931-8197-e5e08c276e9a}, !- Schedule Ruleset Name - 0, !- Rule Order - {68a24d0f-054c-48be-a439-ad12839f1344}, !- 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, - {68a24d0f-054c-48be-a439-ad12839f1344}, !- Handle - OfficeSmall BLDG_SWH_SCH WntrDsn|SmrDsn|Wkdy Day, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 5, !- Hour 1 - 45, !- Minute 1 - 0, !- Value Until Time 1 - 5, !- Hour 2 - 55, !- Minute 2 - 0.0450000000000001, !- Value Until Time 2 - 6, !- Hour 3 - 5, !- Minute 3 - 0.0900000000000002, !- Value Until Time 3 - 6, !- Hour 4 - 15, !- Minute 4 - 0.135, !- Value Until Time 4 - 6, !- Hour 5 - 25, !- Minute 5 - 0.18, !- Value Until Time 5 - 6, !- Hour 6 - 35, !- Minute 6 - 0.225, !- Value Until Time 6 - 6, !- Hour 7 - 45, !- Minute 7 - 0.27, !- Value Until Time 7 - 6, !- Hour 8 - 55, !- Minute 8 - 0.316666666666667, !- Value Until Time 8 - 7, !- Hour 9 - 5, !- Minute 9 - 0.363333333333334, !- Value Until Time 9 - 7, !- Hour 10 - 15, !- Minute 10 - 0.41, !- Value Until Time 10 - 7, !- Hour 11 - 25, !- Minute 11 - 0.456666666666667, !- Value Until Time 11 - 7, !- Hour 12 - 35, !- Minute 12 - 0.503333333333334, !- Value Until Time 12 - 7, !- Hour 13 - 45, !- Minute 13 - 0.55, !- Value Until Time 13 - 7, !- Hour 14 - 55, !- Minute 14 - 0.565, !- Value Until Time 14 - 8, !- Hour 15 - 5, !- Minute 15 - 0.58, !- Value Until Time 15 - 8, !- Hour 16 - 15, !- Minute 16 - 0.595, !- Value Until Time 16 - 8, !- Hour 17 - 24, !- Minute 17 - 0.61, !- Value Until Time 17 - 8, !- Hour 18 - 34, !- Minute 18 - 0.625, !- Value Until Time 18 - 8, !- Hour 19 - 44, !- Minute 19 - 0.64, !- Value Until Time 19 - 8, !- Hour 20 - 45, !- Minute 20 - 0.64, !- Value Until Time 20 - 9, !- Hour 21 - 45, !- Minute 21 - 0.64, !- Value Until Time 21 - 9, !- Hour 22 - 54, !- Minute 22 - 0.66, !- Value Until Time 22 - 10, !- Hour 23 - 4, !- Minute 23 - 0.68, !- Value Until Time 23 - 10, !- Hour 24 - 14, !- Minute 24 - 0.7, !- Value Until Time 24 - 10, !- Hour 25 - 24, !- Minute 25 - 0.72, !- Value Until Time 25 - 10, !- Hour 26 - 34, !- Minute 26 - 0.74, !- Value Until Time 26 - 10, !- Hour 27 - 44, !- Minute 27 - 0.76, !- Value Until Time 27 - 10, !- Hour 28 - 54, !- Minute 28 - 0.78, !- Value Until Time 28 - 11, !- Hour 29 - 4, !- Minute 29 - 0.799999999999999, !- Value Until Time 29 - 11, !- Hour 30 - 14, !- Minute 30 - 0.819999999999999, !- Value Until Time 30 - 11, !- Hour 31 - 15, !- Minute 31 - 0.82, !- Value Until Time 31 - 11, !- Hour 32 - 24, !- Minute 32 - 0.85, !- Value Until Time 32 - 11, !- Hour 33 - 34, !- Minute 33 - 0.88, !- Value Until Time 33 - 11, !- Hour 34 - 44, !- Minute 34 - 0.91, !- Value Until Time 34 - 11, !- Hour 35 - 54, !- Minute 35 - 0.94, !- Value Until Time 35 - 12, !- Hour 36 - 4, !- Minute 36 - 0.97, !- Value Until Time 36 - 12, !- Hour 37 - 14, !- Minute 37 - 0.999999999999999, !- Value Until Time 37 - 12, !- Hour 38 - 15, !- Minute 38 - 1, !- Value Until Time 38 - 12, !- Hour 39 - 24, !- Minute 39 - 0.985, !- Value Until Time 39 - 12, !- Hour 40 - 34, !- Minute 40 - 0.97, !- Value Until Time 40 - 12, !- Hour 41 - 44, !- Minute 41 - 0.955, !- Value Until Time 41 - 12, !- Hour 42 - 54, !- Minute 42 - 0.94, !- Value Until Time 42 - 13, !- Hour 43 - 4, !- Minute 43 - 0.925, !- Value Until Time 43 - 13, !- Hour 44 - 14, !- Minute 44 - 0.91, !- Value Until Time 44 - 13, !- Hour 45 - 15, !- Minute 45 - 0.91, !- Value Until Time 45 - 13, !- Hour 46 - 24, !- Minute 46 - 0.85, !- Value Until Time 46 - 13, !- Hour 47 - 34, !- Minute 47 - 0.79, !- Value Until Time 47 - 13, !- Hour 48 - 44, !- Minute 48 - 0.730000000000001, !- Value Until Time 48 - 13, !- Hour 49 - 54, !- Minute 49 - 0.670000000000001, !- Value Until Time 49 - 14, !- Hour 50 - 4, !- Minute 50 - 0.610000000000001, !- Value Until Time 50 - 14, !- Hour 51 - 14, !- Minute 51 - 0.550000000000001, !- Value Until Time 51 - 14, !- Hour 52 - 15, !- Minute 52 - 0.55, !- Value Until Time 52 - 15, !- Hour 53 - 15, !- Minute 53 - 0.55, !- Value Until Time 53 - 15, !- Hour 54 - 24, !- Minute 54 - 0.57, !- Value Until Time 54 - 15, !- Hour 55 - 34, !- Minute 55 - 0.59, !- Value Until Time 55 - 15, !- Hour 56 - 44, !- Minute 56 - 0.61, !- Value Until Time 56 - 15, !- Hour 57 - 54, !- Minute 57 - 0.63, !- Value Until Time 57 - 16, !- Hour 58 - 4, !- Minute 58 - 0.65, !- Value Until Time 58 - 16, !- Hour 59 - 15, !- Minute 59 - 0.67, !- Value Until Time 59 - 16, !- Hour 60 - 25, !- Minute 60 - 0.69, !- Value Until Time 60 - 16, !- Hour 61 - 35, !- Minute 61 - 0.71, !- Value Until Time 61 - 16, !- Hour 62 - 45, !- Minute 62 - 0.73, !- Value Until Time 62 - 16, !- Hour 63 - 55, !- Minute 63 - 0.67, !- Value Until Time 63 - 17, !- Hour 64 - 5, !- Minute 64 - 0.609999999999999, !- Value Until Time 64 - 17, !- Hour 65 - 15, !- Minute 65 - 0.549999999999999, !- Value Until Time 65 - 17, !- Hour 66 - 25, !- Minute 66 - 0.489999999999998, !- Value Until Time 66 - 17, !- Hour 67 - 35, !- Minute 67 - 0.429999999999998, !- Value Until Time 67 - 17, !- Hour 68 - 45, !- Minute 68 - 0.37, !- Value Until Time 68 - 18, !- Hour 69 - 45, !- Minute 69 - 0.37, !- Value Until Time 69 - 18, !- Hour 70 - 55, !- Minute 70 - 0.338333333333333, !- Value Until Time 70 - 19, !- Hour 71 - 5, !- Minute 71 - 0.306666666666666, !- Value Until Time 71 - 19, !- Hour 72 - 15, !- Minute 72 - 0.274999999999999, !- Value Until Time 72 - 19, !- Hour 73 - 25, !- Minute 73 - 0.243333333333332, !- Value Until Time 73 - 19, !- Hour 74 - 35, !- Minute 74 - 0.211666666666666, !- Value Until Time 74 - 19, !- Hour 75 - 45, !- Minute 75 - 0.18, !- Value Until Time 75 - 19, !- Hour 76 - 55, !- Minute 76 - 0.195, !- Value Until Time 76 - 20, !- Hour 77 - 5, !- Minute 77 - 0.21, !- Value Until Time 77 - 20, !- Hour 78 - 15, !- Minute 78 - 0.225, !- Value Until Time 78 - 20, !- Hour 79 - 25, !- Minute 79 - 0.24, !- Value Until Time 79 - 20, !- Hour 80 - 35, !- Minute 80 - 0.255000000000001, !- Value Until Time 80 - 20, !- Hour 81 - 45, !- Minute 81 - 0.27, !- Value Until Time 81 - 20, !- Hour 82 - 55, !- Minute 82 - 0.24, !- Value Until Time 82 - 21, !- Hour 83 - 5, !- Minute 83 - 0.21, !- Value Until Time 83 - 21, !- Hour 84 - 15, !- Minute 84 - 0.179999999999999, !- Value Until Time 84 - 21, !- Hour 85 - 25, !- Minute 85 - 0.149999999999999, !- Value Until Time 85 - 21, !- Hour 86 - 35, !- Minute 86 - 0.119999999999999, !- Value Until Time 86 - 21, !- Hour 87 - 45, !- Minute 87 - 0.09, !- Value Until Time 87 - 21, !- Hour 88 - 55, !- Minute 88 - 0.0749999999999999, !- Value Until Time 88 - 22, !- Hour 89 - 5, !- Minute 89 - 0.0599999999999998, !- Value Until Time 89 - 22, !- Hour 90 - 15, !- Minute 90 - 0.0449999999999997, !- Value Until Time 90 - 22, !- Hour 91 - 25, !- Minute 91 - 0.0299999999999996, !- Value Until Time 91 - 22, !- Hour 92 - 35, !- Minute 92 - 0.0149999999999995, !- Value Until Time 92 - 22, !- Hour 93 - 45, !- Minute 93 - 0, !- Value Until Time 93 - 24, !- Hour 94 - 0, !- Minute 94 - 0; !- Value Until Time 94 - -OS:WaterUse:Connections, - {826f8980-e059-4378-8d9c-9d6c003a4fb6}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 WUC 0.07gpm at 140F, !- Name - {13c0a075-dc1d-483d-a903-cda40766da94}, !- Inlet Node Name - {7e1d43a6-4ad7-4e60-86f0-e6f8d90340f7}, !- 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} - {7d1e3f61-91d4-43bf-a750-6035d8d0009a}; !- Water Use Equipment Name 1 - -OS:WaterUse:Equipment:Definition, - {31414555-b148-475b-9b34-89b64b7074c9}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Service Water Use Def 0.07gpm, !- Name - , !- End-Use Subcategory - 4.30004064844917e-06, !- Peak Flow Rate {m3/s} - {f314e220-fcc5-4961-b9f8-a9fad7c78aec}, !- Target Temperature Schedule Name - {f6a74683-7dc1-4bf6-b29d-0fea5e34951d}, !- Sensible Fraction Schedule Name - {9bfe6b5c-60f6-4b26-b4de-cd4ccfa5fdea}; !- Latent Fraction Schedule Name - -OS:Schedule:Ruleset, - {f6a74683-7dc1-4bf6-b29d-0fea5e34951d}, !- Handle - Fraction Sensible - 0.2, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {9bba824b-2f35-4785-831f-fb0d8ae72f03}; !- Default Day Schedule Name - -OS:Schedule:Day, - {9bba824b-2f35-4785-831f-fb0d8ae72f03}, !- Handle - Fraction Sensible - 0.2 Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.2; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {9bfe6b5c-60f6-4b26-b4de-cd4ccfa5fdea}, !- Handle - Fraction Latent - 0.05, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {e204fd55-fa8c-49a4-977a-b254b6d49363}; !- Default Day Schedule Name - -OS:Schedule:Day, - {e204fd55-fa8c-49a4-977a-b254b6d49363}, !- Handle - Fraction Latent - 0.05 Default, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.05; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {f314e220-fcc5-4961-b9f8-a9fad7c78aec}, !- Handle - Mixed Water At Faucet Temp - 140F, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - {a360d831-7440-4685-8578-c903ea07432c}; !- Default Day Schedule Name - -OS:Schedule:Day, - {a360d831-7440-4685-8578-c903ea07432c}, !- Handle - Mixed Water At Faucet Temp - 140F Default, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 60.0000000000001; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Handle - Temperature, !- Name - , !- Lower Limit Value - , !- Upper Limit Value - Continuous, !- Numeric Type - Temperature; !- Unit Type - -OS:WaterUse:Equipment, - {7d1e3f61-91d4-43bf-a750-6035d8d0009a}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Service Water Use 0.07gpm at 140F, !- Name - {31414555-b148-475b-9b34-89b64b7074c9}, !- Water Use Equipment Definition Name - , !- Space Name - {acaed598-b52d-4931-8197-e5e08c276e9a}; !- Flow Rate Fraction Schedule Name - -OS:PlantLoop, - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- Handle - Office Shared 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 - {eae2e1be-3618-4b41-a503-3ccbba1a2276}, !- 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} - {fe6c898d-7ad9-46b3-aa78-9ef31404fc6a}, !- Plant Side Inlet Node Name - {9f448438-2a23-4763-ad21-8300c54d4141}, !- Plant Side Outlet Node Name - , !- Plant Side Branch List Name - {158f4722-a1ae-48e9-9717-4f8a5c2e85c8}, !- Demand Side Inlet Node Name - {c3b8bbce-a066-4d98-b25d-6d1c51df4a6a}, !- Demand Side Outlet Node Name - , !- Demand Side Branch List Name - , !- Demand Side Connector List Name - Optimal, !- Load Distribution Scheme - {3710467c-a525-45af-aed9-4fe2d5abe991}, !- 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 - {bb1c837d-8468-4dff-9425-14a2b70ac98e}, !- Demand Mixer Name - {97f2e761-1172-4b4c-b394-69248be20e88}, !- Demand Splitter Name - {cbe0c595-d324-4426-b399-040453e78db0}, !- Supply Mixer Name - {23113de1-2918-4764-9085-1f16aef25136}; !- Supply Splitter Name - -OS:Node, - {abbdcc63-cb4c-44b4-8e6d-c0e8e4538ff7}, !- Handle - Office Shared Service Water Loop Supply Inlet Node, !- Name - {fe6c898d-7ad9-46b3-aa78-9ef31404fc6a}, !- Inlet Port - {f43ddb3f-ec41-4a5d-ab65-5f33319d6214}; !- Outlet Port - -OS:Node, - {eae2e1be-3618-4b41-a503-3ccbba1a2276}, !- Handle - Office Shared Service Water Loop Supply Outlet Node, !- Name - {60a94fe5-d177-4e68-a67a-dd2e0caac9d0}, !- Inlet Port - {9f448438-2a23-4763-ad21-8300c54d4141}; !- Outlet Port - -OS:Node, - {135ba4fa-8191-4c20-8084-9b5b10d3f2e7}, !- Handle - 40gal Electricity Water Heater - 4kBtu/hr Supply Inlet Water Node, !- Name - {3762c677-6d95-4efc-9630-277f869d5009}, !- Inlet Port - {aad926e9-c5a8-442c-bce5-8fccc86a43cc}; !- Outlet Port - -OS:Connector:Mixer, - {cbe0c595-d324-4426-b399-040453e78db0}, !- Handle - Connector Mixer 1, !- Name - {1e4056d6-4e1c-47eb-99f2-58fb8a50d4d1}, !- Outlet Branch Name - {1893b156-92be-48ff-a450-f6f41a4e62f6}, !- Inlet Branch Name 1 - {92fa1347-93a3-4f8b-8d69-772dbf7e0ea9}; !- Inlet Branch Name 2 - -OS:Connector:Splitter, - {23113de1-2918-4764-9085-1f16aef25136}, !- Handle - Connector Splitter 1, !- Name - {cabdd6c1-f426-4fc7-938e-937795d0659b}, !- Inlet Branch Name - {3762c677-6d95-4efc-9630-277f869d5009}, !- Outlet Branch Name 1 - {c67449df-ddc0-4582-9c0c-3e3d2a7297d2}; !- Outlet Branch Name 2 - -OS:Connection, - {fe6c898d-7ad9-46b3-aa78-9ef31404fc6a}, !- Handle - {1474ee38-48bf-4196-8562-824bdc67299c}, !- Name - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- Source Object - 14, !- Outlet Port - {abbdcc63-cb4c-44b4-8e6d-c0e8e4538ff7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {3762c677-6d95-4efc-9630-277f869d5009}, !- Handle - {4bb7bfd2-d737-44c9-9957-a8e5f907e73e}, !- Name - {23113de1-2918-4764-9085-1f16aef25136}, !- Source Object - 3, !- Outlet Port - {135ba4fa-8191-4c20-8084-9b5b10d3f2e7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9f448438-2a23-4763-ad21-8300c54d4141}, !- Handle - {984abb9c-afb4-4398-9515-3bed3faf62a4}, !- Name - {eae2e1be-3618-4b41-a503-3ccbba1a2276}, !- Source Object - 3, !- Outlet Port - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- Target Object - 15; !- Inlet Port - -OS:Node, - {2b0798d4-42b9-4f33-b08f-d0bce45370f0}, !- Handle - Office Shared Service Water Loop Demand Inlet Node, !- Name - {158f4722-a1ae-48e9-9717-4f8a5c2e85c8}, !- Inlet Port - {d776b127-79a4-4678-9cbd-051650f335f8}; !- Outlet Port - -OS:Node, - {f0a8195b-dc6a-4749-b919-1388f1c9ca5c}, !- Handle - Office Shared Service Water Loop Demand Outlet Node, !- Name - {0428abaf-dc40-4378-a660-76548af21ed2}, !- Inlet Port - {c3b8bbce-a066-4d98-b25d-6d1c51df4a6a}; !- Outlet Port - -OS:Node, - {d4259e1b-435c-4243-ac79-c73e44929b9f}, !- Handle - Pipe Adiabatic 2 Inlet Water Node, !- Name - {781cfa05-9ece-4ee3-a60b-8e759e7ab349}, !- Inlet Port - {e9db46d3-0483-4681-943e-ebf0d0e1e035}; !- Outlet Port - -OS:Connector:Mixer, - {bb1c837d-8468-4dff-9425-14a2b70ac98e}, !- Handle - Connector Mixer 2, !- Name - {8aee54f6-fd8e-4f08-88b4-1c8ac9dd08fa}, !- Outlet Branch Name - {fdce6810-f113-473e-8427-ffd60c6d133d}, !- Inlet Branch Name 1 - {a7770a1e-469b-42cc-9d4a-53c4421e770f}; !- Inlet Branch Name 2 - -OS:Connector:Splitter, - {97f2e761-1172-4b4c-b394-69248be20e88}, !- Handle - Connector Splitter 2, !- Name - {a8e91723-9a39-4c01-996d-7eabfadcf3d8}, !- Inlet Branch Name - {781cfa05-9ece-4ee3-a60b-8e759e7ab349}, !- Outlet Branch Name 1 - {22041fc5-6b86-457f-a421-52325fcc3ef1}; !- Outlet Branch Name 2 - -OS:Connection, - {158f4722-a1ae-48e9-9717-4f8a5c2e85c8}, !- Handle - {96c3da4d-3be1-41a7-a101-bbb12e37ce8a}, !- Name - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- Source Object - 17, !- Outlet Port - {2b0798d4-42b9-4f33-b08f-d0bce45370f0}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {781cfa05-9ece-4ee3-a60b-8e759e7ab349}, !- Handle - {5341c6a3-7d09-495b-b3d1-544484e2dad7}, !- Name - {97f2e761-1172-4b4c-b394-69248be20e88}, !- Source Object - 3, !- Outlet Port - {d4259e1b-435c-4243-ac79-c73e44929b9f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {c3b8bbce-a066-4d98-b25d-6d1c51df4a6a}, !- Handle - {012256bc-32a3-4464-b744-e31bc3fdfc05}, !- Name - {f0a8195b-dc6a-4749-b919-1388f1c9ca5c}, !- Source Object - 3, !- Outlet Port - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- Target Object - 18; !- Inlet Port - -OS:Sizing:Plant, - {fd9c8be6-a743-4f67-9477-1535e7285f6c}, !- Handle - {ad886a9a-85b8-4bd0-ba27-908cef4ad69e}, !- 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, - {3710467c-a525-45af-aed9-4fe2d5abe991}, !- Handle - Plant Loop 1 AvailabilityManagerAssignmentList; !- Name - -OS:ScheduleTypeLimits, - {900ab11e-b04f-44eb-adab-9aeee5ea081f}, !- Handle - Temperature Schedule Type Limits, !- Name - 0, !- Lower Limit Value - 100, !- Upper Limit Value - Continuous, !- Numeric Type - Temperature; !- Unit Type - -OS:Schedule:Ruleset, - {8a0bed31-1caa-4682-84ae-f28ed17b34af}, !- Handle - Service Water Loop Temp - 140F, !- Name - {900ab11e-b04f-44eb-adab-9aeee5ea081f}, !- Schedule Type Limits Name - {b886ba55-1a4f-41f1-bde3-fe5632f411c4}; !- Default Day Schedule Name - -OS:Schedule:Day, - {b886ba55-1a4f-41f1-bde3-fe5632f411c4}, !- Handle - Service Water Loop Temp - 140F Default, !- Name - {900ab11e-b04f-44eb-adab-9aeee5ea081f}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 60.0000000000001; !- Value Until Time 1 - -OS:SetpointManager:Scheduled, - {e4697fdd-0d7a-4a72-8b53-fbb1ed60ab16}, !- Handle - Service hot water setpoint manager, !- Name - Temperature, !- Control Variable - {8a0bed31-1caa-4682-84ae-f28ed17b34af}, !- Schedule Name - {eae2e1be-3618-4b41-a503-3ccbba1a2276}; !- Setpoint Node or NodeList Name - -OS:Pump:ConstantSpeed, - {e766ce54-cf48-4c04-8fa3-f73e5eeb69d7}, !- Handle - Office Shared Service Water Loop Circulator Pump, !- Name - {f43ddb3f-ec41-4a5d-ab65-5f33319d6214}, !- Inlet Node Name - {3560d6b5-0927-4aae-a2a5-1d1cc1fe7b2b}, !- Outlet Node Name - autosize, !- Rated Flow Rate {m3/s} - 29890.6692, !- Rated Pump Head {Pa} - autosize, !- Rated Power Consumption {W} - 0.825, !- Motor Efficiency - 0, !- Fraction of Motor Inefficiencies to Fluid Stream - Intermittent, !- Pump Control Type - , !- Pump Flow Rate Schedule - , !- Pump Curve - , !- Impeller Diameter {m} - , !- Rotational Speed {rev/min} - , !- Zone - , !- 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} - General; !- End-Use Subcategory - -OS:Node, - {094f9b58-8cd2-49d9-8ee0-0a669bbb2825}, !- Handle - Office Shared Service Water Loop Circulator Pump Outlet Water Node, !- Name - {3560d6b5-0927-4aae-a2a5-1d1cc1fe7b2b}, !- Inlet Port - {cabdd6c1-f426-4fc7-938e-937795d0659b}; !- Outlet Port - -OS:Connection, - {f43ddb3f-ec41-4a5d-ab65-5f33319d6214}, !- Handle - {b496837c-493f-4dd2-b0c9-9a74f2395b96}, !- Name - {abbdcc63-cb4c-44b4-8e6d-c0e8e4538ff7}, !- Source Object - 3, !- Outlet Port - {e766ce54-cf48-4c04-8fa3-f73e5eeb69d7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {3560d6b5-0927-4aae-a2a5-1d1cc1fe7b2b}, !- Handle - {f66943d2-ff45-4b43-8460-3322774458ed}, !- Name - {e766ce54-cf48-4c04-8fa3-f73e5eeb69d7}, !- Source Object - 3, !- Outlet Port - {094f9b58-8cd2-49d9-8ee0-0a669bbb2825}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {cabdd6c1-f426-4fc7-938e-937795d0659b}, !- Handle - {2cefc9d4-c98b-405a-b930-b43b30bed72b}, !- Name - {094f9b58-8cd2-49d9-8ee0-0a669bbb2825}, !- Source Object - 3, !- Outlet Port - {23113de1-2918-4764-9085-1f16aef25136}, !- Target Object - 2; !- Inlet Port - -OS:ScheduleTypeLimits, - {74e479e9-66c6-42e7-b334-4eea2d6bdb2c}, !- Handle - Temperature Schedule Type Limits 1, !- Name - 0, !- Lower Limit Value - 100, !- Upper Limit Value - Continuous, !- Numeric Type - Temperature; !- Unit Type - -OS:WaterHeater:Mixed, - {1d6c63c6-1813-4e91-b038-d8e781415cc8}, !- Handle - 40gal Electricity Water Heater - 4kBtu/hr 1.0 Therm Eff 1.0 Therm Eff, !- Name - 0.151416471358794, !- Tank Volume {m3} - {8a0bed31-1caa-4682-84ae-f28ed17b34af}, !- Setpoint Temperature Schedule Name - 2, !- Deadband Temperature Difference {deltaC} - 60.0000000000001, !- Maximum Temperature Limit {C} - Cycle, !- Heater Control Type - 1258.4158546384, !- 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 - 0, !- Off Cycle Parasitic Fuel Consumption Rate {W} - Electricity, !- Off Cycle Parasitic Fuel Type - 0, !- Off Cycle Parasitic Heat Fraction to Tank - 0, !- On Cycle Parasitic Fuel Consumption Rate {W} - Electricity, !- On Cycle Parasitic Fuel Type - 0, !- On Cycle Parasitic Heat Fraction to Tank - Schedule, !- Ambient Temperature Indicator - {108352b9-aa24-4b78-bced-b1972c80b61a}, !- Ambient Temperature Schedule Name - , !- 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 - {aad926e9-c5a8-442c-bce5-8fccc86a43cc}, !- Use Side Inlet Node Name - {89c91464-bb2d-4ff2-8a39-680784b93afb}, !- 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:Ruleset, - {108352b9-aa24-4b78-bced-b1972c80b61a}, !- Handle - Water Heater Ambient Temp Schedule - 70.0f, !- Name - {74e479e9-66c6-42e7-b334-4eea2d6bdb2c}, !- Schedule Type Limits Name - {d0972a0d-ea56-4b3f-83d7-4babf100bd86}; !- Default Day Schedule Name - -OS:Schedule:Day, - {d0972a0d-ea56-4b3f-83d7-4babf100bd86}, !- Handle - Water Heater Ambient Temp Schedule - 70.0f Default, !- Name - {74e479e9-66c6-42e7-b334-4eea2d6bdb2c}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 21.1111111111111; !- Value Until Time 1 - -OS:Node, - {e1df2f34-d1a0-4219-9a66-2ea3aa82c014}, !- Handle - 40gal Electricity Water Heater - 4kBtu/hr Supply Outlet Water Node, !- Name - {89c91464-bb2d-4ff2-8a39-680784b93afb}, !- Inlet Port - {1893b156-92be-48ff-a450-f6f41a4e62f6}; !- Outlet Port - -OS:Connection, - {aad926e9-c5a8-442c-bce5-8fccc86a43cc}, !- Handle - {51b0d5b6-6e8d-4cad-aff6-52848ff67308}, !- Name - {135ba4fa-8191-4c20-8084-9b5b10d3f2e7}, !- Source Object - 3, !- Outlet Port - {1d6c63c6-1813-4e91-b038-d8e781415cc8}, !- Target Object - 31; !- Inlet Port - -OS:Connection, - {89c91464-bb2d-4ff2-8a39-680784b93afb}, !- Handle - {0fd6fa74-0f7b-41e3-968a-14426e3e43d3}, !- Name - {1d6c63c6-1813-4e91-b038-d8e781415cc8}, !- Source Object - 32, !- Outlet Port - {e1df2f34-d1a0-4219-9a66-2ea3aa82c014}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {1893b156-92be-48ff-a450-f6f41a4e62f6}, !- Handle - {c56751da-4fcb-41b2-b1be-d9a7c16e3a09}, !- Name - {e1df2f34-d1a0-4219-9a66-2ea3aa82c014}, !- Source Object - 3, !- Outlet Port - {cbe0c595-d324-4426-b399-040453e78db0}, !- Target Object - 3; !- Inlet Port - -OS:AdditionalProperties, - {36b97dde-ea88-4b3d-bd23-4eb35b989048}, !- Handle - {1d6c63c6-1813-4e91-b038-d8e781415cc8}; !- Object Name - -OS:Schedule:Ruleset, - {ad303435-8193-4e9d-bae5-5170133bcf73}, !- Handle - Office Shared Service Water Loop Piping Air Temp - 70F, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - {97277688-5f36-4d2c-9ed9-18168e64403b}; !- Default Day Schedule Name - -OS:Schedule:Day, - {97277688-5f36-4d2c-9ed9-18168e64403b}, !- Handle - Office Shared Service Water Loop Piping Air Temp - 70F Default, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 21.1111; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {90538a46-fb36-45e4-9a16-d9d4cdf7f577}, !- Handle - Office Shared Service Water Loop Piping Air Velocity - 0.67mph, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - {b4542722-d580-43d2-bd2d-adbd09c62c11}; !- Default Day Schedule Name - -OS:Schedule:Day, - {b4542722-d580-43d2-bd2d-adbd09c62c11}, !- Handle - Office Shared Service Water Loop Piping Air Velocity - 0.67mph Default, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.3; !- Value Until Time 1 - -OS:Material, - {270457b3-ff8c-4043-99c5-b111ab2a04d8}, !- Handle - Copper pipe 0.75in type L, !- Name - Smooth, !- Roughness - 0.001143, !- Thickness {m} - 386, !- Conductivity {W/m-K} - 8906.26563592184, !- Density {kg/m3} - 385.1856, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Construction, - {53b13f58-c933-4ac1-801c-d1c0b29f67c7}, !- Handle - Copper pipe 0.75in type L with 0.5in fiberglass batt, !- Name - , !- Surface Rendering Name - {b8685d6c-835e-47fe-92c5-d6a0b08f61eb}, !- Layer 1 - {270457b3-ff8c-4043-99c5-b111ab2a04d8}; !- Layer 2 - -OS:Material, - {b8685d6c-835e-47fe-92c5-d6a0b08f61eb}, !- Handle - Fiberglass batt 0.5in, !- Name - Smooth, !- Roughness - 0.0127, !- Thickness {m} - 0.06634482887757, !- Conductivity {W/m-K} - 11.2129243617721, !- Density {kg/m3} - 837.36, !- Specific Heat {J/kg-K} - 0.9, !- Thermal Absorptance - 0.7, !- Solar Absorptance - 0.7; !- Visible Absorptance - -OS:Pipe:Indoor, - {8e79b72c-a76c-4022-9558-dc43838a91a2}, !- Handle - Office Shared Service Water Loop Pipe 142.47448713915867ft, !- Name - {53b13f58-c933-4ac1-801c-d1c0b29f67c7}, !- Construction - {d776b127-79a4-4678-9cbd-051650f335f8}, !- Fluid Inlet Node - {e1390e73-a2a4-468e-aa54-05e03a5fdab1}, !- Fluid Outlet Node - Schedule, !- Environment Type - , !- Ambient Temperature Zone - {ad303435-8193-4e9d-bae5-5170133bcf73}, !- Ambient Temperature Schedule - {90538a46-fb36-45e4-9a16-d9d4cdf7f577}, !- Ambient Air Velocity Schedule - 0.019939, !- Pipe Inside Diameter {m} - 43.4262236800156; !- Pipe Length {m} - -OS:Node, - {40537b67-a955-4dfc-9ea3-84a866e42323}, !- Handle - Office Shared Service Water Loop Pipe 142.47448713915867ft Outlet Water Node, !- Name - {e1390e73-a2a4-468e-aa54-05e03a5fdab1}, !- Inlet Port - {a8e91723-9a39-4c01-996d-7eabfadcf3d8}; !- Outlet Port - -OS:Connection, - {d776b127-79a4-4678-9cbd-051650f335f8}, !- Handle - {c130e69f-9e88-42cb-9764-9831e23a255a}, !- Name - {2b0798d4-42b9-4f33-b08f-d0bce45370f0}, !- Source Object - 3, !- Outlet Port - {8e79b72c-a76c-4022-9558-dc43838a91a2}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {e1390e73-a2a4-468e-aa54-05e03a5fdab1}, !- Handle - {73877826-1907-4ceb-8945-c62b7d253ec5}, !- Name - {8e79b72c-a76c-4022-9558-dc43838a91a2}, !- Source Object - 4, !- Outlet Port - {40537b67-a955-4dfc-9ea3-84a866e42323}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a8e91723-9a39-4c01-996d-7eabfadcf3d8}, !- Handle - {44ed5ef3-b052-4019-9e78-aaf0e5ddee73}, !- Name - {40537b67-a955-4dfc-9ea3-84a866e42323}, !- Source Object - 3, !- Outlet Port - {97f2e761-1172-4b4c-b394-69248be20e88}, !- Target Object - 2; !- Inlet Port - -OS:Pipe:Adiabatic, - {ed871d40-5e89-401b-be1d-2b53b3d32b9f}, !- Handle - Pipe Adiabatic 1, !- Name - {486fd4fa-0dbf-4347-9b3f-84e8a54324bb}, !- Inlet Node Name - {5980e698-279f-452d-8843-bcba644b72d8}; !- Outlet Node Name - -OS:Node, - {d8fb582a-483e-47d2-8430-c080ad1d54a3}, !- Handle - Pipe Adiabatic 1 Inlet Water Node, !- Name - {c67449df-ddc0-4582-9c0c-3e3d2a7297d2}, !- Inlet Port - {486fd4fa-0dbf-4347-9b3f-84e8a54324bb}; !- Outlet Port - -OS:Connection, - {c67449df-ddc0-4582-9c0c-3e3d2a7297d2}, !- Handle - {07e105b2-342c-4e45-83df-d24c6aacf749}, !- Name - {23113de1-2918-4764-9085-1f16aef25136}, !- Source Object - 4, !- Outlet Port - {d8fb582a-483e-47d2-8430-c080ad1d54a3}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {85e23bf1-5c24-439a-86f0-eead3afa851d}, !- Handle - Pipe Adiabatic 1 Outlet Water Node, !- Name - {5980e698-279f-452d-8843-bcba644b72d8}, !- Inlet Port - {92fa1347-93a3-4f8b-8d69-772dbf7e0ea9}; !- Outlet Port - -OS:Connection, - {486fd4fa-0dbf-4347-9b3f-84e8a54324bb}, !- Handle - {22baaf96-8792-4859-bbfe-fa7ffdcc9a5d}, !- Name - {d8fb582a-483e-47d2-8430-c080ad1d54a3}, !- Source Object - 3, !- Outlet Port - {ed871d40-5e89-401b-be1d-2b53b3d32b9f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {5980e698-279f-452d-8843-bcba644b72d8}, !- Handle - {a40f7e3c-8dad-4c8f-9268-819a2350c773}, !- Name - {ed871d40-5e89-401b-be1d-2b53b3d32b9f}, !- Source Object - 3, !- Outlet Port - {85e23bf1-5c24-439a-86f0-eead3afa851d}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {92fa1347-93a3-4f8b-8d69-772dbf7e0ea9}, !- Handle - {f45a6f5b-7ce9-43bb-b580-777a615d804d}, !- Name - {85e23bf1-5c24-439a-86f0-eead3afa851d}, !- Source Object - 3, !- Outlet Port - {cbe0c595-d324-4426-b399-040453e78db0}, !- Target Object - 4; !- Inlet Port - -OS:Pipe:Adiabatic, - {2b6d474a-f399-42d2-bb35-5243a476850e}, !- Handle - Pipe Adiabatic 2, !- Name - {e9db46d3-0483-4681-943e-ebf0d0e1e035}, !- Inlet Node Name - {ecfd82a5-da90-4e44-a44b-bdacdbfbd713}; !- Outlet Node Name - -OS:Node, - {c0f2d07b-300c-4b06-8226-dfe0a242b66a}, !- Handle - Pipe Adiabatic 2 Outlet Water Node, !- Name - {ecfd82a5-da90-4e44-a44b-bdacdbfbd713}, !- Inlet Port - {fdce6810-f113-473e-8427-ffd60c6d133d}; !- Outlet Port - -OS:Connection, - {e9db46d3-0483-4681-943e-ebf0d0e1e035}, !- Handle - {f69471d4-bd07-4a55-8b25-d595181b6f58}, !- Name - {d4259e1b-435c-4243-ac79-c73e44929b9f}, !- Source Object - 3, !- Outlet Port - {2b6d474a-f399-42d2-bb35-5243a476850e}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {ecfd82a5-da90-4e44-a44b-bdacdbfbd713}, !- Handle - {d1ba3cf6-4ba5-4d85-9ca8-c143869a3689}, !- Name - {2b6d474a-f399-42d2-bb35-5243a476850e}, !- Source Object - 3, !- Outlet Port - {c0f2d07b-300c-4b06-8226-dfe0a242b66a}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {fdce6810-f113-473e-8427-ffd60c6d133d}, !- Handle - {43cafe09-2097-4b87-b0c4-5ccd0e3aa8dc}, !- Name - {c0f2d07b-300c-4b06-8226-dfe0a242b66a}, !- Source Object - 3, !- Outlet Port - {bb1c837d-8468-4dff-9425-14a2b70ac98e}, !- Target Object - 3; !- Inlet Port - -OS:Pipe:Adiabatic, - {f1119f69-4064-44d7-b71a-709a9354cf07}, !- Handle - Pipe Adiabatic 3, !- Name - {f9ad3d60-4ad9-49c7-a40e-86f24dd5f6bc}, !- Inlet Node Name - {60a94fe5-d177-4e68-a67a-dd2e0caac9d0}; !- Outlet Node Name - -OS:Node, - {f701e995-a106-464f-b12d-4d06f224244c}, !- Handle - Pipe Adiabatic 3 Inlet Water Node, !- Name - {1e4056d6-4e1c-47eb-99f2-58fb8a50d4d1}, !- Inlet Port - {f9ad3d60-4ad9-49c7-a40e-86f24dd5f6bc}; !- Outlet Port - -OS:Connection, - {1e4056d6-4e1c-47eb-99f2-58fb8a50d4d1}, !- Handle - {33ab8190-2152-4834-b020-6621187c2e57}, !- Name - {cbe0c595-d324-4426-b399-040453e78db0}, !- Source Object - 2, !- Outlet Port - {f701e995-a106-464f-b12d-4d06f224244c}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f9ad3d60-4ad9-49c7-a40e-86f24dd5f6bc}, !- Handle - {d6e20fdc-e1ea-40b6-8d62-cba8587488a4}, !- Name - {f701e995-a106-464f-b12d-4d06f224244c}, !- Source Object - 3, !- Outlet Port - {f1119f69-4064-44d7-b71a-709a9354cf07}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {60a94fe5-d177-4e68-a67a-dd2e0caac9d0}, !- Handle - {2d71aa17-0af5-4739-a2d0-59629dc40fb2}, !- Name - {f1119f69-4064-44d7-b71a-709a9354cf07}, !- Source Object - 3, !- Outlet Port - {eae2e1be-3618-4b41-a503-3ccbba1a2276}, !- Target Object - 2; !- Inlet Port - -OS:Pipe:Adiabatic, - {c119aa43-9005-4470-aa7f-3e1beadd3af2}, !- Handle - Pipe Adiabatic 4, !- Name - {a2cbd988-02d7-405b-b146-ebe4695a8950}, !- Inlet Node Name - {0428abaf-dc40-4378-a660-76548af21ed2}; !- Outlet Node Name - -OS:Node, - {56c5bc69-e79b-44da-9e90-8a8bf613e851}, !- Handle - Pipe Adiabatic 4 Inlet Water Node, !- Name - {8aee54f6-fd8e-4f08-88b4-1c8ac9dd08fa}, !- Inlet Port - {a2cbd988-02d7-405b-b146-ebe4695a8950}; !- Outlet Port - -OS:Connection, - {8aee54f6-fd8e-4f08-88b4-1c8ac9dd08fa}, !- Handle - {2af2e0f0-fc12-4f9a-8541-bcca4e89c598}, !- Name - {bb1c837d-8468-4dff-9425-14a2b70ac98e}, !- Source Object - 2, !- Outlet Port - {56c5bc69-e79b-44da-9e90-8a8bf613e851}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a2cbd988-02d7-405b-b146-ebe4695a8950}, !- Handle - {e8c90e91-410b-4c92-ba24-eb657dc6b8fa}, !- Name - {56c5bc69-e79b-44da-9e90-8a8bf613e851}, !- Source Object - 3, !- Outlet Port - {c119aa43-9005-4470-aa7f-3e1beadd3af2}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {0428abaf-dc40-4378-a660-76548af21ed2}, !- Handle - {b8adc93f-38c6-4de1-a16f-7e06af477c94}, !- Name - {c119aa43-9005-4470-aa7f-3e1beadd3af2}, !- Source Object - 3, !- Outlet Port - {f0a8195b-dc6a-4749-b919-1388f1c9ca5c}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {d97085a8-7630-49ff-96ab-546cf52c2815}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 WUC 0.07gpm at 140F Inlet Water Node, !- Name - {22041fc5-6b86-457f-a421-52325fcc3ef1}, !- Inlet Port - {13c0a075-dc1d-483d-a903-cda40766da94}; !- Outlet Port - -OS:Connection, - {22041fc5-6b86-457f-a421-52325fcc3ef1}, !- Handle - {fe9b6690-c149-4226-8bec-79de2a5c19d0}, !- Name - {97f2e761-1172-4b4c-b394-69248be20e88}, !- Source Object - 4, !- Outlet Port - {d97085a8-7630-49ff-96ab-546cf52c2815}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {2c1cfd53-47ee-406b-b4ac-e4cb47cb850c}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 WUC 0.07gpm at 140F Outlet Water Node, !- Name - {7e1d43a6-4ad7-4e60-86f0-e6f8d90340f7}, !- Inlet Port - {a7770a1e-469b-42cc-9d4a-53c4421e770f}; !- Outlet Port - -OS:Connection, - {13c0a075-dc1d-483d-a903-cda40766da94}, !- Handle - {013b8951-f936-46b3-bedb-7229ae8897bc}, !- Name - {d97085a8-7630-49ff-96ab-546cf52c2815}, !- Source Object - 3, !- Outlet Port - {826f8980-e059-4378-8d9c-9d6c003a4fb6}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {7e1d43a6-4ad7-4e60-86f0-e6f8d90340f7}, !- Handle - {2b1d2aa3-5f3d-4741-96b1-18ad0558b0a1}, !- Name - {826f8980-e059-4378-8d9c-9d6c003a4fb6}, !- Source Object - 3, !- Outlet Port - {2c1cfd53-47ee-406b-b4ac-e4cb47cb850c}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a7770a1e-469b-42cc-9d4a-53c4421e770f}, !- Handle - {a5d4e230-a293-4da5-b762-6e0e58b98e4b}, !- Name - {2c1cfd53-47ee-406b-b4ac-e4cb47cb850c}, !- Source Object - 3, !- Outlet Port - {bb1c837d-8468-4dff-9425-14a2b70ac98e}, !- Target Object - 4; !- Inlet Port - -OS:ThermostatSetpoint:DualSetpoint, - {81830ea1-5dd8-46ca-814e-0640ac7de207}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:Schedule:Ruleset, - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Handle - Office HtgSetp_Enduse, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - {e43c1152-c0cd-420a-b945-8f9fb3d44f6e}, !- Default Day Schedule Name - {44d1733e-a2c1-4791-97c1-8a0f13efaab0}, !- Summer Design Day Schedule Name - {3b4a124f-ff62-4ac9-909a-5e07eb86b013}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {e43c1152-c0cd-420a-b945-8f9fb3d44f6e}, !- Handle - Schedule Day 19, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 45, !- Minute 1 - 17.8, !- Value Until Time 1 - 1, !- Hour 2 - 45, !- Minute 2 - 17.8, !- Value Until Time 2 - 1, !- Hour 3 - 55, !- Minute 3 - 17.85, !- Value Until Time 3 - 2, !- Hour 4 - 5, !- Minute 4 - 17.9, !- Value Until Time 4 - 2, !- Hour 5 - 15, !- Minute 5 - 17.95, !- Value Until Time 5 - 2, !- Hour 6 - 24, !- Minute 6 - 18, !- Value Until Time 6 - 2, !- Hour 7 - 34, !- Minute 7 - 18.05, !- Value Until Time 7 - 2, !- Hour 8 - 44, !- Minute 8 - 18.1, !- Value Until Time 8 - 2, !- Hour 9 - 45, !- Minute 9 - 18.1, !- Value Until Time 9 - 2, !- Hour 10 - 54, !- Minute 10 - 18.1833333333333, !- Value Until Time 10 - 3, !- Hour 11 - 4, !- Minute 11 - 18.2666666666667, !- Value Until Time 11 - 3, !- Hour 12 - 14, !- Minute 12 - 18.35, !- Value Until Time 12 - 3, !- Hour 13 - 24, !- Minute 13 - 18.4333333333333, !- Value Until Time 13 - 3, !- Hour 14 - 34, !- Minute 14 - 18.5166666666667, !- Value Until Time 14 - 3, !- Hour 15 - 44, !- Minute 15 - 18.6, !- Value Until Time 15 - 3, !- Hour 16 - 45, !- Minute 16 - 18.6, !- Value Until Time 16 - 3, !- Hour 17 - 54, !- Minute 17 - 18.65, !- Value Until Time 17 - 4, !- Hour 18 - 4, !- Minute 18 - 18.7, !- Value Until Time 18 - 4, !- Hour 19 - 15, !- Minute 19 - 18.75, !- Value Until Time 19 - 4, !- Hour 20 - 25, !- Minute 20 - 18.8, !- Value Until Time 20 - 4, !- Hour 21 - 35, !- Minute 21 - 18.85, !- Value Until Time 21 - 4, !- Hour 22 - 45, !- Minute 22 - 18.9, !- Value Until Time 22 - 4, !- Hour 23 - 55, !- Minute 23 - 19.0166666666667, !- Value Until Time 23 - 5, !- Hour 24 - 5, !- Minute 24 - 19.1333333333333, !- Value Until Time 24 - 5, !- Hour 25 - 15, !- Minute 25 - 19.25, !- Value Until Time 25 - 5, !- Hour 26 - 25, !- Minute 26 - 19.3666666666667, !- Value Until Time 26 - 5, !- Hour 27 - 35, !- Minute 27 - 19.4833333333333, !- Value Until Time 27 - 5, !- Hour 28 - 45, !- Minute 28 - 19.6, !- Value Until Time 28 - 5, !- Hour 29 - 55, !- Minute 29 - 19.6333333333333, !- Value Until Time 29 - 6, !- Hour 30 - 5, !- Minute 30 - 19.6666666666667, !- Value Until Time 30 - 6, !- Hour 31 - 15, !- Minute 31 - 19.7, !- Value Until Time 31 - 6, !- Hour 32 - 25, !- Minute 32 - 19.7333333333333, !- Value Until Time 32 - 6, !- Hour 33 - 35, !- Minute 33 - 19.7666666666667, !- Value Until Time 33 - 6, !- Hour 34 - 45, !- Minute 34 - 19.8, !- Value Until Time 34 - 6, !- Hour 35 - 55, !- Minute 35 - 19.8333333333333, !- Value Until Time 35 - 7, !- Hour 36 - 5, !- Minute 36 - 19.8666666666667, !- Value Until Time 36 - 7, !- Hour 37 - 15, !- Minute 37 - 19.9, !- Value Until Time 37 - 7, !- Hour 38 - 25, !- Minute 38 - 19.9333333333333, !- Value Until Time 38 - 7, !- Hour 39 - 35, !- Minute 39 - 19.9666666666667, !- Value Until Time 39 - 7, !- Hour 40 - 45, !- Minute 40 - 20, !- Value Until Time 40 - 14, !- Hour 41 - 15, !- Minute 41 - 20, !- Value Until Time 41 - 14, !- Hour 42 - 24, !- Minute 42 - 19.9833333333333, !- Value Until Time 42 - 14, !- Hour 43 - 34, !- Minute 43 - 19.9666666666667, !- Value Until Time 43 - 14, !- Hour 44 - 44, !- Minute 44 - 19.95, !- Value Until Time 44 - 14, !- Hour 45 - 54, !- Minute 45 - 19.9333333333333, !- Value Until Time 45 - 15, !- Hour 46 - 4, !- Minute 46 - 19.9166666666667, !- Value Until Time 46 - 15, !- Hour 47 - 14, !- Minute 47 - 19.9, !- Value Until Time 47 - 15, !- Hour 48 - 15, !- Minute 48 - 19.9, !- Value Until Time 48 - 15, !- Hour 49 - 24, !- Minute 49 - 19.8777777777778, !- Value Until Time 49 - 15, !- Hour 50 - 34, !- Minute 50 - 19.8555555555556, !- Value Until Time 50 - 15, !- Hour 51 - 44, !- Minute 51 - 19.8333333333333, !- Value Until Time 51 - 15, !- Hour 52 - 54, !- Minute 52 - 19.8111111111111, !- Value Until Time 52 - 16, !- Hour 53 - 4, !- Minute 53 - 19.7888888888889, !- Value Until Time 53 - 16, !- Hour 54 - 15, !- Minute 54 - 19.7666666666667, !- Value Until Time 54 - 16, !- Hour 55 - 25, !- Minute 55 - 19.7444444444444, !- Value Until Time 55 - 16, !- Hour 56 - 35, !- Minute 56 - 19.7222222222222, !- Value Until Time 56 - 16, !- Hour 57 - 45, !- Minute 57 - 19.7, !- Value Until Time 57 - 16, !- Hour 58 - 55, !- Minute 58 - 19.6166666666667, !- Value Until Time 58 - 17, !- Hour 59 - 5, !- Minute 59 - 19.5333333333333, !- Value Until Time 59 - 17, !- Hour 60 - 15, !- Minute 60 - 19.45, !- Value Until Time 60 - 17, !- Hour 61 - 25, !- Minute 61 - 19.3666666666667, !- Value Until Time 61 - 17, !- Hour 62 - 35, !- Minute 62 - 19.2833333333333, !- Value Until Time 62 - 17, !- Hour 63 - 45, !- Minute 63 - 19.2, !- Value Until Time 63 - 17, !- Hour 64 - 55, !- Minute 64 - 19.15, !- Value Until Time 64 - 18, !- Hour 65 - 5, !- Minute 65 - 19.1, !- Value Until Time 65 - 18, !- Hour 66 - 15, !- Minute 66 - 19.05, !- Value Until Time 66 - 18, !- Hour 67 - 25, !- Minute 67 - 19, !- Value Until Time 67 - 18, !- Hour 68 - 35, !- Minute 68 - 18.95, !- Value Until Time 68 - 18, !- Hour 69 - 45, !- Minute 69 - 18.9, !- Value Until Time 69 - 18, !- Hour 70 - 55, !- Minute 70 - 18.8166666666667, !- Value Until Time 70 - 19, !- Hour 71 - 5, !- Minute 71 - 18.7333333333333, !- Value Until Time 71 - 19, !- Hour 72 - 15, !- Minute 72 - 18.65, !- Value Until Time 72 - 19, !- Hour 73 - 25, !- Minute 73 - 18.5666666666667, !- Value Until Time 73 - 19, !- Hour 74 - 35, !- Minute 74 - 18.4833333333333, !- Value Until Time 74 - 19, !- Hour 75 - 45, !- Minute 75 - 18.4, !- Value Until Time 75 - 20, !- Hour 76 - 45, !- Minute 76 - 18.4, !- Value Until Time 76 - 20, !- Hour 77 - 55, !- Minute 77 - 18.35, !- Value Until Time 77 - 21, !- Hour 78 - 5, !- Minute 78 - 18.3, !- Value Until Time 78 - 21, !- Hour 79 - 15, !- Minute 79 - 18.25, !- Value Until Time 79 - 21, !- Hour 80 - 25, !- Minute 80 - 18.2, !- Value Until Time 80 - 21, !- Hour 81 - 35, !- Minute 81 - 18.15, !- Value Until Time 81 - 21, !- Hour 82 - 45, !- Minute 82 - 18.1, !- Value Until Time 82 - 21, !- Hour 83 - 55, !- Minute 83 - 18.05, !- Value Until Time 83 - 22, !- Hour 84 - 5, !- Minute 84 - 18, !- Value Until Time 84 - 22, !- Hour 85 - 15, !- Minute 85 - 17.95, !- Value Until Time 85 - 22, !- Hour 86 - 25, !- Minute 86 - 17.9, !- Value Until Time 86 - 22, !- Hour 87 - 35, !- Minute 87 - 17.85, !- Value Until Time 87 - 22, !- Hour 88 - 45, !- Minute 88 - 17.8, !- Value Until Time 88 - 22, !- Hour 89 - 55, !- Minute 89 - 17.7833333333333, !- Value Until Time 89 - 23, !- Hour 90 - 5, !- Minute 90 - 17.7666666666667, !- Value Until Time 90 - 23, !- Hour 91 - 15, !- Minute 91 - 17.75, !- Value Until Time 91 - 23, !- Hour 92 - 25, !- Minute 92 - 17.7333333333333, !- Value Until Time 92 - 23, !- Hour 93 - 35, !- Minute 93 - 17.7166666666667, !- Value Until Time 93 - 23, !- Hour 94 - 45, !- Minute 94 - 17.7, !- Value Until Time 94 - 24, !- Hour 95 - 0, !- Minute 95 - 17.7; !- Value Until Time 95 - -OS:Schedule:Rule, - {5c44f263-8312-465c-81a5-764dd375556e}, !- Handle - Schedule Rule 13, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Schedule Ruleset Name - 1, !- Rule Order - {6ca8d7b8-67c0-4ea2-a55c-3df182c82359}, !- 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, - {6ca8d7b8-67c0-4ea2-a55c-3df182c82359}, !- Handle - Office HtgSetp_Enduse Sat Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 17.4993197278912, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 17.4986394557823, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 17.4, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 17.4972789115646, !- Value Until Time 4 - 0, !- Hour 5 - 49, !- Minute 5 - 17.4965986394558, !- Value Until Time 5 - 0, !- Hour 6 - 59, !- Minute 6 - 17.4959183673469, !- Value Until Time 6 - 1, !- Hour 7 - 9, !- Minute 7 - 17.4952380952381, !- Value Until Time 7 - 1, !- Hour 8 - 19, !- Minute 8 - 17.4945578231293, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 17.4938775510204, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 17.4931972789116, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 17.4925170068027, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 17.4918367346939, !- Value Until Time 12 - 2, !- Hour 13 - 9, !- Minute 13 - 17.491156462585, !- Value Until Time 13 - 2, !- Hour 14 - 19, !- Minute 14 - 17.4904761904762, !- Value Until Time 14 - 2, !- Hour 15 - 29, !- Minute 15 - 17.4897959183673, !- Value Until Time 15 - 2, !- Hour 16 - 39, !- Minute 16 - 17.4891156462585, !- Value Until Time 16 - 2, !- Hour 17 - 49, !- Minute 17 - 17.4884353741497, !- Value Until Time 17 - 2, !- Hour 18 - 59, !- Minute 18 - 17.4877551020408, !- Value Until Time 18 - 3, !- Hour 19 - 9, !- Minute 19 - 17.487074829932, !- Value Until Time 19 - 3, !- Hour 20 - 19, !- Minute 20 - 17.4863945578231, !- Value Until Time 20 - 3, !- Hour 21 - 29, !- Minute 21 - 17.4857142857143, !- Value Until Time 21 - 3, !- Hour 22 - 30, !- Minute 22 - 17.4, !- Value Until Time 22 - 3, !- Hour 23 - 39, !- Minute 23 - 17.4850340136054, !- Value Until Time 23 - 3, !- Hour 24 - 49, !- Minute 24 - 17.4843537414966, !- Value Until Time 24 - 3, !- Hour 25 - 59, !- Minute 25 - 17.4836734693877, !- Value Until Time 25 - 4, !- Hour 26 - 9, !- Minute 26 - 17.4829931972789, !- Value Until Time 26 - 4, !- Hour 27 - 19, !- Minute 27 - 17.4823129251701, !- Value Until Time 27 - 4, !- Hour 28 - 29, !- Minute 28 - 17.4816326530612, !- Value Until Time 28 - 4, !- Hour 29 - 30, !- Minute 29 - 17.6, !- Value Until Time 29 - 4, !- Hour 30 - 39, !- Minute 30 - 17.4809523809524, !- Value Until Time 30 - 4, !- Hour 31 - 40, !- Minute 31 - 17.65, !- Value Until Time 31 - 4, !- Hour 32 - 49, !- Minute 32 - 17.4802721088435, !- Value Until Time 32 - 4, !- Hour 33 - 50, !- Minute 33 - 17.7, !- Value Until Time 33 - 5, !- Hour 34 - 0, !- Minute 34 - 17.4795918367347, !- Value Until Time 34 - 5, !- Hour 35 - 10, !- Minute 35 - 17.4789115646258, !- Value Until Time 35 - 5, !- Hour 36 - 20, !- Minute 36 - 17.478231292517, !- Value Until Time 36 - 5, !- Hour 37 - 30, !- Minute 37 - 17.4775510204082, !- Value Until Time 37 - 5, !- Hour 38 - 40, !- Minute 38 - 17.4768707482993, !- Value Until Time 38 - 5, !- Hour 39 - 50, !- Minute 39 - 17.4761904761905, !- Value Until Time 39 - 6, !- Hour 40 - 0, !- Minute 40 - 17.4755102040816, !- Value Until Time 40 - 6, !- Hour 41 - 10, !- Minute 41 - 17.4748299319728, !- Value Until Time 41 - 6, !- Hour 42 - 20, !- Minute 42 - 17.4741496598639, !- Value Until Time 42 - 6, !- Hour 43 - 30, !- Minute 43 - 17.4734693877551, !- Value Until Time 43 - 6, !- Hour 44 - 40, !- Minute 44 - 17.4727891156462, !- Value Until Time 44 - 6, !- Hour 45 - 50, !- Minute 45 - 17.4721088435374, !- Value Until Time 45 - 7, !- Hour 46 - 0, !- Minute 46 - 17.4714285714286, !- Value Until Time 46 - 7, !- Hour 47 - 10, !- Minute 47 - 17.4707482993197, !- Value Until Time 47 - 7, !- Hour 48 - 20, !- Minute 48 - 17.4700680272109, !- Value Until Time 48 - 7, !- Hour 49 - 30, !- Minute 49 - 17.469387755102, !- Value Until Time 49 - 7, !- Hour 50 - 40, !- Minute 50 - 17.4687074829932, !- Value Until Time 50 - 7, !- Hour 51 - 50, !- Minute 51 - 17.4680272108843, !- Value Until Time 51 - 8, !- Hour 52 - 0, !- Minute 52 - 17.4673469387755, !- Value Until Time 52 - 8, !- Hour 53 - 9, !- Minute 53 - 18.8333333333333, !- Value Until Time 53 - 8, !- Hour 54 - 10, !- Minute 54 - 17.4666666666667, !- Value Until Time 54 - 8, !- Hour 55 - 19, !- Minute 55 - 18.8666666666667, !- Value Until Time 55 - 8, !- Hour 56 - 20, !- Minute 56 - 17.4659863945578, !- Value Until Time 56 - 8, !- Hour 57 - 29, !- Minute 57 - 18.9, !- Value Until Time 57 - 8, !- Hour 58 - 30, !- Minute 58 - 17.465306122449, !- Value Until Time 58 - 8, !- Hour 59 - 39, !- Minute 59 - 18.9166666666667, !- Value Until Time 59 - 8, !- Hour 60 - 40, !- Minute 60 - 17.4646258503401, !- Value Until Time 60 - 8, !- Hour 61 - 49, !- Minute 61 - 18.9333333333333, !- Value Until Time 61 - 8, !- Hour 62 - 50, !- Minute 62 - 17.4639455782313, !- Value Until Time 62 - 8, !- Hour 63 - 59, !- Minute 63 - 18.95, !- Value Until Time 63 - 9, !- Hour 64 - 0, !- Minute 64 - 17.4632653061224, !- Value Until Time 64 - 9, !- Hour 65 - 9, !- Minute 65 - 18.9666666666667, !- Value Until Time 65 - 9, !- Hour 66 - 10, !- Minute 66 - 17.4625850340136, !- Value Until Time 66 - 9, !- Hour 67 - 19, !- Minute 67 - 18.9833333333333, !- Value Until Time 67 - 9, !- Hour 68 - 20, !- Minute 68 - 17.4619047619048, !- Value Until Time 68 - 9, !- Hour 69 - 29, !- Minute 69 - 19, !- Value Until Time 69 - 9, !- Hour 70 - 30, !- Minute 70 - 19, !- Value Until Time 70 - 9, !- Hour 71 - 39, !- Minute 71 - 17.4605442176871, !- Value Until Time 71 - 9, !- Hour 72 - 49, !- Minute 72 - 17.4598639455782, !- Value Until Time 72 - 9, !- Hour 73 - 59, !- Minute 73 - 17.4591836734694, !- Value Until Time 73 - 10, !- Hour 74 - 9, !- Minute 74 - 17.4585034013605, !- Value Until Time 74 - 10, !- Hour 75 - 19, !- Minute 75 - 17.4578231292517, !- Value Until Time 75 - 10, !- Hour 76 - 29, !- Minute 76 - 17.4571428571429, !- Value Until Time 76 - 10, !- Hour 77 - 39, !- Minute 77 - 17.456462585034, !- Value Until Time 77 - 10, !- Hour 78 - 49, !- Minute 78 - 17.4557823129252, !- Value Until Time 78 - 10, !- Hour 79 - 59, !- Minute 79 - 17.4551020408163, !- Value Until Time 79 - 11, !- Hour 80 - 9, !- Minute 80 - 17.4544217687075, !- Value Until Time 80 - 11, !- Hour 81 - 19, !- Minute 81 - 17.4537414965986, !- Value Until Time 81 - 11, !- Hour 82 - 29, !- Minute 82 - 17.4530612244898, !- Value Until Time 82 - 11, !- Hour 83 - 39, !- Minute 83 - 17.452380952381, !- Value Until Time 83 - 11, !- Hour 84 - 49, !- Minute 84 - 17.4517006802721, !- Value Until Time 84 - 11, !- Hour 85 - 59, !- Minute 85 - 17.4510204081633, !- Value Until Time 85 - 12, !- Hour 86 - 9, !- Minute 86 - 17.4503401360544, !- Value Until Time 86 - 12, !- Hour 87 - 19, !- Minute 87 - 17.4496598639456, !- Value Until Time 87 - 12, !- Hour 88 - 29, !- Minute 88 - 17.4489795918367, !- Value Until Time 88 - 12, !- Hour 89 - 39, !- Minute 89 - 17.4482993197279, !- Value Until Time 89 - 12, !- Hour 90 - 49, !- Minute 90 - 17.447619047619, !- Value Until Time 90 - 12, !- Hour 91 - 59, !- Minute 91 - 17.4469387755102, !- Value Until Time 91 - 13, !- Hour 92 - 0, !- Minute 92 - 19, !- Value Until Time 92 - 13, !- Hour 93 - 9, !- Minute 93 - 17.4462585034014, !- Value Until Time 93 - 13, !- Hour 94 - 19, !- Minute 94 - 17.4455782312925, !- Value Until Time 94 - 13, !- Hour 95 - 29, !- Minute 95 - 17.4448979591837, !- Value Until Time 95 - 13, !- Hour 96 - 39, !- Minute 96 - 17.4442176870748, !- Value Until Time 96 - 13, !- Hour 97 - 49, !- Minute 97 - 17.443537414966, !- Value Until Time 97 - 13, !- Hour 98 - 59, !- Minute 98 - 17.4428571428571, !- Value Until Time 98 - 14, !- Hour 99 - 9, !- Minute 99 - 17.4421768707483, !- Value Until Time 99 - 14, !- Hour 100 - 19, !- Minute 100 - 17.4414965986395, !- Value Until Time 100 - 14, !- Hour 101 - 29, !- Minute 101 - 17.4408163265306, !- Value Until Time 101 - 14, !- Hour 102 - 39, !- Minute 102 - 17.4401360544218, !- Value Until Time 102 - 14, !- Hour 103 - 49, !- Minute 103 - 17.4394557823129, !- Value Until Time 103 - 14, !- Hour 104 - 59, !- Minute 104 - 17.4387755102041, !- Value Until Time 104 - 15, !- Hour 105 - 0, !- Minute 105 - 18.9, !- Value Until Time 105 - 15, !- Hour 106 - 9, !- Minute 106 - 17.4380952380952, !- Value Until Time 106 - 15, !- Hour 107 - 19, !- Minute 107 - 17.4374149659864, !- Value Until Time 107 - 15, !- Hour 108 - 29, !- Minute 108 - 17.4367346938776, !- Value Until Time 108 - 15, !- Hour 109 - 30, !- Minute 109 - 18.9, !- Value Until Time 109 - 15, !- Hour 110 - 39, !- Minute 110 - 17.4360544217687, !- Value Until Time 110 - 15, !- Hour 111 - 49, !- Minute 111 - 17.4353741496599, !- Value Until Time 111 - 15, !- Hour 112 - 59, !- Minute 112 - 17.434693877551, !- Value Until Time 112 - 16, !- Hour 113 - 9, !- Minute 113 - 17.4340136054422, !- Value Until Time 113 - 16, !- Hour 114 - 19, !- Minute 114 - 17.4333333333333, !- Value Until Time 114 - 16, !- Hour 115 - 29, !- Minute 115 - 17.4326530612245, !- Value Until Time 115 - 16, !- Hour 116 - 30, !- Minute 116 - 18.8, !- Value Until Time 116 - 16, !- Hour 117 - 39, !- Minute 117 - 17.4319727891157, !- Value Until Time 117 - 16, !- Hour 118 - 40, !- Minute 118 - 18.7833333333333, !- Value Until Time 118 - 16, !- Hour 119 - 49, !- Minute 119 - 17.4312925170068, !- Value Until Time 119 - 16, !- Hour 120 - 50, !- Minute 120 - 18.7666666666667, !- Value Until Time 120 - 16, !- Hour 121 - 59, !- Minute 121 - 17.430612244898, !- Value Until Time 121 - 17, !- Hour 122 - 0, !- Minute 122 - 18.75, !- Value Until Time 122 - 17, !- Hour 123 - 9, !- Minute 123 - 17.4299319727891, !- Value Until Time 123 - 17, !- Hour 124 - 10, !- Minute 124 - 18.7333333333333, !- Value Until Time 124 - 17, !- Hour 125 - 19, !- Minute 125 - 17.4292517006803, !- Value Until Time 125 - 17, !- Hour 126 - 20, !- Minute 126 - 18.7166666666667, !- Value Until Time 126 - 17, !- Hour 127 - 29, !- Minute 127 - 17.4285714285714, !- Value Until Time 127 - 17, !- Hour 128 - 30, !- Minute 128 - 18.7, !- Value Until Time 128 - 17, !- Hour 129 - 39, !- Minute 129 - 17.4278911564626, !- Value Until Time 129 - 17, !- Hour 130 - 40, !- Minute 130 - 18.6833333333333, !- Value Until Time 130 - 17, !- Hour 131 - 49, !- Minute 131 - 17.4272108843537, !- Value Until Time 131 - 17, !- Hour 132 - 50, !- Minute 132 - 18.6666666666667, !- Value Until Time 132 - 17, !- Hour 133 - 59, !- Minute 133 - 17.4265306122449, !- Value Until Time 133 - 18, !- Hour 134 - 0, !- Minute 134 - 18.65, !- Value Until Time 134 - 18, !- Hour 135 - 9, !- Minute 135 - 17.4258503401361, !- Value Until Time 135 - 18, !- Hour 136 - 10, !- Minute 136 - 18.6333333333333, !- Value Until Time 136 - 18, !- Hour 137 - 19, !- Minute 137 - 17.4251700680272, !- Value Until Time 137 - 18, !- Hour 138 - 20, !- Minute 138 - 18.6166666666667, !- Value Until Time 138 - 18, !- Hour 139 - 29, !- Minute 139 - 17.4244897959184, !- Value Until Time 139 - 18, !- Hour 140 - 30, !- Minute 140 - 18.6, !- Value Until Time 140 - 18, !- Hour 141 - 39, !- Minute 141 - 17.4238095238095, !- Value Until Time 141 - 18, !- Hour 142 - 40, !- Minute 142 - 18.55, !- Value Until Time 142 - 18, !- Hour 143 - 49, !- Minute 143 - 17.4231292517007, !- Value Until Time 143 - 18, !- Hour 144 - 50, !- Minute 144 - 18.5, !- Value Until Time 144 - 18, !- Hour 145 - 59, !- Minute 145 - 17.4224489795918, !- Value Until Time 145 - 19, !- Hour 146 - 0, !- Minute 146 - 18.45, !- Value Until Time 146 - 19, !- Hour 147 - 9, !- Minute 147 - 17.421768707483, !- Value Until Time 147 - 19, !- Hour 148 - 10, !- Minute 148 - 18.4, !- Value Until Time 148 - 19, !- Hour 149 - 19, !- Minute 149 - 17.4210884353741, !- Value Until Time 149 - 19, !- Hour 150 - 20, !- Minute 150 - 18.35, !- Value Until Time 150 - 19, !- Hour 151 - 30, !- Minute 151 - 18.3, !- Value Until Time 151 - 19, !- Hour 152 - 40, !- Minute 152 - 18.2333333333333, !- Value Until Time 152 - 19, !- Hour 153 - 50, !- Minute 153 - 18.1666666666667, !- Value Until Time 153 - 20, !- Hour 154 - 0, !- Minute 154 - 18.1, !- Value Until Time 154 - 20, !- Hour 155 - 10, !- Minute 155 - 18.0333333333333, !- Value Until Time 155 - 20, !- Hour 156 - 20, !- Minute 156 - 17.9666666666667, !- Value Until Time 156 - 20, !- Hour 157 - 30, !- Minute 157 - 17.4163265306122, !- Value Until Time 157 - 20, !- Hour 158 - 40, !- Minute 158 - 17.4156462585034, !- Value Until Time 158 - 20, !- Hour 159 - 50, !- Minute 159 - 17.4149659863946, !- Value Until Time 159 - 21, !- Hour 160 - 0, !- Minute 160 - 17.4142857142857, !- Value Until Time 160 - 21, !- Hour 161 - 10, !- Minute 161 - 17.4136054421769, !- Value Until Time 161 - 21, !- Hour 162 - 20, !- Minute 162 - 17.412925170068, !- Value Until Time 162 - 21, !- Hour 163 - 30, !- Minute 163 - 17.4122448979592, !- Value Until Time 163 - 21, !- Hour 164 - 40, !- Minute 164 - 17.4115646258503, !- Value Until Time 164 - 21, !- Hour 165 - 50, !- Minute 165 - 17.4108843537415, !- Value Until Time 165 - 22, !- Hour 166 - 0, !- Minute 166 - 17.4102040816327, !- Value Until Time 166 - 22, !- Hour 167 - 10, !- Minute 167 - 17.4095238095238, !- Value Until Time 167 - 22, !- Hour 168 - 20, !- Minute 168 - 17.408843537415, !- Value Until Time 168 - 22, !- Hour 169 - 30, !- Minute 169 - 17.4081632653061, !- Value Until Time 169 - 22, !- Hour 170 - 40, !- Minute 170 - 17.4074829931973, !- Value Until Time 170 - 22, !- Hour 171 - 50, !- Minute 171 - 17.4068027210884, !- Value Until Time 171 - 23, !- Hour 172 - 0, !- Minute 172 - 17.4061224489796, !- Value Until Time 172 - 23, !- Hour 173 - 10, !- Minute 173 - 17.4054421768707, !- Value Until Time 173 - 23, !- Hour 174 - 20, !- Minute 174 - 17.4047619047619, !- Value Until Time 174 - 23, !- Hour 175 - 30, !- Minute 175 - 17.4040816326531, !- Value Until Time 175 - 23, !- Hour 176 - 40, !- Minute 176 - 17.4034013605442, !- Value Until Time 176 - 23, !- Hour 177 - 50, !- Minute 177 - 17.4027210884354, !- Value Until Time 177 - 24, !- Hour 178 - 0, !- Minute 178 - 17.4020408163265; !- Value Until Time 178 - -OS:Schedule:Day, - {44d1733e-a2c1-4791-97c1-8a0f13efaab0}, !- Handle - Office HtgSetp_Enduse Summer Design Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 17.4; !- Value Until Time 1 - -OS:Schedule:Rule, - {b7871c44-3ddf-4191-ac59-52b6530e3afa}, !- Handle - Schedule Rule 14, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Schedule Ruleset Name - 0, !- Rule Order - {9b99ada9-c872-4569-a23f-92e706307bc2}, !- 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, - {9b99ada9-c872-4569-a23f-92e706307bc2}, !- Handle - Office HtgSetp_Enduse Sun Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 17.5333333333333, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 17.4666666666667, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 17.4, !- Value Until Time 3 - 3, !- Hour 4 - 30, !- Minute 4 - 17.4, !- Value Until Time 4 - 3, !- Hour 5 - 40, !- Minute 5 - 17.4666666666667, !- Value Until Time 5 - 3, !- Hour 6 - 50, !- Minute 6 - 17.5333333333333, !- Value Until Time 6 - 4, !- Hour 7 - 0, !- Minute 7 - 17.6, !- Value Until Time 7 - 4, !- Hour 8 - 10, !- Minute 8 - 17.6666666666667, !- Value Until Time 8 - 4, !- Hour 9 - 20, !- Minute 9 - 17.7333333333333, !- Value Until Time 9 - 4, !- Hour 10 - 30, !- Minute 10 - 17.8, !- Value Until Time 10 - 4, !- Hour 11 - 40, !- Minute 11 - 17.85, !- Value Until Time 11 - 4, !- Hour 12 - 50, !- Minute 12 - 17.9, !- Value Until Time 12 - 5, !- Hour 13 - 0, !- Minute 13 - 17.95, !- Value Until Time 13 - 5, !- Hour 14 - 10, !- Minute 14 - 18, !- Value Until Time 14 - 5, !- Hour 15 - 20, !- Minute 15 - 18.05, !- Value Until Time 15 - 5, !- Hour 16 - 30, !- Minute 16 - 18.1, !- Value Until Time 16 - 5, !- Hour 17 - 40, !- Minute 17 - 18.1166666666667, !- Value Until Time 17 - 5, !- Hour 18 - 50, !- Minute 18 - 18.1333333333333, !- Value Until Time 18 - 6, !- Hour 19 - 0, !- Minute 19 - 18.15, !- Value Until Time 19 - 6, !- Hour 20 - 10, !- Minute 20 - 18.1666666666667, !- Value Until Time 20 - 6, !- Hour 21 - 20, !- Minute 21 - 18.1833333333333, !- Value Until Time 21 - 6, !- Hour 22 - 30, !- Minute 22 - 18.2, !- Value Until Time 22 - 6, !- Hour 23 - 40, !- Minute 23 - 18.2333333333333, !- Value Until Time 23 - 6, !- Hour 24 - 50, !- Minute 24 - 18.2666666666667, !- Value Until Time 24 - 7, !- Hour 25 - 0, !- Minute 25 - 18.3, !- Value Until Time 25 - 7, !- Hour 26 - 10, !- Minute 26 - 18.3333333333333, !- Value Until Time 26 - 7, !- Hour 27 - 20, !- Minute 27 - 18.3666666666667, !- Value Until Time 27 - 7, !- Hour 28 - 30, !- Minute 28 - 18.4, !- Value Until Time 28 - 8, !- Hour 29 - 30, !- Minute 29 - 18.4, !- Value Until Time 29 - 8, !- Hour 30 - 39, !- Minute 30 - 18.4333333333333, !- Value Until Time 30 - 8, !- Hour 31 - 49, !- Minute 31 - 18.4666666666667, !- Value Until Time 31 - 8, !- Hour 32 - 59, !- Minute 32 - 18.5, !- Value Until Time 32 - 9, !- Hour 33 - 9, !- Minute 33 - 18.5333333333333, !- Value Until Time 33 - 9, !- Hour 34 - 19, !- Minute 34 - 18.5666666666667, !- Value Until Time 34 - 9, !- Hour 35 - 29, !- Minute 35 - 18.6, !- Value Until Time 35 - 9, !- Hour 36 - 30, !- Minute 36 - 18.6, !- Value Until Time 36 - 9, !- Hour 37 - 39, !- Minute 37 - 18.6166666666667, !- Value Until Time 37 - 9, !- Hour 38 - 49, !- Minute 38 - 18.6333333333333, !- Value Until Time 38 - 9, !- Hour 39 - 59, !- Minute 39 - 18.65, !- Value Until Time 39 - 10, !- Hour 40 - 9, !- Minute 40 - 18.6666666666667, !- Value Until Time 40 - 10, !- Hour 41 - 19, !- Minute 41 - 18.6833333333333, !- Value Until Time 41 - 10, !- Hour 42 - 29, !- Minute 42 - 18.7, !- Value Until Time 42 - 10, !- Hour 43 - 30, !- Minute 43 - 18.7, !- Value Until Time 43 - 14, !- Hour 44 - 30, !- Minute 44 - 18.7, !- Value Until Time 44 - 14, !- Hour 45 - 39, !- Minute 45 - 18.65, !- Value Until Time 45 - 14, !- Hour 46 - 49, !- Minute 46 - 18.6, !- Value Until Time 46 - 14, !- Hour 47 - 59, !- Minute 47 - 18.55, !- Value Until Time 47 - 15, !- Hour 48 - 9, !- Minute 48 - 18.5, !- Value Until Time 48 - 15, !- Hour 49 - 19, !- Minute 49 - 18.45, !- Value Until Time 49 - 15, !- Hour 50 - 29, !- Minute 50 - 18.4, !- Value Until Time 50 - 15, !- Hour 51 - 30, !- Minute 51 - 18.4, !- Value Until Time 51 - 15, !- Hour 52 - 39, !- Minute 52 - 18.3833333333333, !- Value Until Time 52 - 15, !- Hour 53 - 49, !- Minute 53 - 18.3666666666667, !- Value Until Time 53 - 15, !- Hour 54 - 59, !- Minute 54 - 18.35, !- Value Until Time 54 - 16, !- Hour 55 - 9, !- Minute 55 - 18.3333333333333, !- Value Until Time 55 - 16, !- Hour 56 - 19, !- Minute 56 - 18.3166666666667, !- Value Until Time 56 - 16, !- Hour 57 - 30, !- Minute 57 - 18.3, !- Value Until Time 57 - 16, !- Hour 58 - 40, !- Minute 58 - 18.2666666666667, !- Value Until Time 58 - 16, !- Hour 59 - 50, !- Minute 59 - 18.2333333333333, !- Value Until Time 59 - 17, !- Hour 60 - 0, !- Minute 60 - 18.2, !- Value Until Time 60 - 17, !- Hour 61 - 10, !- Minute 61 - 18.1666666666667, !- Value Until Time 61 - 17, !- Hour 62 - 20, !- Minute 62 - 18.1333333333333, !- Value Until Time 62 - 17, !- Hour 63 - 30, !- Minute 63 - 18.1, !- Value Until Time 63 - 17, !- Hour 64 - 40, !- Minute 64 - 18.0333333333333, !- Value Until Time 64 - 17, !- Hour 65 - 50, !- Minute 65 - 17.9666666666667, !- Value Until Time 65 - 18, !- Hour 66 - 0, !- Minute 66 - 17.9, !- Value Until Time 66 - 18, !- Hour 67 - 10, !- Minute 67 - 17.8333333333333, !- Value Until Time 67 - 18, !- Hour 68 - 20, !- Minute 68 - 17.7666666666667, !- Value Until Time 68 - 18, !- Hour 69 - 30, !- Minute 69 - 17.7, !- Value Until Time 69 - 20, !- Hour 70 - 30, !- Minute 70 - 17.7, !- Value Until Time 70 - 20, !- Hour 71 - 40, !- Minute 71 - 17.6833333333333, !- Value Until Time 71 - 20, !- Hour 72 - 50, !- Minute 72 - 17.6666666666667, !- Value Until Time 72 - 21, !- Hour 73 - 0, !- Minute 73 - 17.65, !- Value Until Time 73 - 21, !- Hour 74 - 10, !- Minute 74 - 17.6333333333333, !- Value Until Time 74 - 21, !- Hour 75 - 20, !- Minute 75 - 17.6166666666667, !- Value Until Time 75 - 21, !- Hour 76 - 30, !- Minute 76 - 17.6, !- Value Until Time 76 - 21, !- Hour 77 - 40, !- Minute 77 - 17.6166666666667, !- Value Until Time 77 - 21, !- Hour 78 - 50, !- Minute 78 - 17.6333333333333, !- Value Until Time 78 - 22, !- Hour 79 - 0, !- Minute 79 - 17.65, !- Value Until Time 79 - 22, !- Hour 80 - 10, !- Minute 80 - 17.6666666666667, !- Value Until Time 80 - 22, !- Hour 81 - 20, !- Minute 81 - 17.6833333333333, !- Value Until Time 81 - 22, !- Hour 82 - 30, !- Minute 82 - 17.7, !- Value Until Time 82 - 22, !- Hour 83 - 40, !- Minute 83 - 17.7166666666667, !- Value Until Time 83 - 22, !- Hour 84 - 50, !- Minute 84 - 17.7333333333333, !- Value Until Time 84 - 23, !- Hour 85 - 0, !- Minute 85 - 17.75, !- Value Until Time 85 - 23, !- Hour 86 - 10, !- Minute 86 - 17.7666666666667, !- Value Until Time 86 - 23, !- Hour 87 - 20, !- Minute 87 - 17.7833333333333, !- Value Until Time 87 - 23, !- Hour 88 - 30, !- Minute 88 - 17.8, !- Value Until Time 88 - 23, !- Hour 89 - 40, !- Minute 89 - 17.7333333333333, !- Value Until Time 89 - 23, !- Hour 90 - 50, !- Minute 90 - 17.6666666666667, !- Value Until Time 90 - 24, !- Hour 91 - 0, !- Minute 91 - 17.6; !- Value Until Time 91 - -OS:Schedule:Day, - {3b4a124f-ff62-4ac9-909a-5e07eb86b013}, !- Handle - Office HtgSetp_Enduse Winter Design Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 20; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}, !- Handle - Office ClgSetp_Enduse, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - {e55c9c06-229f-4773-aebc-6cd01e5b0fd0}, !- Default Day Schedule Name - {5eb8c78c-1720-4872-84f4-ab620b6780c6}, !- Summer Design Day Schedule Name - {90dcc037-91d4-4b5f-a2ee-bc1062e603b6}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {e55c9c06-229f-4773-aebc-6cd01e5b0fd0}, !- Handle - Schedule Day 22, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 45, !- Minute 1 - 25, !- Value Until Time 1 - 0, !- Hour 2 - 55, !- Minute 2 - 24.9833333333333, !- Value Until Time 2 - 1, !- Hour 3 - 4, !- Minute 3 - 24.9666666666667, !- Value Until Time 3 - 1, !- Hour 4 - 15, !- Minute 4 - 24.95, !- Value Until Time 4 - 1, !- Hour 5 - 25, !- Minute 5 - 24.9333333333333, !- Value Until Time 5 - 1, !- Hour 6 - 35, !- Minute 6 - 24.9166666666667, !- Value Until Time 6 - 1, !- Hour 7 - 45, !- Minute 7 - 24.9, !- Value Until Time 7 - 2, !- Hour 8 - 45, !- Minute 8 - 24.9, !- Value Until Time 8 - 2, !- Hour 9 - 54, !- Minute 9 - 24.8333333333333, !- Value Until Time 9 - 3, !- Hour 10 - 4, !- Minute 10 - 24.7666666666667, !- Value Until Time 10 - 3, !- Hour 11 - 14, !- Minute 11 - 24.7, !- Value Until Time 11 - 3, !- Hour 12 - 24, !- Minute 12 - 24.6333333333333, !- Value Until Time 12 - 3, !- Hour 13 - 34, !- Minute 13 - 24.5666666666667, !- Value Until Time 13 - 3, !- Hour 14 - 44, !- Minute 14 - 24.5, !- Value Until Time 14 - 3, !- Hour 15 - 45, !- Minute 15 - 24.5, !- Value Until Time 15 - 3, !- Hour 16 - 54, !- Minute 16 - 24.45, !- Value Until Time 16 - 4, !- Hour 17 - 4, !- Minute 17 - 24.4, !- Value Until Time 17 - 4, !- Hour 18 - 15, !- Minute 18 - 24.35, !- Value Until Time 18 - 4, !- Hour 19 - 25, !- Minute 19 - 24.3, !- Value Until Time 19 - 4, !- Hour 20 - 35, !- Minute 20 - 24.25, !- Value Until Time 20 - 4, !- Hour 21 - 45, !- Minute 21 - 24.2, !- Value Until Time 21 - 4, !- Hour 22 - 55, !- Minute 22 - 24.1, !- Value Until Time 22 - 5, !- Hour 23 - 5, !- Minute 23 - 24, !- Value Until Time 23 - 5, !- Hour 24 - 15, !- Minute 24 - 23.9, !- Value Until Time 24 - 5, !- Hour 25 - 25, !- Minute 25 - 23.8, !- Value Until Time 25 - 5, !- Hour 26 - 35, !- Minute 26 - 23.7, !- Value Until Time 26 - 5, !- Hour 27 - 45, !- Minute 27 - 23.6, !- Value Until Time 27 - 5, !- Hour 28 - 55, !- Minute 28 - 23.5333333333333, !- Value Until Time 28 - 6, !- Hour 29 - 5, !- Minute 29 - 23.4666666666667, !- Value Until Time 29 - 6, !- Hour 30 - 15, !- Minute 30 - 23.4, !- Value Until Time 30 - 6, !- Hour 31 - 25, !- Minute 31 - 23.3333333333333, !- Value Until Time 31 - 6, !- Hour 32 - 35, !- Minute 32 - 23.2666666666667, !- Value Until Time 32 - 6, !- Hour 33 - 45, !- Minute 33 - 23.2, !- Value Until Time 33 - 6, !- Hour 34 - 55, !- Minute 34 - 23.1833333333333, !- Value Until Time 34 - 7, !- Hour 35 - 5, !- Minute 35 - 23.1666666666667, !- Value Until Time 35 - 7, !- Hour 36 - 15, !- Minute 36 - 23.15, !- Value Until Time 36 - 7, !- Hour 37 - 25, !- Minute 37 - 23.1333333333333, !- Value Until Time 37 - 7, !- Hour 38 - 35, !- Minute 38 - 23.1166666666667, !- Value Until Time 38 - 7, !- Hour 39 - 45, !- Minute 39 - 23.1, !- Value Until Time 39 - 15, !- Hour 40 - 15, !- Minute 40 - 23.1, !- Value Until Time 40 - 15, !- Hour 41 - 24, !- Minute 41 - 23.1222222222222, !- Value Until Time 41 - 15, !- Hour 42 - 34, !- Minute 42 - 23.1444444444444, !- Value Until Time 42 - 15, !- Hour 43 - 44, !- Minute 43 - 23.1666666666667, !- Value Until Time 43 - 15, !- Hour 44 - 54, !- Minute 44 - 23.1888888888889, !- Value Until Time 44 - 16, !- Hour 45 - 4, !- Minute 45 - 23.2111111111111, !- Value Until Time 45 - 16, !- Hour 46 - 15, !- Minute 46 - 23.2333333333333, !- Value Until Time 46 - 16, !- Hour 47 - 25, !- Minute 47 - 23.2555555555556, !- Value Until Time 47 - 16, !- Hour 48 - 35, !- Minute 48 - 23.2777777777778, !- Value Until Time 48 - 16, !- Hour 49 - 45, !- Minute 49 - 23.3, !- Value Until Time 49 - 16, !- Hour 50 - 55, !- Minute 50 - 23.3333333333333, !- Value Until Time 50 - 17, !- Hour 51 - 5, !- Minute 51 - 23.3666666666667, !- Value Until Time 51 - 17, !- Hour 52 - 15, !- Minute 52 - 23.4, !- Value Until Time 52 - 17, !- Hour 53 - 25, !- Minute 53 - 23.4333333333333, !- Value Until Time 53 - 17, !- Hour 54 - 35, !- Minute 54 - 23.4666666666667, !- Value Until Time 54 - 17, !- Hour 55 - 45, !- Minute 55 - 23.5, !- Value Until Time 55 - 17, !- Hour 56 - 55, !- Minute 56 - 23.55, !- Value Until Time 56 - 18, !- Hour 57 - 5, !- Minute 57 - 23.6, !- Value Until Time 57 - 18, !- Hour 58 - 15, !- Minute 58 - 23.65, !- Value Until Time 58 - 18, !- Hour 59 - 25, !- Minute 59 - 23.7, !- Value Until Time 59 - 18, !- Hour 60 - 35, !- Minute 60 - 23.75, !- Value Until Time 60 - 18, !- Hour 61 - 45, !- Minute 61 - 23.8, !- Value Until Time 61 - 18, !- Hour 62 - 55, !- Minute 62 - 23.8833333333333, !- Value Until Time 62 - 19, !- Hour 63 - 5, !- Minute 63 - 23.9666666666667, !- Value Until Time 63 - 19, !- Hour 64 - 15, !- Minute 64 - 24.05, !- Value Until Time 64 - 19, !- Hour 65 - 25, !- Minute 65 - 24.1333333333333, !- Value Until Time 65 - 19, !- Hour 66 - 35, !- Minute 66 - 24.2166666666667, !- Value Until Time 66 - 19, !- Hour 67 - 45, !- Minute 67 - 24.3, !- Value Until Time 67 - 20, !- Hour 68 - 45, !- Minute 68 - 24.3, !- Value Until Time 68 - 20, !- Hour 69 - 55, !- Minute 69 - 24.3666666666667, !- Value Until Time 69 - 21, !- Hour 70 - 5, !- Minute 70 - 24.4333333333333, !- Value Until Time 70 - 21, !- Hour 71 - 15, !- Minute 71 - 24.5, !- Value Until Time 71 - 21, !- Hour 72 - 25, !- Minute 72 - 24.5666666666667, !- Value Until Time 72 - 21, !- Hour 73 - 35, !- Minute 73 - 24.6333333333333, !- Value Until Time 73 - 21, !- Hour 74 - 45, !- Minute 74 - 24.7, !- Value Until Time 74 - 21, !- Hour 75 - 55, !- Minute 75 - 24.75, !- Value Until Time 75 - 22, !- Hour 76 - 5, !- Minute 76 - 24.8, !- Value Until Time 76 - 22, !- Hour 77 - 15, !- Minute 77 - 24.85, !- Value Until Time 77 - 22, !- Hour 78 - 25, !- Minute 78 - 24.9, !- Value Until Time 78 - 22, !- Hour 79 - 35, !- Minute 79 - 24.95, !- Value Until Time 79 - 22, !- Hour 80 - 45, !- Minute 80 - 25, !- Value Until Time 80 - 22, !- Hour 81 - 55, !- Minute 81 - 25.0166666666667, !- Value Until Time 81 - 23, !- Hour 82 - 5, !- Minute 82 - 25.0333333333333, !- Value Until Time 82 - 23, !- Hour 83 - 15, !- Minute 83 - 25.05, !- Value Until Time 83 - 23, !- Hour 84 - 25, !- Minute 84 - 25.0666666666667, !- Value Until Time 84 - 23, !- Hour 85 - 35, !- Minute 85 - 25.0833333333333, !- Value Until Time 85 - 23, !- Hour 86 - 45, !- Minute 86 - 25.1, !- Value Until Time 86 - 24, !- Hour 87 - 0, !- Minute 87 - 25.1; !- Value Until Time 87 - -OS:Schedule:Rule, - {ff3b8b7e-01ab-48d2-904f-123531854996}, !- Handle - Schedule Rule 16, !- Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}, !- Schedule Ruleset Name - 1, !- Rule Order - {85c718be-e9cc-41c2-b293-5409c186f87d}, !- 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, - {85c718be-e9cc-41c2-b293-5409c186f87d}, !- Handle - Office ClgSetp_Enduse Sat Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 3, !- Hour 1 - 30, !- Minute 1 - 25.3, !- Value Until Time 1 - 3, !- Hour 2 - 39, !- Minute 2 - 25.2666666666667, !- Value Until Time 2 - 3, !- Hour 3 - 49, !- Minute 3 - 25.2333333333333, !- Value Until Time 3 - 3, !- Hour 4 - 59, !- Minute 4 - 25.2, !- Value Until Time 4 - 4, !- Hour 5 - 9, !- Minute 5 - 25.1666666666667, !- Value Until Time 5 - 4, !- Hour 6 - 19, !- Minute 6 - 25.1333333333333, !- Value Until Time 6 - 4, !- Hour 7 - 30, !- Minute 7 - 25.1, !- Value Until Time 7 - 4, !- Hour 8 - 40, !- Minute 8 - 25.0666666666667, !- Value Until Time 8 - 4, !- Hour 9 - 50, !- Minute 9 - 25.0333333333333, !- Value Until Time 9 - 5, !- Hour 10 - 0, !- Minute 10 - 25, !- Value Until Time 10 - 5, !- Hour 11 - 10, !- Minute 11 - 24.9666666666667, !- Value Until Time 11 - 5, !- Hour 12 - 20, !- Minute 12 - 24.9333333333333, !- Value Until Time 12 - 5, !- Hour 13 - 30, !- Minute 13 - 24.9, !- Value Until Time 13 - 5, !- Hour 14 - 40, !- Minute 14 - 24.8166666666667, !- Value Until Time 14 - 5, !- Hour 15 - 50, !- Minute 15 - 24.7333333333333, !- Value Until Time 15 - 6, !- Hour 16 - 0, !- Minute 16 - 24.65, !- Value Until Time 16 - 6, !- Hour 17 - 10, !- Minute 17 - 24.5666666666667, !- Value Until Time 17 - 6, !- Hour 18 - 20, !- Minute 18 - 24.4833333333333, !- Value Until Time 18 - 6, !- Hour 19 - 30, !- Minute 19 - 24.4, !- Value Until Time 19 - 6, !- Hour 20 - 40, !- Minute 20 - 24.3666666666667, !- Value Until Time 20 - 6, !- Hour 21 - 50, !- Minute 21 - 24.3333333333333, !- Value Until Time 21 - 7, !- Hour 22 - 0, !- Minute 22 - 24.3, !- Value Until Time 22 - 7, !- Hour 23 - 10, !- Minute 23 - 24.2666666666667, !- Value Until Time 23 - 7, !- Hour 24 - 20, !- Minute 24 - 24.2333333333333, !- Value Until Time 24 - 7, !- Hour 25 - 30, !- Minute 25 - 24.2, !- Value Until Time 25 - 8, !- Hour 26 - 0, !- Minute 26 - 24.2, !- Value Until Time 26 - 8, !- Hour 27 - 9, !- Minute 27 - 24.175, !- Value Until Time 27 - 8, !- Hour 28 - 19, !- Minute 28 - 24.15, !- Value Until Time 28 - 8, !- Hour 29 - 29, !- Minute 29 - 24.125, !- Value Until Time 29 - 8, !- Hour 30 - 39, !- Minute 30 - 24.1, !- Value Until Time 30 - 8, !- Hour 31 - 49, !- Minute 31 - 24.075, !- Value Until Time 31 - 8, !- Hour 32 - 59, !- Minute 32 - 24.05, !- Value Until Time 32 - 9, !- Hour 33 - 9, !- Minute 33 - 24.025, !- Value Until Time 33 - 9, !- Hour 34 - 19, !- Minute 34 - 24, !- Value Until Time 34 - 9, !- Hour 35 - 29, !- Minute 35 - 23.975, !- Value Until Time 35 - 9, !- Hour 36 - 39, !- Minute 36 - 23.95, !- Value Until Time 36 - 9, !- Hour 37 - 49, !- Minute 37 - 23.925, !- Value Until Time 37 - 9, !- Hour 38 - 59, !- Minute 38 - 23.9, !- Value Until Time 38 - 10, !- Hour 39 - 0, !- Minute 39 - 23.9, !- Value Until Time 39 - 14, !- Hour 40 - 0, !- Minute 40 - 23.9, !- Value Until Time 40 - 14, !- Hour 41 - 9, !- Minute 41 - 23.9166666666667, !- Value Until Time 41 - 14, !- Hour 42 - 19, !- Minute 42 - 23.9333333333333, !- Value Until Time 42 - 14, !- Hour 43 - 29, !- Minute 43 - 23.95, !- Value Until Time 43 - 14, !- Hour 44 - 39, !- Minute 44 - 23.9666666666667, !- Value Until Time 44 - 14, !- Hour 45 - 49, !- Minute 45 - 23.9833333333333, !- Value Until Time 45 - 14, !- Hour 46 - 59, !- Minute 46 - 24, !- Value Until Time 46 - 15, !- Hour 47 - 9, !- Minute 47 - 24.0166666666667, !- Value Until Time 47 - 15, !- Hour 48 - 19, !- Minute 48 - 24.0333333333333, !- Value Until Time 48 - 15, !- Hour 49 - 29, !- Minute 49 - 24.05, !- Value Until Time 49 - 15, !- Hour 50 - 39, !- Minute 50 - 24.0666666666667, !- Value Until Time 50 - 15, !- Hour 51 - 49, !- Minute 51 - 24.0833333333333, !- Value Until Time 51 - 15, !- Hour 52 - 59, !- Minute 52 - 24.1, !- Value Until Time 52 - 16, !- Hour 53 - 0, !- Minute 53 - 24.1, !- Value Until Time 53 - 16, !- Hour 54 - 10, !- Minute 54 - 24.1083333333333, !- Value Until Time 54 - 16, !- Hour 55 - 20, !- Minute 55 - 24.1166666666667, !- Value Until Time 55 - 16, !- Hour 56 - 30, !- Minute 56 - 24.125, !- Value Until Time 56 - 16, !- Hour 57 - 40, !- Minute 57 - 24.1333333333333, !- Value Until Time 57 - 16, !- Hour 58 - 50, !- Minute 58 - 24.1416666666667, !- Value Until Time 58 - 17, !- Hour 59 - 0, !- Minute 59 - 24.15, !- Value Until Time 59 - 17, !- Hour 60 - 10, !- Minute 60 - 24.1583333333333, !- Value Until Time 60 - 17, !- Hour 61 - 20, !- Minute 61 - 24.1666666666667, !- Value Until Time 61 - 17, !- Hour 62 - 30, !- Minute 62 - 24.175, !- Value Until Time 62 - 17, !- Hour 63 - 40, !- Minute 63 - 24.1833333333333, !- Value Until Time 63 - 17, !- Hour 64 - 50, !- Minute 64 - 24.1916666666667, !- Value Until Time 64 - 18, !- Hour 65 - 0, !- Minute 65 - 24.2, !- Value Until Time 65 - 18, !- Hour 66 - 30, !- Minute 66 - 24.2, !- Value Until Time 66 - 18, !- Hour 67 - 40, !- Minute 67 - 24.2666666666667, !- Value Until Time 67 - 18, !- Hour 68 - 50, !- Minute 68 - 24.3333333333333, !- Value Until Time 68 - 19, !- Hour 69 - 0, !- Minute 69 - 24.4, !- Value Until Time 69 - 19, !- Hour 70 - 10, !- Minute 70 - 24.4666666666667, !- Value Until Time 70 - 19, !- Hour 71 - 20, !- Minute 71 - 24.5333333333333, !- Value Until Time 71 - 19, !- Hour 72 - 30, !- Minute 72 - 24.6, !- Value Until Time 72 - 19, !- Hour 73 - 40, !- Minute 73 - 24.65, !- Value Until Time 73 - 19, !- Hour 74 - 50, !- Minute 74 - 24.7, !- Value Until Time 74 - 20, !- Hour 75 - 0, !- Minute 75 - 24.75, !- Value Until Time 75 - 20, !- Hour 76 - 10, !- Minute 76 - 24.8, !- Value Until Time 76 - 20, !- Hour 77 - 20, !- Minute 77 - 24.85, !- Value Until Time 77 - 20, !- Hour 78 - 30, !- Minute 78 - 24.9, !- Value Until Time 78 - 20, !- Hour 79 - 40, !- Minute 79 - 24.9166666666667, !- Value Until Time 79 - 20, !- Hour 80 - 50, !- Minute 80 - 24.9333333333333, !- Value Until Time 80 - 21, !- Hour 81 - 0, !- Minute 81 - 24.95, !- Value Until Time 81 - 21, !- Hour 82 - 10, !- Minute 82 - 24.9666666666667, !- Value Until Time 82 - 21, !- Hour 83 - 20, !- Minute 83 - 24.9833333333333, !- Value Until Time 83 - 21, !- Hour 84 - 30, !- Minute 84 - 25, !- Value Until Time 84 - 24, !- Hour 85 - 0, !- Minute 85 - 25.3; !- Value Until Time 85 - -OS:Schedule:Day, - {5eb8c78c-1720-4872-84f4-ab620b6780c6}, !- Handle - Office ClgSetp_Enduse Summer Design Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 23.1; !- Value Until Time 1 - -OS:Schedule:Rule, - {4d4362f6-045b-423d-9ef4-275758f47305}, !- Handle - Schedule Rule 17, !- Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}, !- Schedule Ruleset Name - 0, !- Rule Order - {98b3ace4-4e2e-46b9-a3f6-5bf506c9a5ed}, !- 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, - {98b3ace4-4e2e-46b9-a3f6-5bf506c9a5ed}, !- Handle - Office ClgSetp_Enduse Sun Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 25.2166666666667, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 25.2333333333333, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 25.25, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 25.2666666666667, !- Value Until Time 4 - 0, !- Hour 5 - 50, !- Minute 5 - 25.2833333333333, !- Value Until Time 5 - 1, !- Hour 6 - 0, !- Minute 6 - 25.3, !- Value Until Time 6 - 3, !- Hour 7 - 30, !- Minute 7 - 25.3, !- Value Until Time 7 - 3, !- Hour 8 - 40, !- Minute 8 - 25.2666666666667, !- Value Until Time 8 - 3, !- Hour 9 - 50, !- Minute 9 - 25.2333333333333, !- Value Until Time 9 - 4, !- Hour 10 - 0, !- Minute 10 - 25.2, !- Value Until Time 10 - 4, !- Hour 11 - 10, !- Minute 11 - 25.1666666666667, !- Value Until Time 11 - 4, !- Hour 12 - 20, !- Minute 12 - 25.1333333333333, !- Value Until Time 12 - 4, !- Hour 13 - 30, !- Minute 13 - 25.1, !- Value Until Time 13 - 4, !- Hour 14 - 40, !- Minute 14 - 25.0333333333333, !- Value Until Time 14 - 4, !- Hour 15 - 50, !- Minute 15 - 24.9666666666667, !- Value Until Time 15 - 5, !- Hour 16 - 0, !- Minute 16 - 24.9, !- Value Until Time 16 - 5, !- Hour 17 - 10, !- Minute 17 - 24.8333333333333, !- Value Until Time 17 - 5, !- Hour 18 - 20, !- Minute 18 - 24.7666666666667, !- Value Until Time 18 - 5, !- Hour 19 - 30, !- Minute 19 - 24.7, !- Value Until Time 19 - 5, !- Hour 20 - 40, !- Minute 20 - 24.6833333333333, !- Value Until Time 20 - 5, !- Hour 21 - 50, !- Minute 21 - 24.6666666666667, !- Value Until Time 21 - 6, !- Hour 22 - 0, !- Minute 22 - 24.65, !- Value Until Time 22 - 6, !- Hour 23 - 10, !- Minute 23 - 24.6333333333333, !- Value Until Time 23 - 6, !- Hour 24 - 20, !- Minute 24 - 24.6166666666667, !- Value Until Time 24 - 6, !- Hour 25 - 30, !- Minute 25 - 24.6, !- Value Until Time 25 - 6, !- Hour 26 - 40, !- Minute 26 - 24.5833333333333, !- Value Until Time 26 - 6, !- Hour 27 - 50, !- Minute 27 - 24.5666666666667, !- Value Until Time 27 - 7, !- Hour 28 - 0, !- Minute 28 - 24.55, !- Value Until Time 28 - 7, !- Hour 29 - 10, !- Minute 29 - 24.5333333333333, !- Value Until Time 29 - 7, !- Hour 30 - 20, !- Minute 30 - 24.5166666666667, !- Value Until Time 30 - 7, !- Hour 31 - 30, !- Minute 31 - 24.5, !- Value Until Time 31 - 7, !- Hour 32 - 40, !- Minute 32 - 24.4833333333333, !- Value Until Time 32 - 7, !- Hour 33 - 50, !- Minute 33 - 24.4666666666667, !- Value Until Time 33 - 8, !- Hour 34 - 0, !- Minute 34 - 24.45, !- Value Until Time 34 - 8, !- Hour 35 - 9, !- Minute 35 - 24.4333333333333, !- Value Until Time 35 - 8, !- Hour 36 - 19, !- Minute 36 - 24.4166666666667, !- Value Until Time 36 - 8, !- Hour 37 - 29, !- Minute 37 - 24.4, !- Value Until Time 37 - 8, !- Hour 38 - 30, !- Minute 38 - 24.4, !- Value Until Time 38 - 9, !- Hour 39 - 30, !- Minute 39 - 24.4, !- Value Until Time 39 - 9, !- Hour 40 - 39, !- Minute 40 - 24.3833333333333, !- Value Until Time 40 - 9, !- Hour 41 - 49, !- Minute 41 - 24.3666666666667, !- Value Until Time 41 - 9, !- Hour 42 - 59, !- Minute 42 - 24.35, !- Value Until Time 42 - 10, !- Hour 43 - 9, !- Minute 43 - 24.3333333333333, !- Value Until Time 43 - 10, !- Hour 44 - 19, !- Minute 44 - 24.3166666666667, !- Value Until Time 44 - 10, !- Hour 45 - 29, !- Minute 45 - 24.3, !- Value Until Time 45 - 10, !- Hour 46 - 30, !- Minute 46 - 24.3, !- Value Until Time 46 - 10, !- Hour 47 - 39, !- Minute 47 - 24.2833333333333, !- Value Until Time 47 - 10, !- Hour 48 - 49, !- Minute 48 - 24.2666666666667, !- Value Until Time 48 - 10, !- Hour 49 - 59, !- Minute 49 - 24.25, !- Value Until Time 49 - 11, !- Hour 50 - 9, !- Minute 50 - 24.2333333333333, !- Value Until Time 50 - 11, !- Hour 51 - 19, !- Minute 51 - 24.2166666666667, !- Value Until Time 51 - 11, !- Hour 52 - 29, !- Minute 52 - 24.2, !- Value Until Time 52 - 11, !- Hour 53 - 30, !- Minute 53 - 24.2, !- Value Until Time 53 - 14, !- Hour 54 - 30, !- Minute 54 - 24.2, !- Value Until Time 54 - 14, !- Hour 55 - 39, !- Minute 55 - 24.2333333333333, !- Value Until Time 55 - 14, !- Hour 56 - 49, !- Minute 56 - 24.2666666666667, !- Value Until Time 56 - 14, !- Hour 57 - 59, !- Minute 57 - 24.3, !- Value Until Time 57 - 15, !- Hour 58 - 9, !- Minute 58 - 24.3333333333333, !- Value Until Time 58 - 15, !- Hour 59 - 19, !- Minute 59 - 24.3666666666667, !- Value Until Time 59 - 15, !- Hour 60 - 29, !- Minute 60 - 24.4, !- Value Until Time 60 - 15, !- Hour 61 - 30, !- Minute 61 - 24.4, !- Value Until Time 61 - 15, !- Hour 62 - 39, !- Minute 62 - 24.4333333333333, !- Value Until Time 62 - 15, !- Hour 63 - 49, !- Minute 63 - 24.4666666666667, !- Value Until Time 63 - 15, !- Hour 64 - 59, !- Minute 64 - 24.5, !- Value Until Time 64 - 16, !- Hour 65 - 9, !- Minute 65 - 24.5333333333333, !- Value Until Time 65 - 16, !- Hour 66 - 19, !- Minute 66 - 24.5666666666667, !- Value Until Time 66 - 16, !- Hour 67 - 30, !- Minute 67 - 24.6, !- Value Until Time 67 - 16, !- Hour 68 - 40, !- Minute 68 - 24.6166666666667, !- Value Until Time 68 - 16, !- Hour 69 - 50, !- Minute 69 - 24.6333333333333, !- Value Until Time 69 - 17, !- Hour 70 - 0, !- Minute 70 - 24.65, !- Value Until Time 70 - 17, !- Hour 71 - 10, !- Minute 71 - 24.6666666666667, !- Value Until Time 71 - 17, !- Hour 72 - 20, !- Minute 72 - 24.6833333333333, !- Value Until Time 72 - 17, !- Hour 73 - 30, !- Minute 73 - 24.7, !- Value Until Time 73 - 17, !- Hour 74 - 40, !- Minute 74 - 24.7666666666667, !- Value Until Time 74 - 17, !- Hour 75 - 50, !- Minute 75 - 24.8333333333333, !- Value Until Time 75 - 18, !- Hour 76 - 0, !- Minute 76 - 24.9, !- Value Until Time 76 - 18, !- Hour 77 - 10, !- Minute 77 - 24.9666666666667, !- Value Until Time 77 - 18, !- Hour 78 - 20, !- Minute 78 - 25.0333333333333, !- Value Until Time 78 - 18, !- Hour 79 - 30, !- Minute 79 - 25.1, !- Value Until Time 79 - 20, !- Hour 80 - 30, !- Minute 80 - 25.1, !- Value Until Time 80 - 20, !- Hour 81 - 40, !- Minute 81 - 25.1166666666667, !- Value Until Time 81 - 20, !- Hour 82 - 50, !- Minute 82 - 25.1333333333333, !- Value Until Time 82 - 21, !- Hour 83 - 0, !- Minute 83 - 25.15, !- Value Until Time 83 - 21, !- Hour 84 - 10, !- Minute 84 - 25.1666666666667, !- Value Until Time 84 - 21, !- Hour 85 - 20, !- Minute 85 - 25.1833333333333, !- Value Until Time 85 - 21, !- Hour 86 - 30, !- Minute 86 - 25.2, !- Value Until Time 86 - 21, !- Hour 87 - 40, !- Minute 87 - 25.1833333333333, !- Value Until Time 87 - 21, !- Hour 88 - 50, !- Minute 88 - 25.1666666666667, !- Value Until Time 88 - 22, !- Hour 89 - 0, !- Minute 89 - 25.15, !- Value Until Time 89 - 22, !- Hour 90 - 10, !- Minute 90 - 25.1333333333333, !- Value Until Time 90 - 22, !- Hour 91 - 20, !- Minute 91 - 25.1166666666667, !- Value Until Time 91 - 22, !- Hour 92 - 30, !- Minute 92 - 25.1, !- Value Until Time 92 - 23, !- Hour 93 - 0, !- Minute 93 - 25.1, !- Value Until Time 93 - 23, !- Hour 94 - 10, !- Minute 94 - 25.1166666666667, !- Value Until Time 94 - 23, !- Hour 95 - 20, !- Minute 95 - 25.1333333333333, !- Value Until Time 95 - 23, !- Hour 96 - 30, !- Minute 96 - 25.15, !- Value Until Time 96 - 23, !- Hour 97 - 40, !- Minute 97 - 25.1666666666667, !- Value Until Time 97 - 23, !- Hour 98 - 50, !- Minute 98 - 25.1833333333333, !- Value Until Time 98 - 24, !- Hour 99 - 0, !- Minute 99 - 25.2; !- Value Until Time 99 - -OS:Schedule:Day, - {90dcc037-91d4-4b5f-a2ee-bc1062e603b6}, !- Handle - Office ClgSetp_Enduse Winter Design Day, !- Name - {1fc9cd70-0465-4566-9af4-c020a6260ce5}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 25.3; !- Value Until Time 1 - -OS:ThermostatSetpoint:DualSetpoint, - {84ddefbd-e9e0-43bb-b231-e18893c3ad16}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 1, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {78e9f416-e26a-444c-9036-2883bce36ae5}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 2, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {95ae8775-0f14-48be-bbf7-fc6c7e980097}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 3, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {15272a0a-70ad-4751-a196-1285ba63b43f}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 4, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {fc08395d-8539-409d-a717-5717513f94e9}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 5, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {5723a230-5a81-4561-ac99-7d4a007825a1}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 6, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {8a9820ce-1428-436b-aeb2-ff5229d19a4c}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 7, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {e8e1ba03-5712-4f90-8e48-b56a1a8c8d9b}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 8, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {3d1010fe-be8e-44d7-9f8b-547e8a3492c9}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 9, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {6630126b-a947-4a12-9267-8d3d4e6be682}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 10, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {0577914c-fa90-4f3b-ad2a-51f62a4814aa}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 11, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {c35a181d-a693-4382-914e-3a41f4acc489}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 12, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {cacb77ca-6eec-435e-8b30-d2ebbfab4f80}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 13, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {69b87271-504d-4389-9c92-8f8729fc6e96}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 14, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {77018803-b8d4-442d-aea2-2d172a0641a3}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 15, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {ad9456a8-1e62-4f40-afdb-af548a88c2e7}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 16, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:ThermostatSetpoint:DualSetpoint, - {35be521e-4718-483f-a5da-a1d4cbccf435}, !- Handle - Office WholeBuilding - Sm Office - ComStock DOE Ref Pre-1980 Thermostat 17, !- Name - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Heating Setpoint Temperature Schedule Name - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}; !- Cooling Setpoint Temperature Schedule Name - -OS:AirLoopHVAC, - {c519db84-b115-4236-8891-bfe138591bc6}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {647b8e60-c39d-418b-9374-002d3f454d7f}, !- Availability Schedule - {d0c293bc-2827-434b-8294-8ad46003dedf}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {cf553434-91ee-44fc-b804-43a929a1540e}, !- Supply Side Inlet Node Name - {bd1a704d-22d5-47aa-8865-86e1f5c655c5}, !- Demand Side Outlet Node Name - {ee607dc2-6bf5-4b5c-894b-22edb058561c}, !- Demand Side Inlet Node A - {5e38420d-04be-4065-8087-2d89972f6453}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {30b21936-8563-4f38-99b6-a090e5e78ac9}, !- Demand Mixer Name - {c531c599-6c08-4441-94c7-cd10944ae7ff}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {a997d906-23c5-4c68-abf2-e3c1637c9ed2}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Supply Inlet Node, !- Name - {cf553434-91ee-44fc-b804-43a929a1540e}, !- Inlet Port - {d880a16e-fd78-4843-bef0-0ad57fb60a33}; !- Outlet Port - -OS:Node, - {f5ed63a7-646c-41a1-8b99-070cea843d74}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Supply Outlet Node, !- Name - {ea8af171-e9fd-47b5-8553-b0f0a3d1d264}, !- Inlet Port - {5e38420d-04be-4065-8087-2d89972f6453}; !- Outlet Port - -OS:Connection, - {cf553434-91ee-44fc-b804-43a929a1540e}, !- Handle - {b1235d74-7037-44dd-9725-d70a2cdcd38e}, !- Name - {c519db84-b115-4236-8891-bfe138591bc6}, !- Source Object - 8, !- Outlet Port - {a997d906-23c5-4c68-abf2-e3c1637c9ed2}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {5e38420d-04be-4065-8087-2d89972f6453}, !- Handle - {649ba5b0-778d-4b79-9836-b0de7765168f}, !- Name - {f5ed63a7-646c-41a1-8b99-070cea843d74}, !- Source Object - 3, !- Outlet Port - {c519db84-b115-4236-8891-bfe138591bc6}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {3dd67837-1979-44bb-9405-5ba4fc075314}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Demand Inlet Node, !- Name - {ee607dc2-6bf5-4b5c-894b-22edb058561c}, !- Inlet Port - {611628ed-6eed-4b1e-8aef-ac1835153fb1}; !- Outlet Port - -OS:Node, - {ee2570f2-2cf0-470d-94ed-c691829b33dc}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Demand Outlet Node, !- Name - {9144128d-5b2a-4ae5-a206-6677b07d4fac}, !- Inlet Port - {bd1a704d-22d5-47aa-8865-86e1f5c655c5}; !- Outlet Port - -OS:Node, - {cdadfa82-764b-4699-b11b-48187c7dd3b9}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {3dea750f-3159-44dc-ad33-b27aeadc8ea4}, !- Inlet Port - {c5bd6394-7322-4887-b3de-0285e1f8d44b}; !- Outlet Port - -OS:Connection, - {ee607dc2-6bf5-4b5c-894b-22edb058561c}, !- Handle - {f8b8eb7f-dabc-4de1-9f37-8bfacc275149}, !- Name - {c519db84-b115-4236-8891-bfe138591bc6}, !- Source Object - 10, !- Outlet Port - {3dd67837-1979-44bb-9405-5ba4fc075314}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {bd1a704d-22d5-47aa-8865-86e1f5c655c5}, !- Handle - {6b38b574-ac14-4d3a-8977-d2536fd219f5}, !- Name - {ee2570f2-2cf0-470d-94ed-c691829b33dc}, !- Source Object - 3, !- Outlet Port - {c519db84-b115-4236-8891-bfe138591bc6}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {c531c599-6c08-4441-94c7-cd10944ae7ff}, !- Handle - Air Loop HVAC Zone Splitter 1, !- Name - {611628ed-6eed-4b1e-8aef-ac1835153fb1}, !- Inlet Node Name - {6a58bcba-7af3-4901-8279-316ad612f15e}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {30b21936-8563-4f38-99b6-a090e5e78ac9}, !- Handle - Air Loop HVAC Zone Mixer 1, !- Name - {9144128d-5b2a-4ae5-a206-6677b07d4fac}, !- Outlet Node Name - {4aeb4424-08c2-4d10-9d36-bd722311a83b}; !- Inlet Node Name 1 - -OS:Connection, - {611628ed-6eed-4b1e-8aef-ac1835153fb1}, !- Handle - {0b21b485-b45d-4b11-8569-c1a269bb7f66}, !- Name - {3dd67837-1979-44bb-9405-5ba4fc075314}, !- Source Object - 3, !- Outlet Port - {c531c599-6c08-4441-94c7-cd10944ae7ff}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9144128d-5b2a-4ae5-a206-6677b07d4fac}, !- Handle - {8ba36e7b-a0c7-42ce-ac45-504d8cd8424a}, !- Name - {30b21936-8563-4f38-99b6-a090e5e78ac9}, !- Source Object - 2, !- Outlet Port - {ee2570f2-2cf0-470d-94ed-c691829b33dc}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {7126f71f-bbe0-4551-b9ec-cfc09a659fc6}, !- Handle - {c519db84-b115-4236-8891-bfe138591bc6}, !- 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, - {d0c293bc-2827-434b-8294-8ad46003dedf}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList, !- Name - {e784ae0c-d618-4866-9eb4-0a0dd5ef964f}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {2c677f21-2219-4929-afed-195633fa1746}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- Control Zone Name - {f5ed63a7-646c-41a1-8b99-070cea843d74}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {4f54408e-3820-4533-8072-8fdb0eae54c9}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Schedule:Constant, - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Handle - Always Off Discrete, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - 0; !- Value - -OS:ScheduleTypeLimits, - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Handle - OnOff 1, !- Name - 0, !- Lower Limit Value - 1, !- Upper Limit Value - Discrete, !- Numeric Type - Availability; !- Unit Type - -OS:Coil:Heating:Electric, - {2c071162-4b72-4700-9d0e-7162e4456a28}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {91043a2a-ca49-4adb-8314-d8b29d6e87f2}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC 1spd DX AC Clg Coil 8kBtu/hr 11.06SEER 6kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {d7779daa-74ec-46f0-8c18-57d62f58f37a}, !- Handle - Curve Biquadratic 1, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {f9de7a44-08cd-4252-85dc-95025256a3c5}, !- Handle - Curve Quadratic 1, !- 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, - {e60bf620-5811-4079-88f1-42517d1f7e79}, !- Handle - Curve Biquadratic 2, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {729fe9d5-aa03-41fb-86f0-638618de16a3}, !- Handle - Curve Quadratic 2, !- 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, - {dc631fb8-be48-4cfd-8df3-99838af303d0}, !- Handle - Curve Quadratic 3, !- 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, - {d3c101d9-99fa-4be0-90b3-6c67c2330be6}, !- Handle - Curve Biquadratic 3, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {5485aa17-c548-470d-9cdc-4954acb89163}, !- Handle - Curve Quadratic 4, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {379435c4-eb8c-4781-af2a-2ab6aa16c65e}, !- Handle - Curve Biquadratic 4, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {6c38b9ed-0d00-42f0-a4b4-ec83fadce51d}, !- Handle - Curve Quadratic 5, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {bd4cefc4-b60e-41ca-a77e-ace36d5e90cc}, !- Handle - Curve Quadratic 6, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {d7cc1d82-60c2-46b3-a306-0708f60bf6ca}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {b075d6a8-5cd6-4cf7-96fd-0126aa27a900}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {d8ce6210-d06a-45e4-9ef0-09f836bdb622}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {b075d6a8-5cd6-4cf7-96fd-0126aa27a900}, !- 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, - {d8ce6210-d06a-45e4-9ef0-09f836bdb622}, !- 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:AirLoopHVAC:UnitarySystem, - {b829d33c-0e1c-4677-8a93-e1be545a5529}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {72576ab2-71f0-4ce5-8b7c-999a096f300b}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {3b6b721e-a77f-4b3d-90e2-695c806ecb93}, !- Air Inlet Node Name - {ea8af171-e9fd-47b5-8553-b0f0a3d1d264}, !- Air Outlet Node Name - {d7cc1d82-60c2-46b3-a306-0708f60bf6ca}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {647b8e60-c39d-418b-9374-002d3f454d7f}, !- Supply Air Fan Operating Mode Schedule Name - {4f54408e-3820-4533-8072-8fdb0eae54c9}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {91043a2a-ca49-4adb-8314-d8b29d6e87f2}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {2c071162-4b72-4700-9d0e-7162e4456a28}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {ea8af171-e9fd-47b5-8553-b0f0a3d1d264}, !- Handle - {5351c3b0-7907-4c0e-a8b2-0baf691a5e57}, !- Name - {b829d33c-0e1c-4677-8a93-e1be545a5529}, !- Source Object - 7, !- Outlet Port - {f5ed63a7-646c-41a1-8b99-070cea843d74}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {35c10aa3-b133-4bf1-bcac-b2841011766d}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {8f8e76dd-ed91-4f88-b2e1-9a3a8d1a9add}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {977c2296-44d5-4d1f-ae23-c247ac801d1d}, !- 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, - {977c2296-44d5-4d1f-ae23-c247ac801d1d}, !- Handle - Controller Mechanical Ventilation 1, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {f85afab6-b957-4504-89a3-bc60c2f9ac51}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC OA System, !- Name - {35c10aa3-b133-4bf1-bcac-b2841011766d}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {64b7e663-1724-4d62-a3e2-86ddd50aee5a}, !- Mixed Air Node Name - {0824084b-c056-4044-90d8-496e93f389da}, !- Outdoor Air Stream Node Name - {c251152d-3642-43de-9271-c327caa821e2}, !- Relief Air Stream Node Name - {d880a16e-fd78-4843-bef0-0ad57fb60a33}; !- Return Air Stream Node Name - -OS:Node, - {93614f3a-e3dd-445a-9f6b-eed4341e5e99}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {0824084b-c056-4044-90d8-496e93f389da}; !- Outlet Port - -OS:Connection, - {0824084b-c056-4044-90d8-496e93f389da}, !- Handle - {8845e996-2bd6-45bd-a74b-10d6070c09ca}, !- Name - {93614f3a-e3dd-445a-9f6b-eed4341e5e99}, !- Source Object - 3, !- Outlet Port - {f85afab6-b957-4504-89a3-bc60c2f9ac51}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {5f5bf207-d25d-4d04-8417-0d5d7f02e200}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Relief Air Node, !- Name - {c251152d-3642-43de-9271-c327caa821e2}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {c251152d-3642-43de-9271-c327caa821e2}, !- Handle - {555e8123-6487-471d-bd88-1b7a03168dbb}, !- Name - {f85afab6-b957-4504-89a3-bc60c2f9ac51}, !- Source Object - 7, !- Outlet Port - {5f5bf207-d25d-4d04-8417-0d5d7f02e200}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {52dd22f7-75e5-4f05-a74b-2ae909c98700}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Mixed Air Node, !- Name - {64b7e663-1724-4d62-a3e2-86ddd50aee5a}, !- Inlet Port - {3b6b721e-a77f-4b3d-90e2-695c806ecb93}; !- Outlet Port - -OS:Connection, - {d880a16e-fd78-4843-bef0-0ad57fb60a33}, !- Handle - {a60f272e-d84e-43fb-a3eb-e62c168a3f94}, !- Name - {a997d906-23c5-4c68-abf2-e3c1637c9ed2}, !- Source Object - 3, !- Outlet Port - {f85afab6-b957-4504-89a3-bc60c2f9ac51}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {64b7e663-1724-4d62-a3e2-86ddd50aee5a}, !- Handle - {11efc973-db30-4518-b3e2-9bb20ec74841}, !- Name - {f85afab6-b957-4504-89a3-bc60c2f9ac51}, !- Source Object - 5, !- Outlet Port - {52dd22f7-75e5-4f05-a74b-2ae909c98700}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {3b6b721e-a77f-4b3d-90e2-695c806ecb93}, !- Handle - {0e91fe77-e41f-4768-ad85-920cdb05e682}, !- Name - {52dd22f7-75e5-4f05-a74b-2ae909c98700}, !- Source Object - 3, !- Outlet Port - {b829d33c-0e1c-4677-8a93-e1be545a5529}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {e784ae0c-d618-4866-9eb4-0a0dd5ef964f}, !- Handle - Availability Manager Night Cycle 1, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {e265e0aa-5e9a-4efb-94a2-e94b13ddd08f}, !- Control Zone or Zone List Name - {1dd35c29-be43-4779-b980-5796b329eda6}, !- Cooling Control Zone or Zone List Name - {ffe0ecf8-3e9a-4799-beb8-8cd81937c1a8}, !- Heating Control Zone or Zone List Name - {b3742de3-77d7-48ce-a3ee-58b29cf53043}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {e265e0aa-5e9a-4efb-94a2-e94b13ddd08f}, !- Handle - Availability Manager Night Cycle 1 Control Zone List; !- Name - -OS:ModelObjectList, - {1dd35c29-be43-4779-b980-5796b329eda6}, !- Handle - Availability Manager Night Cycle 1 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {ffe0ecf8-3e9a-4799-beb8-8cd81937c1a8}, !- Handle - Availability Manager Night Cycle 1 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {b3742de3-77d7-48ce-a3ee-58b29cf53043}, !- Handle - Availability Manager Night Cycle 1 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {dfaea635-2ef8-40f8-a31c-eba9472feb08}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {d5083c3b-38f4-41f4-b28f-f204a1fb7931}, !- Air Inlet Node Name - {3dea750f-3159-44dc-ad33-b27aeadc8ea4}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {dce6a2f9-ef86-4ef6-a0e8-61e60a45e035}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground Return Air Node, !- Name - {7f8d05b1-6272-463f-8efa-35a7190dc3ef}, !- Inlet Port - {4aeb4424-08c2-4d10-9d36-bd722311a83b}; !- Outlet Port - -OS:Connection, - {c5bd6394-7322-4887-b3de-0285e1f8d44b}, !- Handle - {16fd51a4-c416-476a-bb88-8c1fa7798731}, !- Name - {cdadfa82-764b-4699-b11b-48187c7dd3b9}, !- Source Object - 3, !- Outlet Port - {e942048d-2ff8-4fde-b78f-7e5d8c995071}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {7f8d05b1-6272-463f-8efa-35a7190dc3ef}, !- Handle - {c65523b6-d4e8-4c47-ba17-791fef122406}, !- Name - {2a0fee1f-d705-47b8-944e-b544137b36e4}, !- Source Object - 3, !- Outlet Port - {dce6a2f9-ef86-4ef6-a0e8-61e60a45e035}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {4aeb4424-08c2-4d10-9d36-bd722311a83b}, !- Handle - {675d37bc-8d27-46ca-b9ac-92dda5ed5eba}, !- Name - {dce6a2f9-ef86-4ef6-a0e8-61e60a45e035}, !- Source Object - 3, !- Outlet Port - {30b21936-8563-4f38-99b6-a090e5e78ac9}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {686303ca-a38b-419f-997a-56d8f0d3d10c}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {6a58bcba-7af3-4901-8279-316ad612f15e}, !- Inlet Port - {d5083c3b-38f4-41f4-b28f-f204a1fb7931}; !- Outlet Port - -OS:Connection, - {6a58bcba-7af3-4901-8279-316ad612f15e}, !- Handle - {252b88cb-53ea-48da-b796-1dd69ac5ba32}, !- Name - {c531c599-6c08-4441-94c7-cd10944ae7ff}, !- Source Object - 3, !- Outlet Port - {686303ca-a38b-419f-997a-56d8f0d3d10c}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d5083c3b-38f4-41f4-b28f-f204a1fb7931}, !- Handle - {127df228-d24f-4071-8b33-7cea80e15a60}, !- Name - {686303ca-a38b-419f-997a-56d8f0d3d10c}, !- Source Object - 3, !- Outlet Port - {dfaea635-2ef8-40f8-a31c-eba9472feb08}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {3dea750f-3159-44dc-ad33-b27aeadc8ea4}, !- Handle - {825c8197-00ba-4b78-a427-72415aab56aa}, !- Name - {dfaea635-2ef8-40f8-a31c-eba9472feb08}, !- Source Object - 4, !- Outlet Port - {cdadfa82-764b-4699-b11b-48187c7dd3b9}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {8d6cec9e-c562-42d1-84ae-6f81df17b84a}, !- Availability Schedule - {bc320abb-10e2-4089-a46e-1e0a7f2991fd}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {1b6db8a6-25af-4eeb-a074-608ac283de73}, !- Supply Side Inlet Node Name - {2973f9a7-b41e-446e-b523-f922136da2b2}, !- Demand Side Outlet Node Name - {47b20ea2-e034-4a25-936c-67e617e46d9c}, !- Demand Side Inlet Node A - {cb5fb8d2-ff0d-442e-b90d-8ab759dabf5d}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {358dde30-f331-47a0-8601-0673f3f299ba}, !- Demand Mixer Name - {9a4eef62-41dc-41dd-92a6-afca19b82262}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {15f8ad39-c804-4c3f-96c8-4e7ea0438a17}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Supply Inlet Node, !- Name - {1b6db8a6-25af-4eeb-a074-608ac283de73}, !- Inlet Port - {0d1e5646-93cb-44b7-981b-4cd6ca32fcc9}; !- Outlet Port - -OS:Node, - {c2f392ba-08d8-40c9-ae6d-4019a04dca74}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Supply Outlet Node, !- Name - {92e8c9eb-720b-42c0-a223-4857389df4d8}, !- Inlet Port - {cb5fb8d2-ff0d-442e-b90d-8ab759dabf5d}; !- Outlet Port - -OS:Connection, - {1b6db8a6-25af-4eeb-a074-608ac283de73}, !- Handle - {067930cb-b55f-4bfc-83b4-046badf5f1d7}, !- Name - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- Source Object - 8, !- Outlet Port - {15f8ad39-c804-4c3f-96c8-4e7ea0438a17}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {cb5fb8d2-ff0d-442e-b90d-8ab759dabf5d}, !- Handle - {2ec7bb62-dbe3-428b-910f-fce7b78eb7b5}, !- Name - {c2f392ba-08d8-40c9-ae6d-4019a04dca74}, !- Source Object - 3, !- Outlet Port - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {535a2087-5d1d-46f0-9257-556381828504}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Demand Inlet Node, !- Name - {47b20ea2-e034-4a25-936c-67e617e46d9c}, !- Inlet Port - {f3178ebd-c53f-4fa3-b0b8-4fe4864af676}; !- Outlet Port - -OS:Node, - {8ba0a05d-7ae1-4c61-a9a3-5f5ea5d580d2}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Demand Outlet Node, !- Name - {998c227b-450d-4fcf-bef1-56355f04c0bc}, !- Inlet Port - {2973f9a7-b41e-446e-b523-f922136da2b2}; !- Outlet Port - -OS:Node, - {f8b53519-caea-4ec9-ad72-8be43424b605}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {2055c34e-0692-4afe-9b1e-df1c5e54c4ea}, !- Inlet Port - {96cbd93e-13b1-4a0a-8fb5-a382aad438b7}; !- Outlet Port - -OS:Connection, - {47b20ea2-e034-4a25-936c-67e617e46d9c}, !- Handle - {fee7ed32-94ff-4e5b-96e4-1de7cca33ac7}, !- Name - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- Source Object - 10, !- Outlet Port - {535a2087-5d1d-46f0-9257-556381828504}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {2973f9a7-b41e-446e-b523-f922136da2b2}, !- Handle - {d0455282-0984-4ffa-bbd3-424dd05907cb}, !- Name - {8ba0a05d-7ae1-4c61-a9a3-5f5ea5d580d2}, !- Source Object - 3, !- Outlet Port - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {9a4eef62-41dc-41dd-92a6-afca19b82262}, !- Handle - Air Loop HVAC Zone Splitter 2, !- Name - {f3178ebd-c53f-4fa3-b0b8-4fe4864af676}, !- Inlet Node Name - {e0e73ab9-5865-43a3-a0fa-dacffbb0f5b7}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {358dde30-f331-47a0-8601-0673f3f299ba}, !- Handle - Air Loop HVAC Zone Mixer 2, !- Name - {998c227b-450d-4fcf-bef1-56355f04c0bc}, !- Outlet Node Name - {14891649-4bd9-4d9f-ac51-b3f61381b9c0}; !- Inlet Node Name 1 - -OS:Connection, - {f3178ebd-c53f-4fa3-b0b8-4fe4864af676}, !- Handle - {a6273524-468e-44cb-948e-dd5960e4d7ff}, !- Name - {535a2087-5d1d-46f0-9257-556381828504}, !- Source Object - 3, !- Outlet Port - {9a4eef62-41dc-41dd-92a6-afca19b82262}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {998c227b-450d-4fcf-bef1-56355f04c0bc}, !- Handle - {fd6785d6-7efa-4841-97b3-b9207438c34a}, !- Name - {358dde30-f331-47a0-8601-0673f3f299ba}, !- Source Object - 2, !- Outlet Port - {8ba0a05d-7ae1-4c61-a9a3-5f5ea5d580d2}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {6a438766-f22e-4ed8-9f99-84fa5045e74b}, !- Handle - {f0b72ed7-b691-414b-9c53-8bb4afc20dac}, !- 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, - {bc320abb-10e2-4089-a46e-1e0a7f2991fd}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 1, !- Name - {232e7c58-e4fb-42e2-94d0-402863eaf118}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {f90d0c9a-ae42-4473-8719-6e65003ab2d2}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- Control Zone Name - {c2f392ba-08d8-40c9-ae6d-4019a04dca74}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {81c01371-443a-46a7-b4b5-80acf6b83473}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {cd54a9cd-cdeb-4e93-a1d1-7422a880d1ad}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {7112671f-8735-4166-8342-504fd1781072}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC 1spd DX AC Clg Coil 3kBtu/hr 11.06SEER 3kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {a6cc4b7a-717d-49d2-a9a4-17fdf89c0e5f}, !- Handle - Curve Biquadratic 5, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {ee3a4ef0-96c2-49d9-bebb-8708a6c57da8}, !- Handle - Curve Quadratic 7, !- 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, - {095ff1ae-096d-4d02-82cd-22037d66a26f}, !- Handle - Curve Biquadratic 6, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {5c646e5e-7314-48dd-849e-efc2f9cbf108}, !- Handle - Curve Quadratic 8, !- 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, - {fa8962de-b74b-4c30-92b2-178586b37c9e}, !- Handle - Curve Quadratic 9, !- 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, - {b3d1f0ba-3db7-48e9-bffd-5f4c12c217ba}, !- Handle - Curve Biquadratic 7, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {fee4d0c5-e356-4cc1-ab72-5745eb905134}, !- Handle - Curve Quadratic 10, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {d955a206-75da-45f5-97d3-250524462d75}, !- Handle - Curve Biquadratic 8, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {8917bb48-a19f-41dc-b881-581996f733ba}, !- Handle - Curve Quadratic 11, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {da5e52e3-5a08-4808-b770-1a1a218a75ed}, !- Handle - Curve Quadratic 12, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {47304a1c-e906-41dd-a529-bb5c00391bd1}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {f5ead4c8-c77d-4dcb-a0c3-969863caba9e}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {43844248-b71f-4975-ba6c-986656e98f35}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {f5ead4c8-c77d-4dcb-a0c3-969863caba9e}, !- 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, - {43844248-b71f-4975-ba6c-986656e98f35}, !- 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:AirLoopHVAC:UnitarySystem, - {27945ef3-dea9-4d26-bcd3-50e7c291728e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {288c262f-c53d-4940-bd0b-0957555a60f6}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {eb758580-c607-43d3-937d-4eaecf0a7fb6}, !- Air Inlet Node Name - {92e8c9eb-720b-42c0-a223-4857389df4d8}, !- Air Outlet Node Name - {47304a1c-e906-41dd-a529-bb5c00391bd1}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {8d6cec9e-c562-42d1-84ae-6f81df17b84a}, !- Supply Air Fan Operating Mode Schedule Name - {81c01371-443a-46a7-b4b5-80acf6b83473}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {7112671f-8735-4166-8342-504fd1781072}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {cd54a9cd-cdeb-4e93-a1d1-7422a880d1ad}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {92e8c9eb-720b-42c0-a223-4857389df4d8}, !- Handle - {094dd968-9432-4a38-8567-180d13e723c5}, !- Name - {27945ef3-dea9-4d26-bcd3-50e7c291728e}, !- Source Object - 7, !- Outlet Port - {c2f392ba-08d8-40c9-ae6d-4019a04dca74}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {703def0f-3fb7-4169-af84-a2a7f7ce7521}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {c399d7e9-7404-47a1-b38b-6fd2523c3063}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {32b8efdb-1a98-497e-b504-a3b637dbac81}, !- 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, - {32b8efdb-1a98-497e-b504-a3b637dbac81}, !- Handle - Controller Mechanical Ventilation 2, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {1a12a273-375f-4935-992f-fced5121db00}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC OA System, !- Name - {703def0f-3fb7-4169-af84-a2a7f7ce7521}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {0a6b03bb-c782-4bc6-aabf-5d3675bdc2ec}, !- Mixed Air Node Name - {3694d02d-27e7-47d1-bc37-10eed9c9b1d8}, !- Outdoor Air Stream Node Name - {9f5ad15a-f1e7-43cb-9648-fae9bca5e367}, !- Relief Air Stream Node Name - {0d1e5646-93cb-44b7-981b-4cd6ca32fcc9}; !- Return Air Stream Node Name - -OS:Node, - {50d3bd05-3c62-4a6a-b6d1-292a4a29086a}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {3694d02d-27e7-47d1-bc37-10eed9c9b1d8}; !- Outlet Port - -OS:Connection, - {3694d02d-27e7-47d1-bc37-10eed9c9b1d8}, !- Handle - {375f5d56-8a53-4db4-b13d-ba5c5c8fecac}, !- Name - {50d3bd05-3c62-4a6a-b6d1-292a4a29086a}, !- Source Object - 3, !- Outlet Port - {1a12a273-375f-4935-992f-fced5121db00}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {f75a5596-9cd1-41f3-b40f-31a5eea99e95}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Relief Air Node, !- Name - {9f5ad15a-f1e7-43cb-9648-fae9bca5e367}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {9f5ad15a-f1e7-43cb-9648-fae9bca5e367}, !- Handle - {e6cd4512-c194-435e-996a-19a068f07bcf}, !- Name - {1a12a273-375f-4935-992f-fced5121db00}, !- Source Object - 7, !- Outlet Port - {f75a5596-9cd1-41f3-b40f-31a5eea99e95}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {41dfe680-1f35-428f-8eb7-66790d479988}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Mixed Air Node, !- Name - {0a6b03bb-c782-4bc6-aabf-5d3675bdc2ec}, !- Inlet Port - {eb758580-c607-43d3-937d-4eaecf0a7fb6}; !- Outlet Port - -OS:Connection, - {0d1e5646-93cb-44b7-981b-4cd6ca32fcc9}, !- Handle - {747f0418-0db7-42c2-b825-d13c841948eb}, !- Name - {15f8ad39-c804-4c3f-96c8-4e7ea0438a17}, !- Source Object - 3, !- Outlet Port - {1a12a273-375f-4935-992f-fced5121db00}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {0a6b03bb-c782-4bc6-aabf-5d3675bdc2ec}, !- Handle - {f6bca3ec-f14f-45e5-b7be-16c79fb26fcb}, !- Name - {1a12a273-375f-4935-992f-fced5121db00}, !- Source Object - 5, !- Outlet Port - {41dfe680-1f35-428f-8eb7-66790d479988}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {eb758580-c607-43d3-937d-4eaecf0a7fb6}, !- Handle - {c96932b2-5868-41e3-ac6d-67ea4d018ce0}, !- Name - {41dfe680-1f35-428f-8eb7-66790d479988}, !- Source Object - 3, !- Outlet Port - {27945ef3-dea9-4d26-bcd3-50e7c291728e}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {232e7c58-e4fb-42e2-94d0-402863eaf118}, !- Handle - Availability Manager Night Cycle 2, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {1935840b-9ac1-4bb2-afc2-9c7db406d12b}, !- Control Zone or Zone List Name - {f1820387-2591-4ac7-a798-f685d9c3ab27}, !- Cooling Control Zone or Zone List Name - {92d3f8bb-05ed-405d-8039-306bee30781a}, !- Heating Control Zone or Zone List Name - {1fc0803e-8205-4eec-97c5-97e927a279a8}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {1935840b-9ac1-4bb2-afc2-9c7db406d12b}, !- Handle - Availability Manager Night Cycle 2 Control Zone List; !- Name - -OS:ModelObjectList, - {f1820387-2591-4ac7-a798-f685d9c3ab27}, !- Handle - Availability Manager Night Cycle 2 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {92d3f8bb-05ed-405d-8039-306bee30781a}, !- Handle - Availability Manager Night Cycle 2 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {1fc0803e-8205-4eec-97c5-97e927a279a8}, !- Handle - Availability Manager Night Cycle 2 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {1369c127-4102-44fb-89a7-08a17ca904c4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {71d750f2-0f8f-405f-9b27-00d43dfcb3b7}, !- Air Inlet Node Name - {2055c34e-0692-4afe-9b1e-df1c5e54c4ea}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {5ae61b3c-368d-47dc-9205-b5c2437ec1fc}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground Return Air Node, !- Name - {d2d38102-2d99-45bd-8ac5-a4869f6129fd}, !- Inlet Port - {14891649-4bd9-4d9f-ac51-b3f61381b9c0}; !- Outlet Port - -OS:Connection, - {96cbd93e-13b1-4a0a-8fb5-a382aad438b7}, !- Handle - {c1f42436-5833-4140-a6d5-079b76e228e3}, !- Name - {f8b53519-caea-4ec9-ad72-8be43424b605}, !- Source Object - 3, !- Outlet Port - {a950a31c-5125-4031-ae3f-0b46f69a62d2}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {d2d38102-2d99-45bd-8ac5-a4869f6129fd}, !- Handle - {38fdccac-d26d-48f2-b3c1-ccbe0334b107}, !- Name - {8551f027-9bce-479f-b3d6-0dd88c2c8dae}, !- Source Object - 3, !- Outlet Port - {5ae61b3c-368d-47dc-9205-b5c2437ec1fc}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {14891649-4bd9-4d9f-ac51-b3f61381b9c0}, !- Handle - {73f160ca-d01a-4763-a58b-774b6466d9fc}, !- Name - {5ae61b3c-368d-47dc-9205-b5c2437ec1fc}, !- Source Object - 3, !- Outlet Port - {358dde30-f331-47a0-8601-0673f3f299ba}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {7414d259-2fb6-4f42-a918-425d0b07d3ae}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {e0e73ab9-5865-43a3-a0fa-dacffbb0f5b7}, !- Inlet Port - {71d750f2-0f8f-405f-9b27-00d43dfcb3b7}; !- Outlet Port - -OS:Connection, - {e0e73ab9-5865-43a3-a0fa-dacffbb0f5b7}, !- Handle - {8315860b-19f3-4e5b-b6c4-883249318097}, !- Name - {9a4eef62-41dc-41dd-92a6-afca19b82262}, !- Source Object - 3, !- Outlet Port - {7414d259-2fb6-4f42-a918-425d0b07d3ae}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {71d750f2-0f8f-405f-9b27-00d43dfcb3b7}, !- Handle - {0601b35e-d347-42ff-a82a-d974a6464d79}, !- Name - {7414d259-2fb6-4f42-a918-425d0b07d3ae}, !- Source Object - 3, !- Outlet Port - {1369c127-4102-44fb-89a7-08a17ca904c4}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {2055c34e-0692-4afe-9b1e-df1c5e54c4ea}, !- Handle - {f7f95147-f903-488c-a168-4d262298924e}, !- Name - {1369c127-4102-44fb-89a7-08a17ca904c4}, !- Source Object - 4, !- Outlet Port - {f8b53519-caea-4ec9-ad72-8be43424b605}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {253e8b17-0647-4f68-893c-e117754af238}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {e786e3df-02a2-4039-84f1-535b10f80349}, !- Availability Schedule - {9b2463a2-f4b1-4e87-bd1e-ecdbf21aee5a}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {78c838db-ac11-4ee7-9769-97a1570081d2}, !- Supply Side Inlet Node Name - {56299aec-c5ac-4fd4-ada0-0e1b08ac499a}, !- Demand Side Outlet Node Name - {14b54499-1c39-47b8-9d66-497d9d9d6270}, !- Demand Side Inlet Node A - {f08ce9d6-72ab-47c1-a0d4-d8a9bc50e618}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {f98b6cd1-6824-4a25-a80d-8a33c1644742}, !- Demand Mixer Name - {01615829-fee8-427e-a4d6-64065a5dbb94}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {fbf510b5-411f-4069-8914-1c78290d11e4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Supply Inlet Node, !- Name - {78c838db-ac11-4ee7-9769-97a1570081d2}, !- Inlet Port - {2133d7ba-8f5f-454f-a532-a76d6d89391c}; !- Outlet Port - -OS:Node, - {9ee6b17c-d90b-43f1-9024-5779eea152c9}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Supply Outlet Node, !- Name - {71b95764-20ce-44c4-920b-fd06f306f6cd}, !- Inlet Port - {f08ce9d6-72ab-47c1-a0d4-d8a9bc50e618}; !- Outlet Port - -OS:Connection, - {78c838db-ac11-4ee7-9769-97a1570081d2}, !- Handle - {165733fe-21e8-4522-a148-378249437991}, !- Name - {253e8b17-0647-4f68-893c-e117754af238}, !- Source Object - 8, !- Outlet Port - {fbf510b5-411f-4069-8914-1c78290d11e4}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f08ce9d6-72ab-47c1-a0d4-d8a9bc50e618}, !- Handle - {5e4bf122-b27e-4201-810e-d47c11e7f4b0}, !- Name - {9ee6b17c-d90b-43f1-9024-5779eea152c9}, !- Source Object - 3, !- Outlet Port - {253e8b17-0647-4f68-893c-e117754af238}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {bed55c18-88a3-469e-86b1-e0806212e614}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Demand Inlet Node, !- Name - {14b54499-1c39-47b8-9d66-497d9d9d6270}, !- Inlet Port - {f6e10c3e-971b-469a-9ef0-7ce32ef12368}; !- Outlet Port - -OS:Node, - {7035525e-b293-44c9-b9e4-891db46a8c46}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Demand Outlet Node, !- Name - {1ce3e3ef-616d-4a2b-88cc-8daf944f74d2}, !- Inlet Port - {56299aec-c5ac-4fd4-ada0-0e1b08ac499a}; !- Outlet Port - -OS:Node, - {649f2ad4-30d9-498a-b07f-29822e22e078}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {e9d63565-d723-4cc6-ab31-a69a3a2f9848}, !- Inlet Port - {c040302f-857d-4710-a3fc-ce6710fb4c05}; !- Outlet Port - -OS:Connection, - {14b54499-1c39-47b8-9d66-497d9d9d6270}, !- Handle - {8e1e6e9a-2d11-47c1-843d-38531e6b1082}, !- Name - {253e8b17-0647-4f68-893c-e117754af238}, !- Source Object - 10, !- Outlet Port - {bed55c18-88a3-469e-86b1-e0806212e614}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {56299aec-c5ac-4fd4-ada0-0e1b08ac499a}, !- Handle - {4a49238d-a2ff-4b55-aa24-21d87838888f}, !- Name - {7035525e-b293-44c9-b9e4-891db46a8c46}, !- Source Object - 3, !- Outlet Port - {253e8b17-0647-4f68-893c-e117754af238}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {01615829-fee8-427e-a4d6-64065a5dbb94}, !- Handle - Air Loop HVAC Zone Splitter 3, !- Name - {f6e10c3e-971b-469a-9ef0-7ce32ef12368}, !- Inlet Node Name - {d4057191-8b58-4e3d-b864-9e59d5dac518}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {f98b6cd1-6824-4a25-a80d-8a33c1644742}, !- Handle - Air Loop HVAC Zone Mixer 3, !- Name - {1ce3e3ef-616d-4a2b-88cc-8daf944f74d2}, !- Outlet Node Name - {0fcf834e-19a1-4c25-8bc3-097644a36e24}; !- Inlet Node Name 1 - -OS:Connection, - {f6e10c3e-971b-469a-9ef0-7ce32ef12368}, !- Handle - {5fbeb92c-cd09-4b8b-b239-0567c79724f9}, !- Name - {bed55c18-88a3-469e-86b1-e0806212e614}, !- Source Object - 3, !- Outlet Port - {01615829-fee8-427e-a4d6-64065a5dbb94}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {1ce3e3ef-616d-4a2b-88cc-8daf944f74d2}, !- Handle - {23128ed9-17a1-492c-bb43-fc1d1d483bcd}, !- Name - {f98b6cd1-6824-4a25-a80d-8a33c1644742}, !- Source Object - 2, !- Outlet Port - {7035525e-b293-44c9-b9e4-891db46a8c46}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {01173b00-f1a1-489a-8e4a-059724eedf73}, !- Handle - {253e8b17-0647-4f68-893c-e117754af238}, !- 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, - {9b2463a2-f4b1-4e87-bd1e-ecdbf21aee5a}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 2, !- Name - {ff03b45f-57a3-475c-af9e-91a13ccc6cc4}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {1f726b81-4c1c-4717-9580-17cc44021263}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- Control Zone Name - {9ee6b17c-d90b-43f1-9024-5779eea152c9}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {f4e55a34-558e-4199-aecf-3cf21a5a4e4e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {e8f5ddc5-d8bd-425a-9b51-512ba7fce334}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {fec95b2f-699f-4db9-9b92-5ebb96f51b6f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC 1spd DX AC Clg Coil 4kBtu/hr 11.06SEER 3kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {8f6d0a57-d956-4eba-b660-8b347ac948d8}, !- Handle - Curve Biquadratic 9, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {a528fefe-4ba5-4819-bd9c-314f58256e55}, !- Handle - Curve Quadratic 13, !- 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, - {2a3d7c36-a309-4c94-9136-a32d69a41111}, !- Handle - Curve Biquadratic 10, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {9cac68f3-1254-400e-b3d8-1a28f919701c}, !- Handle - Curve Quadratic 14, !- 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, - {a124e28a-a991-442f-ad47-ac2b2f81beaa}, !- Handle - Curve Quadratic 15, !- 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, - {c6b6058b-1ccd-4f8d-a7c8-8ae68048aca8}, !- Handle - Curve Biquadratic 11, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {67a5b356-2fc7-426a-b778-938043d83cd7}, !- Handle - Curve Quadratic 16, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {1bc089f0-68f2-4b88-b973-4ab8eeeefd08}, !- Handle - Curve Biquadratic 12, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {7e28a20e-550b-4e13-a408-6d8d5f9c59d1}, !- Handle - Curve Quadratic 17, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {c942e140-23b6-4cfd-abd9-eb9543f1a64b}, !- Handle - Curve Quadratic 18, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {7f9220da-b91d-49db-b2ae-6ecfed2223c7}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {55391452-297d-43dc-a64b-33e3ca89a655}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {ddb0295d-7278-4854-962d-7df027cda085}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {55391452-297d-43dc-a64b-33e3ca89a655}, !- 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, - {ddb0295d-7278-4854-962d-7df027cda085}, !- 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:AirLoopHVAC:UnitarySystem, - {1f398a14-92b3-4279-9e43-1694b9018e8e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {0756c4ea-fc3b-42b6-b9c9-ece30203dabb}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {358e02b5-3c68-4167-b223-4205fbdd867f}, !- Air Inlet Node Name - {71b95764-20ce-44c4-920b-fd06f306f6cd}, !- Air Outlet Node Name - {7f9220da-b91d-49db-b2ae-6ecfed2223c7}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {e786e3df-02a2-4039-84f1-535b10f80349}, !- Supply Air Fan Operating Mode Schedule Name - {f4e55a34-558e-4199-aecf-3cf21a5a4e4e}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {fec95b2f-699f-4db9-9b92-5ebb96f51b6f}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {e8f5ddc5-d8bd-425a-9b51-512ba7fce334}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {71b95764-20ce-44c4-920b-fd06f306f6cd}, !- Handle - {7a0b894e-cc29-49ef-9bac-c63cddd5477f}, !- Name - {1f398a14-92b3-4279-9e43-1694b9018e8e}, !- Source Object - 7, !- Outlet Port - {9ee6b17c-d90b-43f1-9024-5779eea152c9}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {f06c31be-7c18-4589-8684-d35dddd107b0}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {b38f905f-4cea-4a66-bdc0-c4c16d412f11}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {15b10739-cd37-4895-a103-bfe15327f787}, !- 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, - {15b10739-cd37-4895-a103-bfe15327f787}, !- Handle - Controller Mechanical Ventilation 3, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {0abb0269-4957-4e3a-a660-258ff4b8bdff}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC OA System, !- Name - {f06c31be-7c18-4589-8684-d35dddd107b0}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {4e7cd88f-cbb6-420b-a157-5cbe53db6e83}, !- Mixed Air Node Name - {f3ee9923-7fa7-445e-a1a5-0782011c3a80}, !- Outdoor Air Stream Node Name - {db271dc7-7277-4e1f-97b9-bf8dd85a6c37}, !- Relief Air Stream Node Name - {2133d7ba-8f5f-454f-a532-a76d6d89391c}; !- Return Air Stream Node Name - -OS:Node, - {1d5d01fa-a113-48ca-9afa-90f71a27bf78}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {f3ee9923-7fa7-445e-a1a5-0782011c3a80}; !- Outlet Port - -OS:Connection, - {f3ee9923-7fa7-445e-a1a5-0782011c3a80}, !- Handle - {544aa93d-ee42-4724-a6c3-490f4223b1ad}, !- Name - {1d5d01fa-a113-48ca-9afa-90f71a27bf78}, !- Source Object - 3, !- Outlet Port - {0abb0269-4957-4e3a-a660-258ff4b8bdff}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {f418cc99-867b-47a6-8bb1-3cb92dd6ef55}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Relief Air Node, !- Name - {db271dc7-7277-4e1f-97b9-bf8dd85a6c37}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {db271dc7-7277-4e1f-97b9-bf8dd85a6c37}, !- Handle - {c47ad83e-5cea-4495-beb3-c0f5b3da598c}, !- Name - {0abb0269-4957-4e3a-a660-258ff4b8bdff}, !- Source Object - 7, !- Outlet Port - {f418cc99-867b-47a6-8bb1-3cb92dd6ef55}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {bc3dfa6b-4e7b-4ced-b437-a5107f6b625f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Mixed Air Node, !- Name - {4e7cd88f-cbb6-420b-a157-5cbe53db6e83}, !- Inlet Port - {358e02b5-3c68-4167-b223-4205fbdd867f}; !- Outlet Port - -OS:Connection, - {2133d7ba-8f5f-454f-a532-a76d6d89391c}, !- Handle - {d3ed8e2d-86b7-416f-a2d0-740aef5cd7bb}, !- Name - {fbf510b5-411f-4069-8914-1c78290d11e4}, !- Source Object - 3, !- Outlet Port - {0abb0269-4957-4e3a-a660-258ff4b8bdff}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {4e7cd88f-cbb6-420b-a157-5cbe53db6e83}, !- Handle - {b6ecad7a-978d-4b68-9ff0-926bc59f5f18}, !- Name - {0abb0269-4957-4e3a-a660-258ff4b8bdff}, !- Source Object - 5, !- Outlet Port - {bc3dfa6b-4e7b-4ced-b437-a5107f6b625f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {358e02b5-3c68-4167-b223-4205fbdd867f}, !- Handle - {793794a9-e53c-4fc9-93b7-97d0a4224bea}, !- Name - {bc3dfa6b-4e7b-4ced-b437-a5107f6b625f}, !- Source Object - 3, !- Outlet Port - {1f398a14-92b3-4279-9e43-1694b9018e8e}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {ff03b45f-57a3-475c-af9e-91a13ccc6cc4}, !- Handle - Availability Manager Night Cycle 3, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {ab93fcc0-a497-4873-8a04-7b3d1c5985b1}, !- Control Zone or Zone List Name - {13522892-6d23-40bf-9781-97a8d104f172}, !- Cooling Control Zone or Zone List Name - {d2abaa80-0a76-42a5-b834-99c95a18d07d}, !- Heating Control Zone or Zone List Name - {bf373ea8-3e8c-40d3-af9f-cc2960e58f6a}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {ab93fcc0-a497-4873-8a04-7b3d1c5985b1}, !- Handle - Availability Manager Night Cycle 3 Control Zone List; !- Name - -OS:ModelObjectList, - {13522892-6d23-40bf-9781-97a8d104f172}, !- Handle - Availability Manager Night Cycle 3 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {d2abaa80-0a76-42a5-b834-99c95a18d07d}, !- Handle - Availability Manager Night Cycle 3 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {bf373ea8-3e8c-40d3-af9f-cc2960e58f6a}, !- Handle - Availability Manager Night Cycle 3 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {624266b4-531e-4a81-b2ba-9ba23498690f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {91235b29-2662-4a33-8988-db784ce2a16d}, !- Air Inlet Node Name - {e9d63565-d723-4cc6-ab31-a69a3a2f9848}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {ddec95fd-804c-4958-9ffb-0fd18e191f42}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground Return Air Node, !- Name - {4e4640a2-aff5-4372-975c-ba45b1b07430}, !- Inlet Port - {0fcf834e-19a1-4c25-8bc3-097644a36e24}; !- Outlet Port - -OS:Connection, - {c040302f-857d-4710-a3fc-ce6710fb4c05}, !- Handle - {eb4b7c74-83d1-490b-b0c4-35607066d885}, !- Name - {649f2ad4-30d9-498a-b07f-29822e22e078}, !- Source Object - 3, !- Outlet Port - {28fe2dd3-fcb1-4d50-bfe1-ca7f19a300cb}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {4e4640a2-aff5-4372-975c-ba45b1b07430}, !- Handle - {ea7fc049-a925-48af-9eda-28ede9a2b6af}, !- Name - {ead8e472-6c10-4655-897d-04f8bc31e247}, !- Source Object - 3, !- Outlet Port - {ddec95fd-804c-4958-9ffb-0fd18e191f42}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {0fcf834e-19a1-4c25-8bc3-097644a36e24}, !- Handle - {a67819ab-b686-4ef7-842e-65ff4ef7aff6}, !- Name - {ddec95fd-804c-4958-9ffb-0fd18e191f42}, !- Source Object - 3, !- Outlet Port - {f98b6cd1-6824-4a25-a80d-8a33c1644742}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {1337f828-a42a-4edc-a149-c9603c3d6b20}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {d4057191-8b58-4e3d-b864-9e59d5dac518}, !- Inlet Port - {91235b29-2662-4a33-8988-db784ce2a16d}; !- Outlet Port - -OS:Connection, - {d4057191-8b58-4e3d-b864-9e59d5dac518}, !- Handle - {b784d5f8-0e52-4c3f-9dfb-8900b06f6f86}, !- Name - {01615829-fee8-427e-a4d6-64065a5dbb94}, !- Source Object - 3, !- Outlet Port - {1337f828-a42a-4edc-a149-c9603c3d6b20}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {91235b29-2662-4a33-8988-db784ce2a16d}, !- Handle - {151f5671-6834-4152-8dbe-662791d46527}, !- Name - {1337f828-a42a-4edc-a149-c9603c3d6b20}, !- Source Object - 3, !- Outlet Port - {624266b4-531e-4a81-b2ba-9ba23498690f}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {e9d63565-d723-4cc6-ab31-a69a3a2f9848}, !- Handle - {d6b1b43c-eb6f-43ac-9b18-382724f7c44f}, !- Name - {624266b4-531e-4a81-b2ba-9ba23498690f}, !- Source Object - 4, !- Outlet Port - {649f2ad4-30d9-498a-b07f-29822e22e078}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {cf858223-892a-47eb-9a35-40bc958268e2}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {15ad793f-8100-4b77-9bc0-8001f7fb7dbd}, !- Availability Schedule - {bb4db64c-42ea-4a14-bf2f-0d001570916d}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {6fa5703c-2f77-4e1f-9ecc-e2e1927ec897}, !- Supply Side Inlet Node Name - {d4715f45-9bdb-49a9-ae3d-1c452c863939}, !- Demand Side Outlet Node Name - {cc479299-bad8-44bb-9ca5-aa135ffd2b53}, !- Demand Side Inlet Node A - {133c672f-b08d-4174-9979-027d121917e3}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {d9975f5d-a851-4221-a108-48a2b883a97d}, !- Demand Mixer Name - {034a5c85-306b-42b2-8df1-f19bc137d449}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {c0f13d5e-524f-46a1-889e-954c4ac157a9}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Supply Inlet Node, !- Name - {6fa5703c-2f77-4e1f-9ecc-e2e1927ec897}, !- Inlet Port - {a6542c58-26d6-463c-9cc5-6af2d7f01593}; !- Outlet Port - -OS:Node, - {9d9d601d-6ffe-4660-a74c-e55fc1c55271}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Supply Outlet Node, !- Name - {b2b17a5d-74e9-468c-9fba-38bb78ff86bd}, !- Inlet Port - {133c672f-b08d-4174-9979-027d121917e3}; !- Outlet Port - -OS:Connection, - {6fa5703c-2f77-4e1f-9ecc-e2e1927ec897}, !- Handle - {cc6bf379-cfc8-40e9-ad95-955369edb478}, !- Name - {cf858223-892a-47eb-9a35-40bc958268e2}, !- Source Object - 8, !- Outlet Port - {c0f13d5e-524f-46a1-889e-954c4ac157a9}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {133c672f-b08d-4174-9979-027d121917e3}, !- Handle - {3abd00d9-f3b9-45b2-9ab4-09e75647bbe5}, !- Name - {9d9d601d-6ffe-4660-a74c-e55fc1c55271}, !- Source Object - 3, !- Outlet Port - {cf858223-892a-47eb-9a35-40bc958268e2}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {459003ba-4365-4c80-8753-81cbae3c5a18}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Demand Inlet Node, !- Name - {cc479299-bad8-44bb-9ca5-aa135ffd2b53}, !- Inlet Port - {5594c646-4773-496c-b775-93ce5af33273}; !- Outlet Port - -OS:Node, - {b65886b1-798d-4a2a-b092-8722a480b01e}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Demand Outlet Node, !- Name - {ce7a6ce2-c5eb-4436-9527-d34c79f455d7}, !- Inlet Port - {d4715f45-9bdb-49a9-ae3d-1c452c863939}; !- Outlet Port - -OS:Node, - {33e3f65d-ce46-438c-b8ce-53a11b75b370}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {e3425617-a318-41e6-a199-2da1e833bdf0}, !- Inlet Port - {a1b20260-91c6-4495-9169-b62b2605b5d7}; !- Outlet Port - -OS:Connection, - {cc479299-bad8-44bb-9ca5-aa135ffd2b53}, !- Handle - {67a3d812-9bcd-48df-8b2e-23b3ad866f77}, !- Name - {cf858223-892a-47eb-9a35-40bc958268e2}, !- Source Object - 10, !- Outlet Port - {459003ba-4365-4c80-8753-81cbae3c5a18}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d4715f45-9bdb-49a9-ae3d-1c452c863939}, !- Handle - {105c3cc5-7131-4044-9cbe-1daf9979e168}, !- Name - {b65886b1-798d-4a2a-b092-8722a480b01e}, !- Source Object - 3, !- Outlet Port - {cf858223-892a-47eb-9a35-40bc958268e2}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {034a5c85-306b-42b2-8df1-f19bc137d449}, !- Handle - Air Loop HVAC Zone Splitter 4, !- Name - {5594c646-4773-496c-b775-93ce5af33273}, !- Inlet Node Name - {2e93f0b1-3814-4bdf-91a2-fe4996870a6f}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {d9975f5d-a851-4221-a108-48a2b883a97d}, !- Handle - Air Loop HVAC Zone Mixer 4, !- Name - {ce7a6ce2-c5eb-4436-9527-d34c79f455d7}, !- Outlet Node Name - {0d5a6aec-5e64-4861-8de7-b750acb6cb8d}; !- Inlet Node Name 1 - -OS:Connection, - {5594c646-4773-496c-b775-93ce5af33273}, !- Handle - {ee7227fd-4f29-4a83-97f0-4eeb245c72f3}, !- Name - {459003ba-4365-4c80-8753-81cbae3c5a18}, !- Source Object - 3, !- Outlet Port - {034a5c85-306b-42b2-8df1-f19bc137d449}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {ce7a6ce2-c5eb-4436-9527-d34c79f455d7}, !- Handle - {2df29330-c9dd-4fbc-965f-ed7e4c53a5f6}, !- Name - {d9975f5d-a851-4221-a108-48a2b883a97d}, !- Source Object - 2, !- Outlet Port - {b65886b1-798d-4a2a-b092-8722a480b01e}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {9091fb42-d11a-4ba3-85fb-0326d11b8aab}, !- Handle - {cf858223-892a-47eb-9a35-40bc958268e2}, !- 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, - {bb4db64c-42ea-4a14-bf2f-0d001570916d}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 3, !- Name - {da664544-f21e-44c3-9447-5ed56be3de7c}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {c68b7b52-fbc9-41da-99fe-f63e4c4a1143}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- Control Zone Name - {9d9d601d-6ffe-4660-a74c-e55fc1c55271}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {8fe5a6d0-dc76-4757-b2b4-f8378b71d2f0}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {1f2dad05-5917-43d8-9a22-ae7bb60a0431}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {f987db32-acb3-4578-b21f-3c5034b98f1e}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC 1spd DX AC Clg Coil 6kBtu/hr 11.06SEER 4kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {13306337-ca04-4de1-a496-7e2cbe7d429d}, !- Handle - Curve Biquadratic 13, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {5785d53b-d9ea-44e4-92c4-305e6d461699}, !- Handle - Curve Quadratic 19, !- 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, - {b0f50ab6-88a2-4a6f-97f7-74087cb99427}, !- Handle - Curve Biquadratic 14, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {f3744371-91e5-4d03-9fea-a73f6183be34}, !- Handle - Curve Quadratic 20, !- 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, - {58916744-b380-4f3d-a477-6e2697c5310e}, !- Handle - Curve Quadratic 21, !- 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, - {b8b31239-1be3-42cb-9111-286fab378162}, !- Handle - Curve Biquadratic 15, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {fe5991df-f018-4676-b560-2e2561e047a3}, !- Handle - Curve Quadratic 22, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {cdb4f0ee-cb17-41ee-aa77-c6ffed882aea}, !- Handle - Curve Biquadratic 16, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {adcca5ea-2d6e-4466-ac9f-9bd481611878}, !- Handle - Curve Quadratic 23, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {13658fb1-9e31-4896-a44f-513ab9b9098a}, !- Handle - Curve Quadratic 24, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {24cdd141-b82d-4b38-b1cb-1346668d9ba2}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {4c4266c1-7945-4b17-a44f-a5d7690f1934}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {4c5cdf4e-719b-4c4d-923b-527ed32f0c28}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {4c4266c1-7945-4b17-a44f-a5d7690f1934}, !- 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, - {4c5cdf4e-719b-4c4d-923b-527ed32f0c28}, !- 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:AirLoopHVAC:UnitarySystem, - {2422691e-a6f4-44cc-bc1c-46e884d4ea84}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {3ce6800f-d275-46c9-a3d8-c17afe29333e}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {e2e0af8a-b7cd-41de-ad38-21f4be9b1b4f}, !- Air Inlet Node Name - {b2b17a5d-74e9-468c-9fba-38bb78ff86bd}, !- Air Outlet Node Name - {24cdd141-b82d-4b38-b1cb-1346668d9ba2}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {15ad793f-8100-4b77-9bc0-8001f7fb7dbd}, !- Supply Air Fan Operating Mode Schedule Name - {8fe5a6d0-dc76-4757-b2b4-f8378b71d2f0}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {f987db32-acb3-4578-b21f-3c5034b98f1e}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {1f2dad05-5917-43d8-9a22-ae7bb60a0431}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {b2b17a5d-74e9-468c-9fba-38bb78ff86bd}, !- Handle - {d66f0dda-8c2b-42b5-a486-6a09ebbed39d}, !- Name - {2422691e-a6f4-44cc-bc1c-46e884d4ea84}, !- Source Object - 7, !- Outlet Port - {9d9d601d-6ffe-4660-a74c-e55fc1c55271}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {f02b0f31-82d5-43d4-9922-e1b5d78b08e7}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {10849ade-3465-41bf-81ee-7d20a95ccbfc}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {90cd488a-3dc6-4fd4-beb8-e7d5d6b98b5f}, !- 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, - {90cd488a-3dc6-4fd4-beb8-e7d5d6b98b5f}, !- Handle - Controller Mechanical Ventilation 4, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {c54185b9-e6e9-406f-b3ca-ec3985a1323c}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC OA System, !- Name - {f02b0f31-82d5-43d4-9922-e1b5d78b08e7}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {893c0cfc-80a5-4334-8f5e-2e5a7d64a0a9}, !- Mixed Air Node Name - {15b38ae2-bf49-48c4-a716-4c639f5dceb7}, !- Outdoor Air Stream Node Name - {759dd185-d454-48d7-87ca-b3e39bed16ca}, !- Relief Air Stream Node Name - {a6542c58-26d6-463c-9cc5-6af2d7f01593}; !- Return Air Stream Node Name - -OS:Node, - {4c868f23-e49f-4f52-a4b7-6da2533bf911}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {15b38ae2-bf49-48c4-a716-4c639f5dceb7}; !- Outlet Port - -OS:Connection, - {15b38ae2-bf49-48c4-a716-4c639f5dceb7}, !- Handle - {d757d1b8-58a4-400c-a313-4e9a4e9f8d75}, !- Name - {4c868f23-e49f-4f52-a4b7-6da2533bf911}, !- Source Object - 3, !- Outlet Port - {c54185b9-e6e9-406f-b3ca-ec3985a1323c}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {b07a1540-fec4-47c2-903f-0cd458cb4774}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Relief Air Node, !- Name - {759dd185-d454-48d7-87ca-b3e39bed16ca}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {759dd185-d454-48d7-87ca-b3e39bed16ca}, !- Handle - {fc891936-68fb-4226-8477-2015bcb6d52d}, !- Name - {c54185b9-e6e9-406f-b3ca-ec3985a1323c}, !- Source Object - 7, !- Outlet Port - {b07a1540-fec4-47c2-903f-0cd458cb4774}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {c59299c9-b4ef-4cc6-b2b0-6476f1b3f4b4}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Mixed Air Node, !- Name - {893c0cfc-80a5-4334-8f5e-2e5a7d64a0a9}, !- Inlet Port - {e2e0af8a-b7cd-41de-ad38-21f4be9b1b4f}; !- Outlet Port - -OS:Connection, - {a6542c58-26d6-463c-9cc5-6af2d7f01593}, !- Handle - {57f7fcc0-0700-4df1-9c2e-5eb84c22eec2}, !- Name - {c0f13d5e-524f-46a1-889e-954c4ac157a9}, !- Source Object - 3, !- Outlet Port - {c54185b9-e6e9-406f-b3ca-ec3985a1323c}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {893c0cfc-80a5-4334-8f5e-2e5a7d64a0a9}, !- Handle - {841d8dfa-e44d-437d-8dc3-e942de5445c8}, !- Name - {c54185b9-e6e9-406f-b3ca-ec3985a1323c}, !- Source Object - 5, !- Outlet Port - {c59299c9-b4ef-4cc6-b2b0-6476f1b3f4b4}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e2e0af8a-b7cd-41de-ad38-21f4be9b1b4f}, !- Handle - {ef02b3f7-74fe-4e53-acde-f38dcc4d76ff}, !- Name - {c59299c9-b4ef-4cc6-b2b0-6476f1b3f4b4}, !- Source Object - 3, !- Outlet Port - {2422691e-a6f4-44cc-bc1c-46e884d4ea84}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {da664544-f21e-44c3-9447-5ed56be3de7c}, !- Handle - Availability Manager Night Cycle 4, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {2073c0ad-58c2-463d-9cf2-edc5b126591a}, !- Control Zone or Zone List Name - {c905af3d-ad4e-4a61-ab71-7df9a0e1e491}, !- Cooling Control Zone or Zone List Name - {a863d858-9b25-4711-b4dd-0a30d3919691}, !- Heating Control Zone or Zone List Name - {0aeb90b0-fc62-4748-a910-1a57e71b24d8}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {2073c0ad-58c2-463d-9cf2-edc5b126591a}, !- Handle - Availability Manager Night Cycle 4 Control Zone List; !- Name - -OS:ModelObjectList, - {c905af3d-ad4e-4a61-ab71-7df9a0e1e491}, !- Handle - Availability Manager Night Cycle 4 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {a863d858-9b25-4711-b4dd-0a30d3919691}, !- Handle - Availability Manager Night Cycle 4 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {0aeb90b0-fc62-4748-a910-1a57e71b24d8}, !- Handle - Availability Manager Night Cycle 4 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {d0307a5a-147b-4e4f-99ec-71596d3d8b76}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {40e360ac-4497-4ab9-96f5-a8e4b560d6c8}, !- Air Inlet Node Name - {e3425617-a318-41e6-a199-2da1e833bdf0}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {4f710f3d-fdb6-4c2d-8579-06e007be44a2}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground Return Air Node, !- Name - {c961bfc8-5641-4df4-b44d-546b227270f2}, !- Inlet Port - {0d5a6aec-5e64-4861-8de7-b750acb6cb8d}; !- Outlet Port - -OS:Connection, - {a1b20260-91c6-4495-9169-b62b2605b5d7}, !- Handle - {33e273fd-b758-4712-a98f-33ea04933095}, !- Name - {33e3f65d-ce46-438c-b8ce-53a11b75b370}, !- Source Object - 3, !- Outlet Port - {29b1c269-5e63-4ef6-9e59-a5db250dcc2a}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {c961bfc8-5641-4df4-b44d-546b227270f2}, !- Handle - {68df554b-57e2-4fcc-94cc-68a7f6ebb967}, !- Name - {530590f1-dd60-4b31-aa25-13c30589a06a}, !- Source Object - 3, !- Outlet Port - {4f710f3d-fdb6-4c2d-8579-06e007be44a2}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {0d5a6aec-5e64-4861-8de7-b750acb6cb8d}, !- Handle - {a5d7bd84-8aba-46eb-a56f-7f2cba365d20}, !- Name - {4f710f3d-fdb6-4c2d-8579-06e007be44a2}, !- Source Object - 3, !- Outlet Port - {d9975f5d-a851-4221-a108-48a2b883a97d}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {675a827e-c580-4df5-abac-b8cdfc69fe53}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {2e93f0b1-3814-4bdf-91a2-fe4996870a6f}, !- Inlet Port - {40e360ac-4497-4ab9-96f5-a8e4b560d6c8}; !- Outlet Port - -OS:Connection, - {2e93f0b1-3814-4bdf-91a2-fe4996870a6f}, !- Handle - {6e39305a-979f-4356-ae72-482856c28754}, !- Name - {034a5c85-306b-42b2-8df1-f19bc137d449}, !- Source Object - 3, !- Outlet Port - {675a827e-c580-4df5-abac-b8cdfc69fe53}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {40e360ac-4497-4ab9-96f5-a8e4b560d6c8}, !- Handle - {2bab6094-bd99-41ab-9219-0b2756ae4286}, !- Name - {675a827e-c580-4df5-abac-b8cdfc69fe53}, !- Source Object - 3, !- Outlet Port - {d0307a5a-147b-4e4f-99ec-71596d3d8b76}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {e3425617-a318-41e6-a199-2da1e833bdf0}, !- Handle - {b765c71c-7395-4535-95b3-c62cb81d1677}, !- Name - {d0307a5a-147b-4e4f-99ec-71596d3d8b76}, !- Source Object - 4, !- Outlet Port - {33e3f65d-ce46-438c-b8ce-53a11b75b370}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {3c1beab5-9c1e-44da-b402-5da688779050}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {d90e56d9-468a-4652-9f27-0c73f9e7e56c}, !- Availability Schedule - {6fcfe26d-eef6-4d6f-be30-3309817c940f}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {9c3ed375-24d7-470a-9a0e-42c6a1f33035}, !- Supply Side Inlet Node Name - {482c6039-58b9-46b4-80d2-857a1f452e93}, !- Demand Side Outlet Node Name - {7274af8f-6918-42cc-975c-cc6048d9d7ec}, !- Demand Side Inlet Node A - {575998eb-4ee9-4437-acb1-234a71a8a377}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {961e5a09-18e2-4c56-ae25-81972df4b365}, !- Demand Mixer Name - {ab1fcf57-6352-4970-8298-6070473bb66b}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {7ede0cfb-b573-4ba6-ab26-e08da05768d2}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Supply Inlet Node, !- Name - {9c3ed375-24d7-470a-9a0e-42c6a1f33035}, !- Inlet Port - {9e14fc5b-5ee4-4cac-820b-7dad058e6985}; !- Outlet Port - -OS:Node, - {3b350aa2-ead8-4ece-a001-b0e2b39ba463}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Supply Outlet Node, !- Name - {92741008-6d92-4b25-a792-7b8d43e89785}, !- Inlet Port - {575998eb-4ee9-4437-acb1-234a71a8a377}; !- Outlet Port - -OS:Connection, - {9c3ed375-24d7-470a-9a0e-42c6a1f33035}, !- Handle - {671b392b-996a-4922-a1e6-754520709f15}, !- Name - {3c1beab5-9c1e-44da-b402-5da688779050}, !- Source Object - 8, !- Outlet Port - {7ede0cfb-b573-4ba6-ab26-e08da05768d2}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {575998eb-4ee9-4437-acb1-234a71a8a377}, !- Handle - {349fddaf-05b4-4b85-a5ea-e33bb1dace4b}, !- Name - {3b350aa2-ead8-4ece-a001-b0e2b39ba463}, !- Source Object - 3, !- Outlet Port - {3c1beab5-9c1e-44da-b402-5da688779050}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {55af2203-7ea0-4af1-8b99-e07c4a9805aa}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Demand Inlet Node, !- Name - {7274af8f-6918-42cc-975c-cc6048d9d7ec}, !- Inlet Port - {4d70da6f-acc9-47f8-a3cd-b322dc1683f9}; !- Outlet Port - -OS:Node, - {d53b521a-b8c7-44ed-a483-632177fe975d}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Demand Outlet Node, !- Name - {b8103e3b-98e1-4511-9eec-dbaf581a8fd7}, !- Inlet Port - {482c6039-58b9-46b4-80d2-857a1f452e93}; !- Outlet Port - -OS:Node, - {2cfc6075-4aae-4e1a-972a-403de2c040e5}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {571fe471-0438-4da4-8879-20eb0851ff9b}, !- Inlet Port - {ceaf2805-55c3-4a4d-aedd-509c5e516986}; !- Outlet Port - -OS:Connection, - {7274af8f-6918-42cc-975c-cc6048d9d7ec}, !- Handle - {37a9b922-49e5-44eb-8926-eaa0c0f936b0}, !- Name - {3c1beab5-9c1e-44da-b402-5da688779050}, !- Source Object - 10, !- Outlet Port - {55af2203-7ea0-4af1-8b99-e07c4a9805aa}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {482c6039-58b9-46b4-80d2-857a1f452e93}, !- Handle - {feb773f9-3e11-4d32-908d-e58ff360673e}, !- Name - {d53b521a-b8c7-44ed-a483-632177fe975d}, !- Source Object - 3, !- Outlet Port - {3c1beab5-9c1e-44da-b402-5da688779050}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {ab1fcf57-6352-4970-8298-6070473bb66b}, !- Handle - Air Loop HVAC Zone Splitter 5, !- Name - {4d70da6f-acc9-47f8-a3cd-b322dc1683f9}, !- Inlet Node Name - {577b09aa-2e57-473a-81ac-cf14d267dfec}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {961e5a09-18e2-4c56-ae25-81972df4b365}, !- Handle - Air Loop HVAC Zone Mixer 5, !- Name - {b8103e3b-98e1-4511-9eec-dbaf581a8fd7}, !- Outlet Node Name - {78fa3664-2072-49b0-a49e-164f90ed6e47}; !- Inlet Node Name 1 - -OS:Connection, - {4d70da6f-acc9-47f8-a3cd-b322dc1683f9}, !- Handle - {1df06e40-4c96-410a-9e0c-31b4c5d0e6fc}, !- Name - {55af2203-7ea0-4af1-8b99-e07c4a9805aa}, !- Source Object - 3, !- Outlet Port - {ab1fcf57-6352-4970-8298-6070473bb66b}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {b8103e3b-98e1-4511-9eec-dbaf581a8fd7}, !- Handle - {40242dc7-bd58-4790-b290-4764ad7a84f4}, !- Name - {961e5a09-18e2-4c56-ae25-81972df4b365}, !- Source Object - 2, !- Outlet Port - {d53b521a-b8c7-44ed-a483-632177fe975d}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {79ebe80e-a37e-485f-8ba7-dbe3a6c8734e}, !- Handle - {3c1beab5-9c1e-44da-b402-5da688779050}, !- 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, - {6fcfe26d-eef6-4d6f-be30-3309817c940f}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 4, !- Name - {7ac6f41a-f41b-4aa1-8f67-687616a7ef13}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {dcb1a441-3f9b-4ceb-ba33-a8881f0c6dea}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- Control Zone Name - {3b350aa2-ead8-4ece-a001-b0e2b39ba463}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {3160ab2e-a3c1-43a6-ace7-d40e4941e590}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {cef071db-98f8-4f9b-acfc-ba38b4e383b5}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {1b7dcf5b-9dc0-4426-ad16-a25b7abb9457}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC 1spd DX AC Clg Coil 3kBtu/hr 11.06SEER 2kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {1f401f8d-d71c-44d5-839d-45fcb256c421}, !- Handle - Curve Biquadratic 17, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {b4ba8384-7dc0-4231-b24a-7344407fe663}, !- Handle - Curve Quadratic 25, !- 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, - {38320620-7934-425c-8ce4-6aec9523b8cb}, !- Handle - Curve Biquadratic 18, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {8cc1ab16-5153-4b2f-86e9-bc7e1cc0d5d9}, !- Handle - Curve Quadratic 26, !- 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, - {ca88658e-2644-4ac0-aabe-bdaba7cf1ee9}, !- Handle - Curve Quadratic 27, !- 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, - {16885587-8594-452a-a7dc-0786d11b3b5e}, !- Handle - Curve Biquadratic 19, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {360db3ef-c4be-4b4e-8ef8-74b4e61027fc}, !- Handle - Curve Quadratic 28, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {e995a813-c4ef-4336-8ce7-6030f3bb7da2}, !- Handle - Curve Biquadratic 20, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {6ed1e3c1-2264-40ca-b669-79bc3c483929}, !- Handle - Curve Quadratic 29, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {a5f8da77-8173-464d-9244-aab3537ba35c}, !- Handle - Curve Quadratic 30, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {48c6a39c-ff46-4ca3-a384-047a91d0d772}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {4554e02b-87de-4558-84ae-1d851ec2df71}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {f1825b2e-676f-425e-b9c5-ca65edb9e874}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {4554e02b-87de-4558-84ae-1d851ec2df71}, !- 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, - {f1825b2e-676f-425e-b9c5-ca65edb9e874}, !- 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:AirLoopHVAC:UnitarySystem, - {e926f8a4-6e6a-4d71-969d-94f76b652126}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {7c96d8d0-3086-4c07-b9af-66d4c142aadf}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {90e6eeac-ae93-4a0c-9a47-5ab49891a254}, !- Air Inlet Node Name - {92741008-6d92-4b25-a792-7b8d43e89785}, !- Air Outlet Node Name - {48c6a39c-ff46-4ca3-a384-047a91d0d772}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {d90e56d9-468a-4652-9f27-0c73f9e7e56c}, !- Supply Air Fan Operating Mode Schedule Name - {3160ab2e-a3c1-43a6-ace7-d40e4941e590}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {1b7dcf5b-9dc0-4426-ad16-a25b7abb9457}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {cef071db-98f8-4f9b-acfc-ba38b4e383b5}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {92741008-6d92-4b25-a792-7b8d43e89785}, !- Handle - {65b4b45f-bb50-493b-8152-c8d2f021f680}, !- Name - {e926f8a4-6e6a-4d71-969d-94f76b652126}, !- Source Object - 7, !- Outlet Port - {3b350aa2-ead8-4ece-a001-b0e2b39ba463}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {ca72385f-37b9-4522-92e3-2efa0f027a96}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {5bf64864-65fa-47c6-ada4-f9fee9bda293}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {fb613cfd-67ea-486f-a44a-d5a04aae8ce8}, !- 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, - {fb613cfd-67ea-486f-a44a-d5a04aae8ce8}, !- Handle - Controller Mechanical Ventilation 5, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {e1443f8e-4686-4e3a-a3bf-a88f16661892}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC OA System, !- Name - {ca72385f-37b9-4522-92e3-2efa0f027a96}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {934d444f-d5c3-4a94-b0f8-660b70102902}, !- Mixed Air Node Name - {1f87b408-3b59-45a6-a135-9269df3c7c38}, !- Outdoor Air Stream Node Name - {db2f429e-2578-4dbf-baf8-088c588a584b}, !- Relief Air Stream Node Name - {9e14fc5b-5ee4-4cac-820b-7dad058e6985}; !- Return Air Stream Node Name - -OS:Node, - {1e07097e-d3f0-493a-ae7b-f47c4a448213}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {1f87b408-3b59-45a6-a135-9269df3c7c38}; !- Outlet Port - -OS:Connection, - {1f87b408-3b59-45a6-a135-9269df3c7c38}, !- Handle - {534f8ee3-23b1-481a-beac-d6ee2e28fd76}, !- Name - {1e07097e-d3f0-493a-ae7b-f47c4a448213}, !- Source Object - 3, !- Outlet Port - {e1443f8e-4686-4e3a-a3bf-a88f16661892}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {44d7aca3-231b-4323-87ba-1f7b1cb2732b}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Relief Air Node, !- Name - {db2f429e-2578-4dbf-baf8-088c588a584b}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {db2f429e-2578-4dbf-baf8-088c588a584b}, !- Handle - {e05e1e0e-125a-4ec3-8c21-81761e1a5f3c}, !- Name - {e1443f8e-4686-4e3a-a3bf-a88f16661892}, !- Source Object - 7, !- Outlet Port - {44d7aca3-231b-4323-87ba-1f7b1cb2732b}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {98512db9-83c6-429c-a0d3-9b882f8fe9ab}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Mixed Air Node, !- Name - {934d444f-d5c3-4a94-b0f8-660b70102902}, !- Inlet Port - {90e6eeac-ae93-4a0c-9a47-5ab49891a254}; !- Outlet Port - -OS:Connection, - {9e14fc5b-5ee4-4cac-820b-7dad058e6985}, !- Handle - {c2b66163-ea61-41d8-94ae-9eb9d1f25673}, !- Name - {7ede0cfb-b573-4ba6-ab26-e08da05768d2}, !- Source Object - 3, !- Outlet Port - {e1443f8e-4686-4e3a-a3bf-a88f16661892}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {934d444f-d5c3-4a94-b0f8-660b70102902}, !- Handle - {ab959a22-504c-4cf4-a5ff-509958fcdbd6}, !- Name - {e1443f8e-4686-4e3a-a3bf-a88f16661892}, !- Source Object - 5, !- Outlet Port - {98512db9-83c6-429c-a0d3-9b882f8fe9ab}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {90e6eeac-ae93-4a0c-9a47-5ab49891a254}, !- Handle - {cabaef94-6de2-4c11-aab6-1cccc196e325}, !- Name - {98512db9-83c6-429c-a0d3-9b882f8fe9ab}, !- Source Object - 3, !- Outlet Port - {e926f8a4-6e6a-4d71-969d-94f76b652126}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {7ac6f41a-f41b-4aa1-8f67-687616a7ef13}, !- Handle - Availability Manager Night Cycle 5, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {b6b08068-c737-4263-b3ab-6d950fa8be89}, !- Control Zone or Zone List Name - {eda9b011-1730-4e9c-aafa-4256bc9f925b}, !- Cooling Control Zone or Zone List Name - {dd38ce58-ac44-4cf9-bc56-46f1024a25c4}, !- Heating Control Zone or Zone List Name - {5e2abd02-1a27-45ea-9330-5876e92f67fc}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {b6b08068-c737-4263-b3ab-6d950fa8be89}, !- Handle - Availability Manager Night Cycle 5 Control Zone List; !- Name - -OS:ModelObjectList, - {eda9b011-1730-4e9c-aafa-4256bc9f925b}, !- Handle - Availability Manager Night Cycle 5 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {dd38ce58-ac44-4cf9-bc56-46f1024a25c4}, !- Handle - Availability Manager Night Cycle 5 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {5e2abd02-1a27-45ea-9330-5876e92f67fc}, !- Handle - Availability Manager Night Cycle 5 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {1aa118d0-d84b-4eaa-9dc1-07b036512d8f}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {bb1e07be-3269-4cc6-a28b-958e73ba9338}, !- Air Inlet Node Name - {571fe471-0438-4da4-8879-20eb0851ff9b}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {96471c4f-c5f5-463b-878a-a0a243691ef9}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground Return Air Node, !- Name - {04cbc5dd-cc14-4909-8daf-e171af533bf3}, !- Inlet Port - {78fa3664-2072-49b0-a49e-164f90ed6e47}; !- Outlet Port - -OS:Connection, - {ceaf2805-55c3-4a4d-aedd-509c5e516986}, !- Handle - {47b0473c-d2e1-4a22-94aa-67fc0e80be24}, !- Name - {2cfc6075-4aae-4e1a-972a-403de2c040e5}, !- Source Object - 3, !- Outlet Port - {8fa95bf5-619f-4d6b-8c5e-713fdf0a1a80}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {04cbc5dd-cc14-4909-8daf-e171af533bf3}, !- Handle - {f6975aed-5e70-4af1-85eb-97d2991ed151}, !- Name - {a299abb2-f795-47e9-ace4-35d9a1124836}, !- Source Object - 3, !- Outlet Port - {96471c4f-c5f5-463b-878a-a0a243691ef9}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {78fa3664-2072-49b0-a49e-164f90ed6e47}, !- Handle - {bd10fae3-d803-4d0c-aa77-324921e29bab}, !- Name - {96471c4f-c5f5-463b-878a-a0a243691ef9}, !- Source Object - 3, !- Outlet Port - {961e5a09-18e2-4c56-ae25-81972df4b365}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {e21c6792-f8a1-4033-90b5-54ff2bc2c4e9}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {577b09aa-2e57-473a-81ac-cf14d267dfec}, !- Inlet Port - {bb1e07be-3269-4cc6-a28b-958e73ba9338}; !- Outlet Port - -OS:Connection, - {577b09aa-2e57-473a-81ac-cf14d267dfec}, !- Handle - {7b1ca6f7-2611-4c47-80d6-bc8f8452a6f2}, !- Name - {ab1fcf57-6352-4970-8298-6070473bb66b}, !- Source Object - 3, !- Outlet Port - {e21c6792-f8a1-4033-90b5-54ff2bc2c4e9}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {bb1e07be-3269-4cc6-a28b-958e73ba9338}, !- Handle - {355a790d-cc0c-435f-bb69-e17866efc566}, !- Name - {e21c6792-f8a1-4033-90b5-54ff2bc2c4e9}, !- Source Object - 3, !- Outlet Port - {1aa118d0-d84b-4eaa-9dc1-07b036512d8f}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {571fe471-0438-4da4-8879-20eb0851ff9b}, !- Handle - {09912698-b44c-42fe-adfa-3f707499e8ea}, !- Name - {1aa118d0-d84b-4eaa-9dc1-07b036512d8f}, !- Source Object - 4, !- Outlet Port - {2cfc6075-4aae-4e1a-972a-403de2c040e5}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {ecb45eb9-a716-4f0b-b54e-4fce37661611}, !- Availability Schedule - {216259a3-3ed1-4d95-8263-4a013768a565}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {1b50c8f0-b351-4ec7-96d2-a926900c9fc5}, !- Supply Side Inlet Node Name - {574a3d9c-a02f-4a39-b60b-3749cf61667f}, !- Demand Side Outlet Node Name - {3aa0dbca-92ba-42bc-8068-78bb1ff553f2}, !- Demand Side Inlet Node A - {ccc93d4d-db98-47f0-8153-8e10005a969b}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {00a69622-be00-4d8e-bd45-25e79aca03f1}, !- Demand Mixer Name - {ddc08a89-262c-4577-b812-ac5a94ded50e}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {bbc35793-84c5-4d30-bf00-bf473a228a48}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Supply Inlet Node, !- Name - {1b50c8f0-b351-4ec7-96d2-a926900c9fc5}, !- Inlet Port - {c6378ad1-23b2-479f-9972-f6cb90151bde}; !- Outlet Port - -OS:Node, - {63a2d37f-3ad1-4225-bc5f-7f6e00de624e}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Supply Outlet Node, !- Name - {4495c3b8-aceb-4986-94ca-c3034f32f9a7}, !- Inlet Port - {ccc93d4d-db98-47f0-8153-8e10005a969b}; !- Outlet Port - -OS:Connection, - {1b50c8f0-b351-4ec7-96d2-a926900c9fc5}, !- Handle - {79ff80e1-4b68-4794-9695-c94e1248cde9}, !- Name - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- Source Object - 8, !- Outlet Port - {bbc35793-84c5-4d30-bf00-bf473a228a48}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {ccc93d4d-db98-47f0-8153-8e10005a969b}, !- Handle - {8b3e96b9-3c38-4861-8515-5a9ecdcf62bd}, !- Name - {63a2d37f-3ad1-4225-bc5f-7f6e00de624e}, !- Source Object - 3, !- Outlet Port - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {a2709315-1fd2-4c3b-8fb8-11cce4d2f1dc}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Demand Inlet Node, !- Name - {3aa0dbca-92ba-42bc-8068-78bb1ff553f2}, !- Inlet Port - {bc25d9a8-4c2d-4dc9-92be-c7d72791648d}; !- Outlet Port - -OS:Node, - {f4e5bb69-c11a-4b76-b0ee-003e9d963e1c}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Demand Outlet Node, !- Name - {078157e4-c0c1-4371-9447-859925d12157}, !- Inlet Port - {574a3d9c-a02f-4a39-b60b-3749cf61667f}; !- Outlet Port - -OS:Node, - {b2791a2c-321d-4150-985e-96e0c563f9fe}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {15bd830a-7e81-445b-9fa8-b1b6f43a9973}, !- Inlet Port - {65d71324-70d1-4c3e-8e4b-b6d0d91d4b05}; !- Outlet Port - -OS:Connection, - {3aa0dbca-92ba-42bc-8068-78bb1ff553f2}, !- Handle - {13c1fbb7-f490-4109-ace6-82c56276e3cd}, !- Name - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- Source Object - 10, !- Outlet Port - {a2709315-1fd2-4c3b-8fb8-11cce4d2f1dc}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {574a3d9c-a02f-4a39-b60b-3749cf61667f}, !- Handle - {03bbe297-98af-4ac6-81d6-99f5a44693ad}, !- Name - {f4e5bb69-c11a-4b76-b0ee-003e9d963e1c}, !- Source Object - 3, !- Outlet Port - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {ddc08a89-262c-4577-b812-ac5a94ded50e}, !- Handle - Air Loop HVAC Zone Splitter 6, !- Name - {bc25d9a8-4c2d-4dc9-92be-c7d72791648d}, !- Inlet Node Name - {78bd72ed-2dad-4990-9046-2af038d0583c}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {00a69622-be00-4d8e-bd45-25e79aca03f1}, !- Handle - Air Loop HVAC Zone Mixer 6, !- Name - {078157e4-c0c1-4371-9447-859925d12157}, !- Outlet Node Name - {acd04041-55e0-40c3-bc67-5c84fe5062a7}; !- Inlet Node Name 1 - -OS:Connection, - {bc25d9a8-4c2d-4dc9-92be-c7d72791648d}, !- Handle - {d408c3cd-2f36-4be8-84ed-0c89df050d0b}, !- Name - {a2709315-1fd2-4c3b-8fb8-11cce4d2f1dc}, !- Source Object - 3, !- Outlet Port - {ddc08a89-262c-4577-b812-ac5a94ded50e}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {078157e4-c0c1-4371-9447-859925d12157}, !- Handle - {ebe33ff6-2e9f-49a4-a9b1-2db1afec8588}, !- Name - {00a69622-be00-4d8e-bd45-25e79aca03f1}, !- Source Object - 2, !- Outlet Port - {f4e5bb69-c11a-4b76-b0ee-003e9d963e1c}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {e482d87e-ecf1-4058-8d52-5ceedcd64530}, !- Handle - {a898fd79-bc4f-4a15-8eaa-034bc190fb3e}, !- 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, - {216259a3-3ed1-4d95-8263-4a013768a565}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 5, !- Name - {0ece0266-399f-49ba-82dc-32e3ca0af0b5}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {d891a3c3-ddf9-4f72-91f3-d854fd18951a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- Control Zone Name - {63a2d37f-3ad1-4225-bc5f-7f6e00de624e}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {08193a3a-e6e0-4093-a9d0-3c750d08c6b4}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {4c80f72d-cde5-4193-a526-34592a27a243}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {29fa177f-f689-47f8-8ad5-ed9555d516de}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC 1spd DX AC Clg Coil 3kBtu/hr 11.06SEER 2kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {080337c2-f89c-4a90-869c-63f07f306075}, !- Handle - Curve Biquadratic 21, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {93bdabfd-50e4-4d45-9b95-5a3f26fe4da0}, !- Handle - Curve Quadratic 31, !- 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, - {2097abba-6742-4df3-b362-7d388584d3f4}, !- Handle - Curve Biquadratic 22, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {5de5e116-51eb-477b-94a0-0745b6127bd1}, !- Handle - Curve Quadratic 32, !- 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, - {06756d09-1d0a-491e-9f96-c588b5a13b5a}, !- Handle - Curve Quadratic 33, !- 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, - {196121ea-d424-4d55-a480-2e8f7dbe56d1}, !- Handle - Curve Biquadratic 23, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {4a7d0019-7926-4c29-a8c9-0dca40cfaa2f}, !- Handle - Curve Quadratic 34, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {6d4b4981-f6bd-446d-ac67-f63c8cf909ea}, !- Handle - Curve Biquadratic 24, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {e869aa20-82a2-49e0-b9f3-0ae21fb6f827}, !- Handle - Curve Quadratic 35, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {f695f821-c82a-4f2d-95b2-710073e46dd8}, !- Handle - Curve Quadratic 36, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {8aeb3068-4d91-4f53-bca8-d3ec11efbeed}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {41756a90-3c3a-4bf9-94d5-897bf7ed96e4}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {f972fe54-6bb3-469b-afe4-356d1776f272}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {41756a90-3c3a-4bf9-94d5-897bf7ed96e4}, !- Handle - Fan On Off Power Curve 5, !- 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, - {f972fe54-6bb3-469b-afe4-356d1776f272}, !- Handle - Fan On Off Efficiency Curve 5, !- 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:AirLoopHVAC:UnitarySystem, - {032dbc88-39f0-4dcb-b005-230caa64380c}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {8a719b9f-53a4-4f52-a848-553546e8d2bb}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {e281ed46-b079-4bc9-a174-1764539588a4}, !- Air Inlet Node Name - {4495c3b8-aceb-4986-94ca-c3034f32f9a7}, !- Air Outlet Node Name - {8aeb3068-4d91-4f53-bca8-d3ec11efbeed}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {ecb45eb9-a716-4f0b-b54e-4fce37661611}, !- Supply Air Fan Operating Mode Schedule Name - {08193a3a-e6e0-4093-a9d0-3c750d08c6b4}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {29fa177f-f689-47f8-8ad5-ed9555d516de}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {4c80f72d-cde5-4193-a526-34592a27a243}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {4495c3b8-aceb-4986-94ca-c3034f32f9a7}, !- Handle - {5e7e93c5-9727-4348-a1b5-48d980c3231e}, !- Name - {032dbc88-39f0-4dcb-b005-230caa64380c}, !- Source Object - 7, !- Outlet Port - {63a2d37f-3ad1-4225-bc5f-7f6e00de624e}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {c839c30a-7f95-45ac-94c5-1fc615cbf618}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {c55bb475-9545-4637-b091-520bed5eaea2}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {ab1c1daa-0500-4aea-8484-becd088f98de}, !- 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, - {ab1c1daa-0500-4aea-8484-becd088f98de}, !- Handle - Controller Mechanical Ventilation 6, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {593521a8-dbef-41e8-a760-cd3e3426dc63}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC OA System, !- Name - {c839c30a-7f95-45ac-94c5-1fc615cbf618}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {861512af-12e1-4136-8929-19ad650075af}, !- Mixed Air Node Name - {697b5b15-f900-463f-bff9-4b292451446c}, !- Outdoor Air Stream Node Name - {4c5ea559-97e0-4482-acde-b6a8ac597d95}, !- Relief Air Stream Node Name - {c6378ad1-23b2-479f-9972-f6cb90151bde}; !- Return Air Stream Node Name - -OS:Node, - {4e6eb268-af9b-4340-9e0d-33784aab2c74}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {697b5b15-f900-463f-bff9-4b292451446c}; !- Outlet Port - -OS:Connection, - {697b5b15-f900-463f-bff9-4b292451446c}, !- Handle - {65e41919-e969-4523-a761-1199b0b5ee9b}, !- Name - {4e6eb268-af9b-4340-9e0d-33784aab2c74}, !- Source Object - 3, !- Outlet Port - {593521a8-dbef-41e8-a760-cd3e3426dc63}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {7af15f15-898d-45f3-b36b-118d3cf62f20}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Relief Air Node, !- Name - {4c5ea559-97e0-4482-acde-b6a8ac597d95}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {4c5ea559-97e0-4482-acde-b6a8ac597d95}, !- Handle - {06e673d9-9b8f-4105-be38-85e7f817df31}, !- Name - {593521a8-dbef-41e8-a760-cd3e3426dc63}, !- Source Object - 7, !- Outlet Port - {7af15f15-898d-45f3-b36b-118d3cf62f20}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {a81b56e3-2632-42ec-861e-2bc73b33d8ae}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Mixed Air Node, !- Name - {861512af-12e1-4136-8929-19ad650075af}, !- Inlet Port - {e281ed46-b079-4bc9-a174-1764539588a4}; !- Outlet Port - -OS:Connection, - {c6378ad1-23b2-479f-9972-f6cb90151bde}, !- Handle - {9d93b083-f7ed-4242-8bcc-e5bf0795199d}, !- Name - {bbc35793-84c5-4d30-bf00-bf473a228a48}, !- Source Object - 3, !- Outlet Port - {593521a8-dbef-41e8-a760-cd3e3426dc63}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {861512af-12e1-4136-8929-19ad650075af}, !- Handle - {210c238f-bd27-4448-a597-2ff75d51f368}, !- Name - {593521a8-dbef-41e8-a760-cd3e3426dc63}, !- Source Object - 5, !- Outlet Port - {a81b56e3-2632-42ec-861e-2bc73b33d8ae}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e281ed46-b079-4bc9-a174-1764539588a4}, !- Handle - {81fc9dca-2d76-4b5f-87e8-fe906f9b0ede}, !- Name - {a81b56e3-2632-42ec-861e-2bc73b33d8ae}, !- Source Object - 3, !- Outlet Port - {032dbc88-39f0-4dcb-b005-230caa64380c}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {0ece0266-399f-49ba-82dc-32e3ca0af0b5}, !- Handle - Availability Manager Night Cycle 6, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {e138904f-859e-4fad-a8a6-978a3fae4353}, !- Control Zone or Zone List Name - {fc5937bb-6e54-46e6-a645-ae28ad44a6ad}, !- Cooling Control Zone or Zone List Name - {114cce8a-26a0-4aa5-82e3-902e0e574060}, !- Heating Control Zone or Zone List Name - {78b38bde-1a5e-4adc-862e-7f965a5fecd6}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {e138904f-859e-4fad-a8a6-978a3fae4353}, !- Handle - Availability Manager Night Cycle 6 Control Zone List; !- Name - -OS:ModelObjectList, - {fc5937bb-6e54-46e6-a645-ae28ad44a6ad}, !- Handle - Availability Manager Night Cycle 6 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {114cce8a-26a0-4aa5-82e3-902e0e574060}, !- Handle - Availability Manager Night Cycle 6 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {78b38bde-1a5e-4adc-862e-7f965a5fecd6}, !- Handle - Availability Manager Night Cycle 6 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {fb84c3f1-d80f-4dfb-a551-ce9f349ea381}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {e2fe20ac-e8b6-4b58-bb35-11eade1a5e68}, !- Air Inlet Node Name - {15bd830a-7e81-445b-9fa8-b1b6f43a9973}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {6d56e9cc-cdf1-4aaa-94b6-a02000998a81}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground Return Air Node, !- Name - {ed8c1ee2-3b83-4686-9d99-27c449e390bd}, !- Inlet Port - {acd04041-55e0-40c3-bc67-5c84fe5062a7}; !- Outlet Port - -OS:Connection, - {65d71324-70d1-4c3e-8e4b-b6d0d91d4b05}, !- Handle - {14f91f22-904e-43fb-9eed-7356a480bcd6}, !- Name - {b2791a2c-321d-4150-985e-96e0c563f9fe}, !- Source Object - 3, !- Outlet Port - {cdb5440d-7d2a-490d-9d6a-c1872c097ed8}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {ed8c1ee2-3b83-4686-9d99-27c449e390bd}, !- Handle - {8ec01884-db51-4d41-afe2-eb93a61ee61e}, !- Name - {00e59bb0-7d7d-4c44-b4f4-bcd0e2b11c75}, !- Source Object - 3, !- Outlet Port - {6d56e9cc-cdf1-4aaa-94b6-a02000998a81}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {acd04041-55e0-40c3-bc67-5c84fe5062a7}, !- Handle - {0efc5333-ffbb-4250-aafd-aa24f4b81570}, !- Name - {6d56e9cc-cdf1-4aaa-94b6-a02000998a81}, !- Source Object - 3, !- Outlet Port - {00a69622-be00-4d8e-bd45-25e79aca03f1}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {0cc3fac5-6bfd-49aa-8aa6-bf2b5ae249b7}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {78bd72ed-2dad-4990-9046-2af038d0583c}, !- Inlet Port - {e2fe20ac-e8b6-4b58-bb35-11eade1a5e68}; !- Outlet Port - -OS:Connection, - {78bd72ed-2dad-4990-9046-2af038d0583c}, !- Handle - {1b411ef8-48a2-4275-b07b-f844acdafa71}, !- Name - {ddc08a89-262c-4577-b812-ac5a94ded50e}, !- Source Object - 3, !- Outlet Port - {0cc3fac5-6bfd-49aa-8aa6-bf2b5ae249b7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e2fe20ac-e8b6-4b58-bb35-11eade1a5e68}, !- Handle - {02dea5b4-ab78-4613-82b2-38c6c433bbf2}, !- Name - {0cc3fac5-6bfd-49aa-8aa6-bf2b5ae249b7}, !- Source Object - 3, !- Outlet Port - {fb84c3f1-d80f-4dfb-a551-ce9f349ea381}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {15bd830a-7e81-445b-9fa8-b1b6f43a9973}, !- Handle - {dc1811bb-3eae-4345-8564-21cd19ff9658}, !- Name - {fb84c3f1-d80f-4dfb-a551-ce9f349ea381}, !- Source Object - 4, !- Outlet Port - {b2791a2c-321d-4150-985e-96e0c563f9fe}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {8b391620-0998-4b28-b7cd-4055f24d0e22}, !- Availability Schedule - {f1fac27e-c538-42de-baef-6ee3ec09c9f6}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {e0f53123-f1fa-4d56-9b70-4fd81e2d261c}, !- Supply Side Inlet Node Name - {acfcacb1-ea48-4c09-bf62-c2decede4dc7}, !- Demand Side Outlet Node Name - {d7403538-714d-49e8-8619-b01e14ba6601}, !- Demand Side Inlet Node A - {66cb0f70-f3f8-4084-9f9e-149f990e1ea5}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {7bb1935e-3528-4c41-aa29-82e7925dd32b}, !- Demand Mixer Name - {c02211b9-5d33-40c4-94ed-fb4b583b1ad0}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {37c7b37e-a084-4de7-87b6-8a0c1577f309}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Supply Inlet Node, !- Name - {e0f53123-f1fa-4d56-9b70-4fd81e2d261c}, !- Inlet Port - {f0c895f3-766a-463f-8edf-32354e36d08a}; !- Outlet Port - -OS:Node, - {4b668ed5-c074-446f-8b26-6ec3ddd14a9d}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Supply Outlet Node, !- Name - {b63a596d-52ce-4386-8939-0359a89592b0}, !- Inlet Port - {66cb0f70-f3f8-4084-9f9e-149f990e1ea5}; !- Outlet Port - -OS:Connection, - {e0f53123-f1fa-4d56-9b70-4fd81e2d261c}, !- Handle - {68d973cc-610d-4b4f-a5d5-9ba2ed60d9a0}, !- Name - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- Source Object - 8, !- Outlet Port - {37c7b37e-a084-4de7-87b6-8a0c1577f309}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {66cb0f70-f3f8-4084-9f9e-149f990e1ea5}, !- Handle - {e13b10d4-e29b-44c9-bd47-52b4fd137013}, !- Name - {4b668ed5-c074-446f-8b26-6ec3ddd14a9d}, !- Source Object - 3, !- Outlet Port - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {1b01c05c-6030-46c3-b698-bd4d991c1427}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Demand Inlet Node, !- Name - {d7403538-714d-49e8-8619-b01e14ba6601}, !- Inlet Port - {3d3227ab-3fd2-426d-9612-994465d4d1eb}; !- Outlet Port - -OS:Node, - {e7b6e209-f4ad-4465-867d-dce3d2e505c1}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Demand Outlet Node, !- Name - {7b0bf59c-1a83-478f-9d20-195df868010f}, !- Inlet Port - {acfcacb1-ea48-4c09-bf62-c2decede4dc7}; !- Outlet Port - -OS:Node, - {1f9749cb-81df-4457-956e-5d38db77b46f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {f333fc98-ee8b-4188-b218-47494960e10d}, !- Inlet Port - {d59971a7-692d-4591-b38b-fad7371ac686}; !- Outlet Port - -OS:Connection, - {d7403538-714d-49e8-8619-b01e14ba6601}, !- Handle - {7f9dffe2-4a47-4557-ba10-16989ae864af}, !- Name - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- Source Object - 10, !- Outlet Port - {1b01c05c-6030-46c3-b698-bd4d991c1427}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {acfcacb1-ea48-4c09-bf62-c2decede4dc7}, !- Handle - {21712b0c-7e73-4124-bb6b-0fd67c6ea0ba}, !- Name - {e7b6e209-f4ad-4465-867d-dce3d2e505c1}, !- Source Object - 3, !- Outlet Port - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {c02211b9-5d33-40c4-94ed-fb4b583b1ad0}, !- Handle - Air Loop HVAC Zone Splitter 7, !- Name - {3d3227ab-3fd2-426d-9612-994465d4d1eb}, !- Inlet Node Name - {c5ca4c34-3f47-400a-92bf-2c3c216ac753}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {7bb1935e-3528-4c41-aa29-82e7925dd32b}, !- Handle - Air Loop HVAC Zone Mixer 7, !- Name - {7b0bf59c-1a83-478f-9d20-195df868010f}, !- Outlet Node Name - {abb62416-9790-4ad9-87f0-949f2b17c421}; !- Inlet Node Name 1 - -OS:Connection, - {3d3227ab-3fd2-426d-9612-994465d4d1eb}, !- Handle - {a9c46c2b-dc37-4aa8-b4a0-6f333e699552}, !- Name - {1b01c05c-6030-46c3-b698-bd4d991c1427}, !- Source Object - 3, !- Outlet Port - {c02211b9-5d33-40c4-94ed-fb4b583b1ad0}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {7b0bf59c-1a83-478f-9d20-195df868010f}, !- Handle - {6b46fa36-cfb3-48db-a3d8-ef1fd76fd30c}, !- Name - {7bb1935e-3528-4c41-aa29-82e7925dd32b}, !- Source Object - 2, !- Outlet Port - {e7b6e209-f4ad-4465-867d-dce3d2e505c1}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {48931ecd-fb66-4d1c-9e64-24f3aa3529ef}, !- Handle - {8c5986a5-d47c-44cc-81f5-f306bf19078f}, !- 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, - {f1fac27e-c538-42de-baef-6ee3ec09c9f6}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 6, !- Name - {163d5eb6-830f-4d28-a9c2-bb1a232b8968}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {fc308a5f-e2db-4838-abb0-8386e39e4e6f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- Control Zone Name - {4b668ed5-c074-446f-8b26-6ec3ddd14a9d}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {c42477cc-8465-4a72-8fae-caaef0b4d476}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {42753ecc-7994-4839-904c-84c13773fad6}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {1bf730fb-336c-43f5-918e-89e18ffa5406}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC 1spd DX AC Clg Coil 9kBtu/hr 11.06SEER 7kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {f2e9c57a-d71f-4739-ba8d-7b747fe53cf0}, !- Handle - Curve Biquadratic 25, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {121d6aec-68de-4cdf-8fa4-f05c71a07ab8}, !- Handle - Curve Quadratic 37, !- 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, - {bbe6485b-f443-4c7c-be75-a54c13b13e2c}, !- Handle - Curve Biquadratic 26, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {c4441b67-ce81-4a53-9ad1-d4c968c357f7}, !- Handle - Curve Quadratic 38, !- 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, - {3183b227-d331-483b-b87f-a6b6af8dc81e}, !- Handle - Curve Quadratic 39, !- 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, - {07f87192-d65a-46f7-87de-3c8469fe8960}, !- Handle - Curve Biquadratic 27, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {634cd3a8-3328-49c8-8386-fa3b48df8a5e}, !- Handle - Curve Quadratic 40, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {fe63f532-b477-4c8c-bcfe-79365e66e95c}, !- Handle - Curve Biquadratic 28, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {2b19c043-a983-44f7-a607-082cb9b0ff8f}, !- Handle - Curve Quadratic 41, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {68f2e87d-060a-4468-8935-a41e5b8d460d}, !- Handle - Curve Quadratic 42, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {619aaad4-4c1c-4db8-9bc0-f8d34d414d1d}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {5cefb11e-bf96-4b00-b200-7ec4e991d5b3}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {538cf524-7e14-48a2-8b4b-2bd91b7a2e75}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {5cefb11e-bf96-4b00-b200-7ec4e991d5b3}, !- Handle - Fan On Off Power Curve 6, !- 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, - {538cf524-7e14-48a2-8b4b-2bd91b7a2e75}, !- Handle - Fan On Off Efficiency Curve 6, !- 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:AirLoopHVAC:UnitarySystem, - {7c041b78-ed98-43a0-b476-bb4b6f5d2383}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {f4c33df8-68ac-43f7-934f-a50054864cfc}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {a4cf7cb8-5592-472e-97f7-006f2f0efa41}, !- Air Inlet Node Name - {b63a596d-52ce-4386-8939-0359a89592b0}, !- Air Outlet Node Name - {619aaad4-4c1c-4db8-9bc0-f8d34d414d1d}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {8b391620-0998-4b28-b7cd-4055f24d0e22}, !- Supply Air Fan Operating Mode Schedule Name - {c42477cc-8465-4a72-8fae-caaef0b4d476}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {1bf730fb-336c-43f5-918e-89e18ffa5406}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {42753ecc-7994-4839-904c-84c13773fad6}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {b63a596d-52ce-4386-8939-0359a89592b0}, !- Handle - {6cc63632-d947-488f-90ad-3cc876a9e1c4}, !- Name - {7c041b78-ed98-43a0-b476-bb4b6f5d2383}, !- Source Object - 7, !- Outlet Port - {4b668ed5-c074-446f-8b26-6ec3ddd14a9d}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {175c65ac-cd6c-4a1d-aebd-6452d0867b40}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {caa0a35d-44cd-454f-af63-8d70507aed69}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {ca0ef7a9-d664-4305-85ff-b3d928fd82c4}, !- 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, - {ca0ef7a9-d664-4305-85ff-b3d928fd82c4}, !- Handle - Controller Mechanical Ventilation 7, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {3136b680-ea35-43d1-9ad4-ab76661cf7f4}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC OA System, !- Name - {175c65ac-cd6c-4a1d-aebd-6452d0867b40}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {1ac41860-a12a-4b5a-b38a-273bf1255717}, !- Mixed Air Node Name - {0af9ef18-ab34-4f26-97ea-93e74fc3cbce}, !- Outdoor Air Stream Node Name - {5ec6df30-fe45-4aae-b6b7-cf3e22f958ec}, !- Relief Air Stream Node Name - {f0c895f3-766a-463f-8edf-32354e36d08a}; !- Return Air Stream Node Name - -OS:Node, - {84f1d4b3-1d32-4283-90d0-6a095992cf3c}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {0af9ef18-ab34-4f26-97ea-93e74fc3cbce}; !- Outlet Port - -OS:Connection, - {0af9ef18-ab34-4f26-97ea-93e74fc3cbce}, !- Handle - {094f6a69-cfb1-40bb-83c2-5646e1dbe3f1}, !- Name - {84f1d4b3-1d32-4283-90d0-6a095992cf3c}, !- Source Object - 3, !- Outlet Port - {3136b680-ea35-43d1-9ad4-ab76661cf7f4}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {a46d63ec-7051-497c-89e8-313a1978f05a}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Relief Air Node, !- Name - {5ec6df30-fe45-4aae-b6b7-cf3e22f958ec}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {5ec6df30-fe45-4aae-b6b7-cf3e22f958ec}, !- Handle - {8600b5f1-5320-4af0-a17b-ad76365e44df}, !- Name - {3136b680-ea35-43d1-9ad4-ab76661cf7f4}, !- Source Object - 7, !- Outlet Port - {a46d63ec-7051-497c-89e8-313a1978f05a}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {ea58600e-c1f5-4498-834d-9130f3f0a08f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Mixed Air Node, !- Name - {1ac41860-a12a-4b5a-b38a-273bf1255717}, !- Inlet Port - {a4cf7cb8-5592-472e-97f7-006f2f0efa41}; !- Outlet Port - -OS:Connection, - {f0c895f3-766a-463f-8edf-32354e36d08a}, !- Handle - {c555bdb5-ea09-4aca-960a-046d63f1d52a}, !- Name - {37c7b37e-a084-4de7-87b6-8a0c1577f309}, !- Source Object - 3, !- Outlet Port - {3136b680-ea35-43d1-9ad4-ab76661cf7f4}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {1ac41860-a12a-4b5a-b38a-273bf1255717}, !- Handle - {2124293e-3559-450f-affa-30275b4a168e}, !- Name - {3136b680-ea35-43d1-9ad4-ab76661cf7f4}, !- Source Object - 5, !- Outlet Port - {ea58600e-c1f5-4498-834d-9130f3f0a08f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a4cf7cb8-5592-472e-97f7-006f2f0efa41}, !- Handle - {5bf4feff-83de-4888-8e43-7ea52ecf2855}, !- Name - {ea58600e-c1f5-4498-834d-9130f3f0a08f}, !- Source Object - 3, !- Outlet Port - {7c041b78-ed98-43a0-b476-bb4b6f5d2383}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {163d5eb6-830f-4d28-a9c2-bb1a232b8968}, !- Handle - Availability Manager Night Cycle 7, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {04cc49c8-fea6-4287-a284-935598f6e1cc}, !- Control Zone or Zone List Name - {5c007b35-366c-47c1-9585-f19667fc345e}, !- Cooling Control Zone or Zone List Name - {994944f9-f4f2-467e-8820-8f5f4263c19b}, !- Heating Control Zone or Zone List Name - {ad2430dc-8cdc-4146-9ab2-b330e1c59dce}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {04cc49c8-fea6-4287-a284-935598f6e1cc}, !- Handle - Availability Manager Night Cycle 7 Control Zone List; !- Name - -OS:ModelObjectList, - {5c007b35-366c-47c1-9585-f19667fc345e}, !- Handle - Availability Manager Night Cycle 7 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {994944f9-f4f2-467e-8820-8f5f4263c19b}, !- Handle - Availability Manager Night Cycle 7 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {ad2430dc-8cdc-4146-9ab2-b330e1c59dce}, !- Handle - Availability Manager Night Cycle 7 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {fcebe32a-02f3-41e8-848c-a7779102dd20}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {b2afee07-9942-4078-acdb-47b1ebc5010a}, !- Air Inlet Node Name - {f333fc98-ee8b-4188-b218-47494960e10d}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {bdd930bb-f6a3-47d5-9987-fd4069706ba7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground Return Air Node, !- Name - {84eab0ae-5f54-4891-8111-c08f1d39a92e}, !- Inlet Port - {abb62416-9790-4ad9-87f0-949f2b17c421}; !- Outlet Port - -OS:Connection, - {d59971a7-692d-4591-b38b-fad7371ac686}, !- Handle - {d021266d-43e4-4da4-8b40-6c4abb2e2865}, !- Name - {1f9749cb-81df-4457-956e-5d38db77b46f}, !- Source Object - 3, !- Outlet Port - {fa4d70b6-c2cb-45fc-84b7-9b3591458693}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {84eab0ae-5f54-4891-8111-c08f1d39a92e}, !- Handle - {fcbd5a43-f715-47e5-a28b-3d52306bfccf}, !- Name - {299dfac0-e22c-4946-afe2-4b87e8a8f8e7}, !- Source Object - 3, !- Outlet Port - {bdd930bb-f6a3-47d5-9987-fd4069706ba7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {abb62416-9790-4ad9-87f0-949f2b17c421}, !- Handle - {6ee4567a-37b5-4312-bff5-c29b1bcba0ce}, !- Name - {bdd930bb-f6a3-47d5-9987-fd4069706ba7}, !- Source Object - 3, !- Outlet Port - {7bb1935e-3528-4c41-aa29-82e7925dd32b}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {4708e71a-399b-473b-b7de-d05302f6b625}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {c5ca4c34-3f47-400a-92bf-2c3c216ac753}, !- Inlet Port - {b2afee07-9942-4078-acdb-47b1ebc5010a}; !- Outlet Port - -OS:Connection, - {c5ca4c34-3f47-400a-92bf-2c3c216ac753}, !- Handle - {89466837-657a-4d4f-9d8d-ca2defc4eab2}, !- Name - {c02211b9-5d33-40c4-94ed-fb4b583b1ad0}, !- Source Object - 3, !- Outlet Port - {4708e71a-399b-473b-b7de-d05302f6b625}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {b2afee07-9942-4078-acdb-47b1ebc5010a}, !- Handle - {1b976525-2eec-46d5-94ec-82abf28d43c0}, !- Name - {4708e71a-399b-473b-b7de-d05302f6b625}, !- Source Object - 3, !- Outlet Port - {fcebe32a-02f3-41e8-848c-a7779102dd20}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {f333fc98-ee8b-4188-b218-47494960e10d}, !- Handle - {6e6c49e1-b78d-4bcf-b7ba-10fd41978d37}, !- Name - {fcebe32a-02f3-41e8-848c-a7779102dd20}, !- Source Object - 4, !- Outlet Port - {1f9749cb-81df-4457-956e-5d38db77b46f}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {7b9dc306-81d5-426c-ae14-ca44c7926bc6}, !- Availability Schedule - {b9f77054-a151-40fb-b23e-1678b73b6ce3}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {0a79fb76-bf16-4910-8643-ff163e788eed}, !- Supply Side Inlet Node Name - {cc50df96-58de-4996-a7a6-2a2a1cca5c88}, !- Demand Side Outlet Node Name - {d6594656-dda7-4906-9265-7665628c6a6f}, !- Demand Side Inlet Node A - {75a05d5b-3721-437f-86ef-fbd64b101fe6}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {a82dab31-f699-4466-a245-a87ab0bbe564}, !- Demand Mixer Name - {a9864334-3de6-4a58-9238-f7bb9e40c0ed}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {8f1575b2-be55-4503-8cc3-bddfe4f71649}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Supply Inlet Node, !- Name - {0a79fb76-bf16-4910-8643-ff163e788eed}, !- Inlet Port - {aa06910b-41b7-4c5f-8ecd-ca02a1946dce}; !- Outlet Port - -OS:Node, - {b11d3166-a0eb-4cd6-a457-53401f7a5a9c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Supply Outlet Node, !- Name - {95e629e5-120d-46e1-9e46-e0e0d79a4e79}, !- Inlet Port - {75a05d5b-3721-437f-86ef-fbd64b101fe6}; !- Outlet Port - -OS:Connection, - {0a79fb76-bf16-4910-8643-ff163e788eed}, !- Handle - {75e6810e-7cdc-473c-8b4a-4ae0807a7b84}, !- Name - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- Source Object - 8, !- Outlet Port - {8f1575b2-be55-4503-8cc3-bddfe4f71649}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {75a05d5b-3721-437f-86ef-fbd64b101fe6}, !- Handle - {23aeae57-a8d6-4808-b792-3489d66d1807}, !- Name - {b11d3166-a0eb-4cd6-a457-53401f7a5a9c}, !- Source Object - 3, !- Outlet Port - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {fbb3f701-229f-43f0-98e2-ab4df9792e02}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Demand Inlet Node, !- Name - {d6594656-dda7-4906-9265-7665628c6a6f}, !- Inlet Port - {d3d3ec13-22be-45ef-90eb-3da56e723ac6}; !- Outlet Port - -OS:Node, - {aed63041-95ae-4a71-9191-2484fcd916fe}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Demand Outlet Node, !- Name - {8c5e7de9-d425-47f4-8a04-a06b7c7398c6}, !- Inlet Port - {cc50df96-58de-4996-a7a6-2a2a1cca5c88}; !- Outlet Port - -OS:Node, - {4e5f198f-5b8c-42b7-b7c1-9379758701ae}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {53fdb39f-de43-453b-9301-946c61eed898}, !- Inlet Port - {e35ab2ac-f359-40c0-8bf7-deceec8f946b}; !- Outlet Port - -OS:Connection, - {d6594656-dda7-4906-9265-7665628c6a6f}, !- Handle - {863e8cf2-1dad-4b6c-af88-8bc6347b3d5b}, !- Name - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- Source Object - 10, !- Outlet Port - {fbb3f701-229f-43f0-98e2-ab4df9792e02}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {cc50df96-58de-4996-a7a6-2a2a1cca5c88}, !- Handle - {1f215d0b-5e38-46ba-af06-1b639c5cf4a0}, !- Name - {aed63041-95ae-4a71-9191-2484fcd916fe}, !- Source Object - 3, !- Outlet Port - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {a9864334-3de6-4a58-9238-f7bb9e40c0ed}, !- Handle - Air Loop HVAC Zone Splitter 8, !- Name - {d3d3ec13-22be-45ef-90eb-3da56e723ac6}, !- Inlet Node Name - {565db3f1-5b90-4102-8618-010f000c1641}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {a82dab31-f699-4466-a245-a87ab0bbe564}, !- Handle - Air Loop HVAC Zone Mixer 8, !- Name - {8c5e7de9-d425-47f4-8a04-a06b7c7398c6}, !- Outlet Node Name - {bf2634b5-87c8-4cd1-989f-10aa1622907c}; !- Inlet Node Name 1 - -OS:Connection, - {d3d3ec13-22be-45ef-90eb-3da56e723ac6}, !- Handle - {dfa42a6e-52a4-4882-8fc4-3674f0b76117}, !- Name - {fbb3f701-229f-43f0-98e2-ab4df9792e02}, !- Source Object - 3, !- Outlet Port - {a9864334-3de6-4a58-9238-f7bb9e40c0ed}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {8c5e7de9-d425-47f4-8a04-a06b7c7398c6}, !- Handle - {f0e6a5d3-fcd6-431c-a5d1-6f9ea97b89f4}, !- Name - {a82dab31-f699-4466-a245-a87ab0bbe564}, !- Source Object - 2, !- Outlet Port - {aed63041-95ae-4a71-9191-2484fcd916fe}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {004294e9-432b-4850-a0b1-a90efce513b5}, !- Handle - {2bc879a6-4804-4242-a390-308b8f3ee360}, !- 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, - {b9f77054-a151-40fb-b23e-1678b73b6ce3}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 7, !- Name - {0af78174-71e3-46d6-8fa3-df0ddabc6003}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {229ae340-75f6-42ae-97bf-5b69150a6124}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- Control Zone Name - {b11d3166-a0eb-4cd6-a457-53401f7a5a9c}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {9bb17c47-dc04-4d61-a850-8575cb5a3b91}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {b48e0f15-c3b7-4553-98fd-3dd374e9d648}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {457fa81b-a93a-484b-9372-bda30108f7c8}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC 1spd DX AC Clg Coil 4kBtu/hr 11.06SEER 3kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {b0386255-5aa2-4b51-91f5-5cdab0f8252f}, !- Handle - Curve Biquadratic 29, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {32bb063c-56f3-41cb-8e52-47735d901fce}, !- Handle - Curve Quadratic 43, !- 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, - {c6cdb9b1-0424-4b83-91df-7d3fb4b614ef}, !- Handle - Curve Biquadratic 30, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {b1e5f2f1-dcbe-4e84-9391-4fe09d2b7963}, !- Handle - Curve Quadratic 44, !- 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, - {8be15d32-3e02-49c1-a8bf-2fb4ffb9d03a}, !- Handle - Curve Quadratic 45, !- 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, - {7df3e378-a0cb-451a-8f22-6d8e08dd481e}, !- Handle - Curve Biquadratic 31, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {36567bab-75fc-4616-8229-9f640816ac71}, !- Handle - Curve Quadratic 46, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {87b5b6ce-a1d3-4809-8e8d-ce160ff24926}, !- Handle - Curve Biquadratic 32, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {8235e7d1-06b6-4b0e-8215-56cf08c385c4}, !- Handle - Curve Quadratic 47, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {b67c539d-6444-4144-a237-25d94c50f6d3}, !- Handle - Curve Quadratic 48, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {cb5a63b5-28db-4929-827f-10c377764767}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {e3652012-addf-47df-9f3e-a7cbad5d1bc6}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {41f0af56-4ace-4c7a-b438-f7af19f5a6b7}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {e3652012-addf-47df-9f3e-a7cbad5d1bc6}, !- Handle - Fan On Off Power Curve 7, !- 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, - {41f0af56-4ace-4c7a-b438-f7af19f5a6b7}, !- Handle - Fan On Off Efficiency Curve 7, !- 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:AirLoopHVAC:UnitarySystem, - {a666fd16-5224-4a29-9b77-1a096ff2bbfe}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {bcdc97d0-0940-4d2c-8d91-97006daefacd}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {f6a2c70b-3e2a-48df-814e-eb0feea4de5b}, !- Air Inlet Node Name - {95e629e5-120d-46e1-9e46-e0e0d79a4e79}, !- Air Outlet Node Name - {cb5a63b5-28db-4929-827f-10c377764767}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {7b9dc306-81d5-426c-ae14-ca44c7926bc6}, !- Supply Air Fan Operating Mode Schedule Name - {9bb17c47-dc04-4d61-a850-8575cb5a3b91}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {457fa81b-a93a-484b-9372-bda30108f7c8}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {b48e0f15-c3b7-4553-98fd-3dd374e9d648}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {95e629e5-120d-46e1-9e46-e0e0d79a4e79}, !- Handle - {c37f36e6-3a31-48dd-9344-72af843e7005}, !- Name - {a666fd16-5224-4a29-9b77-1a096ff2bbfe}, !- Source Object - 7, !- Outlet Port - {b11d3166-a0eb-4cd6-a457-53401f7a5a9c}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {c8a1b8ee-143b-4fd0-b1df-eb0e1147db08}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {7e474772-79f0-4bfd-a598-ce3ce0179515}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {7fb8dfe0-958d-4cd9-b3e3-e889911aac9d}, !- 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, - {7fb8dfe0-958d-4cd9-b3e3-e889911aac9d}, !- Handle - Controller Mechanical Ventilation 8, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {1c396646-f08d-4db2-8a68-80a75ed32152}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC OA System, !- Name - {c8a1b8ee-143b-4fd0-b1df-eb0e1147db08}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {cfe73c27-2d2d-4d7c-bc03-ce9627d73d92}, !- Mixed Air Node Name - {9a30ea10-bcdc-4bb9-92c7-74fdc9b482e9}, !- Outdoor Air Stream Node Name - {d130b92d-855b-45ee-ba36-c278e2934581}, !- Relief Air Stream Node Name - {aa06910b-41b7-4c5f-8ecd-ca02a1946dce}; !- Return Air Stream Node Name - -OS:Node, - {9bcdee05-5fae-4207-bfe4-04d1f6c76002}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {9a30ea10-bcdc-4bb9-92c7-74fdc9b482e9}; !- Outlet Port - -OS:Connection, - {9a30ea10-bcdc-4bb9-92c7-74fdc9b482e9}, !- Handle - {6a1e9724-1f14-4c26-a138-45110233da37}, !- Name - {9bcdee05-5fae-4207-bfe4-04d1f6c76002}, !- Source Object - 3, !- Outlet Port - {1c396646-f08d-4db2-8a68-80a75ed32152}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {6220dda7-b2f8-4fa9-b738-2715c451ab04}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Relief Air Node, !- Name - {d130b92d-855b-45ee-ba36-c278e2934581}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {d130b92d-855b-45ee-ba36-c278e2934581}, !- Handle - {43f3267e-f5e8-4b7d-a3cd-6651ed3752d6}, !- Name - {1c396646-f08d-4db2-8a68-80a75ed32152}, !- Source Object - 7, !- Outlet Port - {6220dda7-b2f8-4fa9-b738-2715c451ab04}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {4fde7ff8-a7a5-4e08-b27a-46d93de183a2}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Mixed Air Node, !- Name - {cfe73c27-2d2d-4d7c-bc03-ce9627d73d92}, !- Inlet Port - {f6a2c70b-3e2a-48df-814e-eb0feea4de5b}; !- Outlet Port - -OS:Connection, - {aa06910b-41b7-4c5f-8ecd-ca02a1946dce}, !- Handle - {28d6a66f-9f67-425a-9b74-f30f2992774f}, !- Name - {8f1575b2-be55-4503-8cc3-bddfe4f71649}, !- Source Object - 3, !- Outlet Port - {1c396646-f08d-4db2-8a68-80a75ed32152}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {cfe73c27-2d2d-4d7c-bc03-ce9627d73d92}, !- Handle - {575b3ee8-326c-4d1c-9561-1b685ed5c187}, !- Name - {1c396646-f08d-4db2-8a68-80a75ed32152}, !- Source Object - 5, !- Outlet Port - {4fde7ff8-a7a5-4e08-b27a-46d93de183a2}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f6a2c70b-3e2a-48df-814e-eb0feea4de5b}, !- Handle - {bf49a556-1f0a-45c5-bf54-6f2a5b75f3a0}, !- Name - {4fde7ff8-a7a5-4e08-b27a-46d93de183a2}, !- Source Object - 3, !- Outlet Port - {a666fd16-5224-4a29-9b77-1a096ff2bbfe}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {0af78174-71e3-46d6-8fa3-df0ddabc6003}, !- Handle - Availability Manager Night Cycle 8, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {ad8378c0-50d5-4db3-8e9d-7929dfcf68b0}, !- Control Zone or Zone List Name - {a79d2248-e930-42f0-abf3-10928f7654b2}, !- Cooling Control Zone or Zone List Name - {b9b5f33e-f3a9-4143-a038-18b3a0c6cf18}, !- Heating Control Zone or Zone List Name - {22e60ea1-7a1b-4faa-a614-b232f1c1eb0c}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {ad8378c0-50d5-4db3-8e9d-7929dfcf68b0}, !- Handle - Availability Manager Night Cycle 8 Control Zone List; !- Name - -OS:ModelObjectList, - {a79d2248-e930-42f0-abf3-10928f7654b2}, !- Handle - Availability Manager Night Cycle 8 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {b9b5f33e-f3a9-4143-a038-18b3a0c6cf18}, !- Handle - Availability Manager Night Cycle 8 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {22e60ea1-7a1b-4faa-a614-b232f1c1eb0c}, !- Handle - Availability Manager Night Cycle 8 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {d70a3cbb-6059-40f0-b622-74fddc574b29}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {1719fa00-be19-46ea-86be-f05edc0f3065}, !- Air Inlet Node Name - {53fdb39f-de43-453b-9301-946c61eed898}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {221a3613-1a00-4822-bc9e-0c454eefe4b8}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground Return Air Node, !- Name - {90cee586-feb9-4972-ba64-82f5ddc334f8}, !- Inlet Port - {bf2634b5-87c8-4cd1-989f-10aa1622907c}; !- Outlet Port - -OS:Connection, - {e35ab2ac-f359-40c0-8bf7-deceec8f946b}, !- Handle - {2c818d0e-b3c0-42d3-b92a-ab047258f7b6}, !- Name - {4e5f198f-5b8c-42b7-b7c1-9379758701ae}, !- Source Object - 3, !- Outlet Port - {76d977a3-6f25-4b0d-8159-af3f858de483}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {90cee586-feb9-4972-ba64-82f5ddc334f8}, !- Handle - {ca056d3d-8dc4-4199-8f18-e75f287695f6}, !- Name - {96cf45ee-8880-4786-8842-3b4f2775dee3}, !- Source Object - 3, !- Outlet Port - {221a3613-1a00-4822-bc9e-0c454eefe4b8}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {bf2634b5-87c8-4cd1-989f-10aa1622907c}, !- Handle - {b5c53ff1-3795-43ea-9b24-bd8e6bfaee57}, !- Name - {221a3613-1a00-4822-bc9e-0c454eefe4b8}, !- Source Object - 3, !- Outlet Port - {a82dab31-f699-4466-a245-a87ab0bbe564}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {429792ab-dc1d-481f-bf11-40a2d7e76f7f}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {565db3f1-5b90-4102-8618-010f000c1641}, !- Inlet Port - {1719fa00-be19-46ea-86be-f05edc0f3065}; !- Outlet Port - -OS:Connection, - {565db3f1-5b90-4102-8618-010f000c1641}, !- Handle - {28832b25-ccb7-4fde-a862-130979aed389}, !- Name - {a9864334-3de6-4a58-9238-f7bb9e40c0ed}, !- Source Object - 3, !- Outlet Port - {429792ab-dc1d-481f-bf11-40a2d7e76f7f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {1719fa00-be19-46ea-86be-f05edc0f3065}, !- Handle - {b885348c-d69e-4484-b257-c066da7eb9db}, !- Name - {429792ab-dc1d-481f-bf11-40a2d7e76f7f}, !- Source Object - 3, !- Outlet Port - {d70a3cbb-6059-40f0-b622-74fddc574b29}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {53fdb39f-de43-453b-9301-946c61eed898}, !- Handle - {75e22046-5706-42e1-a3d5-6a976caea965}, !- Name - {d70a3cbb-6059-40f0-b622-74fddc574b29}, !- Source Object - 4, !- Outlet Port - {4e5f198f-5b8c-42b7-b7c1-9379758701ae}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC, !- Name - , !- Controller List Name - {55f06048-e023-45bf-bfe4-5a4f07fd8e6d}, !- Availability Schedule - {c698a0ec-7e02-4406-849f-0def5fa44ca6}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {0850d9a8-dcf9-449c-9241-fe3cd656f358}, !- Supply Side Inlet Node Name - {b9597a31-7698-4e83-b5ca-8f47b15f3e3f}, !- Demand Side Outlet Node Name - {0dc1ca08-5b89-4184-8bdc-49622cad052e}, !- Demand Side Inlet Node A - {13e43726-3956-4fa5-9500-7547db3b4250}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {bbc17665-760d-4ae7-a616-ad311b67bff8}, !- Demand Mixer Name - {ea6632f6-4657-4c49-9d9f-cb717643b7e0}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {00d993b8-f47a-46fc-9470-ffba053f35bb}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Supply Inlet Node, !- Name - {0850d9a8-dcf9-449c-9241-fe3cd656f358}, !- Inlet Port - {edec5a52-87e9-4ac8-a7eb-9c7a6201a787}; !- Outlet Port - -OS:Node, - {5e162b03-20c1-4ab1-80a8-7aa966dfdb50}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Supply Outlet Node, !- Name - {2520214f-a093-4d1a-bd57-01bbfecc46c4}, !- Inlet Port - {13e43726-3956-4fa5-9500-7547db3b4250}; !- Outlet Port - -OS:Connection, - {0850d9a8-dcf9-449c-9241-fe3cd656f358}, !- Handle - {53ded79a-beca-4429-b7bd-084f97c1c0cf}, !- Name - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- Source Object - 8, !- Outlet Port - {00d993b8-f47a-46fc-9470-ffba053f35bb}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {13e43726-3956-4fa5-9500-7547db3b4250}, !- Handle - {08c4c7bf-3e44-4794-a1af-4ce63ba0c8ca}, !- Name - {5e162b03-20c1-4ab1-80a8-7aa966dfdb50}, !- Source Object - 3, !- Outlet Port - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {5b87d9a9-6d39-4d31-aac3-30d18edbb6da}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Demand Inlet Node, !- Name - {0dc1ca08-5b89-4184-8bdc-49622cad052e}, !- Inlet Port - {9402ee06-b7b0-49e1-b9ba-2667720b3744}; !- Outlet Port - -OS:Node, - {aa8f031e-a003-4d09-973b-ee4e3c69dc4c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Demand Outlet Node, !- Name - {13ca32ac-4397-4733-9616-8bac26cb64cc}, !- Inlet Port - {b9597a31-7698-4e83-b5ca-8f47b15f3e3f}; !- Outlet Port - -OS:Node, - {0025a9de-0de7-47a6-8dac-f03b2bf8efdd}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Diffuser Outlet Air Node, !- Name - {f37c8f59-3a58-4b2d-b385-f939588704ba}, !- Inlet Port - {8e71d287-ec23-4972-8c2c-40ed33358d5d}; !- Outlet Port - -OS:Connection, - {0dc1ca08-5b89-4184-8bdc-49622cad052e}, !- Handle - {c22c2644-9042-4c04-beeb-f7f45a760f1d}, !- Name - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- Source Object - 10, !- Outlet Port - {5b87d9a9-6d39-4d31-aac3-30d18edbb6da}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {b9597a31-7698-4e83-b5ca-8f47b15f3e3f}, !- Handle - {24aa2575-0246-4288-8dc5-4126327081e7}, !- Name - {aa8f031e-a003-4d09-973b-ee4e3c69dc4c}, !- Source Object - 3, !- Outlet Port - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {ea6632f6-4657-4c49-9d9f-cb717643b7e0}, !- Handle - Air Loop HVAC Zone Splitter 9, !- Name - {9402ee06-b7b0-49e1-b9ba-2667720b3744}, !- Inlet Node Name - {38d04f55-dd11-4d19-a381-86035486ff3b}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {bbc17665-760d-4ae7-a616-ad311b67bff8}, !- Handle - Air Loop HVAC Zone Mixer 9, !- Name - {13ca32ac-4397-4733-9616-8bac26cb64cc}, !- Outlet Node Name - {a7c69bcd-ba12-423d-bf02-6968b4f89b66}; !- Inlet Node Name 1 - -OS:Connection, - {9402ee06-b7b0-49e1-b9ba-2667720b3744}, !- Handle - {977b5be0-f1e0-4c04-afdf-e464f0919e0d}, !- Name - {5b87d9a9-6d39-4d31-aac3-30d18edbb6da}, !- Source Object - 3, !- Outlet Port - {ea6632f6-4657-4c49-9d9f-cb717643b7e0}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {13ca32ac-4397-4733-9616-8bac26cb64cc}, !- Handle - {1361d86c-6c07-42ee-a0fb-a14fa5abb0dd}, !- Name - {bbc17665-760d-4ae7-a616-ad311b67bff8}, !- Source Object - 2, !- Outlet Port - {aa8f031e-a003-4d09-973b-ee4e3c69dc4c}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {52e1fca0-9112-46a6-b405-e189303e1335}, !- Handle - {bbf36a24-c0a3-4bab-9278-d13527208e85}, !- 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, - {c698a0ec-7e02-4406-849f-0def5fa44ca6}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 8, !- Name - {22f08032-112f-44cb-b7b0-96d4cba68bb9}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {2857f084-83a9-4401-8ec4-37e2b3578660}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- Control Zone Name - {5e162b03-20c1-4ab1-80a8-7aa966dfdb50}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {e0250872-66b1-40a5-bd1a-08e417dff36d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {d7f415cb-9881-4130-8d05-3f01c28959d9}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {73ac3073-534a-4a96-8270-2ca3db643c15}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC 1spd DX AC Clg Coil 4kBtu/hr 11.06SEER 3kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {4444034d-0ab3-498d-9867-a7da344629f8}, !- Handle - Curve Biquadratic 33, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {623ced82-6e16-4c7e-b274-79568b79000d}, !- Handle - Curve Quadratic 49, !- 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, - {1d5d6b3a-faaf-4a04-b3f2-6f0fc0f84c8e}, !- Handle - Curve Biquadratic 34, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {20fe3083-f6d4-4a6f-8f08-244ee05626f4}, !- Handle - Curve Quadratic 50, !- 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, - {1dd3df1a-99c0-4cc9-8c0e-af1b863e9bd4}, !- Handle - Curve Quadratic 51, !- 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, - {d43846c4-caed-446c-8702-645837f4781d}, !- Handle - Curve Biquadratic 35, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {ca84f8d5-6836-4287-a981-44bacf02ae7b}, !- Handle - Curve Quadratic 52, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {716e2cee-d20c-4bb2-b8ed-2eeeff806451}, !- Handle - Curve Biquadratic 36, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {af4dad17-8457-4e86-bf0c-759babf6525c}, !- Handle - Curve Quadratic 53, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {4b56b7a8-0106-4f34-8283-f7713a8e16ef}, !- Handle - Curve Quadratic 54, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {a918dd3c-207a-4a73-9ce6-8ba814f93c5d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {a27b34ef-bba4-42f9-881c-c29131a827d2}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {6313c43d-1134-4247-9f35-d4b2352afc76}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {a27b34ef-bba4-42f9-881c-c29131a827d2}, !- Handle - Fan On Off Power Curve 8, !- 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, - {6313c43d-1134-4247-9f35-d4b2352afc76}, !- Handle - Fan On Off Efficiency Curve 8, !- 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:AirLoopHVAC:UnitarySystem, - {7e45f95c-f84e-49ee-8d36-edb5951fe1b8}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {f77bbc2d-df50-46c6-a553-fe90e880a1bb}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {be49e7ee-0fa0-4aef-9319-537a4378c036}, !- Air Inlet Node Name - {2520214f-a093-4d1a-bd57-01bbfecc46c4}, !- Air Outlet Node Name - {a918dd3c-207a-4a73-9ce6-8ba814f93c5d}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {55f06048-e023-45bf-bfe4-5a4f07fd8e6d}, !- Supply Air Fan Operating Mode Schedule Name - {e0250872-66b1-40a5-bd1a-08e417dff36d}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {73ac3073-534a-4a96-8270-2ca3db643c15}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {d7f415cb-9881-4130-8d05-3f01c28959d9}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {2520214f-a093-4d1a-bd57-01bbfecc46c4}, !- Handle - {0015a6ce-7aa3-4e4f-9329-87156545b2a4}, !- Name - {7e45f95c-f84e-49ee-8d36-edb5951fe1b8}, !- Source Object - 7, !- Outlet Port - {5e162b03-20c1-4ab1-80a8-7aa966dfdb50}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {c77ae511-29f8-41e6-822e-3983859596ad}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {487c0166-8ddf-419c-b835-0d567969a3aa}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {602753a6-28b0-41d7-98f0-a5e979384faa}, !- 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, - {602753a6-28b0-41d7-98f0-a5e979384faa}, !- Handle - Controller Mechanical Ventilation 9, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {f287daa7-cb83-4523-9e6a-8ec6cf9b6030}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC OA System, !- Name - {c77ae511-29f8-41e6-822e-3983859596ad}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {9bc2b177-3dca-419d-9c26-778f414c4e23}, !- Mixed Air Node Name - {d01bf0c1-6b53-4064-9a82-cfad09e4f5a9}, !- Outdoor Air Stream Node Name - {9f1dff71-7e9f-4aec-b0d4-5dd2b72ef70d}, !- Relief Air Stream Node Name - {edec5a52-87e9-4ac8-a7eb-9c7a6201a787}; !- Return Air Stream Node Name - -OS:Node, - {ded16aad-626f-415f-ac41-6ec9b61f6542}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {d01bf0c1-6b53-4064-9a82-cfad09e4f5a9}; !- Outlet Port - -OS:Connection, - {d01bf0c1-6b53-4064-9a82-cfad09e4f5a9}, !- Handle - {03cd9424-943f-45b5-b537-3bf1b3d339a2}, !- Name - {ded16aad-626f-415f-ac41-6ec9b61f6542}, !- Source Object - 3, !- Outlet Port - {f287daa7-cb83-4523-9e6a-8ec6cf9b6030}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {02e09e5f-408d-46fc-abcd-6711ce59ea51}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Relief Air Node, !- Name - {9f1dff71-7e9f-4aec-b0d4-5dd2b72ef70d}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {9f1dff71-7e9f-4aec-b0d4-5dd2b72ef70d}, !- Handle - {3e88154e-65f2-4312-9669-8e7c4d3b04e5}, !- Name - {f287daa7-cb83-4523-9e6a-8ec6cf9b6030}, !- Source Object - 7, !- Outlet Port - {02e09e5f-408d-46fc-abcd-6711ce59ea51}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {fc46bff8-ef5e-46e5-8644-7d0b401ce040}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Mixed Air Node, !- Name - {9bc2b177-3dca-419d-9c26-778f414c4e23}, !- Inlet Port - {be49e7ee-0fa0-4aef-9319-537a4378c036}; !- Outlet Port - -OS:Connection, - {edec5a52-87e9-4ac8-a7eb-9c7a6201a787}, !- Handle - {30b35a26-20ac-4027-a35a-80db50559403}, !- Name - {00d993b8-f47a-46fc-9470-ffba053f35bb}, !- Source Object - 3, !- Outlet Port - {f287daa7-cb83-4523-9e6a-8ec6cf9b6030}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {9bc2b177-3dca-419d-9c26-778f414c4e23}, !- Handle - {a645608f-1b98-4f24-a491-9d8f4a9b2d89}, !- Name - {f287daa7-cb83-4523-9e6a-8ec6cf9b6030}, !- Source Object - 5, !- Outlet Port - {fc46bff8-ef5e-46e5-8644-7d0b401ce040}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {be49e7ee-0fa0-4aef-9319-537a4378c036}, !- Handle - {9e5d9367-7a14-40c4-bb53-d614a7faf75e}, !- Name - {fc46bff8-ef5e-46e5-8644-7d0b401ce040}, !- Source Object - 3, !- Outlet Port - {7e45f95c-f84e-49ee-8d36-edb5951fe1b8}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {22f08032-112f-44cb-b7b0-96d4cba68bb9}, !- Handle - Availability Manager Night Cycle 9, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {dc37f448-9bd4-42c1-bd07-6b639ef4944a}, !- Control Zone or Zone List Name - {3808f8f6-a418-45f8-a7ea-0cc1fc1d6cce}, !- Cooling Control Zone or Zone List Name - {2b32b4d5-4d50-4ab3-a177-8bed37b37a9c}, !- Heating Control Zone or Zone List Name - {7f407f8a-5223-4694-8bca-603fce62b04b}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {dc37f448-9bd4-42c1-bd07-6b639ef4944a}, !- Handle - Availability Manager Night Cycle 9 Control Zone List; !- Name - -OS:ModelObjectList, - {3808f8f6-a418-45f8-a7ea-0cc1fc1d6cce}, !- Handle - Availability Manager Night Cycle 9 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {2b32b4d5-4d50-4ab3-a177-8bed37b37a9c}, !- Handle - Availability Manager Night Cycle 9 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {7f407f8a-5223-4694-8bca-603fce62b04b}, !- Handle - Availability Manager Night Cycle 9 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {da8d4dd0-012d-4804-8092-c7f58af2c758}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {1e23c2ef-f682-4b62-8ec1-f0212a412cc6}, !- Air Inlet Node Name - {f37c8f59-3a58-4b2d-b385-f939588704ba}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {a2538970-5f13-4d03-a8d9-23a8fbb87b1c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground Return Air Node, !- Name - {a30d4b98-8b85-45cd-b822-f56474461ec3}, !- Inlet Port - {a7c69bcd-ba12-423d-bf02-6968b4f89b66}; !- Outlet Port - -OS:Connection, - {8e71d287-ec23-4972-8c2c-40ed33358d5d}, !- Handle - {7717397c-0118-4690-98a2-3a01e56cc32b}, !- Name - {0025a9de-0de7-47a6-8dac-f03b2bf8efdd}, !- Source Object - 3, !- Outlet Port - {a5629dd0-636d-4f1b-8244-34b07d81d901}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {a30d4b98-8b85-45cd-b822-f56474461ec3}, !- Handle - {f2e25b2b-0552-4400-883d-cfa4522a3eca}, !- Name - {a5aa2c73-c2ee-44d1-819d-4c8a523cd425}, !- Source Object - 3, !- Outlet Port - {a2538970-5f13-4d03-a8d9-23a8fbb87b1c}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a7c69bcd-ba12-423d-bf02-6968b4f89b66}, !- Handle - {37a992ff-90cb-45f8-9bbc-d72086d1e13e}, !- Name - {a2538970-5f13-4d03-a8d9-23a8fbb87b1c}, !- Source Object - 3, !- Outlet Port - {bbc17665-760d-4ae7-a616-ad311b67bff8}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {86a00152-1462-446c-a085-be5208cdd493}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Diffuser Inlet Air Node, !- Name - {38d04f55-dd11-4d19-a381-86035486ff3b}, !- Inlet Port - {1e23c2ef-f682-4b62-8ec1-f0212a412cc6}; !- Outlet Port - -OS:Connection, - {38d04f55-dd11-4d19-a381-86035486ff3b}, !- Handle - {79e4d1ff-39c4-471c-8c8e-dc4699a6e890}, !- Name - {ea6632f6-4657-4c49-9d9f-cb717643b7e0}, !- Source Object - 3, !- Outlet Port - {86a00152-1462-446c-a085-be5208cdd493}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {1e23c2ef-f682-4b62-8ec1-f0212a412cc6}, !- Handle - {fe651ad9-9706-4839-bf74-1b6afd3e9a9d}, !- Name - {86a00152-1462-446c-a085-be5208cdd493}, !- Source Object - 3, !- Outlet Port - {da8d4dd0-012d-4804-8092-c7f58af2c758}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {f37c8f59-3a58-4b2d-b385-f939588704ba}, !- Handle - {7bdbc243-cb1b-4ebf-be5e-87d6eee9f39a}, !- Name - {da8d4dd0-012d-4804-8092-c7f58af2c758}, !- Source Object - 4, !- Outlet Port - {0025a9de-0de7-47a6-8dac-f03b2bf8efdd}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC, !- Name - , !- Controller List Name - {7076e66c-db6f-4de6-b1df-13d6980fbcc6}, !- Availability Schedule - {c8e52227-6692-49b4-92ca-1ee4a143ea3e}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {7132054f-861b-4a21-8a1a-34e850d6ae9e}, !- Supply Side Inlet Node Name - {d0bcf35c-ac42-4c40-9118-260dfa8d14c5}, !- Demand Side Outlet Node Name - {29152540-31cd-4b53-8a0c-9fc39a1e1dc0}, !- Demand Side Inlet Node A - {33528394-8295-40a8-9dde-e68182e07ac5}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {3626cdf5-813d-4769-a2ac-ca40e92c242e}, !- Demand Mixer Name - {44c81c8e-4820-4de5-a7e1-46bad1cd4528}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {5beaabad-35e7-4d63-9e6f-5c82e429b576}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Supply Inlet Node, !- Name - {7132054f-861b-4a21-8a1a-34e850d6ae9e}, !- Inlet Port - {d3e86bce-7a0a-4fc4-8800-2cd1822d181a}; !- Outlet Port - -OS:Node, - {95c102fb-5b45-4648-a859-73005bf45c84}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Supply Outlet Node, !- Name - {00ca93d6-9227-46b3-9e21-8b220d414f51}, !- Inlet Port - {33528394-8295-40a8-9dde-e68182e07ac5}; !- Outlet Port - -OS:Connection, - {7132054f-861b-4a21-8a1a-34e850d6ae9e}, !- Handle - {19274e9e-a64b-4990-a477-766ad1c1e188}, !- Name - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- Source Object - 8, !- Outlet Port - {5beaabad-35e7-4d63-9e6f-5c82e429b576}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {33528394-8295-40a8-9dde-e68182e07ac5}, !- Handle - {06fb10f7-8632-4a7b-8c72-48e9dec9bcf3}, !- Name - {95c102fb-5b45-4648-a859-73005bf45c84}, !- Source Object - 3, !- Outlet Port - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {72621862-6287-45b2-add9-68a31684bf38}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Demand Inlet Node, !- Name - {29152540-31cd-4b53-8a0c-9fc39a1e1dc0}, !- Inlet Port - {6bf0b07e-2299-4a46-adff-e19455227bb1}; !- Outlet Port - -OS:Node, - {a8a56ef8-b83b-4784-a185-7be334b29b2c}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Demand Outlet Node, !- Name - {9c2a7ce4-dc37-4869-90d7-d494295b18f4}, !- Inlet Port - {d0bcf35c-ac42-4c40-9118-260dfa8d14c5}; !- Outlet Port - -OS:Node, - {982726b1-feff-425d-b105-c2fb2ddaf7de}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {1e3e0da4-6773-419d-84e4-985565cd9d07}, !- Inlet Port - {9f847e26-8044-4de1-bd88-c6e39d337d47}; !- Outlet Port - -OS:Connection, - {29152540-31cd-4b53-8a0c-9fc39a1e1dc0}, !- Handle - {5bdd9ff1-75ae-4a1c-86a2-39386323742b}, !- Name - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- Source Object - 10, !- Outlet Port - {72621862-6287-45b2-add9-68a31684bf38}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d0bcf35c-ac42-4c40-9118-260dfa8d14c5}, !- Handle - {c52ea046-0dab-4022-990f-ad3474a823ee}, !- Name - {a8a56ef8-b83b-4784-a185-7be334b29b2c}, !- Source Object - 3, !- Outlet Port - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {44c81c8e-4820-4de5-a7e1-46bad1cd4528}, !- Handle - Air Loop HVAC Zone Splitter 10, !- Name - {6bf0b07e-2299-4a46-adff-e19455227bb1}, !- Inlet Node Name - {b812c9f7-1586-4e10-941e-1eac1df2d720}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {3626cdf5-813d-4769-a2ac-ca40e92c242e}, !- Handle - Air Loop HVAC Zone Mixer 10, !- Name - {9c2a7ce4-dc37-4869-90d7-d494295b18f4}, !- Outlet Node Name - {f91bcf1a-3abc-4833-8352-4ddeaf2296d1}; !- Inlet Node Name 1 - -OS:Connection, - {6bf0b07e-2299-4a46-adff-e19455227bb1}, !- Handle - {782ff8a5-0d84-471e-872b-ba5e85f78a2f}, !- Name - {72621862-6287-45b2-add9-68a31684bf38}, !- Source Object - 3, !- Outlet Port - {44c81c8e-4820-4de5-a7e1-46bad1cd4528}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9c2a7ce4-dc37-4869-90d7-d494295b18f4}, !- Handle - {5d5567a4-1a1c-42a5-acb3-73807ff8204f}, !- Name - {3626cdf5-813d-4769-a2ac-ca40e92c242e}, !- Source Object - 2, !- Outlet Port - {a8a56ef8-b83b-4784-a185-7be334b29b2c}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {5577b738-8f57-4e05-bd1a-e502ebf5b8b5}, !- Handle - {a26c84b8-a623-4d39-8299-77cf2124f059}, !- 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, - {c8e52227-6692-49b4-92ca-1ee4a143ea3e}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 9, !- Name - {b68bf1e4-6cf4-4338-a679-26e87fcbe78c}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {8809b4ed-fcaa-4802-b6d0-526d5333e227}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- Control Zone Name - {95c102fb-5b45-4648-a859-73005bf45c84}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {128d4454-fac7-4541-8eea-83a42b53cba5}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {98cf0291-b7d4-419d-a7ed-5e264386178a}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {3f198c97-b0aa-45f5-9210-20e76ffd03d5}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC 1spd DX AC Clg Coil 24kBtu/hr 11.06SEER 20kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {69d8b8b2-417c-4889-8057-2c07280d418c}, !- Handle - Curve Biquadratic 37, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {e451579b-2fa0-4198-93ef-d88c64258f1c}, !- Handle - Curve Quadratic 55, !- 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, - {412bed5d-31d6-447d-8c3d-8393cf6df6de}, !- Handle - Curve Biquadratic 38, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {9c8bfc6f-1fd0-4091-a160-d7eff4910e4a}, !- Handle - Curve Quadratic 56, !- 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, - {a97df117-b56d-4f34-be60-56bfcb990691}, !- Handle - Curve Quadratic 57, !- 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, - {9b17d2b3-0665-422a-8567-91e199d29ba0}, !- Handle - Curve Biquadratic 39, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {f08ec470-b373-44c1-b72b-7732c5f15d00}, !- Handle - Curve Quadratic 58, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {5a6e502b-96aa-4c4f-864a-4510c2347f6a}, !- Handle - Curve Biquadratic 40, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {c6bd92d6-f140-442a-b3bf-f8f08c344620}, !- Handle - Curve Quadratic 59, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {30b24cb9-fd90-4ffc-bc92-7575738171f8}, !- Handle - Curve Quadratic 60, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {9e02e26d-9fe8-438a-9a84-05a56fe90d5c}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {1eac40a1-6f2a-4859-a7d3-987ee35f3112}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {acd845f6-64af-4a72-b0c7-25bd5df5fd15}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {1eac40a1-6f2a-4859-a7d3-987ee35f3112}, !- Handle - Fan On Off Power Curve 9, !- 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, - {acd845f6-64af-4a72-b0c7-25bd5df5fd15}, !- Handle - Fan On Off Efficiency Curve 9, !- 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:AirLoopHVAC:UnitarySystem, - {5ef71690-2333-4e59-a6b4-6c3c31cbfccb}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {b67d2e1d-7c19-477b-91e7-f154754a251c}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {8baf72c0-0ed0-472f-b6a2-04cf6ebd3493}, !- Air Inlet Node Name - {00ca93d6-9227-46b3-9e21-8b220d414f51}, !- Air Outlet Node Name - {9e02e26d-9fe8-438a-9a84-05a56fe90d5c}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {7076e66c-db6f-4de6-b1df-13d6980fbcc6}, !- Supply Air Fan Operating Mode Schedule Name - {128d4454-fac7-4541-8eea-83a42b53cba5}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {3f198c97-b0aa-45f5-9210-20e76ffd03d5}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {98cf0291-b7d4-419d-a7ed-5e264386178a}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {00ca93d6-9227-46b3-9e21-8b220d414f51}, !- Handle - {11c60466-f34b-48e2-97e0-51697324092c}, !- Name - {5ef71690-2333-4e59-a6b4-6c3c31cbfccb}, !- Source Object - 7, !- Outlet Port - {95c102fb-5b45-4648-a859-73005bf45c84}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {69acfdd4-88f2-46de-bc40-0ade0cc52bf0}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {4a31613c-fe21-4a40-8eda-9c0fde663596}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {23df07d6-424b-454a-a330-627dfe0cb3f1}, !- 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, - {23df07d6-424b-454a-a330-627dfe0cb3f1}, !- Handle - Controller Mechanical Ventilation 10, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {d0446f37-c388-4f5b-8c46-865220a2b5c9}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC OA System, !- Name - {69acfdd4-88f2-46de-bc40-0ade0cc52bf0}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {79045a09-882e-42e2-bd85-d7acc9a08f0d}, !- Mixed Air Node Name - {6840542d-d067-4753-a018-7de903fd2041}, !- Outdoor Air Stream Node Name - {a67748b3-76f0-434e-8c02-237cf0869f55}, !- Relief Air Stream Node Name - {d3e86bce-7a0a-4fc4-8800-2cd1822d181a}; !- Return Air Stream Node Name - -OS:Node, - {dc62b26c-093b-4e27-9cd9-d62745240b01}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {6840542d-d067-4753-a018-7de903fd2041}; !- Outlet Port - -OS:Connection, - {6840542d-d067-4753-a018-7de903fd2041}, !- Handle - {c41e7fdc-f14f-407b-aaeb-6395dfc2e348}, !- Name - {dc62b26c-093b-4e27-9cd9-d62745240b01}, !- Source Object - 3, !- Outlet Port - {d0446f37-c388-4f5b-8c46-865220a2b5c9}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {6bdc0e19-7a5b-4b40-83d5-2f1f20e5c620}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Relief Air Node, !- Name - {a67748b3-76f0-434e-8c02-237cf0869f55}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {a67748b3-76f0-434e-8c02-237cf0869f55}, !- Handle - {7447968d-2142-44b4-84b2-8afa53823e65}, !- Name - {d0446f37-c388-4f5b-8c46-865220a2b5c9}, !- Source Object - 7, !- Outlet Port - {6bdc0e19-7a5b-4b40-83d5-2f1f20e5c620}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {05614478-c532-4673-93c8-bd4180c6a47f}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Mixed Air Node, !- Name - {79045a09-882e-42e2-bd85-d7acc9a08f0d}, !- Inlet Port - {8baf72c0-0ed0-472f-b6a2-04cf6ebd3493}; !- Outlet Port - -OS:Connection, - {d3e86bce-7a0a-4fc4-8800-2cd1822d181a}, !- Handle - {774c9736-644f-4176-8c00-8713fb6f5e46}, !- Name - {5beaabad-35e7-4d63-9e6f-5c82e429b576}, !- Source Object - 3, !- Outlet Port - {d0446f37-c388-4f5b-8c46-865220a2b5c9}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {79045a09-882e-42e2-bd85-d7acc9a08f0d}, !- Handle - {b9f925ee-3222-41df-865b-a7bdb369606b}, !- Name - {d0446f37-c388-4f5b-8c46-865220a2b5c9}, !- Source Object - 5, !- Outlet Port - {05614478-c532-4673-93c8-bd4180c6a47f}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {8baf72c0-0ed0-472f-b6a2-04cf6ebd3493}, !- Handle - {15a22854-25da-453f-8df0-76670bf7e563}, !- Name - {05614478-c532-4673-93c8-bd4180c6a47f}, !- Source Object - 3, !- Outlet Port - {5ef71690-2333-4e59-a6b4-6c3c31cbfccb}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {b68bf1e4-6cf4-4338-a679-26e87fcbe78c}, !- Handle - Availability Manager Night Cycle 10, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {6c3f7ee1-06fe-43b7-b1db-44e50acd7a8b}, !- Control Zone or Zone List Name - {9cc7d8cc-1409-4c0b-9f3b-69e901a02606}, !- Cooling Control Zone or Zone List Name - {0bdbffd5-2743-4bbd-9e68-8a4c5c78a11f}, !- Heating Control Zone or Zone List Name - {6c5f2ebf-ada5-44c1-bd3a-c6d9bb3d2563}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {6c3f7ee1-06fe-43b7-b1db-44e50acd7a8b}, !- Handle - Availability Manager Night Cycle 10 Control Zone List; !- Name - -OS:ModelObjectList, - {9cc7d8cc-1409-4c0b-9f3b-69e901a02606}, !- Handle - Availability Manager Night Cycle 10 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {0bdbffd5-2743-4bbd-9e68-8a4c5c78a11f}, !- Handle - Availability Manager Night Cycle 10 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {6c5f2ebf-ada5-44c1-bd3a-c6d9bb3d2563}, !- Handle - Availability Manager Night Cycle 10 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {eb8d0173-5d0f-402f-af98-5132419f137e}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {ed6e4fcf-b719-44ef-871f-f8842401415e}, !- Air Inlet Node Name - {1e3e0da4-6773-419d-84e4-985565cd9d07}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {be31f569-221e-4409-b055-bbb5dc932753}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top Return Air Node, !- Name - {31e5c0be-3283-4206-b6c6-87237f1e7434}, !- Inlet Port - {f91bcf1a-3abc-4833-8352-4ddeaf2296d1}; !- Outlet Port - -OS:Connection, - {9f847e26-8044-4de1-bd88-c6e39d337d47}, !- Handle - {8e2c0d0a-7059-4f90-b0df-55495c47f1f5}, !- Name - {982726b1-feff-425d-b105-c2fb2ddaf7de}, !- Source Object - 3, !- Outlet Port - {342ce193-063e-486d-9f1c-b69918722002}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {31e5c0be-3283-4206-b6c6-87237f1e7434}, !- Handle - {e276deb3-952b-412d-a61c-e6dd26079537}, !- Name - {012e63e8-8632-4fbb-adea-1c1f152d668d}, !- Source Object - 3, !- Outlet Port - {be31f569-221e-4409-b055-bbb5dc932753}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f91bcf1a-3abc-4833-8352-4ddeaf2296d1}, !- Handle - {dd4fe946-383c-4f1a-bab8-2ad9c8c2c43d}, !- Name - {be31f569-221e-4409-b055-bbb5dc932753}, !- Source Object - 3, !- Outlet Port - {3626cdf5-813d-4769-a2ac-ca40e92c242e}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {55d3de82-b502-4052-b203-f4140b528df5}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {b812c9f7-1586-4e10-941e-1eac1df2d720}, !- Inlet Port - {ed6e4fcf-b719-44ef-871f-f8842401415e}; !- Outlet Port - -OS:Connection, - {b812c9f7-1586-4e10-941e-1eac1df2d720}, !- Handle - {1e0563e4-1c57-4b2d-9413-f1668f26b296}, !- Name - {44c81c8e-4820-4de5-a7e1-46bad1cd4528}, !- Source Object - 3, !- Outlet Port - {55d3de82-b502-4052-b203-f4140b528df5}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {ed6e4fcf-b719-44ef-871f-f8842401415e}, !- Handle - {aeb150b4-7f4f-4638-9591-0ff3fd32bb10}, !- Name - {55d3de82-b502-4052-b203-f4140b528df5}, !- Source Object - 3, !- Outlet Port - {eb8d0173-5d0f-402f-af98-5132419f137e}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {1e3e0da4-6773-419d-84e4-985565cd9d07}, !- Handle - {668d3bdd-9eec-43a1-b46b-49b78ecadb88}, !- Name - {eb8d0173-5d0f-402f-af98-5132419f137e}, !- Source Object - 4, !- Outlet Port - {982726b1-feff-425d-b105-c2fb2ddaf7de}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC, !- Name - , !- Controller List Name - {c39d5280-e809-458c-814f-0c81e16be6f4}, !- Availability Schedule - {97aca0e1-a558-43f4-85fa-49a4d49d27e4}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {02a79bc7-b408-42d9-b843-cbcbd8e4d40f}, !- Supply Side Inlet Node Name - {1e006bad-786c-4452-8306-748591877b61}, !- Demand Side Outlet Node Name - {ea4f44a0-3267-40cb-a2ba-c448abd1e9d1}, !- Demand Side Inlet Node A - {671f0af3-861e-4f71-9163-503642468c21}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {c2d8ac7b-b776-4b0c-b2b8-9a32ccf71213}, !- Demand Mixer Name - {216b82b6-c853-40ff-a508-9012be1b6282}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {ab07b6f5-afe8-491f-b78b-a1e89dd9d4cc}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Supply Inlet Node, !- Name - {02a79bc7-b408-42d9-b843-cbcbd8e4d40f}, !- Inlet Port - {6fc21b66-5f8f-464b-a91f-2b0c263d42a5}; !- Outlet Port - -OS:Node, - {1c0e1062-71d9-49a0-9b5c-fe8f1d2f310d}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Supply Outlet Node, !- Name - {0784c22f-ed7f-4545-ab95-105d0ec6981a}, !- Inlet Port - {671f0af3-861e-4f71-9163-503642468c21}; !- Outlet Port - -OS:Connection, - {02a79bc7-b408-42d9-b843-cbcbd8e4d40f}, !- Handle - {82dd4fc7-1395-491e-b2c9-6098c23e67d9}, !- Name - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- Source Object - 8, !- Outlet Port - {ab07b6f5-afe8-491f-b78b-a1e89dd9d4cc}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {671f0af3-861e-4f71-9163-503642468c21}, !- Handle - {ed008d34-a138-47b6-9d11-9b55bfd03f62}, !- Name - {1c0e1062-71d9-49a0-9b5c-fe8f1d2f310d}, !- Source Object - 3, !- Outlet Port - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {13f60475-73a6-4fcc-959f-16cb5ca7e7a4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Demand Inlet Node, !- Name - {ea4f44a0-3267-40cb-a2ba-c448abd1e9d1}, !- Inlet Port - {a8a91acc-9402-4cb5-af72-9040f6a1fd25}; !- Outlet Port - -OS:Node, - {5596ed47-37fb-4970-a1e1-08d4459c0b50}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Demand Outlet Node, !- Name - {83fa390d-36b6-4ca0-95f7-a6ad79d1a357}, !- Inlet Port - {1e006bad-786c-4452-8306-748591877b61}; !- Outlet Port - -OS:Node, - {4d6e7776-94ef-4a10-a487-8da38e023b73}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {8b3367df-0fd0-41d5-b110-a08d2e5b1511}, !- Inlet Port - {2abaf22e-4090-4698-9bc0-77e98995639c}; !- Outlet Port - -OS:Connection, - {ea4f44a0-3267-40cb-a2ba-c448abd1e9d1}, !- Handle - {3f407fd1-4023-40c3-a9c1-f6533ac56422}, !- Name - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- Source Object - 10, !- Outlet Port - {13f60475-73a6-4fcc-959f-16cb5ca7e7a4}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {1e006bad-786c-4452-8306-748591877b61}, !- Handle - {f63d1930-ecf4-46ab-a825-cc12bc82a53e}, !- Name - {5596ed47-37fb-4970-a1e1-08d4459c0b50}, !- Source Object - 3, !- Outlet Port - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {216b82b6-c853-40ff-a508-9012be1b6282}, !- Handle - Air Loop HVAC Zone Splitter 11, !- Name - {a8a91acc-9402-4cb5-af72-9040f6a1fd25}, !- Inlet Node Name - {eea98906-266b-411d-902c-ab39567b79fc}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {c2d8ac7b-b776-4b0c-b2b8-9a32ccf71213}, !- Handle - Air Loop HVAC Zone Mixer 11, !- Name - {83fa390d-36b6-4ca0-95f7-a6ad79d1a357}, !- Outlet Node Name - {e65b999b-deed-4dc7-9084-b130fd7a43ce}; !- Inlet Node Name 1 - -OS:Connection, - {a8a91acc-9402-4cb5-af72-9040f6a1fd25}, !- Handle - {0c1a93a8-f8fa-46d6-836a-0b23919dc749}, !- Name - {13f60475-73a6-4fcc-959f-16cb5ca7e7a4}, !- Source Object - 3, !- Outlet Port - {216b82b6-c853-40ff-a508-9012be1b6282}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {83fa390d-36b6-4ca0-95f7-a6ad79d1a357}, !- Handle - {ab410599-5580-4b3b-a0d6-c5c709530117}, !- Name - {c2d8ac7b-b776-4b0c-b2b8-9a32ccf71213}, !- Source Object - 2, !- Outlet Port - {5596ed47-37fb-4970-a1e1-08d4459c0b50}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {39ce4fea-c4fe-4c24-9573-9c18f6ecba0f}, !- Handle - {8451d36d-7800-4779-8ac0-0ef17a3cad75}, !- 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, - {97aca0e1-a558-43f4-85fa-49a4d49d27e4}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 10, !- Name - {274e4e20-c0a4-4990-8126-87bb7285ff10}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {73e68087-53db-429b-8ef0-cc7f216015a3}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- Control Zone Name - {1c0e1062-71d9-49a0-9b5c-fe8f1d2f310d}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {3a1b6a94-4c33-479a-a775-477ee53af5a6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {4f938900-f51b-42a7-a165-bf1cc6a8bbd4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {912e0cf1-326a-413a-a81e-f77f979a0e02}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC 1spd DX AC Clg Coil 8kBtu/hr 11.06SEER 7kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {4802986a-b6eb-48f2-af90-8bab7149da53}, !- Handle - Curve Biquadratic 41, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {2701e402-7ae0-4efb-b580-dd7f32635a3d}, !- Handle - Curve Quadratic 61, !- 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, - {e7e0d1b4-514a-4bd4-8f06-9c6c80d20ffd}, !- Handle - Curve Biquadratic 42, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {a90f223a-2714-4c4f-abcb-0aa9895ec35e}, !- Handle - Curve Quadratic 62, !- 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, - {e714ee6d-5899-425e-835d-f50c7fac8b84}, !- Handle - Curve Quadratic 63, !- 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, - {59f34fc4-93da-4231-bd4c-1f12c4f52327}, !- Handle - Curve Biquadratic 43, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {2076c5e9-f81b-4f04-8e50-5d51f163f38c}, !- Handle - Curve Quadratic 64, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {6fe2fd87-0c8f-4973-8197-29cb713fec13}, !- Handle - Curve Biquadratic 44, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {2fb2e878-f31b-4b56-83a5-0f81d4673c25}, !- Handle - Curve Quadratic 65, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {6eb97b65-413a-45db-b446-870eb11bca43}, !- Handle - Curve Quadratic 66, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {ef1786c0-9ff4-4b9c-8193-051a2a650b87}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {6e8a65c2-7b3a-45c6-8819-baa0cd41ee9f}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {c40d1d9b-3b33-47ff-a298-bcc1e80be909}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {6e8a65c2-7b3a-45c6-8819-baa0cd41ee9f}, !- Handle - Fan On Off Power Curve 10, !- 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, - {c40d1d9b-3b33-47ff-a298-bcc1e80be909}, !- Handle - Fan On Off Efficiency Curve 10, !- 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:AirLoopHVAC:UnitarySystem, - {0ed07087-4309-479d-a15b-091cc1737fec}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {27caaeb4-7df2-4d4f-ade6-bf9edf981dc7}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {278151fb-7f5f-4dc1-bbb3-1d3a10ca0fe5}, !- Air Inlet Node Name - {0784c22f-ed7f-4545-ab95-105d0ec6981a}, !- Air Outlet Node Name - {ef1786c0-9ff4-4b9c-8193-051a2a650b87}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {c39d5280-e809-458c-814f-0c81e16be6f4}, !- Supply Air Fan Operating Mode Schedule Name - {3a1b6a94-4c33-479a-a775-477ee53af5a6}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {912e0cf1-326a-413a-a81e-f77f979a0e02}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {4f938900-f51b-42a7-a165-bf1cc6a8bbd4}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {0784c22f-ed7f-4545-ab95-105d0ec6981a}, !- Handle - {ec6521e8-9c43-46a6-ad5b-d5fcc82fd08e}, !- Name - {0ed07087-4309-479d-a15b-091cc1737fec}, !- Source Object - 7, !- Outlet Port - {1c0e1062-71d9-49a0-9b5c-fe8f1d2f310d}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {7c70135c-9fe7-430d-952f-da74b2ef72e0}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {2b86d91e-e567-4d48-8a82-f2112562ac13}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {10d83f30-af45-4ba5-9068-72b2f51d41ba}, !- 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, - {10d83f30-af45-4ba5-9068-72b2f51d41ba}, !- Handle - Controller Mechanical Ventilation 11, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {87dba7c4-8c1c-4e0f-a009-795f9281615f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC OA System, !- Name - {7c70135c-9fe7-430d-952f-da74b2ef72e0}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {410ff66c-a153-4b76-9871-5ef0b9d6738b}, !- Mixed Air Node Name - {a1cc7ccf-103a-4018-adde-40df91559fab}, !- Outdoor Air Stream Node Name - {06c268ff-0966-40d6-bfb0-304d80657c9d}, !- Relief Air Stream Node Name - {6fc21b66-5f8f-464b-a91f-2b0c263d42a5}; !- Return Air Stream Node Name - -OS:Node, - {435af381-444c-417a-b138-ca23d1d72488}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {a1cc7ccf-103a-4018-adde-40df91559fab}; !- Outlet Port - -OS:Connection, - {a1cc7ccf-103a-4018-adde-40df91559fab}, !- Handle - {4625d9ee-d76d-4f54-897b-84d1e05075e7}, !- Name - {435af381-444c-417a-b138-ca23d1d72488}, !- Source Object - 3, !- Outlet Port - {87dba7c4-8c1c-4e0f-a009-795f9281615f}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {3ea635fc-e8ca-4915-816a-7524069254ab}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Relief Air Node, !- Name - {06c268ff-0966-40d6-bfb0-304d80657c9d}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {06c268ff-0966-40d6-bfb0-304d80657c9d}, !- Handle - {6abc0915-442c-47f0-8110-d9e45fb5b06b}, !- Name - {87dba7c4-8c1c-4e0f-a009-795f9281615f}, !- Source Object - 7, !- Outlet Port - {3ea635fc-e8ca-4915-816a-7524069254ab}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {fe16e212-2b49-49cc-9d0c-6ff4809bef16}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Mixed Air Node, !- Name - {410ff66c-a153-4b76-9871-5ef0b9d6738b}, !- Inlet Port - {278151fb-7f5f-4dc1-bbb3-1d3a10ca0fe5}; !- Outlet Port - -OS:Connection, - {6fc21b66-5f8f-464b-a91f-2b0c263d42a5}, !- Handle - {4d1d11e2-8dec-42b5-9400-3d30a0e681f5}, !- Name - {ab07b6f5-afe8-491f-b78b-a1e89dd9d4cc}, !- Source Object - 3, !- Outlet Port - {87dba7c4-8c1c-4e0f-a009-795f9281615f}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {410ff66c-a153-4b76-9871-5ef0b9d6738b}, !- Handle - {da72b2d5-959b-4de5-9eee-fed6e7c24f05}, !- Name - {87dba7c4-8c1c-4e0f-a009-795f9281615f}, !- Source Object - 5, !- Outlet Port - {fe16e212-2b49-49cc-9d0c-6ff4809bef16}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {278151fb-7f5f-4dc1-bbb3-1d3a10ca0fe5}, !- Handle - {cf586fc5-32a4-4cb6-8098-baac513a12c7}, !- Name - {fe16e212-2b49-49cc-9d0c-6ff4809bef16}, !- Source Object - 3, !- Outlet Port - {0ed07087-4309-479d-a15b-091cc1737fec}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {274e4e20-c0a4-4990-8126-87bb7285ff10}, !- Handle - Availability Manager Night Cycle 11, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {00370c07-a311-435b-ac2b-458b3850d717}, !- Control Zone or Zone List Name - {2e5f4536-d69c-4ad4-8c20-37e65ff39f75}, !- Cooling Control Zone or Zone List Name - {f3bb5b19-1ed5-47fc-b1c5-1029ab796550}, !- Heating Control Zone or Zone List Name - {8fc4b7b1-9f9c-4778-9abc-e271b604bfb5}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {00370c07-a311-435b-ac2b-458b3850d717}, !- Handle - Availability Manager Night Cycle 11 Control Zone List; !- Name - -OS:ModelObjectList, - {2e5f4536-d69c-4ad4-8c20-37e65ff39f75}, !- Handle - Availability Manager Night Cycle 11 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {f3bb5b19-1ed5-47fc-b1c5-1029ab796550}, !- Handle - Availability Manager Night Cycle 11 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {8fc4b7b1-9f9c-4778-9abc-e271b604bfb5}, !- Handle - Availability Manager Night Cycle 11 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {643c31db-1e6d-4cee-b1e3-42e498d68da6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {24ed6761-a577-441d-bf2d-1c5f306fdd55}, !- Air Inlet Node Name - {8b3367df-0fd0-41d5-b110-a08d2e5b1511}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {9af93b53-a21c-4702-852b-ba738add54c1}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top Return Air Node, !- Name - {01a284f6-c38b-4d17-82d1-927508dd338f}, !- Inlet Port - {e65b999b-deed-4dc7-9084-b130fd7a43ce}; !- Outlet Port - -OS:Connection, - {2abaf22e-4090-4698-9bc0-77e98995639c}, !- Handle - {5d1d7f16-147c-445c-a7f8-04acee836a82}, !- Name - {4d6e7776-94ef-4a10-a487-8da38e023b73}, !- Source Object - 3, !- Outlet Port - {9017abdb-6009-4072-bdeb-5c6398aad881}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {01a284f6-c38b-4d17-82d1-927508dd338f}, !- Handle - {19dca4f5-5d6e-47b9-a946-e82c90870a4d}, !- Name - {e9a1e914-101e-40b3-a3c8-f769840fd104}, !- Source Object - 3, !- Outlet Port - {9af93b53-a21c-4702-852b-ba738add54c1}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e65b999b-deed-4dc7-9084-b130fd7a43ce}, !- Handle - {f0cc179c-47dd-4476-b3fc-0f48748672ec}, !- Name - {9af93b53-a21c-4702-852b-ba738add54c1}, !- Source Object - 3, !- Outlet Port - {c2d8ac7b-b776-4b0c-b2b8-9a32ccf71213}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {c05f7f5e-e0a3-4900-a719-9bbf28c0ce89}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {eea98906-266b-411d-902c-ab39567b79fc}, !- Inlet Port - {24ed6761-a577-441d-bf2d-1c5f306fdd55}; !- Outlet Port - -OS:Connection, - {eea98906-266b-411d-902c-ab39567b79fc}, !- Handle - {51ba3ab1-ccca-4b98-b6e9-eedb30b4b551}, !- Name - {216b82b6-c853-40ff-a508-9012be1b6282}, !- Source Object - 3, !- Outlet Port - {c05f7f5e-e0a3-4900-a719-9bbf28c0ce89}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {24ed6761-a577-441d-bf2d-1c5f306fdd55}, !- Handle - {cacbd62d-afd8-42ff-b094-f0a028f8022b}, !- Name - {c05f7f5e-e0a3-4900-a719-9bbf28c0ce89}, !- Source Object - 3, !- Outlet Port - {643c31db-1e6d-4cee-b1e3-42e498d68da6}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {8b3367df-0fd0-41d5-b110-a08d2e5b1511}, !- Handle - {5f05466a-aeb8-42a4-a621-862c67537f4b}, !- Name - {643c31db-1e6d-4cee-b1e3-42e498d68da6}, !- Source Object - 4, !- Outlet Port - {4d6e7776-94ef-4a10-a487-8da38e023b73}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC, !- Name - , !- Controller List Name - {7a4c3302-6f87-4ea6-bba6-8ce2a8e53127}, !- Availability Schedule - {35fd03d1-cce0-4f12-bd86-187e2ef7778f}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {a6f60e11-0523-4a07-877e-fb44b2a68c37}, !- Supply Side Inlet Node Name - {e497a268-f280-4728-a55a-e9a9d6b48e1c}, !- Demand Side Outlet Node Name - {cd8f612a-6c61-41e1-842b-a0357ab9f5bf}, !- Demand Side Inlet Node A - {d3e0182d-5ae9-4510-86ec-8b81fe3edb57}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {8f7e36e5-4140-4fc8-b43e-4d0505865cff}, !- Demand Mixer Name - {d19372cc-6d9a-45f8-ac56-9a424446a8c3}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {99ea3be7-d512-4a05-82ac-f50311b66570}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Supply Inlet Node, !- Name - {a6f60e11-0523-4a07-877e-fb44b2a68c37}, !- Inlet Port - {e5f0809d-780d-4697-9be5-5454a5198d95}; !- Outlet Port - -OS:Node, - {198d8e07-00b1-40ae-9522-5b540c4112d7}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Supply Outlet Node, !- Name - {035e84b6-5762-41ef-8965-42b75b14e397}, !- Inlet Port - {d3e0182d-5ae9-4510-86ec-8b81fe3edb57}; !- Outlet Port - -OS:Connection, - {a6f60e11-0523-4a07-877e-fb44b2a68c37}, !- Handle - {419cf00b-98b5-4ae7-98de-29727d732712}, !- Name - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- Source Object - 8, !- Outlet Port - {99ea3be7-d512-4a05-82ac-f50311b66570}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d3e0182d-5ae9-4510-86ec-8b81fe3edb57}, !- Handle - {e7703ddc-a247-412c-9ef0-14ca010a9654}, !- Name - {198d8e07-00b1-40ae-9522-5b540c4112d7}, !- Source Object - 3, !- Outlet Port - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {ff463f0a-adf3-413e-8210-e02809b002d1}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Demand Inlet Node, !- Name - {cd8f612a-6c61-41e1-842b-a0357ab9f5bf}, !- Inlet Port - {6b4fff15-d238-4e31-9017-e05a20f49185}; !- Outlet Port - -OS:Node, - {2ef8f913-1de9-419a-8e37-f9c6d4aa94f6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Demand Outlet Node, !- Name - {781fefa9-ebb5-4ea8-9300-7e6226da5fa3}, !- Inlet Port - {e497a268-f280-4728-a55a-e9a9d6b48e1c}; !- Outlet Port - -OS:Node, - {144fe01b-ad62-4de6-bbdd-7f5a91a46c4b}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {a8a80b87-3c8c-4e61-a0ea-fcdbd1adca23}, !- Inlet Port - {bd0a6ab2-f015-45b7-999a-2ea7dafdbb7e}; !- Outlet Port - -OS:Connection, - {cd8f612a-6c61-41e1-842b-a0357ab9f5bf}, !- Handle - {a3e7d48e-321b-4106-930c-b0fbc69bc55d}, !- Name - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- Source Object - 10, !- Outlet Port - {ff463f0a-adf3-413e-8210-e02809b002d1}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e497a268-f280-4728-a55a-e9a9d6b48e1c}, !- Handle - {a441d83c-f5c6-4156-9603-0ec0c3827b53}, !- Name - {2ef8f913-1de9-419a-8e37-f9c6d4aa94f6}, !- Source Object - 3, !- Outlet Port - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {d19372cc-6d9a-45f8-ac56-9a424446a8c3}, !- Handle - Air Loop HVAC Zone Splitter 12, !- Name - {6b4fff15-d238-4e31-9017-e05a20f49185}, !- Inlet Node Name - {5d37ad2b-8ce9-4180-b106-6269d768758e}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {8f7e36e5-4140-4fc8-b43e-4d0505865cff}, !- Handle - Air Loop HVAC Zone Mixer 12, !- Name - {781fefa9-ebb5-4ea8-9300-7e6226da5fa3}, !- Outlet Node Name - {9caf5b79-86d3-49d0-b380-9074717c04a7}; !- Inlet Node Name 1 - -OS:Connection, - {6b4fff15-d238-4e31-9017-e05a20f49185}, !- Handle - {0abb92a9-170a-476e-b643-590165f8e945}, !- Name - {ff463f0a-adf3-413e-8210-e02809b002d1}, !- Source Object - 3, !- Outlet Port - {d19372cc-6d9a-45f8-ac56-9a424446a8c3}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {781fefa9-ebb5-4ea8-9300-7e6226da5fa3}, !- Handle - {45bee9e3-701c-49ce-9a2d-b209eacc94ae}, !- Name - {8f7e36e5-4140-4fc8-b43e-4d0505865cff}, !- Source Object - 2, !- Outlet Port - {2ef8f913-1de9-419a-8e37-f9c6d4aa94f6}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {1e29616e-ec6b-425b-8e71-8ea98565fd74}, !- Handle - {4cf00bab-a6f3-4e5e-b44b-200e6d8416f7}, !- 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, - {35fd03d1-cce0-4f12-bd86-187e2ef7778f}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 11, !- Name - {8baa1e5b-d869-469c-a5fd-3f076ce850f5}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {79611aec-7026-42f9-8ce0-d8e77436e9fe}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- Control Zone Name - {198d8e07-00b1-40ae-9522-5b540c4112d7}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {2126d94f-16dd-43f1-b5f4-e33aa288231e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {025e25bb-122d-4722-9aaa-9992553ba726}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {8e63d854-80d4-4e49-a2d8-2a681ed35d24}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC 1spd DX AC Clg Coil 8kBtu/hr 11.06SEER 7kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {dd05dc78-2f91-4697-abec-00eb51b2a17a}, !- Handle - Curve Biquadratic 45, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {cc67f669-a020-490c-aeaf-53ab7bd3e5f4}, !- Handle - Curve Quadratic 67, !- 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, - {5b6c5bf6-fe76-47dd-961a-d875b251f971}, !- Handle - Curve Biquadratic 46, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {29335b47-09c9-4ccf-b652-5fe374e68d16}, !- Handle - Curve Quadratic 68, !- 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, - {a32bdb77-22ed-4b20-9b2f-7f3d366a57ce}, !- Handle - Curve Quadratic 69, !- 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, - {334a3479-b9c3-4da9-a85a-5fc882304625}, !- Handle - Curve Biquadratic 47, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {a4d8d522-585e-4e2a-b946-c9f53c8362b1}, !- Handle - Curve Quadratic 70, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {3c31cbdc-33ea-4265-af18-615bfd665a82}, !- Handle - Curve Biquadratic 48, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {037b0d99-d8ae-4cf0-80e5-81598969cf44}, !- Handle - Curve Quadratic 71, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {b1a416d0-d78d-4d62-a819-71ca61c08e8d}, !- Handle - Curve Quadratic 72, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {6c094372-7998-4e63-bc18-70b571260d43}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {8eae1d3b-52ab-43a5-877d-4801a4369bd9}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {7a8726da-6990-4ccd-8480-668cebb7ed57}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {8eae1d3b-52ab-43a5-877d-4801a4369bd9}, !- Handle - Fan On Off Power Curve 11, !- 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, - {7a8726da-6990-4ccd-8480-668cebb7ed57}, !- Handle - Fan On Off Efficiency Curve 11, !- 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:AirLoopHVAC:UnitarySystem, - {b6dee0bd-ed13-4624-8398-a26410c1aa7e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {bb6f1ed6-9c87-4474-b1eb-966c3a10b837}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {f40f2e2a-94ea-45a5-a685-11cfbebac69e}, !- Air Inlet Node Name - {035e84b6-5762-41ef-8965-42b75b14e397}, !- Air Outlet Node Name - {6c094372-7998-4e63-bc18-70b571260d43}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {7a4c3302-6f87-4ea6-bba6-8ce2a8e53127}, !- Supply Air Fan Operating Mode Schedule Name - {2126d94f-16dd-43f1-b5f4-e33aa288231e}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {8e63d854-80d4-4e49-a2d8-2a681ed35d24}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {025e25bb-122d-4722-9aaa-9992553ba726}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {035e84b6-5762-41ef-8965-42b75b14e397}, !- Handle - {15f2e98e-c933-404f-80c5-86ded95bd92f}, !- Name - {b6dee0bd-ed13-4624-8398-a26410c1aa7e}, !- Source Object - 7, !- Outlet Port - {198d8e07-00b1-40ae-9522-5b540c4112d7}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {78298b22-3445-480d-b78e-9fbd3263d962}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {055b5b01-a662-4de3-aaf6-03abd332e154}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {cda82e25-d25a-4f0a-a67d-cb7b6e64040a}, !- 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, - {cda82e25-d25a-4f0a-a67d-cb7b6e64040a}, !- Handle - Controller Mechanical Ventilation 12, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {a66fbc68-ea5d-4517-a29b-22b1a2c901ac}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC OA System, !- Name - {78298b22-3445-480d-b78e-9fbd3263d962}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {13556f6c-77b2-451b-800d-2c85ec538b02}, !- Mixed Air Node Name - {a479d94e-3f80-461c-9464-72af2e40d67e}, !- Outdoor Air Stream Node Name - {c5a591cb-6ac0-4a1b-b17c-494b11970286}, !- Relief Air Stream Node Name - {e5f0809d-780d-4697-9be5-5454a5198d95}; !- Return Air Stream Node Name - -OS:Node, - {74722742-3614-474c-af00-15f06710346e}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {a479d94e-3f80-461c-9464-72af2e40d67e}; !- Outlet Port - -OS:Connection, - {a479d94e-3f80-461c-9464-72af2e40d67e}, !- Handle - {4dcc1f76-73b5-4a12-8110-da97912ba0ec}, !- Name - {74722742-3614-474c-af00-15f06710346e}, !- Source Object - 3, !- Outlet Port - {a66fbc68-ea5d-4517-a29b-22b1a2c901ac}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {c7b6a212-76a4-4830-bc8b-9b5e9df6e9db}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Relief Air Node, !- Name - {c5a591cb-6ac0-4a1b-b17c-494b11970286}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {c5a591cb-6ac0-4a1b-b17c-494b11970286}, !- Handle - {82f4c6dc-0a4f-48bc-8fe0-10dea9a9a8a3}, !- Name - {a66fbc68-ea5d-4517-a29b-22b1a2c901ac}, !- Source Object - 7, !- Outlet Port - {c7b6a212-76a4-4830-bc8b-9b5e9df6e9db}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {9cddd83a-977b-4bbd-a4e7-7f181bee30e5}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Mixed Air Node, !- Name - {13556f6c-77b2-451b-800d-2c85ec538b02}, !- Inlet Port - {f40f2e2a-94ea-45a5-a685-11cfbebac69e}; !- Outlet Port - -OS:Connection, - {e5f0809d-780d-4697-9be5-5454a5198d95}, !- Handle - {e4402ad4-6d67-460e-a6fc-22343f17251c}, !- Name - {99ea3be7-d512-4a05-82ac-f50311b66570}, !- Source Object - 3, !- Outlet Port - {a66fbc68-ea5d-4517-a29b-22b1a2c901ac}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {13556f6c-77b2-451b-800d-2c85ec538b02}, !- Handle - {9e31707a-4b27-4897-8c52-7f116b95758f}, !- Name - {a66fbc68-ea5d-4517-a29b-22b1a2c901ac}, !- Source Object - 5, !- Outlet Port - {9cddd83a-977b-4bbd-a4e7-7f181bee30e5}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f40f2e2a-94ea-45a5-a685-11cfbebac69e}, !- Handle - {ed947280-411f-4a61-b818-8dee4ee31877}, !- Name - {9cddd83a-977b-4bbd-a4e7-7f181bee30e5}, !- Source Object - 3, !- Outlet Port - {b6dee0bd-ed13-4624-8398-a26410c1aa7e}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {8baa1e5b-d869-469c-a5fd-3f076ce850f5}, !- Handle - Availability Manager Night Cycle 12, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {10d62353-a11c-4653-a49a-025c18952fa4}, !- Control Zone or Zone List Name - {77dda671-686d-4973-ac29-a8fa6ba31819}, !- Cooling Control Zone or Zone List Name - {8b8d774c-bec0-4cd9-9fb7-366a7bfb77de}, !- Heating Control Zone or Zone List Name - {6351ee8d-5bb0-48ef-9579-29517382e648}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {10d62353-a11c-4653-a49a-025c18952fa4}, !- Handle - Availability Manager Night Cycle 12 Control Zone List; !- Name - -OS:ModelObjectList, - {77dda671-686d-4973-ac29-a8fa6ba31819}, !- Handle - Availability Manager Night Cycle 12 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {8b8d774c-bec0-4cd9-9fb7-366a7bfb77de}, !- Handle - Availability Manager Night Cycle 12 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {6351ee8d-5bb0-48ef-9579-29517382e648}, !- Handle - Availability Manager Night Cycle 12 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {b845c4ba-1688-4d8f-b658-a6a3c033a0cf}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {56410a97-0ff5-4e30-b1c8-326f38ef801d}, !- Air Inlet Node Name - {a8a80b87-3c8c-4e61-a0ea-fcdbd1adca23}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {9e2f1e23-a4a6-4295-a311-f81042209beb}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top Return Air Node, !- Name - {2a2dcd96-52e8-4899-b40f-b07ea2a4f9e7}, !- Inlet Port - {9caf5b79-86d3-49d0-b380-9074717c04a7}; !- Outlet Port - -OS:Connection, - {bd0a6ab2-f015-45b7-999a-2ea7dafdbb7e}, !- Handle - {5bd7ce36-ca74-43a6-96ec-9cd4b7a50a48}, !- Name - {144fe01b-ad62-4de6-bbdd-7f5a91a46c4b}, !- Source Object - 3, !- Outlet Port - {1fc86722-3dba-4b0a-a316-e94022a4894d}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {2a2dcd96-52e8-4899-b40f-b07ea2a4f9e7}, !- Handle - {b8dfd1f2-c1ea-4650-a65d-116bb2fab0b2}, !- Name - {01af0953-5c68-422e-8396-8d81bea23272}, !- Source Object - 3, !- Outlet Port - {9e2f1e23-a4a6-4295-a311-f81042209beb}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9caf5b79-86d3-49d0-b380-9074717c04a7}, !- Handle - {d98ba682-f459-45f0-80ab-43ab6b4f2e40}, !- Name - {9e2f1e23-a4a6-4295-a311-f81042209beb}, !- Source Object - 3, !- Outlet Port - {8f7e36e5-4140-4fc8-b43e-4d0505865cff}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {2eb6c1e9-597f-4359-b42e-daef710af7a8}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {5d37ad2b-8ce9-4180-b106-6269d768758e}, !- Inlet Port - {56410a97-0ff5-4e30-b1c8-326f38ef801d}; !- Outlet Port - -OS:Connection, - {5d37ad2b-8ce9-4180-b106-6269d768758e}, !- Handle - {5e3ff5e1-edd3-4c70-b884-04d6eb077bd9}, !- Name - {d19372cc-6d9a-45f8-ac56-9a424446a8c3}, !- Source Object - 3, !- Outlet Port - {2eb6c1e9-597f-4359-b42e-daef710af7a8}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {56410a97-0ff5-4e30-b1c8-326f38ef801d}, !- Handle - {13a860bd-36ed-47d3-b6ca-92e0e93aafc5}, !- Name - {2eb6c1e9-597f-4359-b42e-daef710af7a8}, !- Source Object - 3, !- Outlet Port - {b845c4ba-1688-4d8f-b658-a6a3c033a0cf}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {a8a80b87-3c8c-4e61-a0ea-fcdbd1adca23}, !- Handle - {4f8e24f8-154f-4b1b-a11f-53402e22cf0c}, !- Name - {b845c4ba-1688-4d8f-b658-a6a3c033a0cf}, !- Source Object - 4, !- Outlet Port - {144fe01b-ad62-4de6-bbdd-7f5a91a46c4b}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {660813de-d018-4590-810e-b1aaaa973351}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC, !- Name - , !- Controller List Name - {706f7002-0759-41df-915b-9f0e20b4b56a}, !- Availability Schedule - {0deaaa6c-8c70-4f74-a49b-76b44b79368f}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {73429926-3562-4419-802a-fa3638377668}, !- Supply Side Inlet Node Name - {61a79129-0d83-4125-a1a8-da26ace986d8}, !- Demand Side Outlet Node Name - {d2c82184-8684-434d-9992-03c6bf92861e}, !- Demand Side Inlet Node A - {5068e7c7-afae-499c-b445-1a9ac5740773}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {5737a367-b492-45a4-98de-9c9c1e705a6b}, !- Demand Mixer Name - {0bf1934e-d99b-43e9-b2a9-5b03155c1829}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {c331d10a-1a8f-492e-b797-7fac5d022277}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Supply Inlet Node, !- Name - {73429926-3562-4419-802a-fa3638377668}, !- Inlet Port - {3128ffc7-6d49-48f2-991c-15743411b0bf}; !- Outlet Port - -OS:Node, - {3cf13318-9d8c-41af-9338-1d1d89190cca}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Supply Outlet Node, !- Name - {e81e085f-586d-4db8-9d2a-20cf90ea7a1e}, !- Inlet Port - {5068e7c7-afae-499c-b445-1a9ac5740773}; !- Outlet Port - -OS:Connection, - {73429926-3562-4419-802a-fa3638377668}, !- Handle - {dc8c9c77-80b1-49aa-a8a0-2b16aae1e2d4}, !- Name - {660813de-d018-4590-810e-b1aaaa973351}, !- Source Object - 8, !- Outlet Port - {c331d10a-1a8f-492e-b797-7fac5d022277}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {5068e7c7-afae-499c-b445-1a9ac5740773}, !- Handle - {3c82cc8d-1b85-470c-b87a-24101cd4747b}, !- Name - {3cf13318-9d8c-41af-9338-1d1d89190cca}, !- Source Object - 3, !- Outlet Port - {660813de-d018-4590-810e-b1aaaa973351}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {dbd241df-dda0-4380-a404-58b36e78880a}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Demand Inlet Node, !- Name - {d2c82184-8684-434d-9992-03c6bf92861e}, !- Inlet Port - {8bc47778-f208-48f6-9392-4553e418a612}; !- Outlet Port - -OS:Node, - {5e73d658-ae32-41ae-b773-2730219abe1f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Demand Outlet Node, !- Name - {ac37c65c-dfe7-437c-b8bb-555999f3b84c}, !- Inlet Port - {61a79129-0d83-4125-a1a8-da26ace986d8}; !- Outlet Port - -OS:Node, - {b45f85a4-1672-4b8a-9244-193e3ff14ac7}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {3afe22a8-6ad7-43cd-b43e-f975768f4b53}, !- Inlet Port - {63e69e56-d1bc-4dbd-aad4-7676f22313c3}; !- Outlet Port - -OS:Connection, - {d2c82184-8684-434d-9992-03c6bf92861e}, !- Handle - {ddc6013a-fa35-40c0-8c05-cf0d394b2ef8}, !- Name - {660813de-d018-4590-810e-b1aaaa973351}, !- Source Object - 10, !- Outlet Port - {dbd241df-dda0-4380-a404-58b36e78880a}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {61a79129-0d83-4125-a1a8-da26ace986d8}, !- Handle - {241141c1-0f09-44fb-99e7-fcb0a3d86cb9}, !- Name - {5e73d658-ae32-41ae-b773-2730219abe1f}, !- Source Object - 3, !- Outlet Port - {660813de-d018-4590-810e-b1aaaa973351}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {0bf1934e-d99b-43e9-b2a9-5b03155c1829}, !- Handle - Air Loop HVAC Zone Splitter 13, !- Name - {8bc47778-f208-48f6-9392-4553e418a612}, !- Inlet Node Name - {e5e94cef-b955-42e9-b593-d1e3a4fc2820}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {5737a367-b492-45a4-98de-9c9c1e705a6b}, !- Handle - Air Loop HVAC Zone Mixer 13, !- Name - {ac37c65c-dfe7-437c-b8bb-555999f3b84c}, !- Outlet Node Name - {c73d28a8-d210-409b-bb7b-1f938d05fab6}; !- Inlet Node Name 1 - -OS:Connection, - {8bc47778-f208-48f6-9392-4553e418a612}, !- Handle - {ac4433bd-6470-4ac7-b6db-ea3ce792b675}, !- Name - {dbd241df-dda0-4380-a404-58b36e78880a}, !- Source Object - 3, !- Outlet Port - {0bf1934e-d99b-43e9-b2a9-5b03155c1829}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {ac37c65c-dfe7-437c-b8bb-555999f3b84c}, !- Handle - {260c1c46-160a-4f9e-b33a-0cef22ddeabf}, !- Name - {5737a367-b492-45a4-98de-9c9c1e705a6b}, !- Source Object - 2, !- Outlet Port - {5e73d658-ae32-41ae-b773-2730219abe1f}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {0af969dc-e528-4862-9e3c-a9998e8a231c}, !- Handle - {660813de-d018-4590-810e-b1aaaa973351}, !- 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, - {0deaaa6c-8c70-4f74-a49b-76b44b79368f}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 12, !- Name - {1badeb7c-560e-4e10-96b6-0746eeb73c32}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {d4e60ba9-4a03-48fe-9f63-ed21413345e3}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- Control Zone Name - {3cf13318-9d8c-41af-9338-1d1d89190cca}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {42431bde-a8d8-478d-ae64-c3d65daceb8f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {c2c6aca0-2714-4f43-90f3-04a8d7b4a06a}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {a507eae4-1fba-413e-ba9e-518ecd5c5dfb}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC 1spd DX AC Clg Coil 20kBtu/hr 11.06SEER 15kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {704d925d-6071-41da-adbd-fa863e43af50}, !- Handle - Curve Biquadratic 49, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {174800c3-d7da-4df6-bcda-2289f4abd8a2}, !- Handle - Curve Quadratic 73, !- 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, - {5d72efe0-b665-49c7-b635-4c72434c0461}, !- Handle - Curve Biquadratic 50, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {94e5f4c9-7fdb-4199-874f-f9fe04e2e9bb}, !- Handle - Curve Quadratic 74, !- 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, - {8e1ca8a4-45e2-4455-a4f6-5f073da65635}, !- Handle - Curve Quadratic 75, !- 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, - {4074356c-f9b5-4004-b252-5b05dc93977a}, !- Handle - Curve Biquadratic 51, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {88a5a550-5a4b-4db4-aaf0-66d0a0f17672}, !- Handle - Curve Quadratic 76, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {d3311fe8-6e4d-4e79-80ac-4bc73d280e47}, !- Handle - Curve Biquadratic 52, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {81417967-e009-4ad4-9d6d-5dcbc9dad415}, !- Handle - Curve Quadratic 77, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {1a2f4d1f-09c3-4ec6-a91e-6d6ffa2d411c}, !- Handle - Curve Quadratic 78, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {41fb9119-9cec-48f8-af28-5ade370b3c8f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {965dff1b-b53b-4f1b-bdf5-2c16e538bce0}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {cef91119-36cd-4ac8-b3da-29b1e9ae0341}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {965dff1b-b53b-4f1b-bdf5-2c16e538bce0}, !- Handle - Fan On Off Power Curve 12, !- 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, - {cef91119-36cd-4ac8-b3da-29b1e9ae0341}, !- Handle - Fan On Off Efficiency Curve 12, !- 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:AirLoopHVAC:UnitarySystem, - {f2f32cf8-e4f5-47e4-b1ab-fea312400a82}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {22647c89-2b4c-49fc-8fe6-38658668fa78}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {b7b2d1e0-3710-4aae-b960-d76487799b40}, !- Air Inlet Node Name - {e81e085f-586d-4db8-9d2a-20cf90ea7a1e}, !- Air Outlet Node Name - {41fb9119-9cec-48f8-af28-5ade370b3c8f}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {706f7002-0759-41df-915b-9f0e20b4b56a}, !- Supply Air Fan Operating Mode Schedule Name - {42431bde-a8d8-478d-ae64-c3d65daceb8f}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {a507eae4-1fba-413e-ba9e-518ecd5c5dfb}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {c2c6aca0-2714-4f43-90f3-04a8d7b4a06a}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {e81e085f-586d-4db8-9d2a-20cf90ea7a1e}, !- Handle - {a8b85454-726d-4ef4-9b17-1b65be43c274}, !- Name - {f2f32cf8-e4f5-47e4-b1ab-fea312400a82}, !- Source Object - 7, !- Outlet Port - {3cf13318-9d8c-41af-9338-1d1d89190cca}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {fdce10eb-6344-4f4e-8b5c-9995885cb109}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {767cd2f7-aacf-499f-9428-cefd21613a91}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {005c6331-d2cb-4c6e-addf-d4304987ba2a}, !- 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, - {005c6331-d2cb-4c6e-addf-d4304987ba2a}, !- Handle - Controller Mechanical Ventilation 13, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {63d0e9f6-e5ab-488a-944f-a8063a5a594f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC OA System, !- Name - {fdce10eb-6344-4f4e-8b5c-9995885cb109}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {d33b4335-df16-4ddb-b854-04cfcd10fc58}, !- Mixed Air Node Name - {c324074e-50aa-45c8-a4c2-be921b1dfc88}, !- Outdoor Air Stream Node Name - {00508747-c13e-4c18-bb44-eada3f8de5cf}, !- Relief Air Stream Node Name - {3128ffc7-6d49-48f2-991c-15743411b0bf}; !- Return Air Stream Node Name - -OS:Node, - {d4373ea5-5aa7-4c02-8f83-8a33203eec9c}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {c324074e-50aa-45c8-a4c2-be921b1dfc88}; !- Outlet Port - -OS:Connection, - {c324074e-50aa-45c8-a4c2-be921b1dfc88}, !- Handle - {97abdcac-60a9-4c38-8b31-939a0d625376}, !- Name - {d4373ea5-5aa7-4c02-8f83-8a33203eec9c}, !- Source Object - 3, !- Outlet Port - {63d0e9f6-e5ab-488a-944f-a8063a5a594f}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {50edf352-cd83-42eb-9db8-a3ee33ca4184}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Relief Air Node, !- Name - {00508747-c13e-4c18-bb44-eada3f8de5cf}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {00508747-c13e-4c18-bb44-eada3f8de5cf}, !- Handle - {ea69883c-0747-442e-918c-a3e0e0297afd}, !- Name - {63d0e9f6-e5ab-488a-944f-a8063a5a594f}, !- Source Object - 7, !- Outlet Port - {50edf352-cd83-42eb-9db8-a3ee33ca4184}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {3abab4c4-fbd9-42ae-8c5a-1c3213886298}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Mixed Air Node, !- Name - {d33b4335-df16-4ddb-b854-04cfcd10fc58}, !- Inlet Port - {b7b2d1e0-3710-4aae-b960-d76487799b40}; !- Outlet Port - -OS:Connection, - {3128ffc7-6d49-48f2-991c-15743411b0bf}, !- Handle - {5250005a-793a-40c6-bafa-3caf74e77d8c}, !- Name - {c331d10a-1a8f-492e-b797-7fac5d022277}, !- Source Object - 3, !- Outlet Port - {63d0e9f6-e5ab-488a-944f-a8063a5a594f}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {d33b4335-df16-4ddb-b854-04cfcd10fc58}, !- Handle - {1f67560b-2fce-4567-ad99-b2379276f038}, !- Name - {63d0e9f6-e5ab-488a-944f-a8063a5a594f}, !- Source Object - 5, !- Outlet Port - {3abab4c4-fbd9-42ae-8c5a-1c3213886298}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {b7b2d1e0-3710-4aae-b960-d76487799b40}, !- Handle - {ea10250e-af54-45cc-ad03-1a7774d35506}, !- Name - {3abab4c4-fbd9-42ae-8c5a-1c3213886298}, !- Source Object - 3, !- Outlet Port - {f2f32cf8-e4f5-47e4-b1ab-fea312400a82}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {1badeb7c-560e-4e10-96b6-0746eeb73c32}, !- Handle - Availability Manager Night Cycle 13, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {0d86f381-2e88-43ae-b63c-46fd36c26914}, !- Control Zone or Zone List Name - {d6617101-14e1-4936-895b-bde1453dc500}, !- Cooling Control Zone or Zone List Name - {56955320-7596-44f7-ae20-10874298dcb6}, !- Heating Control Zone or Zone List Name - {a2cb67ae-44a8-46d3-a457-d015a78195dd}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {0d86f381-2e88-43ae-b63c-46fd36c26914}, !- Handle - Availability Manager Night Cycle 13 Control Zone List; !- Name - -OS:ModelObjectList, - {d6617101-14e1-4936-895b-bde1453dc500}, !- Handle - Availability Manager Night Cycle 13 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {56955320-7596-44f7-ae20-10874298dcb6}, !- Handle - Availability Manager Night Cycle 13 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {a2cb67ae-44a8-46d3-a457-d015a78195dd}, !- Handle - Availability Manager Night Cycle 13 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {825fbba6-6fc8-4c54-9a0d-91bc7ecf41d8}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {8da02f28-0285-46a5-8bc4-9f580d2f4770}, !- Air Inlet Node Name - {3afe22a8-6ad7-43cd-b43e-f975768f4b53}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {2bc0fc99-9b97-444b-b886-4a296475112d}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top Return Air Node, !- Name - {ae535a84-6845-4dbf-8ae9-d14b3d8387bb}, !- Inlet Port - {c73d28a8-d210-409b-bb7b-1f938d05fab6}; !- Outlet Port - -OS:Connection, - {63e69e56-d1bc-4dbd-aad4-7676f22313c3}, !- Handle - {4834628d-7df3-4c0c-9d18-34382db7413c}, !- Name - {b45f85a4-1672-4b8a-9244-193e3ff14ac7}, !- Source Object - 3, !- Outlet Port - {a8f820c2-7937-409e-9fff-74fd93fd25bb}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {ae535a84-6845-4dbf-8ae9-d14b3d8387bb}, !- Handle - {5e1b24c5-6e2d-4869-8932-5f096c506476}, !- Name - {3fc6904e-5a1e-4b24-b84d-7106b0956d01}, !- Source Object - 3, !- Outlet Port - {2bc0fc99-9b97-444b-b886-4a296475112d}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {c73d28a8-d210-409b-bb7b-1f938d05fab6}, !- Handle - {b63d5e9f-ff60-478e-b2ca-a58664842248}, !- Name - {2bc0fc99-9b97-444b-b886-4a296475112d}, !- Source Object - 3, !- Outlet Port - {5737a367-b492-45a4-98de-9c9c1e705a6b}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {926a7acd-bd5a-46ba-8a28-af8a022b40d5}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {e5e94cef-b955-42e9-b593-d1e3a4fc2820}, !- Inlet Port - {8da02f28-0285-46a5-8bc4-9f580d2f4770}; !- Outlet Port - -OS:Connection, - {e5e94cef-b955-42e9-b593-d1e3a4fc2820}, !- Handle - {bf19262f-fd19-4593-8489-96a7cc17b942}, !- Name - {0bf1934e-d99b-43e9-b2a9-5b03155c1829}, !- Source Object - 3, !- Outlet Port - {926a7acd-bd5a-46ba-8a28-af8a022b40d5}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {8da02f28-0285-46a5-8bc4-9f580d2f4770}, !- Handle - {9291de92-0b55-4e7a-8146-9fbab5be63df}, !- Name - {926a7acd-bd5a-46ba-8a28-af8a022b40d5}, !- Source Object - 3, !- Outlet Port - {825fbba6-6fc8-4c54-9a0d-91bc7ecf41d8}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {3afe22a8-6ad7-43cd-b43e-f975768f4b53}, !- Handle - {0044d283-4b15-4dfb-8172-40d9d64bc670}, !- Name - {825fbba6-6fc8-4c54-9a0d-91bc7ecf41d8}, !- Source Object - 4, !- Outlet Port - {b45f85a4-1672-4b8a-9244-193e3ff14ac7}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC, !- Name - , !- Controller List Name - {48a65924-cffb-4b12-9890-a8b539d16ca9}, !- Availability Schedule - {d02d6cde-f442-49c2-bb4d-abff656b9dbe}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {d05ff8da-876c-4d3f-b7be-1c53084c7637}, !- Supply Side Inlet Node Name - {de12532c-849b-42e0-9bda-8271eda52968}, !- Demand Side Outlet Node Name - {582dcee6-f9ad-4bad-90c6-cf3bf2ddc9cd}, !- Demand Side Inlet Node A - {94b60ce2-c2e9-4b00-b800-7763c02bb29b}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {5b4f4176-eda8-4f9e-8ccd-2d46021b4e2a}, !- Demand Mixer Name - {62210dd6-753e-4901-9a59-74ec83c0191d}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {744114c0-0dda-43ab-95e0-3ceed0fdd8d5}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Supply Inlet Node, !- Name - {d05ff8da-876c-4d3f-b7be-1c53084c7637}, !- Inlet Port - {5a352e4e-4476-4a6e-93c3-275c52a072e3}; !- Outlet Port - -OS:Node, - {a4def2d1-856e-44dc-a287-8e9c4fd9c9e7}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Supply Outlet Node, !- Name - {81bed94c-97eb-4d55-8944-fc7d84ab729e}, !- Inlet Port - {94b60ce2-c2e9-4b00-b800-7763c02bb29b}; !- Outlet Port - -OS:Connection, - {d05ff8da-876c-4d3f-b7be-1c53084c7637}, !- Handle - {7574fd53-17f6-4f79-9bcd-50f5e25eb9c9}, !- Name - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- Source Object - 8, !- Outlet Port - {744114c0-0dda-43ab-95e0-3ceed0fdd8d5}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {94b60ce2-c2e9-4b00-b800-7763c02bb29b}, !- Handle - {cbc2813f-5cc0-4b58-b21d-30051b96175d}, !- Name - {a4def2d1-856e-44dc-a287-8e9c4fd9c9e7}, !- Source Object - 3, !- Outlet Port - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {189e2022-5e8b-42cf-9229-27353965288a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Demand Inlet Node, !- Name - {582dcee6-f9ad-4bad-90c6-cf3bf2ddc9cd}, !- Inlet Port - {1912a9e0-bf4b-4ef9-be82-7257bd6b321c}; !- Outlet Port - -OS:Node, - {73f9ac0b-d98f-4b93-a14a-9f72b4662f20}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Demand Outlet Node, !- Name - {5e511c3c-14b8-47a6-a6c4-8653d42232c0}, !- Inlet Port - {de12532c-849b-42e0-9bda-8271eda52968}; !- Outlet Port - -OS:Node, - {da71d8aa-366b-4c70-bb1a-9736d1ec39a4}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {be15a5d1-3211-472a-ab53-d426308c5f2a}, !- Inlet Port - {ccecdf00-3f97-4be4-a765-e687c8f02a09}; !- Outlet Port - -OS:Connection, - {582dcee6-f9ad-4bad-90c6-cf3bf2ddc9cd}, !- Handle - {93b2a208-678d-46d7-88c7-8239771eade1}, !- Name - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- Source Object - 10, !- Outlet Port - {189e2022-5e8b-42cf-9229-27353965288a}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {de12532c-849b-42e0-9bda-8271eda52968}, !- Handle - {583760a2-98f3-4748-9436-a9ee68d9823c}, !- Name - {73f9ac0b-d98f-4b93-a14a-9f72b4662f20}, !- Source Object - 3, !- Outlet Port - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {62210dd6-753e-4901-9a59-74ec83c0191d}, !- Handle - Air Loop HVAC Zone Splitter 14, !- Name - {1912a9e0-bf4b-4ef9-be82-7257bd6b321c}, !- Inlet Node Name - {1cbcf305-c83e-4885-8825-d22ec073798a}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {5b4f4176-eda8-4f9e-8ccd-2d46021b4e2a}, !- Handle - Air Loop HVAC Zone Mixer 14, !- Name - {5e511c3c-14b8-47a6-a6c4-8653d42232c0}, !- Outlet Node Name - {7b22646c-ceaa-4edb-bfea-2ea8511aaee5}; !- Inlet Node Name 1 - -OS:Connection, - {1912a9e0-bf4b-4ef9-be82-7257bd6b321c}, !- Handle - {203b7dee-1fe3-437c-a2a5-94d2401f7b11}, !- Name - {189e2022-5e8b-42cf-9229-27353965288a}, !- Source Object - 3, !- Outlet Port - {62210dd6-753e-4901-9a59-74ec83c0191d}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {5e511c3c-14b8-47a6-a6c4-8653d42232c0}, !- Handle - {a029c665-b34b-45dd-9e1e-1d7a7fa5035e}, !- Name - {5b4f4176-eda8-4f9e-8ccd-2d46021b4e2a}, !- Source Object - 2, !- Outlet Port - {73f9ac0b-d98f-4b93-a14a-9f72b4662f20}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {f7bfcd00-b05e-4617-970c-e0f70560f85a}, !- Handle - {021ca4f5-0345-4db2-8035-8c9e4a5c612e}, !- 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, - {d02d6cde-f442-49c2-bb4d-abff656b9dbe}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 13, !- Name - {7dd74a4e-2259-4554-b5c1-aa0cdd85793c}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {bda35ee9-bc42-4c17-a5c3-2b0d4f15f303}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- Control Zone Name - {a4def2d1-856e-44dc-a287-8e9c4fd9c9e7}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {78e0ba0d-cfaf-4b68-ab28-55bd4eda55bb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {eade9afe-1d83-487e-a94b-b258c4eac957}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {99bbdc43-f387-4ace-a9fc-261c9115ded8}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC 1spd DX AC Clg Coil 7kBtu/hr 11.06SEER 5kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {f88f51e6-a54e-4f5a-984e-240bdfbf5a18}, !- Handle - Curve Biquadratic 53, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {eb56c022-e87d-450b-9e2c-438091368eac}, !- Handle - Curve Quadratic 79, !- 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, - {b4142e8d-f1de-4b8d-bacb-1b044eca86b7}, !- Handle - Curve Biquadratic 54, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {7341b9cd-39ba-4fad-9d5f-9df40aec3a3f}, !- Handle - Curve Quadratic 80, !- 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, - {f5617fff-2a46-46f9-84cf-5e3d8074750a}, !- Handle - Curve Quadratic 81, !- 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, - {dbbdf3e9-c7a7-46ea-bdac-c694e5620bdb}, !- Handle - Curve Biquadratic 55, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {5cafa7a8-7e4a-4720-8c62-14b7e38219f8}, !- Handle - Curve Quadratic 82, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {08fbc54b-e0eb-41f6-a144-317188ea3dfc}, !- Handle - Curve Biquadratic 56, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {2c3f7e75-1b5f-447d-a10c-006de86b57aa}, !- Handle - Curve Quadratic 83, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {96d17ea2-71f2-443f-8150-59911644d229}, !- Handle - Curve Quadratic 84, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {014f3e2b-a124-4031-861b-117f3858d5f6}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {3ebe05bf-7168-4383-b01d-7059fcc7425f}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {add67002-e8e5-497f-92fb-1ebe52165593}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {3ebe05bf-7168-4383-b01d-7059fcc7425f}, !- Handle - Fan On Off Power Curve 13, !- 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, - {add67002-e8e5-497f-92fb-1ebe52165593}, !- Handle - Fan On Off Efficiency Curve 13, !- 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:AirLoopHVAC:UnitarySystem, - {82f4250e-0688-4afd-8bae-b9e125a6c5a8}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {8c81ab59-45f7-4ca0-b91e-e590ce4b172d}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {db1f43f1-06d4-4bd5-9202-e6db2a577e05}, !- Air Inlet Node Name - {81bed94c-97eb-4d55-8944-fc7d84ab729e}, !- Air Outlet Node Name - {014f3e2b-a124-4031-861b-117f3858d5f6}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {48a65924-cffb-4b12-9890-a8b539d16ca9}, !- Supply Air Fan Operating Mode Schedule Name - {78e0ba0d-cfaf-4b68-ab28-55bd4eda55bb}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {99bbdc43-f387-4ace-a9fc-261c9115ded8}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {eade9afe-1d83-487e-a94b-b258c4eac957}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {81bed94c-97eb-4d55-8944-fc7d84ab729e}, !- Handle - {eb0cdee3-ca39-4e68-8bc1-6e071186f8d5}, !- Name - {82f4250e-0688-4afd-8bae-b9e125a6c5a8}, !- Source Object - 7, !- Outlet Port - {a4def2d1-856e-44dc-a287-8e9c4fd9c9e7}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {d6e5d930-c330-4bed-908f-2a55269a10cb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {82151012-8075-4a2a-a087-bdd4c4ad6c67}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {64235967-3b51-434b-a4c1-18e4a9204618}, !- 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, - {64235967-3b51-434b-a4c1-18e4a9204618}, !- Handle - Controller Mechanical Ventilation 14, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {1b0adbbe-e75e-41eb-947e-e040b2a36e1f}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC OA System, !- Name - {d6e5d930-c330-4bed-908f-2a55269a10cb}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {da017509-8107-4ed6-8ac7-6f93fcdf49b3}, !- Mixed Air Node Name - {97ac6a3e-b15e-4f70-8a28-8d200585b581}, !- Outdoor Air Stream Node Name - {349f7791-9105-4ae0-9b22-30215db6249e}, !- Relief Air Stream Node Name - {5a352e4e-4476-4a6e-93c3-275c52a072e3}; !- Return Air Stream Node Name - -OS:Node, - {708b7581-35f1-4ca9-9429-bc99183e7556}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {97ac6a3e-b15e-4f70-8a28-8d200585b581}; !- Outlet Port - -OS:Connection, - {97ac6a3e-b15e-4f70-8a28-8d200585b581}, !- Handle - {8443495f-c147-4b11-972e-cbb3e4550684}, !- Name - {708b7581-35f1-4ca9-9429-bc99183e7556}, !- Source Object - 3, !- Outlet Port - {1b0adbbe-e75e-41eb-947e-e040b2a36e1f}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {93a348f5-d62c-40de-8a17-406dfa31cebb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Relief Air Node, !- Name - {349f7791-9105-4ae0-9b22-30215db6249e}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {349f7791-9105-4ae0-9b22-30215db6249e}, !- Handle - {49ddcde5-bdde-46b7-9d6d-ba547c091f4e}, !- Name - {1b0adbbe-e75e-41eb-947e-e040b2a36e1f}, !- Source Object - 7, !- Outlet Port - {93a348f5-d62c-40de-8a17-406dfa31cebb}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {88aa2071-754c-4409-ae63-b1a9f1247592}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Mixed Air Node, !- Name - {da017509-8107-4ed6-8ac7-6f93fcdf49b3}, !- Inlet Port - {db1f43f1-06d4-4bd5-9202-e6db2a577e05}; !- Outlet Port - -OS:Connection, - {5a352e4e-4476-4a6e-93c3-275c52a072e3}, !- Handle - {2ef15246-7543-478c-8455-f433e0fa09ce}, !- Name - {744114c0-0dda-43ab-95e0-3ceed0fdd8d5}, !- Source Object - 3, !- Outlet Port - {1b0adbbe-e75e-41eb-947e-e040b2a36e1f}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {da017509-8107-4ed6-8ac7-6f93fcdf49b3}, !- Handle - {18c1aee9-1f86-4f9d-accb-52a2747bcb89}, !- Name - {1b0adbbe-e75e-41eb-947e-e040b2a36e1f}, !- Source Object - 5, !- Outlet Port - {88aa2071-754c-4409-ae63-b1a9f1247592}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {db1f43f1-06d4-4bd5-9202-e6db2a577e05}, !- Handle - {b2ae44b1-c67f-4f37-9ca7-d93a228ee257}, !- Name - {88aa2071-754c-4409-ae63-b1a9f1247592}, !- Source Object - 3, !- Outlet Port - {82f4250e-0688-4afd-8bae-b9e125a6c5a8}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {7dd74a4e-2259-4554-b5c1-aa0cdd85793c}, !- Handle - Availability Manager Night Cycle 14, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {41c32328-36be-4c4b-a81c-34953b7df3a1}, !- Control Zone or Zone List Name - {33a36ed3-8dba-4ebb-86ad-6ee98660721d}, !- Cooling Control Zone or Zone List Name - {65cfe5c5-e060-4045-a6b5-cedeaeef8064}, !- Heating Control Zone or Zone List Name - {b7ec3bfa-5adb-4b91-8155-52a986bbac64}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {41c32328-36be-4c4b-a81c-34953b7df3a1}, !- Handle - Availability Manager Night Cycle 14 Control Zone List; !- Name - -OS:ModelObjectList, - {33a36ed3-8dba-4ebb-86ad-6ee98660721d}, !- Handle - Availability Manager Night Cycle 14 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {65cfe5c5-e060-4045-a6b5-cedeaeef8064}, !- Handle - Availability Manager Night Cycle 14 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {b7ec3bfa-5adb-4b91-8155-52a986bbac64}, !- Handle - Availability Manager Night Cycle 14 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {cbd9857f-1d35-43e0-b5d2-81e56c150e96}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {d46f8756-61e0-43aa-97f2-a0aa863f6abe}, !- Air Inlet Node Name - {be15a5d1-3211-472a-ab53-d426308c5f2a}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {f5195fb8-629b-4191-a236-d8c70f84017b}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top Return Air Node, !- Name - {c2fa1995-310c-4eaa-9e1f-91c2ba4c3c7c}, !- Inlet Port - {7b22646c-ceaa-4edb-bfea-2ea8511aaee5}; !- Outlet Port - -OS:Connection, - {ccecdf00-3f97-4be4-a765-e687c8f02a09}, !- Handle - {3fc2c3f9-1f37-4e8c-8bfd-c22592209fb5}, !- Name - {da71d8aa-366b-4c70-bb1a-9736d1ec39a4}, !- Source Object - 3, !- Outlet Port - {58a006a0-0d08-484b-a4e0-99b161e01776}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {c2fa1995-310c-4eaa-9e1f-91c2ba4c3c7c}, !- Handle - {8a41b730-5ff3-4bbd-9f7c-192d3ed6a4d1}, !- Name - {d9a97764-67c0-4c08-a974-e72b9e874110}, !- Source Object - 3, !- Outlet Port - {f5195fb8-629b-4191-a236-d8c70f84017b}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {7b22646c-ceaa-4edb-bfea-2ea8511aaee5}, !- Handle - {f5a24701-0ad0-487c-a667-5b3484cdbe87}, !- Name - {f5195fb8-629b-4191-a236-d8c70f84017b}, !- Source Object - 3, !- Outlet Port - {5b4f4176-eda8-4f9e-8ccd-2d46021b4e2a}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {310f186f-e8b1-44e4-83b0-16628c569a72}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {1cbcf305-c83e-4885-8825-d22ec073798a}, !- Inlet Port - {d46f8756-61e0-43aa-97f2-a0aa863f6abe}; !- Outlet Port - -OS:Connection, - {1cbcf305-c83e-4885-8825-d22ec073798a}, !- Handle - {c33d65a4-cd94-4e78-aa3c-4b0715679dfc}, !- Name - {62210dd6-753e-4901-9a59-74ec83c0191d}, !- Source Object - 3, !- Outlet Port - {310f186f-e8b1-44e4-83b0-16628c569a72}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d46f8756-61e0-43aa-97f2-a0aa863f6abe}, !- Handle - {b9e18dfb-1e68-4c35-b142-db33f2985cc8}, !- Name - {310f186f-e8b1-44e4-83b0-16628c569a72}, !- Source Object - 3, !- Outlet Port - {cbd9857f-1d35-43e0-b5d2-81e56c150e96}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {be15a5d1-3211-472a-ab53-d426308c5f2a}, !- Handle - {c1eefaaf-a0ab-4764-a670-25e552fc98c7}, !- Name - {cbd9857f-1d35-43e0-b5d2-81e56c150e96}, !- Source Object - 4, !- Outlet Port - {da71d8aa-366b-4c70-bb1a-9736d1ec39a4}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC, !- Name - , !- Controller List Name - {00796cf9-9e03-4976-a340-8596b130548f}, !- Availability Schedule - {f3705179-a10d-4600-a0d1-eea95e7512f3}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {5e984c74-5a0e-457c-a397-6e7558cb2297}, !- Supply Side Inlet Node Name - {056ba14b-1ccc-43d0-8e0c-bae045e5752d}, !- Demand Side Outlet Node Name - {1483a6e4-543c-4672-ae6e-82e6b2e59c9a}, !- Demand Side Inlet Node A - {33c15bd7-d861-4a5f-98d4-065c44bf3263}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {424767df-4b6e-4fbf-85eb-2783122d7990}, !- Demand Mixer Name - {f352cddd-769f-4bee-acaf-8919450e433d}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {12c5635d-5e30-441e-a0ec-39f8d64d9c52}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Supply Inlet Node, !- Name - {5e984c74-5a0e-457c-a397-6e7558cb2297}, !- Inlet Port - {609c7a0e-50e8-488a-9600-def3caea9d55}; !- Outlet Port - -OS:Node, - {6d67c97a-0af1-46ff-8f18-aeb6ebcec362}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Supply Outlet Node, !- Name - {fc0ab85b-bd38-4427-a196-98de66d068fd}, !- Inlet Port - {33c15bd7-d861-4a5f-98d4-065c44bf3263}; !- Outlet Port - -OS:Connection, - {5e984c74-5a0e-457c-a397-6e7558cb2297}, !- Handle - {5b3554f6-ac47-41d0-a42b-dbb49e134958}, !- Name - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- Source Object - 8, !- Outlet Port - {12c5635d-5e30-441e-a0ec-39f8d64d9c52}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {33c15bd7-d861-4a5f-98d4-065c44bf3263}, !- Handle - {c1de0658-319b-409c-9850-f1b28d8ed75c}, !- Name - {6d67c97a-0af1-46ff-8f18-aeb6ebcec362}, !- Source Object - 3, !- Outlet Port - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {7357fb4c-f117-4ec6-a1e5-9d5ff6f216be}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Demand Inlet Node, !- Name - {1483a6e4-543c-4672-ae6e-82e6b2e59c9a}, !- Inlet Port - {4e08af89-1b19-435c-aca0-8a13c8e20f07}; !- Outlet Port - -OS:Node, - {577cd8b1-b47f-4711-a330-012497cfa1c3}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Demand Outlet Node, !- Name - {f76b5262-d990-44ce-91a5-067bea17ad8b}, !- Inlet Port - {056ba14b-1ccc-43d0-8e0c-bae045e5752d}; !- Outlet Port - -OS:Node, - {14f551ea-9911-4477-a22d-38439d57dad0}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {01ba7c3f-a839-4505-b989-40fe0cc2a99e}, !- Inlet Port - {ff34225b-6028-4f0c-bc60-f34d6bf332eb}; !- Outlet Port - -OS:Connection, - {1483a6e4-543c-4672-ae6e-82e6b2e59c9a}, !- Handle - {f8c8d0f4-9d69-4754-9bed-15027b053b2f}, !- Name - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- Source Object - 10, !- Outlet Port - {7357fb4c-f117-4ec6-a1e5-9d5ff6f216be}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {056ba14b-1ccc-43d0-8e0c-bae045e5752d}, !- Handle - {d9b62538-4088-4f76-b209-d2958c8a22d1}, !- Name - {577cd8b1-b47f-4711-a330-012497cfa1c3}, !- Source Object - 3, !- Outlet Port - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {f352cddd-769f-4bee-acaf-8919450e433d}, !- Handle - Air Loop HVAC Zone Splitter 15, !- Name - {4e08af89-1b19-435c-aca0-8a13c8e20f07}, !- Inlet Node Name - {f342e902-d8aa-4c26-b78a-f6ee8837310b}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {424767df-4b6e-4fbf-85eb-2783122d7990}, !- Handle - Air Loop HVAC Zone Mixer 15, !- Name - {f76b5262-d990-44ce-91a5-067bea17ad8b}, !- Outlet Node Name - {563885f5-1f2a-4dc7-b3ed-8d5c46a5469e}; !- Inlet Node Name 1 - -OS:Connection, - {4e08af89-1b19-435c-aca0-8a13c8e20f07}, !- Handle - {ae20c531-024b-41f7-956c-de1ab1733dec}, !- Name - {7357fb4c-f117-4ec6-a1e5-9d5ff6f216be}, !- Source Object - 3, !- Outlet Port - {f352cddd-769f-4bee-acaf-8919450e433d}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f76b5262-d990-44ce-91a5-067bea17ad8b}, !- Handle - {7089cd3f-9bc2-4bc4-b03d-606deec11914}, !- Name - {424767df-4b6e-4fbf-85eb-2783122d7990}, !- Source Object - 2, !- Outlet Port - {577cd8b1-b47f-4711-a330-012497cfa1c3}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {de768ee5-1b07-4272-b50c-29092125c13f}, !- Handle - {a745340e-8f09-4d2b-9891-52eb24867b19}, !- 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, - {f3705179-a10d-4600-a0d1-eea95e7512f3}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 14, !- Name - {3f7c398a-5540-4eb6-a361-860d858cb6ed}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {69978d0b-2e12-4183-b067-fb9779282b96}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- Control Zone Name - {6d67c97a-0af1-46ff-8f18-aeb6ebcec362}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {dbf33970-9b6f-4bab-ae8d-3d33d46e8e94}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {f840c06b-3afe-459e-861a-f7b8e7ab23be}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {888de0b0-5fa3-4226-86f4-c92b574927ff}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC 1spd DX AC Clg Coil 7kBtu/hr 11.06SEER 6kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {4559b7af-d785-4ef0-a9b1-dcf502850904}, !- Handle - Curve Biquadratic 57, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {28e04c20-5d92-448a-a327-2d70d3756501}, !- Handle - Curve Quadratic 85, !- 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, - {ababe228-130f-431c-b8f8-d1539fb0f01c}, !- Handle - Curve Biquadratic 58, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {8bf5da68-3f8e-41d4-97c7-c25ff3b20e42}, !- Handle - Curve Quadratic 86, !- 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, - {f3ad4050-c5c6-4eb5-9dbc-7267bd4a981d}, !- Handle - Curve Quadratic 87, !- 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, - {d0e725fe-2bc3-4bfd-88e5-7c240b99ce91}, !- Handle - Curve Biquadratic 59, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {be1dc2c5-7cc0-467a-92a9-478903b82628}, !- Handle - Curve Quadratic 88, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {85ef67f1-9e99-4c9f-be8b-875a7a59c58e}, !- Handle - Curve Biquadratic 60, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {231b7ffb-1e5e-49fa-b6df-3de284fbe6fa}, !- Handle - Curve Quadratic 89, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {19b10ce4-f7b7-4dd5-a985-062abe7d5c51}, !- Handle - Curve Quadratic 90, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {39b00ff1-4f94-4483-bbe5-fe2e9fb84fb0}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {ad6f06c8-d405-4178-8c54-1b8e15afcab8}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {06bf7628-3ebf-4f27-93f8-762da8bf3dfc}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {ad6f06c8-d405-4178-8c54-1b8e15afcab8}, !- Handle - Fan On Off Power Curve 14, !- 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, - {06bf7628-3ebf-4f27-93f8-762da8bf3dfc}, !- Handle - Fan On Off Efficiency Curve 14, !- 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:AirLoopHVAC:UnitarySystem, - {5c33fd4d-d8c1-46a9-8a08-a2eb5e11e62a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {ee85c892-64da-4474-be0e-e12863f6dd68}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {321c1911-9e2a-4ecd-a551-57ca447bcdd5}, !- Air Inlet Node Name - {fc0ab85b-bd38-4427-a196-98de66d068fd}, !- Air Outlet Node Name - {39b00ff1-4f94-4483-bbe5-fe2e9fb84fb0}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {00796cf9-9e03-4976-a340-8596b130548f}, !- Supply Air Fan Operating Mode Schedule Name - {dbf33970-9b6f-4bab-ae8d-3d33d46e8e94}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {888de0b0-5fa3-4226-86f4-c92b574927ff}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {f840c06b-3afe-459e-861a-f7b8e7ab23be}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {fc0ab85b-bd38-4427-a196-98de66d068fd}, !- Handle - {8d22be77-d12c-4d08-a774-b8711d818cc0}, !- Name - {5c33fd4d-d8c1-46a9-8a08-a2eb5e11e62a}, !- Source Object - 7, !- Outlet Port - {6d67c97a-0af1-46ff-8f18-aeb6ebcec362}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {01253270-e6f2-4c1a-9fb0-3a65ee96083e}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {fd098b16-1d61-461b-bbae-6df1705a9b5f}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {9a823558-d931-4e58-b254-98eeac2bcd86}, !- 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, - {9a823558-d931-4e58-b254-98eeac2bcd86}, !- Handle - Controller Mechanical Ventilation 15, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {7e436f36-8022-4233-a4a4-10546bacadb9}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC OA System, !- Name - {01253270-e6f2-4c1a-9fb0-3a65ee96083e}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {6cf2037d-275f-4082-b312-e09a23941596}, !- Mixed Air Node Name - {fba525de-5a59-40eb-a986-3399a49bd3ee}, !- Outdoor Air Stream Node Name - {a5f2b74d-db17-40ea-9d8e-89e82682c4bc}, !- Relief Air Stream Node Name - {609c7a0e-50e8-488a-9600-def3caea9d55}; !- Return Air Stream Node Name - -OS:Node, - {9fc0a63c-8da1-4724-a815-08173dbd3950}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {fba525de-5a59-40eb-a986-3399a49bd3ee}; !- Outlet Port - -OS:Connection, - {fba525de-5a59-40eb-a986-3399a49bd3ee}, !- Handle - {d8cc8bef-36e2-4630-b8fc-17183b7f0201}, !- Name - {9fc0a63c-8da1-4724-a815-08173dbd3950}, !- Source Object - 3, !- Outlet Port - {7e436f36-8022-4233-a4a4-10546bacadb9}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {186da4d6-5627-47ef-a9ca-f8e56ec360d0}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Relief Air Node, !- Name - {a5f2b74d-db17-40ea-9d8e-89e82682c4bc}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {a5f2b74d-db17-40ea-9d8e-89e82682c4bc}, !- Handle - {f4a36844-7afd-4c9e-9a31-4583e8680eb0}, !- Name - {7e436f36-8022-4233-a4a4-10546bacadb9}, !- Source Object - 7, !- Outlet Port - {186da4d6-5627-47ef-a9ca-f8e56ec360d0}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {2daade62-886a-484e-aeac-012c482a39d0}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Mixed Air Node, !- Name - {6cf2037d-275f-4082-b312-e09a23941596}, !- Inlet Port - {321c1911-9e2a-4ecd-a551-57ca447bcdd5}; !- Outlet Port - -OS:Connection, - {609c7a0e-50e8-488a-9600-def3caea9d55}, !- Handle - {4d94ee83-d178-4e63-bf2e-2fd27e6a7bdd}, !- Name - {12c5635d-5e30-441e-a0ec-39f8d64d9c52}, !- Source Object - 3, !- Outlet Port - {7e436f36-8022-4233-a4a4-10546bacadb9}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {6cf2037d-275f-4082-b312-e09a23941596}, !- Handle - {56f66225-512d-43ed-99ad-11daae73d58a}, !- Name - {7e436f36-8022-4233-a4a4-10546bacadb9}, !- Source Object - 5, !- Outlet Port - {2daade62-886a-484e-aeac-012c482a39d0}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {321c1911-9e2a-4ecd-a551-57ca447bcdd5}, !- Handle - {051dafb4-4d51-47fb-90f0-6a0393ff924f}, !- Name - {2daade62-886a-484e-aeac-012c482a39d0}, !- Source Object - 3, !- Outlet Port - {5c33fd4d-d8c1-46a9-8a08-a2eb5e11e62a}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {3f7c398a-5540-4eb6-a361-860d858cb6ed}, !- Handle - Availability Manager Night Cycle 15, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {ba5c8a0c-9468-4be5-83dd-11d4bf5a7d55}, !- Control Zone or Zone List Name - {787e7e03-6425-4148-b3c1-9bec6375f8c9}, !- Cooling Control Zone or Zone List Name - {a40afa75-d82e-43a6-97f0-7e0c2ac9944c}, !- Heating Control Zone or Zone List Name - {dff81e9f-d98c-4b07-8799-b110648c7c33}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {ba5c8a0c-9468-4be5-83dd-11d4bf5a7d55}, !- Handle - Availability Manager Night Cycle 15 Control Zone List; !- Name - -OS:ModelObjectList, - {787e7e03-6425-4148-b3c1-9bec6375f8c9}, !- Handle - Availability Manager Night Cycle 15 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {a40afa75-d82e-43a6-97f0-7e0c2ac9944c}, !- Handle - Availability Manager Night Cycle 15 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {dff81e9f-d98c-4b07-8799-b110648c7c33}, !- Handle - Availability Manager Night Cycle 15 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {31b2412c-f825-49ab-b24b-b28c3d3ce765}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {730362bd-82f7-408b-af9f-197cdba509be}, !- Air Inlet Node Name - {01ba7c3f-a839-4505-b989-40fe0cc2a99e}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {67132bf7-a5a0-4fe1-a497-1b293365aef1}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top Return Air Node, !- Name - {13268a9c-3ae6-44fe-8c42-c5f5c6b62466}, !- Inlet Port - {563885f5-1f2a-4dc7-b3ed-8d5c46a5469e}; !- Outlet Port - -OS:Connection, - {ff34225b-6028-4f0c-bc60-f34d6bf332eb}, !- Handle - {d7d11051-5014-4ed7-9ba6-3da6154367b5}, !- Name - {14f551ea-9911-4477-a22d-38439d57dad0}, !- Source Object - 3, !- Outlet Port - {928a0fc0-de85-4968-b49b-2a3a533068c5}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {13268a9c-3ae6-44fe-8c42-c5f5c6b62466}, !- Handle - {965930b6-201e-4585-99d6-5ae37fa67a22}, !- Name - {78296d21-a5ed-4422-86e0-182bdcb2bd2b}, !- Source Object - 3, !- Outlet Port - {67132bf7-a5a0-4fe1-a497-1b293365aef1}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {563885f5-1f2a-4dc7-b3ed-8d5c46a5469e}, !- Handle - {0fdfca20-1f18-4e41-afff-9e2d8ff842de}, !- Name - {67132bf7-a5a0-4fe1-a497-1b293365aef1}, !- Source Object - 3, !- Outlet Port - {424767df-4b6e-4fbf-85eb-2783122d7990}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {4b9072df-3228-4094-834d-8413122bc040}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {f342e902-d8aa-4c26-b78a-f6ee8837310b}, !- Inlet Port - {730362bd-82f7-408b-af9f-197cdba509be}; !- Outlet Port - -OS:Connection, - {f342e902-d8aa-4c26-b78a-f6ee8837310b}, !- Handle - {46e1047c-bec4-4aef-befe-ad0a67bf6903}, !- Name - {f352cddd-769f-4bee-acaf-8919450e433d}, !- Source Object - 3, !- Outlet Port - {4b9072df-3228-4094-834d-8413122bc040}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {730362bd-82f7-408b-af9f-197cdba509be}, !- Handle - {bbbf030f-963e-410a-975f-e866012745c5}, !- Name - {4b9072df-3228-4094-834d-8413122bc040}, !- Source Object - 3, !- Outlet Port - {31b2412c-f825-49ab-b24b-b28c3d3ce765}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {01ba7c3f-a839-4505-b989-40fe0cc2a99e}, !- Handle - {cd34040b-da02-4564-80db-18fe592211a3}, !- Name - {31b2412c-f825-49ab-b24b-b28c3d3ce765}, !- Source Object - 4, !- Outlet Port - {14f551ea-9911-4477-a22d-38439d57dad0}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC, !- Name - , !- Controller List Name - {1038ce0f-e0fe-48ed-8422-2e8d871672a1}, !- Availability Schedule - {70a7480e-b2fa-4f0a-9a49-38874cb4640d}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {118ddef5-08ce-4b2d-8026-ec6353d8c472}, !- Supply Side Inlet Node Name - {84f152eb-3403-4178-8cb0-7410d5ce28df}, !- Demand Side Outlet Node Name - {d54e7548-80a5-41dc-81ba-89930f9324c0}, !- Demand Side Inlet Node A - {a7c529f5-92a8-4e1a-8489-4bf82e445aea}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {6635637f-b7a9-466a-a5e1-ff2f49109096}, !- Demand Mixer Name - {99c68902-7ab0-439b-8d57-0f81b265d2e7}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {cae9002e-68f9-49a4-9066-bf1f2dc0ba19}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Supply Inlet Node, !- Name - {118ddef5-08ce-4b2d-8026-ec6353d8c472}, !- Inlet Port - {9fe2c063-721b-40d2-83ea-31b0bc86f546}; !- Outlet Port - -OS:Node, - {30a10346-91e8-465c-99e8-4074d8988f0d}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Supply Outlet Node, !- Name - {88586efc-f0ef-44b1-b959-e4c87959511a}, !- Inlet Port - {a7c529f5-92a8-4e1a-8489-4bf82e445aea}; !- Outlet Port - -OS:Connection, - {118ddef5-08ce-4b2d-8026-ec6353d8c472}, !- Handle - {04dfacbe-b02e-48f6-a572-d1f3f33a0716}, !- Name - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- Source Object - 8, !- Outlet Port - {cae9002e-68f9-49a4-9066-bf1f2dc0ba19}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {a7c529f5-92a8-4e1a-8489-4bf82e445aea}, !- Handle - {545245c7-cc1b-4e55-b0d4-b307c7e1c9a2}, !- Name - {30a10346-91e8-465c-99e8-4074d8988f0d}, !- Source Object - 3, !- Outlet Port - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {2af299b8-ce2b-4ca5-9e3c-d0fbfda00969}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Demand Inlet Node, !- Name - {d54e7548-80a5-41dc-81ba-89930f9324c0}, !- Inlet Port - {95550486-d708-498b-9235-464a85676fd8}; !- Outlet Port - -OS:Node, - {aaf95f37-4075-425f-94dc-7242735a22dc}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Demand Outlet Node, !- Name - {9dc2aa7a-817b-40f4-99ad-7db450fa9dd9}, !- Inlet Port - {84f152eb-3403-4178-8cb0-7410d5ce28df}; !- Outlet Port - -OS:Node, - {f4a4fd39-7e32-49de-9b3b-bc8269515c3b}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {d2dc03f7-c97c-464a-bfb5-019cb69e3fe6}, !- Inlet Port - {099331c7-72c8-4083-b7e2-081096b751c8}; !- Outlet Port - -OS:Connection, - {d54e7548-80a5-41dc-81ba-89930f9324c0}, !- Handle - {b3d0aba4-f8b8-4915-9300-69c49d326e75}, !- Name - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- Source Object - 10, !- Outlet Port - {2af299b8-ce2b-4ca5-9e3c-d0fbfda00969}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {84f152eb-3403-4178-8cb0-7410d5ce28df}, !- Handle - {e6241210-06b1-402b-8fb4-00c6587102fc}, !- Name - {aaf95f37-4075-425f-94dc-7242735a22dc}, !- Source Object - 3, !- Outlet Port - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {99c68902-7ab0-439b-8d57-0f81b265d2e7}, !- Handle - Air Loop HVAC Zone Splitter 16, !- Name - {95550486-d708-498b-9235-464a85676fd8}, !- Inlet Node Name - {017c1445-379c-4b21-8797-e739de2469fc}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {6635637f-b7a9-466a-a5e1-ff2f49109096}, !- Handle - Air Loop HVAC Zone Mixer 16, !- Name - {9dc2aa7a-817b-40f4-99ad-7db450fa9dd9}, !- Outlet Node Name - {910c0b39-a6fd-460e-b157-7c887eb5331b}; !- Inlet Node Name 1 - -OS:Connection, - {95550486-d708-498b-9235-464a85676fd8}, !- Handle - {c328eeac-597b-4bbb-a738-0dc6b1fc2c92}, !- Name - {2af299b8-ce2b-4ca5-9e3c-d0fbfda00969}, !- Source Object - 3, !- Outlet Port - {99c68902-7ab0-439b-8d57-0f81b265d2e7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9dc2aa7a-817b-40f4-99ad-7db450fa9dd9}, !- Handle - {8aa0158d-8dc0-4a16-a6a6-e91f187363cd}, !- Name - {6635637f-b7a9-466a-a5e1-ff2f49109096}, !- Source Object - 2, !- Outlet Port - {aaf95f37-4075-425f-94dc-7242735a22dc}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {2a6ba49d-e29a-42c5-964f-840608e9eb6d}, !- Handle - {dedf6ae0-5c04-4a7f-bc6d-cc6c55dc0eb7}, !- 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, - {70a7480e-b2fa-4f0a-9a49-38874cb4640d}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 15, !- Name - {37aa918d-ec4e-4b8a-bed3-cc259c25a196}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {bdd4ab0d-d7f2-4dd8-a33b-5d0590dc8ac9}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {1d923239-0151-46b0-9047-539d56678c8d}, !- Control Zone Name - {30a10346-91e8-465c-99e8-4074d8988f0d}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {5421ef5b-8022-4164-babc-621f45276625}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {f92d847a-66a1-4b2f-9322-c52dceb67b4f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {35408fd1-d780-4484-b0ab-4017c3502779}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC 1spd DX AC Clg Coil 24kBtu/hr 11.06SEER 20kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {fddcd1df-51e8-42e1-9c3e-2a37bc82826f}, !- Handle - Curve Biquadratic 61, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {82b14326-2d5d-4cf2-9e24-60e38b6400d4}, !- Handle - Curve Quadratic 91, !- 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, - {af63c9d3-0934-4b99-a959-2811f40b109d}, !- Handle - Curve Biquadratic 62, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {1f5d9c9c-3418-495c-a36f-a474bc4d1635}, !- Handle - Curve Quadratic 92, !- 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, - {b68be311-5e34-4a87-b20a-85eddfc0d074}, !- Handle - Curve Quadratic 93, !- 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, - {886abe4f-72f8-4eaa-9629-8338c4193dd7}, !- Handle - Curve Biquadratic 63, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {564d17f3-8b7b-4aef-be8e-3a78abe18cf7}, !- Handle - Curve Quadratic 94, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {66f82c53-dbc7-4759-a4ca-a8fa75aa0956}, !- Handle - Curve Biquadratic 64, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {ae2ce10d-aad9-4a9a-b013-2b129e308fbb}, !- Handle - Curve Quadratic 95, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {40e35acf-3431-41e2-886b-102d6b576a83}, !- Handle - Curve Quadratic 96, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {06b58638-0b19-49be-a77d-936b9d1b7c6b}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {655ca7dc-116c-4c65-bbb1-b8ec39b8e9f2}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {579589c7-b678-4d40-9e83-55135882f32c}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {655ca7dc-116c-4c65-bbb1-b8ec39b8e9f2}, !- Handle - Fan On Off Power Curve 15, !- 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, - {579589c7-b678-4d40-9e83-55135882f32c}, !- Handle - Fan On Off Efficiency Curve 15, !- 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:AirLoopHVAC:UnitarySystem, - {1298dc72-9cb4-4ba7-915c-313e5219c122}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {1d923239-0151-46b0-9047-539d56678c8d}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {25f88355-07fd-47b3-961e-3e429c5f6cd5}, !- Air Inlet Node Name - {88586efc-f0ef-44b1-b959-e4c87959511a}, !- Air Outlet Node Name - {06b58638-0b19-49be-a77d-936b9d1b7c6b}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {1038ce0f-e0fe-48ed-8422-2e8d871672a1}, !- Supply Air Fan Operating Mode Schedule Name - {5421ef5b-8022-4164-babc-621f45276625}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {35408fd1-d780-4484-b0ab-4017c3502779}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {f92d847a-66a1-4b2f-9322-c52dceb67b4f}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {88586efc-f0ef-44b1-b959-e4c87959511a}, !- Handle - {011f38c0-94f9-4406-a6db-0f5a54bf0152}, !- Name - {1298dc72-9cb4-4ba7-915c-313e5219c122}, !- Source Object - 7, !- Outlet Port - {30a10346-91e8-465c-99e8-4074d8988f0d}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {76c9b7ab-b35d-4362-ba6d-5fd283647eda}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {88f6fd61-bce7-4168-b769-ef1c966bd78c}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {2ecf6e58-9775-48b5-9736-83acfb9cc765}, !- 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, - {2ecf6e58-9775-48b5-9736-83acfb9cc765}, !- Handle - Controller Mechanical Ventilation 16, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {d8e10d21-7b87-4dce-86a1-0af894f1aa48}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC OA System, !- Name - {76c9b7ab-b35d-4362-ba6d-5fd283647eda}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {81e3c477-a05e-46c1-93e5-4289f46bcb47}, !- Mixed Air Node Name - {55f16a0e-804e-43f2-9ddc-b9be9e7637df}, !- Outdoor Air Stream Node Name - {2587319b-dd2a-40f2-9dde-6a17fbd09891}, !- Relief Air Stream Node Name - {9fe2c063-721b-40d2-83ea-31b0bc86f546}; !- Return Air Stream Node Name - -OS:Node, - {40ddf1f1-a287-4ddb-99ca-01cac5fd8385}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {55f16a0e-804e-43f2-9ddc-b9be9e7637df}; !- Outlet Port - -OS:Connection, - {55f16a0e-804e-43f2-9ddc-b9be9e7637df}, !- Handle - {62f5a17d-6835-4cf8-8f34-627d8e96d23d}, !- Name - {40ddf1f1-a287-4ddb-99ca-01cac5fd8385}, !- Source Object - 3, !- Outlet Port - {d8e10d21-7b87-4dce-86a1-0af894f1aa48}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {cc9b7cd4-3762-415b-8a7a-b6f9bcba965c}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Relief Air Node, !- Name - {2587319b-dd2a-40f2-9dde-6a17fbd09891}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {2587319b-dd2a-40f2-9dde-6a17fbd09891}, !- Handle - {4df965fd-a297-4948-85ef-7293b8764b4b}, !- Name - {d8e10d21-7b87-4dce-86a1-0af894f1aa48}, !- Source Object - 7, !- Outlet Port - {cc9b7cd4-3762-415b-8a7a-b6f9bcba965c}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {8af43b0b-ecc3-438b-a59d-5f771cab38bb}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Mixed Air Node, !- Name - {81e3c477-a05e-46c1-93e5-4289f46bcb47}, !- Inlet Port - {25f88355-07fd-47b3-961e-3e429c5f6cd5}; !- Outlet Port - -OS:Connection, - {9fe2c063-721b-40d2-83ea-31b0bc86f546}, !- Handle - {e3815253-ff59-4bec-9b77-fc5792fef1ab}, !- Name - {cae9002e-68f9-49a4-9066-bf1f2dc0ba19}, !- Source Object - 3, !- Outlet Port - {d8e10d21-7b87-4dce-86a1-0af894f1aa48}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {81e3c477-a05e-46c1-93e5-4289f46bcb47}, !- Handle - {193a4de2-d3cf-40f0-85a5-099c179f2ea0}, !- Name - {d8e10d21-7b87-4dce-86a1-0af894f1aa48}, !- Source Object - 5, !- Outlet Port - {8af43b0b-ecc3-438b-a59d-5f771cab38bb}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {25f88355-07fd-47b3-961e-3e429c5f6cd5}, !- Handle - {ab86b925-a564-4ef1-9b0b-f9bd36eb5f5d}, !- Name - {8af43b0b-ecc3-438b-a59d-5f771cab38bb}, !- Source Object - 3, !- Outlet Port - {1298dc72-9cb4-4ba7-915c-313e5219c122}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {37aa918d-ec4e-4b8a-bed3-cc259c25a196}, !- Handle - Availability Manager Night Cycle 16, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {5c075f8a-bde5-4ad0-a414-0ab2c79e4e78}, !- Control Zone or Zone List Name - {2fe88d80-26eb-4951-b64f-cc96e03b238c}, !- Cooling Control Zone or Zone List Name - {342c0d8f-6e76-46ba-bb2d-c6aacc8ed174}, !- Heating Control Zone or Zone List Name - {7942e17c-2f9e-41be-91a1-e29a146b272c}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {5c075f8a-bde5-4ad0-a414-0ab2c79e4e78}, !- Handle - Availability Manager Night Cycle 16 Control Zone List; !- Name - -OS:ModelObjectList, - {2fe88d80-26eb-4951-b64f-cc96e03b238c}, !- Handle - Availability Manager Night Cycle 16 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {342c0d8f-6e76-46ba-bb2d-c6aacc8ed174}, !- Handle - Availability Manager Night Cycle 16 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {7942e17c-2f9e-41be-91a1-e29a146b272c}, !- Handle - Availability Manager Night Cycle 16 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {9afe9fc0-a8a4-49c3-b95f-8ffa4b630d99}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {868da5e1-3782-4b7e-929b-e56a42498720}, !- Air Inlet Node Name - {d2dc03f7-c97c-464a-bfb5-019cb69e3fe6}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {2ff6a5d5-610f-4bae-8db9-aa567b09c36c}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top Return Air Node, !- Name - {f8704147-fa62-4399-ad0a-a0f4ec8d06da}, !- Inlet Port - {910c0b39-a6fd-460e-b157-7c887eb5331b}; !- Outlet Port - -OS:Connection, - {099331c7-72c8-4083-b7e2-081096b751c8}, !- Handle - {800c36b3-5339-4107-9528-c129e5065164}, !- Name - {f4a4fd39-7e32-49de-9b3b-bc8269515c3b}, !- Source Object - 3, !- Outlet Port - {e74a29a4-8bc7-4044-b980-bc3539b00ab5}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {f8704147-fa62-4399-ad0a-a0f4ec8d06da}, !- Handle - {fdbaab40-5a08-4711-a336-77be12349a24}, !- Name - {276c249f-357b-4c22-945b-cfb8fb7d6b6b}, !- Source Object - 3, !- Outlet Port - {2ff6a5d5-610f-4bae-8db9-aa567b09c36c}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {910c0b39-a6fd-460e-b157-7c887eb5331b}, !- Handle - {958cb81c-0411-44e0-b132-5f5849b4a6e6}, !- Name - {2ff6a5d5-610f-4bae-8db9-aa567b09c36c}, !- Source Object - 3, !- Outlet Port - {6635637f-b7a9-466a-a5e1-ff2f49109096}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {9d8806fa-3fbe-4fbd-8ffd-2b0fc18b16e7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {017c1445-379c-4b21-8797-e739de2469fc}, !- Inlet Port - {868da5e1-3782-4b7e-929b-e56a42498720}; !- Outlet Port - -OS:Connection, - {017c1445-379c-4b21-8797-e739de2469fc}, !- Handle - {21818eed-8d6d-4ef8-8ef5-dc698f6ac361}, !- Name - {99c68902-7ab0-439b-8d57-0f81b265d2e7}, !- Source Object - 3, !- Outlet Port - {9d8806fa-3fbe-4fbd-8ffd-2b0fc18b16e7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {868da5e1-3782-4b7e-929b-e56a42498720}, !- Handle - {a12608c2-5c11-461a-96d7-f6600000fdc4}, !- Name - {9d8806fa-3fbe-4fbd-8ffd-2b0fc18b16e7}, !- Source Object - 3, !- Outlet Port - {9afe9fc0-a8a4-49c3-b95f-8ffa4b630d99}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {d2dc03f7-c97c-464a-bfb5-019cb69e3fe6}, !- Handle - {4f40fc42-f447-4904-bdfe-b98a55cc1a08}, !- Name - {9afe9fc0-a8a4-49c3-b95f-8ffa4b630d99}, !- Source Object - 4, !- Outlet Port - {f4a4fd39-7e32-49de-9b3b-bc8269515c3b}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC, !- Name - , !- Controller List Name - {068ccb35-e642-49b2-84b6-bf97fb0e69cb}, !- Availability Schedule - {074efb8b-f112-4e48-92d3-5404296324f1}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {2518595b-1213-4111-b8a6-9afccf8bd4a9}, !- Supply Side Inlet Node Name - {3c371a1f-7f15-4a07-9326-d09d9bd6b764}, !- Demand Side Outlet Node Name - {95e07d14-3ae3-44b0-98ad-3df5780abb97}, !- Demand Side Inlet Node A - {75942973-322f-494e-875c-3ab732b6ebb8}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {291b021b-6ec5-4cb2-8172-5b27fe194e51}, !- Demand Mixer Name - {9b8a73af-b535-45fb-8765-c8f8b43c81b7}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {5db63942-af97-49aa-9ffa-11b5103b21e4}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Supply Inlet Node, !- Name - {2518595b-1213-4111-b8a6-9afccf8bd4a9}, !- Inlet Port - {f1cac396-7481-41c9-ae63-4f1b65e5f316}; !- Outlet Port - -OS:Node, - {e27c0f4f-f360-4ac9-bea1-35bfe7a6346b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Supply Outlet Node, !- Name - {710d7f13-d90a-450c-9f8b-126bbf8b1170}, !- Inlet Port - {75942973-322f-494e-875c-3ab732b6ebb8}; !- Outlet Port - -OS:Connection, - {2518595b-1213-4111-b8a6-9afccf8bd4a9}, !- Handle - {1668a1e9-0064-4c31-9fc3-ca862dc1c165}, !- Name - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- Source Object - 8, !- Outlet Port - {5db63942-af97-49aa-9ffa-11b5103b21e4}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {75942973-322f-494e-875c-3ab732b6ebb8}, !- Handle - {9319f9de-e71e-4bf4-a62c-11a9e21b5da4}, !- Name - {e27c0f4f-f360-4ac9-bea1-35bfe7a6346b}, !- Source Object - 3, !- Outlet Port - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {047e5caf-fa35-4867-92b4-3fc28cf5641b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Demand Inlet Node, !- Name - {95e07d14-3ae3-44b0-98ad-3df5780abb97}, !- Inlet Port - {d4207ec5-21dc-4a85-816d-0544ed40019e}; !- Outlet Port - -OS:Node, - {a3070169-d052-45ab-9402-bb8bc8399148}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Demand Outlet Node, !- Name - {99ac814d-15df-4f65-9f49-a7e4c62620ca}, !- Inlet Port - {3c371a1f-7f15-4a07-9326-d09d9bd6b764}; !- Outlet Port - -OS:Node, - {b27f8de5-feae-4550-9db7-ff80f3be5088}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {7d7b5d00-ebe7-43cf-a77e-75595428c5a4}, !- Inlet Port - {e51a7074-6c83-4ac3-80cb-54a10ba4102b}; !- Outlet Port - -OS:Connection, - {95e07d14-3ae3-44b0-98ad-3df5780abb97}, !- Handle - {d2d5ff7f-928e-4a54-a0c4-c107104dd88f}, !- Name - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- Source Object - 10, !- Outlet Port - {047e5caf-fa35-4867-92b4-3fc28cf5641b}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {3c371a1f-7f15-4a07-9326-d09d9bd6b764}, !- Handle - {75a9eddc-cf38-4748-ad8a-f28e02cf9ada}, !- Name - {a3070169-d052-45ab-9402-bb8bc8399148}, !- Source Object - 3, !- Outlet Port - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {9b8a73af-b535-45fb-8765-c8f8b43c81b7}, !- Handle - Air Loop HVAC Zone Splitter 17, !- Name - {d4207ec5-21dc-4a85-816d-0544ed40019e}, !- Inlet Node Name - {d94ebbc5-fcce-40db-be58-13bb34db74f9}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {291b021b-6ec5-4cb2-8172-5b27fe194e51}, !- Handle - Air Loop HVAC Zone Mixer 17, !- Name - {99ac814d-15df-4f65-9f49-a7e4c62620ca}, !- Outlet Node Name - {f713256e-5585-46c2-8360-8792d5b12a1e}; !- Inlet Node Name 1 - -OS:Connection, - {d4207ec5-21dc-4a85-816d-0544ed40019e}, !- Handle - {7c572803-8c84-482f-bdd6-d00ec1acdcfb}, !- Name - {047e5caf-fa35-4867-92b4-3fc28cf5641b}, !- Source Object - 3, !- Outlet Port - {9b8a73af-b535-45fb-8765-c8f8b43c81b7}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {99ac814d-15df-4f65-9f49-a7e4c62620ca}, !- Handle - {253dfefd-f798-4e90-9444-24700f39f36f}, !- Name - {291b021b-6ec5-4cb2-8172-5b27fe194e51}, !- Source Object - 2, !- Outlet Port - {a3070169-d052-45ab-9402-bb8bc8399148}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {acc8dd12-e90c-428b-9e87-38ea9d33ed21}, !- Handle - {b9577ff6-21fe-42e9-bb4d-0f736ae744a8}, !- 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, - {074efb8b-f112-4e48-92d3-5404296324f1}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 16, !- Name - {34751c8c-0b3b-4891-b27e-7b9daad1153d}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {9c427c16-7721-4ea3-a567-62dff3d4045b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- Control Zone Name - {e27c0f4f-f360-4ac9-bea1-35bfe7a6346b}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {3f2c3679-51de-4d12-8321-c909fe57a927}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {4d6adced-15be-45c8-8167-78987cdc054b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {59ae67c4-8ffe-43cc-af06-4e9b2d5afe79}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC 1spd DX AC Clg Coil 8kBtu/hr 11.06SEER 7kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {2392bb58-c4e2-4868-b332-bdcdaf441bf3}, !- Handle - Curve Biquadratic 65, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {0d0150c4-60cd-4257-8941-51ad7ec408c0}, !- Handle - Curve Quadratic 97, !- 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, - {2d3bc930-5815-4ce2-90a9-8abcbdf02e92}, !- Handle - Curve Biquadratic 66, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {4a9492ec-fae1-48aa-9cc9-f6b7f1c7e628}, !- Handle - Curve Quadratic 98, !- 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, - {d4f27c3a-e232-4bf6-8905-6c207dcfbbd9}, !- Handle - Curve Quadratic 99, !- 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, - {e2422b33-a86c-4052-8cae-1e6c174f07ab}, !- Handle - Curve Biquadratic 67, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {832de34c-129b-47f3-9596-363cedbb995d}, !- Handle - Curve Quadratic 100, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {68aa0719-4982-43ca-9a49-7c11f51b4945}, !- Handle - Curve Biquadratic 68, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {5125ebee-7252-4424-b18e-d15a64d2fa35}, !- Handle - Curve Quadratic 101, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {fc4b0198-b120-4d6b-abd9-b39d98c25ca2}, !- Handle - Curve Quadratic 102, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {4eb96263-3db5-4954-82e8-b89a30b1550f}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {0a77dc19-2af3-4e4e-9a2d-1056c570a1af}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {58934b36-9efb-4f51-8658-40f37ebfaa32}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {0a77dc19-2af3-4e4e-9a2d-1056c570a1af}, !- Handle - Fan On Off Power Curve 16, !- 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, - {58934b36-9efb-4f51-8658-40f37ebfaa32}, !- Handle - Fan On Off Efficiency Curve 16, !- 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:AirLoopHVAC:UnitarySystem, - {3cf46a3d-4b15-4e90-922d-16b570b0e3e4}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {a3c1fea1-c43f-425e-a6ce-c5d87884f337}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {d060dcb4-255b-4049-aece-c57818c64f4b}, !- Air Inlet Node Name - {710d7f13-d90a-450c-9f8b-126bbf8b1170}, !- Air Outlet Node Name - {4eb96263-3db5-4954-82e8-b89a30b1550f}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {068ccb35-e642-49b2-84b6-bf97fb0e69cb}, !- Supply Air Fan Operating Mode Schedule Name - {3f2c3679-51de-4d12-8321-c909fe57a927}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {59ae67c4-8ffe-43cc-af06-4e9b2d5afe79}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {4d6adced-15be-45c8-8167-78987cdc054b}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {710d7f13-d90a-450c-9f8b-126bbf8b1170}, !- Handle - {2201f71d-c44e-4c53-ac0a-c3e1c3ac227c}, !- Name - {3cf46a3d-4b15-4e90-922d-16b570b0e3e4}, !- Source Object - 7, !- Outlet Port - {e27c0f4f-f360-4ac9-bea1-35bfe7a6346b}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {4f700002-2cae-4e8f-848a-5b1af17b8392}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {bf1e13ce-6896-4626-bf46-b683f22e709b}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {1d4b9dab-1bce-4235-a93e-bbe82bbfc4c3}, !- 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, - {1d4b9dab-1bce-4235-a93e-bbe82bbfc4c3}, !- Handle - Controller Mechanical Ventilation 17, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {8a00bb7d-687e-4d38-856c-b93f7fc1ee6d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC OA System, !- Name - {4f700002-2cae-4e8f-848a-5b1af17b8392}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {0ed9ef77-c130-44ef-ad8f-1465fb8e2b9a}, !- Mixed Air Node Name - {4f9cd229-e7d0-4fb7-8d09-2dcf3e69129b}, !- Outdoor Air Stream Node Name - {265f017a-e23d-42f2-9297-cdee1a572bfe}, !- Relief Air Stream Node Name - {f1cac396-7481-41c9-ae63-4f1b65e5f316}; !- Return Air Stream Node Name - -OS:Node, - {06e1afa1-51b2-42c9-a704-3e52ff1c417a}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {4f9cd229-e7d0-4fb7-8d09-2dcf3e69129b}; !- Outlet Port - -OS:Connection, - {4f9cd229-e7d0-4fb7-8d09-2dcf3e69129b}, !- Handle - {d68836d5-d09e-4ed2-8e49-80c45e6eae7e}, !- Name - {06e1afa1-51b2-42c9-a704-3e52ff1c417a}, !- Source Object - 3, !- Outlet Port - {8a00bb7d-687e-4d38-856c-b93f7fc1ee6d}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {7787fba0-491b-411d-ba9f-7e1e79aa0a76}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Relief Air Node, !- Name - {265f017a-e23d-42f2-9297-cdee1a572bfe}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {265f017a-e23d-42f2-9297-cdee1a572bfe}, !- Handle - {8e52f3ac-42df-495f-8c03-463fb0c2f957}, !- Name - {8a00bb7d-687e-4d38-856c-b93f7fc1ee6d}, !- Source Object - 7, !- Outlet Port - {7787fba0-491b-411d-ba9f-7e1e79aa0a76}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {1a3d6e7f-f79f-4cb0-aacb-dee452a2e20e}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Mixed Air Node, !- Name - {0ed9ef77-c130-44ef-ad8f-1465fb8e2b9a}, !- Inlet Port - {d060dcb4-255b-4049-aece-c57818c64f4b}; !- Outlet Port - -OS:Connection, - {f1cac396-7481-41c9-ae63-4f1b65e5f316}, !- Handle - {068b3504-a376-47d7-ab5b-aecf36c8c822}, !- Name - {5db63942-af97-49aa-9ffa-11b5103b21e4}, !- Source Object - 3, !- Outlet Port - {8a00bb7d-687e-4d38-856c-b93f7fc1ee6d}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {0ed9ef77-c130-44ef-ad8f-1465fb8e2b9a}, !- Handle - {5c0725fe-9ff2-430b-8d6a-44c34cb3bf36}, !- Name - {8a00bb7d-687e-4d38-856c-b93f7fc1ee6d}, !- Source Object - 5, !- Outlet Port - {1a3d6e7f-f79f-4cb0-aacb-dee452a2e20e}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {d060dcb4-255b-4049-aece-c57818c64f4b}, !- Handle - {1ba4f281-b96e-4ce7-b84b-6c9a37a1325b}, !- Name - {1a3d6e7f-f79f-4cb0-aacb-dee452a2e20e}, !- Source Object - 3, !- Outlet Port - {3cf46a3d-4b15-4e90-922d-16b570b0e3e4}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {34751c8c-0b3b-4891-b27e-7b9daad1153d}, !- Handle - Availability Manager Night Cycle 17, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {bb9d0092-97c0-40f5-a4d4-0bdd67126c76}, !- Control Zone or Zone List Name - {36cce35a-fb8d-4b71-8bdd-a431335f146c}, !- Cooling Control Zone or Zone List Name - {5f98d252-04ff-4b17-aa64-8b1eee6a30f8}, !- Heating Control Zone or Zone List Name - {f7cb9d06-3555-474e-a1ae-f3c7164f27d7}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {bb9d0092-97c0-40f5-a4d4-0bdd67126c76}, !- Handle - Availability Manager Night Cycle 17 Control Zone List; !- Name - -OS:ModelObjectList, - {36cce35a-fb8d-4b71-8bdd-a431335f146c}, !- Handle - Availability Manager Night Cycle 17 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {5f98d252-04ff-4b17-aa64-8b1eee6a30f8}, !- Handle - Availability Manager Night Cycle 17 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {f7cb9d06-3555-474e-a1ae-f3c7164f27d7}, !- Handle - Availability Manager Night Cycle 17 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {bdf97945-203e-4890-b90f-ca1cbffa31cf}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {cb721d9d-80b8-40d3-acd9-6fd5204334e6}, !- Air Inlet Node Name - {7d7b5d00-ebe7-43cf-a77e-75595428c5a4}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {5af5b73a-d841-4916-bb32-ece6e7bf7da4}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top Return Air Node, !- Name - {4e89bfcb-0c76-47b1-aaa7-5328c2dafd78}, !- Inlet Port - {f713256e-5585-46c2-8360-8792d5b12a1e}; !- Outlet Port - -OS:Connection, - {e51a7074-6c83-4ac3-80cb-54a10ba4102b}, !- Handle - {369e76e9-9478-4636-be94-af728858503c}, !- Name - {b27f8de5-feae-4550-9db7-ff80f3be5088}, !- Source Object - 3, !- Outlet Port - {d5c1fdb4-4bd1-4cd1-bda2-77d17f2f9798}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {4e89bfcb-0c76-47b1-aaa7-5328c2dafd78}, !- Handle - {68bf617a-5fd1-4180-92a3-3cb76ad5450f}, !- Name - {4c581570-2578-4c03-b1aa-620b22ff8439}, !- Source Object - 3, !- Outlet Port - {5af5b73a-d841-4916-bb32-ece6e7bf7da4}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f713256e-5585-46c2-8360-8792d5b12a1e}, !- Handle - {e1f4d4d3-c887-4ebc-bffe-5bbc8e4abca8}, !- Name - {5af5b73a-d841-4916-bb32-ece6e7bf7da4}, !- Source Object - 3, !- Outlet Port - {291b021b-6ec5-4cb2-8172-5b27fe194e51}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {30cf0622-e10f-4a19-89ca-00844cd44985}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {d94ebbc5-fcce-40db-be58-13bb34db74f9}, !- Inlet Port - {cb721d9d-80b8-40d3-acd9-6fd5204334e6}; !- Outlet Port - -OS:Connection, - {d94ebbc5-fcce-40db-be58-13bb34db74f9}, !- Handle - {d6fa9a28-4f73-4a95-8e97-5ed0a7e80eaa}, !- Name - {9b8a73af-b535-45fb-8765-c8f8b43c81b7}, !- Source Object - 3, !- Outlet Port - {30cf0622-e10f-4a19-89ca-00844cd44985}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {cb721d9d-80b8-40d3-acd9-6fd5204334e6}, !- Handle - {715f1e6b-3602-42e7-be7c-ef19722d3dc8}, !- Name - {30cf0622-e10f-4a19-89ca-00844cd44985}, !- Source Object - 3, !- Outlet Port - {bdf97945-203e-4890-b90f-ca1cbffa31cf}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {7d7b5d00-ebe7-43cf-a77e-75595428c5a4}, !- Handle - {2349522e-53bc-4622-b71a-4f8f5045d2e0}, !- Name - {bdf97945-203e-4890-b90f-ca1cbffa31cf}, !- Source Object - 4, !- Outlet Port - {b27f8de5-feae-4550-9db7-ff80f3be5088}, !- Target Object - 2; !- Inlet Port - -OS:AirLoopHVAC, - {69d75bad-1672-442f-9ea0-7d792c891371}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC, !- Name - , !- Controller List Name - {66aab325-5ef1-42a9-802e-553ace1968b7}, !- Availability Schedule - {5cd21108-c2b6-4ae3-b9ef-46564be89a50}, !- Availability Manager List Name - AutoSize, !- Design Supply Air Flow Rate {m3/s} - , !- Branch List Name - , !- Connector List Name - {20080f52-0e08-44b9-9b30-5e9436151857}, !- Supply Side Inlet Node Name - {826d9089-1644-4a27-8df1-80fe19e626de}, !- Demand Side Outlet Node Name - {53d8dd9f-bb20-4878-a4fc-4e04085c3fe2}, !- Demand Side Inlet Node A - {e68ddb5e-a2d1-4e1b-bd5c-68bafa97cc02}, !- Supply Side Outlet Node A - , !- Demand Side Inlet Node B - , !- Supply Side Outlet Node B - , !- Return Air Bypass Flow Temperature Setpoint Schedule Name - {18f06d11-7bcd-4c2e-a759-cdbc15ec0ee3}, !- Demand Mixer Name - {dc760da5-ef1f-41c4-81ad-c26f2ad170ea}, !- Demand Splitter A Name - , !- Demand Splitter B Name - ; !- Supply Splitter Name - -OS:Node, - {bc598a5c-28ca-417a-bbae-9f10e746ca30}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Supply Inlet Node, !- Name - {20080f52-0e08-44b9-9b30-5e9436151857}, !- Inlet Port - {f3092ddf-7dd7-4c52-9802-4e9fa1c37da4}; !- Outlet Port - -OS:Node, - {b2c6ae17-5700-46bc-91fd-ab6c3cfaa61a}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Supply Outlet Node, !- Name - {13a5af95-de63-4dcb-b574-b534ad60ce2a}, !- Inlet Port - {e68ddb5e-a2d1-4e1b-bd5c-68bafa97cc02}; !- Outlet Port - -OS:Connection, - {20080f52-0e08-44b9-9b30-5e9436151857}, !- Handle - {7202ef3b-b730-4686-ab5b-73fee6db488c}, !- Name - {69d75bad-1672-442f-9ea0-7d792c891371}, !- Source Object - 8, !- Outlet Port - {bc598a5c-28ca-417a-bbae-9f10e746ca30}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e68ddb5e-a2d1-4e1b-bd5c-68bafa97cc02}, !- Handle - {a3c390fa-2042-4198-9f78-a55ed93e696b}, !- Name - {b2c6ae17-5700-46bc-91fd-ab6c3cfaa61a}, !- Source Object - 3, !- Outlet Port - {69d75bad-1672-442f-9ea0-7d792c891371}, !- Target Object - 11; !- Inlet Port - -OS:Node, - {e8d02928-5303-4431-864c-798706687ab0}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Demand Inlet Node, !- Name - {53d8dd9f-bb20-4878-a4fc-4e04085c3fe2}, !- Inlet Port - {fbdab1ef-9da1-4001-a26d-d883fbc0f9fb}; !- Outlet Port - -OS:Node, - {ced80503-578e-43dc-b01f-349d7d3e54cd}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Demand Outlet Node, !- Name - {9649e6f0-f0d6-42ef-b1ea-acd6c4afd686}, !- Inlet Port - {826d9089-1644-4a27-8df1-80fe19e626de}; !- Outlet Port - -OS:Node, - {49265a93-6a1b-4b50-8384-7e34d17f0b50}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Diffuser Outlet Air Node, !- Name - {25b4a322-2208-4400-9cad-f642fedadbc3}, !- Inlet Port - {73fc4e8c-01ba-45a8-b347-a9ac0674e6d8}; !- Outlet Port - -OS:Connection, - {53d8dd9f-bb20-4878-a4fc-4e04085c3fe2}, !- Handle - {ccc50b8d-29bf-44da-916b-92ace1327e66}, !- Name - {69d75bad-1672-442f-9ea0-7d792c891371}, !- Source Object - 10, !- Outlet Port - {e8d02928-5303-4431-864c-798706687ab0}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {826d9089-1644-4a27-8df1-80fe19e626de}, !- Handle - {bceb9dfa-fa8f-4202-b45d-07d8b9150dfa}, !- Name - {ced80503-578e-43dc-b01f-349d7d3e54cd}, !- Source Object - 3, !- Outlet Port - {69d75bad-1672-442f-9ea0-7d792c891371}, !- Target Object - 9; !- Inlet Port - -OS:AirLoopHVAC:ZoneSplitter, - {dc760da5-ef1f-41c4-81ad-c26f2ad170ea}, !- Handle - Air Loop HVAC Zone Splitter 18, !- Name - {fbdab1ef-9da1-4001-a26d-d883fbc0f9fb}, !- Inlet Node Name - {6be2ff0e-197b-4262-a3b1-47b6f1377f2b}; !- Outlet Node Name 1 - -OS:AirLoopHVAC:ZoneMixer, - {18f06d11-7bcd-4c2e-a759-cdbc15ec0ee3}, !- Handle - Air Loop HVAC Zone Mixer 18, !- Name - {9649e6f0-f0d6-42ef-b1ea-acd6c4afd686}, !- Outlet Node Name - {f3fa477f-ec01-4cd1-ae54-cf956aac3fed}; !- Inlet Node Name 1 - -OS:Connection, - {fbdab1ef-9da1-4001-a26d-d883fbc0f9fb}, !- Handle - {a85c6524-b771-4c05-83eb-3b019f311901}, !- Name - {e8d02928-5303-4431-864c-798706687ab0}, !- Source Object - 3, !- Outlet Port - {dc760da5-ef1f-41c4-81ad-c26f2ad170ea}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {9649e6f0-f0d6-42ef-b1ea-acd6c4afd686}, !- Handle - {83bd309a-7b93-4112-b8bf-cfc62fd5eee1}, !- Name - {18f06d11-7bcd-4c2e-a759-cdbc15ec0ee3}, !- Source Object - 2, !- Outlet Port - {ced80503-578e-43dc-b01f-349d7d3e54cd}, !- Target Object - 2; !- Inlet Port - -OS:Sizing:System, - {3741af1b-d719-4e1c-b068-aee4e2a9bd28}, !- Handle - {69d75bad-1672-442f-9ea0-7d792c891371}, !- 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, - {5cd21108-c2b6-4ae3-b9ef-46564be89a50}, !- Handle - Air Loop HVAC 1 AvailabilityManagerAssignmentList 17, !- Name - {2c2366f6-0074-422a-858b-0c9dab2498da}; !- Availability Manager Name 1 - -OS:SetpointManager:SingleZone:Reheat, - {85756bd4-6d77-4713-9098-82419559f305}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top Setpoint Manager SZ Reheat, !- Name - 12.7777777777778, !- Minimum Supply Air Temperature {C} - 50.0000000000001, !- Maximum Supply Air Temperature {C} - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- Control Zone Name - {b2c6ae17-5700-46bc-91fd-ab6c3cfaa61a}; !- Setpoint Node or NodeList Name - -OS:Coil:Heating:Gas, - {cdf30a67-9a9e-4f67-a64c-61b2d3d55962}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Gas Htg Coil, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.78, !- 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:Heating:Electric, - {9445ab8f-828e-4994-8902-c639a11a3c39}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC No Heat, !- Name - {abe182ca-2a8a-420c-8aaa-49caa76e285b}, !- Availability Schedule Name - 1, !- Efficiency - 0, !- Nominal Capacity {W} - , !- Air Inlet Node Name - ; !- Air Outlet Node Name - -OS:Coil:Cooling:DX:SingleSpeed, - {349276f1-1f71-4fd2-9bf9-796f61561d93}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC 1spd DX AC Clg Coil 8kBtu/hr 11.06SEER 7kBtu/hr 13.0SEER, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- 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 - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Total Cooling Capacity Function of Temperature Curve Name - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Total Cooling Capacity Function of Flow Fraction Curve Name - {47f3e043-9440-4752-9425-3c0091496b41}, !- Energy Input Ratio Function of Temperature Curve Name - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Energy Input Ratio Function of Flow Fraction Curve Name - {bf539b59-1587-40f7-b7f1-c33881969862}, !- 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:Curve:Biquadratic, - {09c199b5-069a-4151-9916-141e0973e2da}, !- Handle - Curve Biquadratic 69, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {577729fb-f2e2-4736-953d-fb41ef53dea2}, !- Handle - Curve Quadratic 103, !- 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, - {e1521aee-00b6-4a3c-9f8a-44462a924a74}, !- Handle - Curve Biquadratic 70, !- 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 - 17, !- Minimum Value of x - 22, !- Maximum Value of x - 13, !- Minimum Value of y - 46; !- Maximum Value of y - -OS:Curve:Quadratic, - {c62af039-4d37-4866-923c-2e1f7b542419}, !- Handle - Curve Quadratic 104, !- 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, - {e7e2cf45-0764-499b-9441-f8305e31a8d0}, !- Handle - Curve Quadratic 105, !- 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, - {2c2b8620-2364-40ef-a5d3-ee3150c4984c}, !- Handle - Curve Biquadratic 71, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {9ae74e12-706b-48b1-932e-70253f156f14}, !- Handle - Curve Quadratic 106, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {5de58a56-612c-4299-a2fe-282afd579e68}, !- Handle - Curve Biquadratic 72, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Quadratic, - {23834d9c-b639-4c7e-b84a-aabf8a7e9799}, !- Handle - Curve Quadratic 107, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {47832783-11c8-4c29-9a54-3cd3a2934e3d}, !- Handle - Curve Quadratic 108, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1, !- Maximum Value of x - 0.7, !- Minimum Curve Output - 1; !- Maximum Curve Output - -OS:Fan:OnOff, - {fc91a8ee-adb3-4cd4-864d-68fc67837ca3}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Fan, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - 0.53625, !- Fan Total Efficiency - 622.722275, !- Pressure Rise {Pa} - autosize, !- Maximum Flow Rate {m3/s} - 0.825, !- Motor Efficiency - 1, !- Motor In Airstream Fraction - , !- Air Inlet Node Name - , !- Air Outlet Node Name - {2599fd3f-3414-46d5-aa90-ecc1c5a4e599}, !- Fan Power Ratio Function of Speed Ratio Curve Name - {7eec3d73-2cbc-4dd5-8de9-52effe29cef8}, !- Fan Efficiency Ratio Function of Speed Ratio Curve Name - ; !- End-Use Subcategory - -OS:Curve:Exponent, - {2599fd3f-3414-46d5-aa90-ecc1c5a4e599}, !- Handle - Fan On Off Power Curve 17, !- 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, - {7eec3d73-2cbc-4dd5-8de9-52effe29cef8}, !- Handle - Fan On Off Efficiency Curve 17, !- 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:AirLoopHVAC:UnitarySystem, - {6cb9c2ed-0399-4569-9d13-ab77f37e1de5}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Unitary AC, !- Name - Load, !- Control Type - {cd626201-873b-4a88-8383-2cb52b5bdc41}, !- Controlling Zone or Thermostat Location - None, !- Dehumidification Control Type - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {0f5ad6c3-d902-431f-b97d-36a5407e6e6a}, !- Air Inlet Node Name - {13a5af95-de63-4dcb-b574-b534ad60ce2a}, !- Air Outlet Node Name - {fc91a8ee-adb3-4cd4-864d-68fc67837ca3}, !- Supply Fan Name - DrawThrough, !- Fan Placement - {66aab325-5ef1-42a9-802e-553ace1968b7}, !- Supply Air Fan Operating Mode Schedule Name - {cdf30a67-9a9e-4f67-a64c-61b2d3d55962}, !- Heating Coil Name - 1, !- DX Heating Coil Sizing Ratio - {349276f1-1f71-4fd2-9bf9-796f61561d93}, !- Cooling Coil Name - No, !- Use DOAS DX Cooling Coil - 2, !- DOAS DX Cooling Coil Leaving Minimum Air Temperature {C} - SensibleOnlyLoadControl, !- Latent Load Control - {9445ab8f-828e-4994-8902-c639a11a3c39}, !- Supplemental Heating Coil Name - , !- Supply Air Flow Rate Method During Cooling Operation - Autosize, !- Supply Air Flow Rate During Cooling Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation {m3/s-W} - , !- Supply Air Flow Rate Method During Heating Operation - Autosize, !- Supply Air Flow Rate During Heating Operation {m3/s} - , !- Supply Air Flow Rate Per Floor Area during Heating Operation {m3/s-m2} - , !- Fraction of Autosized Design Heating Supply Air Flow Rate - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation {m3/s-W} - , !- Supply Air Flow Rate Method When No Cooling or Heating is Required - Autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} - , !- Supply Air Flow Rate Per Floor Area When No Cooling or Heating is Required {m3/s-m2} - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Cooling or Heating is Required - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Cooling or Heating is Required - , !- Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation When No Cooling or Heating is Required {m3/s-W} - , !- Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation When No Cooling or Heating is Required {m3/s-W} - 80, !- Maximum Supply Air Temperature {C} - 21, !- Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation {C} - , !- Outdoor Dry-Bulb Temperature Sensor Node Name - 2.5, !- Maximum Cycling Rate {cycles/hr} - 60, !- Heat Pump Time Constant {s} - 0.01, !- Fraction of On-Cycle Power Use - 60, !- Heat Pump Fan Delay Time {s} - 0, !- Ancilliary On-Cycle Electric Power {W} - 0; !- Ancilliary Off-Cycle Electric Power {W} - -OS:Connection, - {13a5af95-de63-4dcb-b574-b534ad60ce2a}, !- Handle - {2aa97b15-7a5b-4770-8c1b-c08c53e66afd}, !- Name - {6cb9c2ed-0399-4569-9d13-ab77f37e1de5}, !- Source Object - 7, !- Outlet Port - {b2c6ae17-5700-46bc-91fd-ab6c3cfaa61a}, !- Target Object - 2; !- Inlet Port - -OS:Controller:OutdoorAir, - {4fd92a2c-d997-4c2c-9130-c006718cdd68}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC 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} - LockoutWithCompressor, !- Lockout Type - FixedMinimum, !- Minimum Limit Type - {4c7b9fea-d58d-4517-b793-20089082da71}, !- Minimum Outdoor Air Schedule Name - , !- Minimum Fraction of Outdoor Air Schedule Name - , !- Maximum Fraction of Outdoor Air Schedule Name - {5053df68-27aa-4a69-8e0f-261f92946789}, !- 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, - {5053df68-27aa-4a69-8e0f-261f92946789}, !- Handle - Controller Mechanical Ventilation 18, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule - , !- Demand Controlled Ventilation - ZoneSum; !- System Outdoor Air Method - -OS:AirLoopHVAC:OutdoorAirSystem, - {7ab20de4-71ed-43df-9975-692a606a34f6}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC OA System, !- Name - {4fd92a2c-d997-4c2c-9130-c006718cdd68}, !- Controller Name - , !- Outdoor Air Equipment List Name - , !- Availability Manager List Name - {beb3b5d5-a797-4c75-aa1f-8bf624313f15}, !- Mixed Air Node Name - {64641445-aad8-4b97-86cb-dacdca50f913}, !- Outdoor Air Stream Node Name - {5c2040bc-4f3d-4105-a18a-7e9b3fe73cc8}, !- Relief Air Stream Node Name - {f3092ddf-7dd7-4c52-9802-4e9fa1c37da4}; !- Return Air Stream Node Name - -OS:Node, - {5224830a-ab6a-4747-8465-9fc3706e8dab}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Outdoor Air Node, !- Name - , !- Inlet Port - {64641445-aad8-4b97-86cb-dacdca50f913}; !- Outlet Port - -OS:Connection, - {64641445-aad8-4b97-86cb-dacdca50f913}, !- Handle - {912b020a-742a-4653-829d-a1bf2f27ba1c}, !- Name - {5224830a-ab6a-4747-8465-9fc3706e8dab}, !- Source Object - 3, !- Outlet Port - {7ab20de4-71ed-43df-9975-692a606a34f6}, !- Target Object - 6; !- Inlet Port - -OS:Node, - {4de83a41-4699-429b-84cc-53de0e7bf954}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Relief Air Node, !- Name - {5c2040bc-4f3d-4105-a18a-7e9b3fe73cc8}, !- Inlet Port - ; !- Outlet Port - -OS:Connection, - {5c2040bc-4f3d-4105-a18a-7e9b3fe73cc8}, !- Handle - {34592285-cc92-47f8-9980-cd642505010f}, !- Name - {7ab20de4-71ed-43df-9975-692a606a34f6}, !- Source Object - 7, !- Outlet Port - {4de83a41-4699-429b-84cc-53de0e7bf954}, !- Target Object - 2; !- Inlet Port - -OS:Node, - {bb81e2a2-8dd0-4aac-8045-e8b4011d184d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Mixed Air Node, !- Name - {beb3b5d5-a797-4c75-aa1f-8bf624313f15}, !- Inlet Port - {0f5ad6c3-d902-431f-b97d-36a5407e6e6a}; !- Outlet Port - -OS:Connection, - {f3092ddf-7dd7-4c52-9802-4e9fa1c37da4}, !- Handle - {680aaec5-4e9e-457d-8bae-a8822803ffdf}, !- Name - {bc598a5c-28ca-417a-bbae-9f10e746ca30}, !- Source Object - 3, !- Outlet Port - {7ab20de4-71ed-43df-9975-692a606a34f6}, !- Target Object - 8; !- Inlet Port - -OS:Connection, - {beb3b5d5-a797-4c75-aa1f-8bf624313f15}, !- Handle - {05729cbc-f805-4ba9-9b49-17a47efd347d}, !- Name - {7ab20de4-71ed-43df-9975-692a606a34f6}, !- Source Object - 5, !- Outlet Port - {bb81e2a2-8dd0-4aac-8045-e8b4011d184d}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {0f5ad6c3-d902-431f-b97d-36a5407e6e6a}, !- Handle - {2b35b25e-fdd6-4b72-975b-e3b9e1103c99}, !- Name - {bb81e2a2-8dd0-4aac-8045-e8b4011d184d}, !- Source Object - 3, !- Outlet Port - {6cb9c2ed-0399-4569-9d13-ab77f37e1de5}, !- Target Object - 6; !- Inlet Port - -OS:AvailabilityManager:NightCycle, - {2c2366f6-0074-422a-858b-0c9dab2498da}, !- Handle - Availability Manager Night Cycle 18, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Applicability Schedule - , !- Fan Schedule - CycleOnAny, !- Control Type - 1, !- Thermostat Tolerance {deltaC} - , !- Cycling Run Time Control Type - 1800, !- Cycling Run Time {s} - {abbc5eca-c274-4d58-8d87-917d21f35d62}, !- Control Zone or Zone List Name - {90388aca-bc26-4bb2-9cf3-c72fb257123b}, !- Cooling Control Zone or Zone List Name - {f364bf0e-adbb-4b2c-bf3b-245f5da602bf}, !- Heating Control Zone or Zone List Name - {6b6c8c61-8b0f-4b56-9206-6c8d0d71fbbe}; !- Heating Zone Fans Only Zone or Zone List Name - -OS:ModelObjectList, - {abbc5eca-c274-4d58-8d87-917d21f35d62}, !- Handle - Availability Manager Night Cycle 18 Control Zone List; !- Name - -OS:ModelObjectList, - {90388aca-bc26-4bb2-9cf3-c72fb257123b}, !- Handle - Availability Manager Night Cycle 18 Cooling Control Zone List; !- Name - -OS:ModelObjectList, - {f364bf0e-adbb-4b2c-bf3b-245f5da602bf}, !- Handle - Availability Manager Night Cycle 18 Heating Control Zone List; !- Name - -OS:ModelObjectList, - {6b6c8c61-8b0f-4b56-9206-6c8d0d71fbbe}, !- Handle - Availability Manager Night Cycle 18 Heating Zone Fans Only Zone List; !- Name - -OS:AirTerminal:SingleDuct:ConstantVolume:NoReheat, - {fd24fdd9-fc72-435b-a42d-b0a7b41dbf3e}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Diffuser, !- Name - {7dd241be-3194-478c-b26e-1b05897b2216}, !- Availability Schedule Name - {e43aa59d-840b-42d0-aeab-9f64a28082a5}, !- Air Inlet Node Name - {25b4a322-2208-4400-9cad-f642fedadbc3}, !- Air Outlet Node Name - AutoSize; !- Maximum Air Flow Rate {m3/s} - -OS:Node, - {5439d501-9b28-4c7d-9342-5e79a32c7ab5}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top Return Air Node, !- Name - {8aeece83-517d-4275-b962-e93daa218193}, !- Inlet Port - {f3fa477f-ec01-4cd1-ae54-cf956aac3fed}; !- Outlet Port - -OS:Connection, - {73fc4e8c-01ba-45a8-b347-a9ac0674e6d8}, !- Handle - {de5234a1-ba80-43d2-8af0-e0f2b0750385}, !- Name - {49265a93-6a1b-4b50-8384-7e34d17f0b50}, !- Source Object - 3, !- Outlet Port - {2553f665-d5be-407c-a7f3-f7ccb1224487}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {8aeece83-517d-4275-b962-e93daa218193}, !- Handle - {86c0932e-a5e0-47cf-8d48-7e63c5c00008}, !- Name - {de2bd479-17cd-4476-9813-af05bfc49fbf}, !- Source Object - 3, !- Outlet Port - {5439d501-9b28-4c7d-9342-5e79a32c7ab5}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {f3fa477f-ec01-4cd1-ae54-cf956aac3fed}, !- Handle - {1ca83a2c-2d7b-437a-aca9-ca284ec54fa5}, !- Name - {5439d501-9b28-4c7d-9342-5e79a32c7ab5}, !- Source Object - 3, !- Outlet Port - {18f06d11-7bcd-4c2e-a759-cdbc15ec0ee3}, !- Target Object - 3; !- Inlet Port - -OS:Node, - {b119255f-00cd-4514-86a9-246a7adceb0a}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Diffuser Inlet Air Node, !- Name - {6be2ff0e-197b-4262-a3b1-47b6f1377f2b}, !- Inlet Port - {e43aa59d-840b-42d0-aeab-9f64a28082a5}; !- Outlet Port - -OS:Connection, - {6be2ff0e-197b-4262-a3b1-47b6f1377f2b}, !- Handle - {a7966905-addf-4570-b646-34ed70f29f1d}, !- Name - {dc760da5-ef1f-41c4-81ad-c26f2ad170ea}, !- Source Object - 3, !- Outlet Port - {b119255f-00cd-4514-86a9-246a7adceb0a}, !- Target Object - 2; !- Inlet Port - -OS:Connection, - {e43aa59d-840b-42d0-aeab-9f64a28082a5}, !- Handle - {41db0529-dda7-424f-ac65-6684838ffcda}, !- Name - {b119255f-00cd-4514-86a9-246a7adceb0a}, !- Source Object - 3, !- Outlet Port - {fd24fdd9-fc72-435b-a42d-b0a7b41dbf3e}, !- Target Object - 3; !- Inlet Port - -OS:Connection, - {25b4a322-2208-4400-9cad-f642fedadbc3}, !- Handle - {d2319a90-ac5f-4769-a679-b662b8c9ff29}, !- Name - {fd24fdd9-fc72-435b-a42d-b0a7b41dbf3e}, !- Source Object - 4, !- Outlet Port - {49265a93-6a1b-4b50-8384-7e34d17f0b50}, !- Target Object - 2; !- Inlet Port - -OS:Schedule:Ruleset, - {18a64db4-e81f-49e8-9894-330d4547c028}, !- Handle - Building Hours of Operation NonResidential, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - {a54827e6-e5d6-4542-a368-80a5946fb03a}, !- Default Day Schedule Name - {d7765228-e89b-49c3-9b5e-bb18bad58405}, !- Summer Design Day Schedule Name - {401e2cb5-12df-4b91-ab1e-6b97179ddcb7}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {a54827e6-e5d6-4542-a368-80a5946fb03a}, !- Handle - Building Hours of Operation NonResidential Default, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 15, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 15, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {c6ab0903-7c61-4bbe-b3a9-15d424956d74}, !- Handle - {18a64db4-e81f-49e8-9894-330d4547c028}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 37.499999999999844, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 18, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:25:38 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:25:38 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {401e2cb5-12df-4b91-ab1e-6b97179ddcb7}, !- Handle - Building Hours of Operation NonResidential Winter Design Day, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {d7765228-e89b-49c3-9b5e-bb18bad58405}, !- Handle - Building Hours of Operation NonResidential Summer Design Day, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {f14c276f-dc2b-4b85-8fa4-8373e370e007}, !- Handle - Building Hours of Operation NonResidential Saturday Rule, !- Name - {18a64db4-e81f-49e8-9894-330d4547c028}, !- Schedule Ruleset Name - 1, !- Rule Order - {a53bcdf6-18e9-4fd4-8a82-7d3571ec8ef7}, !- 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, - {a53bcdf6-18e9-4fd4-8a82-7d3571ec8ef7}, !- Handle - Building Hours of Operation NonResidential Saturday, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 0, !- Minute 1 - 0, !- Value Until Time 1 - 17, !- Hour 2 - 0, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {8f7048f0-aaed-460a-83b6-99d7f8b3a88b}, !- Handle - Building Hours of Operation NonResidential Sunday Rule, !- Name - {18a64db4-e81f-49e8-9894-330d4547c028}, !- Schedule Ruleset Name - 0, !- Rule Order - {1bfaecfa-5efd-4c72-a150-4f0bdfb463c4}, !- 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, - {1bfaecfa-5efd-4c72-a150-4f0bdfb463c4}, !- Handle - Building Hours of Operation NonResidential Sunday, !- Name - {97f036f3-bcbf-46c5-bd57-982f8b1075f8}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:DefaultScheduleSet, - {d4ce4081-dde3-408b-8eb5-629b52494215}, !- Handle - Building Default Schedule Set, !- Name - {18a64db4-e81f-49e8-9894-330d4547c028}, !- 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 - , !- Infiltration Schedule Name - , !- Steam Equipment Schedule Name - ; !- Other Equipment Schedule Name - -OS:AdditionalProperties, - {6a936792-1303-4f30-80d8-81b92a802cbd}, !- Handle - {15f9e573-8eca-4c62-80c4-9f7011d78f9d}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start ~ val_flr ~ val_flr, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {0fa49f10-9540-4f73-b48d-ee1244ac4f74}, !- Handle - {3c123431-b6b5-4049-a78d-91575aed96c4}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 1.5 ~ 0.0 | hoo_start - 0.5 ~ 0.00248749999999999 | hoo_start + 0.5 ~ 0.0 | hoo_start + 1.5 ~ 0.00497499999999998 | hoo_start + 2.5 ~ 0.0 | mid - 1.0 ~ 0.0 | mid ~ 0.00497499999999998 | mid + 1.0 ~ 0.0 | hoo_end - 1.5 ~ 0.0 | hoo_end - 0.5 ~ 0.00248749999999999 | hoo_end + 0.5 ~ 0.0, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {2d61fb80-1a55-4508-9ebb-b065c83ecada}, !- Handle - {1bd874c1-c7a7-4798-a99c-d36b60b2341d}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 4.0 ~ 0.0 | hoo_start - 2.0 ~ 0.00248749999999999 | hoo_start - 1.5 ~ 0.00248749999999999 | hoo_start - 0.5 ~ 0.0186562499999999 | hoo_start + 0.5 ~ 0.0 | hoo_start + 2.0 ~ 0.0 | mid - 1.0 ~ 0.01119375 | mid + 1.0 ~ 0.0 | mid + 2.5 ~ 0.0 | hoo_end - 1.5 ~ 0.0161687499999999 | hoo_end - 0.5 ~ 0.00497499999999998 | hoo_end + 0.5 ~ 0.0 | hoo_end + 1.5 ~ 0.00124374999999999 | hoo_end + 2.5 ~ 0.0, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {2af4fa87-2063-4c67-a4ed-64f0963ff868}, !- Handle - {d316e523-5dcc-4887-b19f-c2eb41df1811}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0.49040017699999999; !- Feature Value 3 - -OS:AdditionalProperties, - {b5b71c16-e214-4d7b-8517-b1a91a25de70}, !- Handle - {8b3bdb6e-a239-4a2a-be88-07ca7f559751}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start + 0.5 ~ 0.044813145 | hoo_start + 1.5 ~ 0.043346048 | hoo_start + 2.5 ~ 0.043604651 | hoo_start + 3.5 ~ 0.043799515 | hoo_start + 4.5 ~ 0.041612206 | hoo_start + 5.5 ~ 0.042092347 | hoo_start + 6.5 ~ 0.043852864 | hoo_start + 7.5 ~ 0.044946518 | hoo_start + 8.5 ~ 0.042279069 | hoo_start + 9.5 ~ 0.04299928 | hoo_start + 10.5 ~ 0.045746752 | hoo_start + 11.5 ~ 0.064026115 | hoo_start - 11.5 ~ 0.063271893 | hoo_start - 10.5 ~ 0.063286181 | hoo_start - 9.5 ~ 0.063938755 | hoo_start - 8.5 ~ 0.06135133 | hoo_start - 7.5 ~ 0.063721436 | hoo_start - 6.5 ~ 0.052687315 | hoo_start - 5.5 ~ 0.057270133 | hoo_start - 4.5 ~ 0.063348741 | hoo_start - 3.5 ~ 0.063698685 | hoo_start - 2.5 ~ 0.063840708 | hoo_start - 1.5 ~ 0.063848256 | hoo_start - 0.5 ~ 0.044653098, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {5816bd1a-3d25-4e83-8e5e-d1b67730babf}, !- Handle - {8b46c2ba-3425-4a07-bbd6-6d12c7fd6df9}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 5.5 ~ 0.044066259 | hoo_start - 4.5 ~ 0.044439702 | hoo_start - 3.5 ~ 0.041053394 | hoo_start - 2.5 ~ 0.043692817 | hoo_start - 1.5 ~ 0.041740259 | hoo_start - 0.5 ~ 0.042359092 | hoo_start + 0.5 ~ 0.050653671 | hoo_start + 1.5 ~ 0.045399984 | hoo_start + 2.5 ~ 0.052663191 | mid - 2.0 ~ 0.06820457 | mid - 1.0 ~ 0.089708448 | mid + 1.0 ~ 0.089708448 | mid + 2.0 ~ 0.084480541 | hoo_end - 2.5 ~ 0.0704679 | hoo_end - 1.5 ~ 0.068030468 | hoo_end - 0.5 ~ 0.067899891 | hoo_end + 0.5 ~ 0.063771049 | hoo_end + 1.5 ~ 0.064678999 | hoo_end + 2.5 ~ 0.063855804 | hoo_end + 3.5 ~ 0.063765228 | hoo_end + 4.5 ~ 0.063778708 | hoo_end + 5.5 ~ 0.064738916 | hoo_start - 6.5 ~ 0.053690475, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {c185b4eb-9042-4c86-9a45-f1053669dd4a}, !- Handle - {5373c2d3-c1d3-4801-bbc7-db967ced9aa6}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 0.042575155 | hoo_start - 6.5 ~ 0.03399742 | hoo_start - 5.5 ~ 0.035513913 | hoo_start - 4.5 ~ 0.043202006 | hoo_start - 3.5 ~ 0.036947985 | hoo_start - 2.5 ~ 0.037735029 | hoo_start - 1.5 ~ 0.06295506 | hoo_start - 0.5 ~ 0.119435295 | hoo_start + 0.5 ~ 0.31817894 | hoo_start + 1.5 ~ 0.44737377 | hoo_start + 2.5 ~ 0.486605124 | mid - 1.5 ~ 0.490400177 | mid - 0.5 ~ 0.472467901 | mid + 0.5 ~ 0.444558105 | mid + 1.5 ~ 0.458064863 | mid + 2.5 ~ 0.44297138 | hoo_end - 1.5 ~ 0.376717347 | hoo_end - 0.5 ~ 0.182711787 | hoo_end + 0.5 ~ 0.090701469 | hoo_end + 1.5 ~ 0.066120372 | hoo_end + 2.5 ~ 0.063250053 | hoo_end + 3.5 ~ 0.063842363 | hoo_end + 4.5 ~ 0.063529429 | hoo_end + 5.5 ~ 0.045156833, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {8a5f722a-2f2e-463c-8eca-a7108e9c329e}, !- Handle - {8e09d78e-80ea-4fdc-8af7-371969ce38e8}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0.88670000000000004; !- Feature Value 3 - -OS:AdditionalProperties, - {f6d3eadd-3764-42e9-864d-d3ce88aba4b2}, !- Handle - {3217174d-dbab-4513-8aa1-9a9115ec5942}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start ~ 0.5757 ~ 0.5757, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {b16e07a6-0a16-4a2f-ae76-ddc78b355e7a}, !- Handle - {00512aed-03cf-4500-a71b-3fd0761bd485}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 5.5 ~ 0.6056 | hoo_start - 4.5 ~ 0.5696 | hoo_start - 3.5 ~ 0.5527 | hoo_start - 2.5 ~ 0.5472 | hoo_start - 1.5 ~ 0.5466 | hoo_start - 0.5 ~ 0.5455 | hoo_start + 0.5 ~ 0.5418 | hoo_start + 1.5 ~ 0.532 | hoo_start + 2.5 ~ 0.4942 | mid - 2.0 ~ 0.4517 | mid - 1.0 ~ 0.4411 | mid ~ 0.4497 | mid + 1.0 ~ 0.4629 | mid + 2.0 ~ 0.4735 | hoo_end - 2.5 ~ 0.4944 | hoo_end - 1.5 ~ 0.4948 | hoo_end - 0.5 ~ 0.4918 | hoo_end + 0.5 ~ 0.5029 | hoo_end + 1.5 ~ 0.5268 | hoo_end + 2.5 ~ 0.5597 | hoo_end + 3.5 ~ 0.5945 | hoo_end + 4.5 ~ 0.6217 | hoo_end + 5.5 ~ 0.6288 | hoo_start - 6.5 ~ 0.5996, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {47e809cf-d914-4a2a-a9fb-7bd39c749a75}, !- Handle - {243de0fe-5768-4e1b-911a-837840e3a329}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 0.5397 | hoo_start - 6.5 ~ 0.5806 | hoo_start - 5.5 ~ 0.5802 | hoo_start - 4.5 ~ 0.5631 | hoo_start - 3.5 ~ 0.547 | hoo_start - 2.5 ~ 0.5373 | hoo_start - 1.5 ~ 0.5386 | hoo_start - 0.5 ~ 0.598 | hoo_start + 0.5 ~ 0.6852 | hoo_start + 1.5 ~ 0.7808 | hoo_start + 2.5 ~ 0.8654 | mid - 1.5 ~ 0.8867 | mid - 0.5 ~ 0.8819 | mid + 0.5 ~ 0.8207 | mid + 1.5 ~ 0.7807 | mid + 2.5 ~ 0.7353 | hoo_end - 1.5 ~ 0.6702 | hoo_end - 0.5 ~ 0.6048 | hoo_end + 0.5 ~ 0.566 | hoo_end + 1.5 ~ 0.5741 | hoo_end + 2.5 ~ 0.6127 | hoo_end + 3.5 ~ 0.6583 | hoo_end + 4.5 ~ 0.6734 | hoo_end + 5.5 ~ 0.61899, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {0d859be9-8a91-4692-8a07-9d1e4b2b56e3}, !- Handle - {646aefcb-2e48-490d-8298-46593e5e7a14}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0.94999999999999996; !- Feature Value 3 - -OS:AdditionalProperties, - {e5d1c4cc-676d-4dbd-b8d5-d95a2e4dd5a6}, !- Handle - {4164448f-87cb-424a-9819-5dec90bbf12f}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start ~ val_flr ~ val_flr, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {66af1f11-149f-4040-8306-14f0bbcd4308}, !- Handle - {eb433e3b-6272-4310-9d9b-e3acbbd1cfd0}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 1.0 ~ 0.0 | hoo_start + 1.0 ~ 0.1 | mid - 2.5 ~ 0.3 | mid - 1.5 ~ 0.3 | mid + 2.5 ~ 0.1 | hoo_end - 2.0 ~ 0.1 | hoo_end + 2.0 ~ 0.0, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {0f6ff15b-1244-4cf1-98c5-7fb061cf7855}, !- Handle - {9d11ccf6-efb1-4ef6-b86f-49bb2df5e09c}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 6.0 ~ 0.0 | hoo_start - 2.5 ~ 0.0 | hoo_start - 1.5 ~ 0.1 | hoo_start - 0.5 ~ 0.2 | hoo_start + 0.5 ~ 0.95 | mid - 1.5 ~ 0.95 | mid - 0.5 ~ 0.5 | mid + 0.5 ~ 0.95 | hoo_end - 1.5 ~ 0.95 | hoo_end - 0.5 ~ 0.3 | hoo_end + 0.5 ~ 0.1 | hoo_end + 1.0 ~ 0.1 | hoo_end + 3.0 ~ 0.05 | hoo_end + 4.0 ~ 0.05, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {e4d01972-63eb-4400-8bfa-0118c61537ee}, !- Handle - {399de19a-5dbe-43c8-814b-1f3d3ca9231f}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 120, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 120; !- Feature Value 3 - -OS:AdditionalProperties, - {cbf8614f-827a-4e49-8eca-942572675159}, !- Handle - {ab40253c-b1ac-414d-93db-3bbc508f4734}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - 24.0 ~ val_flr ~ val_flr, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {22a1871b-1ffd-4b42-a2c0-9d77c0d41f86}, !- Handle - {d77ff22d-d283-4fd4-8ad6-615311b2d4cb}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 17.399999999999999, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 20; !- Feature Value 3 - -OS:AdditionalProperties, - {e547e531-d1bc-4a20-ae80-b39dcf865e5a}, !- Handle - {9b99ada9-c872-4569-a23f-92e706307bc2}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start + 0.5 ~ 17.4 | hoo_start + 3.5 ~ 17.4 | hoo_start + 4.5 ~ 17.8 | hoo_start + 5.5 ~ 18.1 | hoo_start + 6.5 ~ 18.2 | hoo_start + 7.5 ~ 18.4 | hoo_start + 8.5 ~ 18.4 | hoo_start + 9.5 ~ 18.6 | hoo_start + 10.5 ~ 18.7 | hoo_start - 9.5 ~ 18.7 | hoo_start - 8.5 ~ 18.4 | hoo_start - 7.5 ~ 18.3 | hoo_start - 6.5 ~ 18.1 | hoo_start - 5.5 ~ 17.7 | hoo_start - 3.5 ~ 17.7 | hoo_start - 2.5 ~ 17.6 | hoo_start - 1.5 ~ 17.7 | hoo_start - 0.5 ~ 17.8, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {9ecf31bd-ead3-42c3-83c2-5d3e9d79140d}, !- Handle - {6ca8d7b8-67c0-4ea2-a55c-3df182c82359}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 5.5 ~ 17.4 | hoo_start - 2.5 ~ 17.4 | hoo_start - 1.5 ~ 17.6 | hoo_start - 0.5 ~ 17.9 | hoo_start + 0.5 ~ 18.5 | hoo_start + 1.5 ~ 18.7 | hoo_start + 2.5 ~ 18.9 | mid - 2.0 ~ 19.0 | mid + 1.5 ~ 19.0 | hoo_end - 2.0 ~ 18.9 | hoo_end - 1.5 ~ 18.9 | hoo_end - 0.5 ~ 18.8 | hoo_end + 0.5 ~ 18.7 | hoo_end + 1.5 ~ 18.6 | hoo_end + 2.5 ~ 18.3 | hoo_end + 3.5 ~ 17.9 | hoo_end + 4.5 ~ 17.8 | hoo_end + 5.5 ~ 17.6 | hoo_start - 6.5 ~ 17.5, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {14e345d0-2703-4586-801a-8a85312fbe62}, !- Handle - {e43c1152-c0cd-420a-b945-8f9fb3d44f6e}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 17.7 | hoo_start - 6.5 ~ 17.8 | hoo_start - 5.5 ~ 17.8 | hoo_start - 4.5 ~ 18.1 | hoo_start - 3.5 ~ 18.6 | hoo_start - 2.5 ~ 18.9 | hoo_start - 1.5 ~ 19.6 | hoo_start - 0.5 ~ 19.8 | hoo_start + 0.5 ~ 20.0 | mid + 1.5 ~ 20.0 | mid + 2.5 ~ 19.9 | hoo_end - 1.5 ~ 19.7 | hoo_end - 0.5 ~ 19.2 | hoo_end + 0.5 ~ 18.9 | hoo_end + 1.5 ~ 18.4 | hoo_end + 2.5 ~ 18.4 | hoo_end + 3.5 ~ 18.1 | hoo_end + 4.5 ~ 17.8 | hoo_end + 5.5 ~ 17.7, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {fe036ce9-27bb-467b-be97-9e44cf974b93}, !- Handle - {8b83effd-e0f7-4c9c-8b49-09b057a500ed}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 23.100000000000001, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 25.300000000000001; !- Feature Value 3 - -OS:AdditionalProperties, - {933f80f2-b8de-4700-a1b0-c1b44299e496}, !- Handle - {98b3ace4-4e2e-46b9-a3f6-5bf506c9a5ed}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start + 1.0 ~ 25.3 | hoo_start + 3.5 ~ 25.3 | hoo_start + 4.5 ~ 25.1 | hoo_start + 5.5 ~ 24.7 | hoo_start + 6.5 ~ 24.6 | hoo_start + 7.5 ~ 24.5 | hoo_start + 8.5 ~ 24.4 | hoo_start + 9.5 ~ 24.4 | hoo_start + 10.5 ~ 24.3 | hoo_start + 11.5 ~ 24.2 | hoo_start - 9.5 ~ 24.2 | hoo_start - 8.5 ~ 24.4 | hoo_start - 7.5 ~ 24.6 | hoo_start - 6.5 ~ 24.7 | hoo_start - 5.5 ~ 25.1 | hoo_start - 3.5 ~ 25.1 | hoo_start - 2.5 ~ 25.2 | hoo_start - 1.5 ~ 25.1 | hoo_start - 1.0 ~ 25.1, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - maximum_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {9c2cf23d-d7d4-4310-829e-7bf0110ab58d}, !- Handle - {85c718be-e9cc-41c2-b293-5409c186f87d}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 2.5 ~ 25.3 | hoo_start - 1.5 ~ 25.1 | hoo_start - 0.5 ~ 24.9 | hoo_start + 0.5 ~ 24.4 | hoo_start + 1.5 ~ 24.2 | hoo_start + 2.0 ~ 24.2 | mid - 1.5 ~ 23.9 | mid + 2.5 ~ 23.9 | hoo_end - 1.0 ~ 24.1 | hoo_end + 1.0 ~ 24.2 | hoo_end + 1.5 ~ 24.2 | hoo_end + 2.5 ~ 24.6 | hoo_end + 3.5 ~ 24.9 | hoo_end + 4.5 ~ 25.0 | hoo_end + 5.5 ~ 25.2 | hoo_start - 6.5 ~ 25.3, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {87397d3a-1487-4ebd-b57c-232755de6d12}, !- Handle - {e55c9c06-229f-4773-aebc-6cd01e5b0fd0}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 25.1 | hoo_start - 6.5 ~ 25.0 | hoo_start - 5.5 ~ 24.9 | hoo_start - 4.5 ~ 24.9 | hoo_start - 3.5 ~ 24.5 | hoo_start - 2.5 ~ 24.2 | hoo_start - 1.5 ~ 23.6 | hoo_start - 0.5 ~ 23.2 | hoo_start + 0.5 ~ 23.1 | mid + 2.5 ~ 23.1 | hoo_end - 1.5 ~ 23.3 | hoo_end - 0.5 ~ 23.5 | hoo_end + 0.5 ~ 23.8 | hoo_end + 1.5 ~ 24.3 | hoo_end + 2.5 ~ 24.3 | hoo_end + 3.5 ~ 24.7 | hoo_end + 4.5 ~ 25.0 | hoo_end + 5.5 ~ 25.1, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {a7488bc4-0b7a-4182-83a6-c3c44fe21a30}, !- Handle - {acaed598-b52d-4931-8197-e5e08c276e9a}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 1; !- Feature Value 3 - -OS:AdditionalProperties, - {bdf914c7-d6a1-4696-9c27-bec449eb521b}, !- Handle - {68a24d0f-054c-48be-a439-ad12839f1344}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 1.5 ~ 0.0 | hoo_start - 0.5 ~ 0.27 | hoo_start + 0.5 ~ 0.55 | hoo_start + 1.5 ~ 0.64 | hoo_start + 2.5 ~ 0.64 | mid - 1.5 ~ 0.82 | mid - 0.5 ~ 1.0 | mid + 0.5 ~ 0.91 | mid + 1.5 ~ 0.55 | mid + 2.5 ~ 0.55 | hoo_end - 1.5 ~ 0.73 | hoo_end - 0.5 ~ 0.37 | hoo_end + 0.5 ~ 0.37 | hoo_end + 1.5 ~ 0.18 | hoo_end + 2.5 ~ 0.27 | hoo_end + 3.5 ~ 0.09 | hoo_end + 4.5 ~ 0.0, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - maximum_operation; !- Feature Value 4 - -OS:AdditionalProperties, - {2e62457f-1b3d-445e-8ea1-bbbc198b2775}, !- Handle - {d1c7017a-f34a-461c-86f0-7666fa31f12a}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - 24.0 ~ val_flr ~ val_flr, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:Schedule:Rule, - {ffef1229-22d7-4429-88f1-10d67f014466}, !- Handle - autogen OfficeSmall BLDG_SWH_SCH 1, !- Name - {acaed598-b52d-4931-8197-e5e08c276e9a}, !- Schedule Ruleset Name - 1, !- Rule Order - {fa0c894d-35c7-435d-9301-19445a11f157}, !- Day Schedule Name - Yes, !- Apply Sunday - Yes, !- Apply Monday - Yes, !- Apply Tuesday - Yes, !- Apply Wednesday - Yes, !- Apply Thursday - Yes, !- Apply Friday - Yes, !- Apply Saturday - , !- Apply Holiday - SpecificDates, !- Date Specification Type - , !- Start Month - , !- Start Day - , !- End Month - , !- End Day - 1, !- Specific Month 1 - 4, !- Specific Day 1 - 1, !- Specific Month 2 - 11, !- Specific Day 2 - 1, !- Specific Month 3 - 18, !- Specific Day 3 - 1, !- Specific Month 4 - 25, !- Specific Day 4 - 2, !- Specific Month 5 - 1, !- Specific Day 5 - 2, !- Specific Month 6 - 8, !- Specific Day 6 - 2, !- Specific Month 7 - 15, !- Specific Day 7 - 2, !- Specific Month 8 - 22, !- Specific Day 8 - 3, !- Specific Month 9 - 1, !- Specific Day 9 - 3, !- Specific Month 10 - 8, !- Specific Day 10 - 3, !- Specific Month 11 - 15, !- Specific Day 11 - 3, !- Specific Month 12 - 22, !- Specific Day 12 - 3, !- Specific Month 13 - 29, !- Specific Day 13 - 4, !- Specific Month 14 - 5, !- Specific Day 14 - 4, !- Specific Month 15 - 12, !- Specific Day 15 - 4, !- Specific Month 16 - 19, !- Specific Day 16 - 4, !- Specific Month 17 - 26, !- Specific Day 17 - 5, !- Specific Month 18 - 3, !- Specific Day 18 - 5, !- Specific Month 19 - 10, !- Specific Day 19 - 5, !- Specific Month 20 - 17, !- Specific Day 20 - 5, !- Specific Month 21 - 24, !- Specific Day 21 - 5, !- Specific Month 22 - 31, !- Specific Day 22 - 6, !- Specific Month 23 - 7, !- Specific Day 23 - 6, !- Specific Month 24 - 14, !- Specific Day 24 - 6, !- Specific Month 25 - 21, !- Specific Day 25 - 6, !- Specific Month 26 - 28, !- Specific Day 26 - 7, !- Specific Month 27 - 5, !- Specific Day 27 - 7, !- Specific Month 28 - 12, !- Specific Day 28 - 7, !- Specific Month 29 - 19, !- Specific Day 29 - 7, !- Specific Month 30 - 26, !- Specific Day 30 - 8, !- Specific Month 31 - 2, !- Specific Day 31 - 8, !- Specific Month 32 - 9, !- Specific Day 32 - 8, !- Specific Month 33 - 16, !- Specific Day 33 - 8, !- Specific Month 34 - 23, !- Specific Day 34 - 8, !- Specific Month 35 - 30, !- Specific Day 35 - 9, !- Specific Month 36 - 6, !- Specific Day 36 - 9, !- Specific Month 37 - 13, !- Specific Day 37 - 9, !- Specific Month 38 - 20, !- Specific Day 38 - 9, !- Specific Month 39 - 27, !- Specific Day 39 - 10, !- Specific Month 40 - 4, !- Specific Day 40 - 10, !- Specific Month 41 - 11, !- Specific Day 41 - 10, !- Specific Month 42 - 18, !- Specific Day 42 - 10, !- Specific Month 43 - 25, !- Specific Day 43 - 11, !- Specific Month 44 - 1, !- Specific Day 44 - 11, !- Specific Month 45 - 8, !- Specific Day 45 - 11, !- Specific Month 46 - 15, !- Specific Day 46 - 11, !- Specific Month 47 - 22, !- Specific Day 47 - 11, !- Specific Month 48 - 29, !- Specific Day 48 - 12, !- Specific Month 49 - 6, !- Specific Day 49 - 12, !- Specific Month 50 - 13, !- Specific Day 50 - 12, !- Specific Month 51 - 20, !- Specific Day 51 - 12, !- Specific Month 52 - 27; !- Specific Day 52 - -OS:Schedule:Day, - {fa0c894d-35c7-435d-9301-19445a11f157}, !- Handle - autogen OfficeSmall BLDG_SWH_SCH 1_day_sch, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:AdditionalProperties, - {ee587d1f-d888-49b9-a4a0-36e211e25ff3}, !- Handle - {fa0c894d-35c7-435d-9301-19445a11f157}, !- Object Name - param_day_tag, !- Feature Name 1 - String, !- Feature Data Type 1 - autogen, !- Feature Value 1 - param_day_profile, !- Feature Name 2 - String, !- Feature Data Type 2 - 24.0 ~ val_flr ~ val_flr, !- Feature Value 2 - param_day_secondary_logic, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_secondary_logic_arg_val, !- Feature Name 4 - String, !- Feature Data Type 4 - ; !- Feature Value 4 - -OS:Schedule:Rule, - {bc8b0d56-f76e-4a64-95ac-25c87890328c}, !- Handle - autogen Small Office Activity 0, !- Name - {399de19a-5dbe-43c8-814b-1f3d3ca9231f}, !- Schedule Ruleset Name - 0, !- Rule Order - {fdbcfbc3-a307-49e4-a98c-433e6578bb02}, !- Day Schedule Name - Yes, !- Apply Sunday - Yes, !- Apply Monday - Yes, !- Apply Tuesday - Yes, !- Apply Wednesday - Yes, !- Apply Thursday - Yes, !- Apply Friday - Yes, !- Apply Saturday - , !- Apply Holiday - SpecificDates, !- Date Specification Type - , !- Start Month - , !- Start Day - , !- End Month - , !- End Day - 1, !- Specific Month 1 - 3, !- Specific Day 1 - 1, !- Specific Month 2 - 10, !- Specific Day 2 - 1, !- Specific Month 3 - 17, !- Specific Day 3 - 1, !- Specific Month 4 - 24, !- Specific Day 4 - 1, !- Specific Month 5 - 31, !- Specific Day 5 - 2, !- Specific Month 6 - 7, !- Specific Day 6 - 2, !- Specific Month 7 - 14, !- Specific Day 7 - 2, !- Specific Month 8 - 21, !- Specific Day 8 - 2, !- Specific Month 9 - 28, !- Specific Day 9 - 3, !- Specific Month 10 - 7, !- Specific Day 10 - 3, !- Specific Month 11 - 14, !- Specific Day 11 - 3, !- Specific Month 12 - 21, !- Specific Day 12 - 3, !- Specific Month 13 - 28, !- Specific Day 13 - 4, !- Specific Month 14 - 4, !- Specific Day 14 - 4, !- Specific Month 15 - 11, !- Specific Day 15 - 4, !- Specific Month 16 - 18, !- Specific Day 16 - 4, !- Specific Month 17 - 25, !- Specific Day 17 - 5, !- Specific Month 18 - 2, !- Specific Day 18 - 5, !- Specific Month 19 - 9, !- Specific Day 19 - 5, !- Specific Month 20 - 16, !- Specific Day 20 - 5, !- Specific Month 21 - 23, !- Specific Day 21 - 5, !- Specific Month 22 - 30, !- Specific Day 22 - 6, !- Specific Month 23 - 6, !- Specific Day 23 - 6, !- Specific Month 24 - 13, !- Specific Day 24 - 6, !- Specific Month 25 - 20, !- Specific Day 25 - 6, !- Specific Month 26 - 27, !- Specific Day 26 - 7, !- Specific Month 27 - 4, !- Specific Day 27 - 7, !- Specific Month 28 - 11, !- Specific Day 28 - 7, !- Specific Month 29 - 18, !- Specific Day 29 - 7, !- Specific Month 30 - 25, !- Specific Day 30 - 8, !- Specific Month 31 - 1, !- Specific Day 31 - 8, !- Specific Month 32 - 8, !- Specific Day 32 - 8, !- Specific Month 33 - 15, !- Specific Day 33 - 8, !- Specific Month 34 - 22, !- Specific Day 34 - 8, !- Specific Month 35 - 29, !- Specific Day 35 - 9, !- Specific Month 36 - 5, !- Specific Day 36 - 9, !- Specific Month 37 - 12, !- Specific Day 37 - 9, !- Specific Month 38 - 19, !- Specific Day 38 - 9, !- Specific Month 39 - 26, !- Specific Day 39 - 10, !- Specific Month 40 - 3, !- Specific Day 40 - 10, !- Specific Month 41 - 10, !- Specific Day 41 - 10, !- Specific Month 42 - 17, !- Specific Day 42 - 10, !- Specific Month 43 - 24, !- Specific Day 43 - 10, !- Specific Month 44 - 31, !- Specific Day 44 - 11, !- Specific Month 45 - 7, !- Specific Day 45 - 11, !- Specific Month 46 - 14, !- Specific Day 46 - 11, !- Specific Month 47 - 21, !- Specific Day 47 - 11, !- Specific Month 48 - 28, !- Specific Day 48 - 12, !- Specific Month 49 - 5, !- Specific Day 49 - 12, !- Specific Month 50 - 12, !- Specific Day 50 - 12, !- Specific Month 51 - 19, !- Specific Day 51 - 12, !- Specific Month 52 - 26; !- Specific Day 52 - -OS:Schedule:Day, - {fdbcfbc3-a307-49e4-a98c-433e6578bb02}, !- Handle - autogen Small Office Activity 0_day_sch, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 120; !- Value Until Time 1 - -OS:AdditionalProperties, - {6e3659cd-0691-480e-be76-6f3325a5046d}, !- Handle - {fdbcfbc3-a307-49e4-a98c-433e6578bb02}, !- Object Name - param_day_tag, !- Feature Name 1 - String, !- Feature Data Type 1 - autogen, !- Feature Value 1 - param_day_profile, !- Feature Name 2 - String, !- Feature Data Type 2 - 24.0 ~ val_flr ~ val_flr, !- Feature Value 2 - param_day_secondary_logic, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_secondary_logic_arg_val, !- Feature Name 4 - String, !- Feature Data Type 4 - ; !- Feature Value 4 - -OS:Schedule:Rule, - {5b987a31-54b3-4b8f-aac7-6be27968cc59}, !- Handle - autogen Small Office Activity 1, !- Name - {399de19a-5dbe-43c8-814b-1f3d3ca9231f}, !- Schedule Ruleset Name - 1, !- Rule Order - {dffdcb3d-d11c-4cef-867c-b4c762b9b902}, !- Day Schedule Name - Yes, !- Apply Sunday - Yes, !- Apply Monday - Yes, !- Apply Tuesday - Yes, !- Apply Wednesday - Yes, !- Apply Thursday - Yes, !- Apply Friday - Yes, !- Apply Saturday - , !- Apply Holiday - SpecificDates, !- Date Specification Type - , !- Start Month - , !- Start Day - , !- End Month - , !- End Day - 1, !- Specific Month 1 - 4, !- Specific Day 1 - 1, !- Specific Month 2 - 11, !- Specific Day 2 - 1, !- Specific Month 3 - 18, !- Specific Day 3 - 1, !- Specific Month 4 - 25, !- Specific Day 4 - 2, !- Specific Month 5 - 1, !- Specific Day 5 - 2, !- Specific Month 6 - 8, !- Specific Day 6 - 2, !- Specific Month 7 - 15, !- Specific Day 7 - 2, !- Specific Month 8 - 22, !- Specific Day 8 - 3, !- Specific Month 9 - 1, !- Specific Day 9 - 3, !- Specific Month 10 - 8, !- Specific Day 10 - 3, !- Specific Month 11 - 15, !- Specific Day 11 - 3, !- Specific Month 12 - 22, !- Specific Day 12 - 3, !- Specific Month 13 - 29, !- Specific Day 13 - 4, !- Specific Month 14 - 5, !- Specific Day 14 - 4, !- Specific Month 15 - 12, !- Specific Day 15 - 4, !- Specific Month 16 - 19, !- Specific Day 16 - 4, !- Specific Month 17 - 26, !- Specific Day 17 - 5, !- Specific Month 18 - 3, !- Specific Day 18 - 5, !- Specific Month 19 - 10, !- Specific Day 19 - 5, !- Specific Month 20 - 17, !- Specific Day 20 - 5, !- Specific Month 21 - 24, !- Specific Day 21 - 5, !- Specific Month 22 - 31, !- Specific Day 22 - 6, !- Specific Month 23 - 7, !- Specific Day 23 - 6, !- Specific Month 24 - 14, !- Specific Day 24 - 6, !- Specific Month 25 - 21, !- Specific Day 25 - 6, !- Specific Month 26 - 28, !- Specific Day 26 - 7, !- Specific Month 27 - 5, !- Specific Day 27 - 7, !- Specific Month 28 - 12, !- Specific Day 28 - 7, !- Specific Month 29 - 19, !- Specific Day 29 - 7, !- Specific Month 30 - 26, !- Specific Day 30 - 8, !- Specific Month 31 - 2, !- Specific Day 31 - 8, !- Specific Month 32 - 9, !- Specific Day 32 - 8, !- Specific Month 33 - 16, !- Specific Day 33 - 8, !- Specific Month 34 - 23, !- Specific Day 34 - 8, !- Specific Month 35 - 30, !- Specific Day 35 - 9, !- Specific Month 36 - 6, !- Specific Day 36 - 9, !- Specific Month 37 - 13, !- Specific Day 37 - 9, !- Specific Month 38 - 20, !- Specific Day 38 - 9, !- Specific Month 39 - 27, !- Specific Day 39 - 10, !- Specific Month 40 - 4, !- Specific Day 40 - 10, !- Specific Month 41 - 11, !- Specific Day 41 - 10, !- Specific Month 42 - 18, !- Specific Day 42 - 10, !- Specific Month 43 - 25, !- Specific Day 43 - 11, !- Specific Month 44 - 1, !- Specific Day 44 - 11, !- Specific Month 45 - 8, !- Specific Day 45 - 11, !- Specific Month 46 - 15, !- Specific Day 46 - 11, !- Specific Month 47 - 22, !- Specific Day 47 - 11, !- Specific Month 48 - 29, !- Specific Day 48 - 12, !- Specific Month 49 - 6, !- Specific Day 49 - 12, !- Specific Month 50 - 13, !- Specific Day 50 - 12, !- Specific Month 51 - 20, !- Specific Day 51 - 12, !- Specific Month 52 - 27; !- Specific Day 52 - -OS:Schedule:Day, - {dffdcb3d-d11c-4cef-867c-b4c762b9b902}, !- Handle - autogen Small Office Activity 1_day_sch, !- Name - {4cc689ed-d7fb-40a5-b822-87603a90e524}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 120; !- Value Until Time 1 - -OS:AdditionalProperties, - {a9f37b8a-83e5-49e3-a5c6-6eeffe89f230}, !- Handle - {dffdcb3d-d11c-4cef-867c-b4c762b9b902}, !- Object Name - param_day_tag, !- Feature Name 1 - String, !- Feature Data Type 1 - autogen, !- Feature Value 1 - param_day_profile, !- Feature Name 2 - String, !- Feature Data Type 2 - 24.0 ~ val_flr ~ val_flr, !- Feature Value 2 - param_day_secondary_logic, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_secondary_logic_arg_val, !- Feature Name 4 - String, !- Feature Data Type 4 - ; !- Feature Value 4 - -OS:AdditionalProperties, - {03d53229-4105-4556-b794-22eccbc5b33f}, !- Handle - {727ede1b-9760-434e-bab7-a3c88d2032bb}, !- Object Name - hvac_system_type, !- Feature Name 1 - String, !- Feature Data Type 1 - PSZ-AC with gas coil, !- Feature Value 1 - envelope_as_constructed_template, !- Feature Name 2 - String, !- Feature Data Type 2 - ComStock DOE Ref Pre-1980, !- Feature Value 2 - envelope_template, !- Feature Name 3 - String, !- Feature Data Type 3 - ComStock DOE Ref Pre-1980, !- Feature Value 3 - interior_lighting_as_constructed_template, !- Feature Name 4 - String, !- Feature Data Type 4 - ComStock DOE Ref Pre-1980, !- Feature Value 4 - interior_lighting_template, !- Feature Name 5 - String, !- Feature Data Type 5 - ComStock 90.1-2007, !- Feature Value 5 - exterior_lighting_as_constructed_template, !- Feature Name 6 - String, !- Feature Data Type 6 - ComStock DOE Ref Pre-1980, !- Feature Value 6 - exterior_lighting_template, !- Feature Name 7 - String, !- Feature Data Type 7 - ComStock 90.1-2010, !- Feature Value 7 - interior_equipment_as_constructed_template, !- Feature Name 8 - String, !- Feature Data Type 8 - ComStock DOE Ref Pre-1980, !- Feature Value 8 - interior_equipment_template, !- Feature Name 9 - String, !- Feature Data Type 9 - ComStock 90.1-2010, !- Feature Value 9 - service_water_heating_as_constructed_template, !- Feature Name 10 - String, !- Feature Data Type 10 - ComStock DOE Ref Pre-1980, !- Feature Value 10 - service_water_heating_template, !- Feature Name 11 - String, !- Feature Data Type 11 - ComStock 90.1-2010, !- Feature Value 11 - hvac_as_constructed_template, !- Feature Name 12 - String, !- Feature Data Type 12 - ComStock DOE Ref Pre-1980, !- Feature Value 12 - hvac_template, !- Feature Name 13 - String, !- Feature Data Type 13 - ComStock 90.1-2007, !- Feature Value 13 - grid_region, !- Feature Name 14 - String, !- Feature Data Type 14 - RMPAc; !- Feature Value 14 - -OS:Schedule:Ruleset, - {3e154a12-613d-44c7-92a4-7fc05f1ed3b7}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {a628d416-d783-4762-a152-fb090888322b}, !- Default Day Schedule Name - {48c0cb28-4243-42f4-989e-2b75f0839685}, !- Summer Design Day Schedule Name - {90721660-0822-419c-a2c6-411fa50d6175}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {a628d416-d783-4762-a152-fb090888322b}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {6a193fcf-3c7c-4649-82e1-6dcb07be90be}, !- Handle - {3e154a12-613d-44c7-92a4-7fc05f1ed3b7}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 4.2451905283832874, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:34 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:34 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {90721660-0822-419c-a2c6-411fa50d6175}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {48c0cb28-4243-42f4-989e-2b75f0839685}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {b415d981-7f71-46b6-a2d4-9f125de9dd3a}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {3e154a12-613d-44c7-92a4-7fc05f1ed3b7}, !- Schedule Ruleset Name - 1, !- Rule Order - {e07343d2-04fc-4bb3-bf14-763ba9fe70df}, !- 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, - {e07343d2-04fc-4bb3-bf14-763ba9fe70df}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {a90cf0bf-3beb-4a78-8584-6beb35a1c606}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {3e154a12-613d-44c7-92a4-7fc05f1ed3b7}, !- Schedule Ruleset Name - 0, !- Rule Order - {754c0d4b-a189-40fe-8d1c-eef67c027188}, !- 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, - {754c0d4b-a189-40fe-8d1c-eef67c027188}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:ScheduleTypeLimits, - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Handle - ControlMode, !- Name - 0, !- Lower Limit Value - 1, !- Upper Limit Value - Discrete, !- Numeric Type - ControlMode; !- Unit Type - -OS:Schedule:Ruleset, - {bf1e614d-d705-40f3-8941-c1caf65a1321}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {363246ee-f22e-4be5-b851-87293590425e}, !- Default Day Schedule Name - {01f0ed1f-fe29-4baf-b4cc-e79c368e46ba}, !- Summer Design Day Schedule Name - {daf09218-a215-44b3-98c5-917bc44d7ad6}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {363246ee-f22e-4be5-b851-87293590425e}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {0559fec1-2999-44da-b519-c67c572461d0}, !- Handle - {bf1e614d-d705-40f3-8941-c1caf65a1321}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 4.2451905283832874, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:34 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:34 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {daf09218-a215-44b3-98c5-917bc44d7ad6}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {01f0ed1f-fe29-4baf-b4cc-e79c368e46ba}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {f692b4ab-0de8-494b-b9f1-8322cc8c7f1f}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {bf1e614d-d705-40f3-8941-c1caf65a1321}, !- Schedule Ruleset Name - 1, !- Rule Order - {bebe5d86-6143-4707-b3f9-ea4187cfe446}, !- 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, - {bebe5d86-6143-4707-b3f9-ea4187cfe446}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {73ea8254-c07a-4f32-91f4-980f3f24b784}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {bf1e614d-d705-40f3-8941-c1caf65a1321}, !- Schedule Ruleset Name - 0, !- Rule Order - {61f10d46-65f7-4d3e-b936-a47dc7a12d68}, !- 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, - {61f10d46-65f7-4d3e-b936-a47dc7a12d68}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {ce5bdb96-7c5e-49e8-8cf7-badea0305587}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {528d3be0-d7fd-484e-8271-31b686bd9295}, !- Default Day Schedule Name - {318c0cab-54a9-4132-aafd-ecb33c8e9639}, !- Summer Design Day Schedule Name - {b7a759a9-11f4-40b8-a0ed-c234c707d018}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {528d3be0-d7fd-484e-8271-31b686bd9295}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {3333cda4-15a9-4f91-9856-bd0dce6c43f8}, !- Handle - {ce5bdb96-7c5e-49e8-8cf7-badea0305587}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.124999999999988, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:34 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:34 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {b7a759a9-11f4-40b8-a0ed-c234c707d018}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {318c0cab-54a9-4132-aafd-ecb33c8e9639}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {893da5b0-2375-43ab-86d4-22b6c00d0287}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {ce5bdb96-7c5e-49e8-8cf7-badea0305587}, !- Schedule Ruleset Name - 1, !- Rule Order - {71550e8a-3b3d-41ba-82b4-a76a065943f8}, !- 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, - {71550e8a-3b3d-41ba-82b4-a76a065943f8}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {7b3588de-3690-44c9-a5a0-0aab442bd3ab}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {ce5bdb96-7c5e-49e8-8cf7-badea0305587}, !- Schedule Ruleset Name - 0, !- Rule Order - {ac709e03-37d8-4625-adcb-02a4da96d29d}, !- 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, - {ac709e03-37d8-4625-adcb-02a4da96d29d}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {24edb2b4-38ed-4568-9c1f-92e6a14c9f51}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {1d87d58a-3bd2-4f51-8825-fdc02ba8e9ed}, !- Default Day Schedule Name - {29c836d9-1a8b-4928-bd30-da71a41597b2}, !- Summer Design Day Schedule Name - {f49fd913-61f2-4928-b073-ffdc832774ad}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {1d87d58a-3bd2-4f51-8825-fdc02ba8e9ed}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {edd50f15-ca99-4300-800b-be0cc10619f1}, !- Handle - {24edb2b4-38ed-4568-9c1f-92e6a14c9f51}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.124999999999988, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:35 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:35 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {f49fd913-61f2-4928-b073-ffdc832774ad}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {29c836d9-1a8b-4928-bd30-da71a41597b2}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {b6da6270-f370-4261-9545-4fb56ba1ac5c}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {24edb2b4-38ed-4568-9c1f-92e6a14c9f51}, !- Schedule Ruleset Name - 1, !- Rule Order - {7573996e-5f09-4598-8c35-b9fe538086b6}, !- 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, - {7573996e-5f09-4598-8c35-b9fe538086b6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {383572fc-a083-4883-ac06-ea56f4360c7a}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {24edb2b4-38ed-4568-9c1f-92e6a14c9f51}, !- Schedule Ruleset Name - 0, !- Rule Order - {874309af-3f1f-4f81-9b19-7f53f7c37ab0}, !- 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, - {874309af-3f1f-4f81-9b19-7f53f7c37ab0}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {7e2b669c-85c6-4562-9c64-c940abce9b03}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {90216ab0-02aa-42a3-bcb0-e22c1c2cccb6}, !- Default Day Schedule Name - {ae234417-5e0d-4b82-bc98-7134b8e122eb}, !- Summer Design Day Schedule Name - {a69dd2c6-dc80-4220-9a46-dc358204b5df}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {90216ab0-02aa-42a3-bcb0-e22c1c2cccb6}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {6f8b97b9-e72b-4f66-bd57-f07c338ff038}, !- Handle - {7e2b669c-85c6-4562-9c64-c940abce9b03}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999858, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:35 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:35 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {a69dd2c6-dc80-4220-9a46-dc358204b5df}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {ae234417-5e0d-4b82-bc98-7134b8e122eb}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {1f76c150-01b7-4ede-b524-a2316ce76dc4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {7e2b669c-85c6-4562-9c64-c940abce9b03}, !- Schedule Ruleset Name - 1, !- Rule Order - {42869155-b1d5-4113-9cea-5526e5f32807}, !- 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, - {42869155-b1d5-4113-9cea-5526e5f32807}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {6cb16d13-be5a-4e79-bfe7-13828459570c}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {7e2b669c-85c6-4562-9c64-c940abce9b03}, !- Schedule Ruleset Name - 0, !- Rule Order - {1a8dc92a-66ff-4f9d-9640-475b9aa73e1f}, !- 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, - {1a8dc92a-66ff-4f9d-9640-475b9aa73e1f}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {3e08b631-47a7-4b75-96c3-6ce0965ac9d4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {71525af5-62ee-4b02-874e-e6bbaaf2159c}, !- Default Day Schedule Name - {cde9d5e5-54a3-4ee2-ac98-beb5ca33a564}, !- Summer Design Day Schedule Name - {40161aaa-c95d-4709-a3f0-c00194974c56}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {71525af5-62ee-4b02-874e-e6bbaaf2159c}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {190c5927-9978-47ad-95b8-0a2c79096afd}, !- Handle - {3e08b631-47a7-4b75-96c3-6ce0965ac9d4}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999858, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:35 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:35 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {40161aaa-c95d-4709-a3f0-c00194974c56}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {cde9d5e5-54a3-4ee2-ac98-beb5ca33a564}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {830c0392-e20a-430b-8675-2a4c337f9cdf}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {3e08b631-47a7-4b75-96c3-6ce0965ac9d4}, !- Schedule Ruleset Name - 1, !- Rule Order - {7252a3e4-7687-44ef-a2b3-a7934baed91d}, !- 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, - {7252a3e4-7687-44ef-a2b3-a7934baed91d}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {c715a8a3-6352-407e-8f5a-c482c1fe043c}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {3e08b631-47a7-4b75-96c3-6ce0965ac9d4}, !- Schedule Ruleset Name - 0, !- Rule Order - {43736bb6-2a9b-4905-8472-a798e544f07c}, !- 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, - {43736bb6-2a9b-4905-8472-a798e544f07c}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {e4c3bdeb-b283-4662-b11a-02299e07ae57}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {f2590ec9-8a08-450c-9d34-325ebf87a7f9}, !- Default Day Schedule Name - {51e2ad13-1170-48fc-976f-7d77875f6a2f}, !- Summer Design Day Schedule Name - {7bd0d113-2c64-4531-a27b-e1b49a35a54f}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {f2590ec9-8a08-450c-9d34-325ebf87a7f9}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {ebf7e692-339e-4e30-b489-748f33ae3efd}, !- Handle - {e4c3bdeb-b283-4662-b11a-02299e07ae57}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 3.7644284148501237, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:35 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:35 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {7bd0d113-2c64-4531-a27b-e1b49a35a54f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {51e2ad13-1170-48fc-976f-7d77875f6a2f}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {3a3d816a-089a-4db6-8705-15f2ad282792}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {e4c3bdeb-b283-4662-b11a-02299e07ae57}, !- Schedule Ruleset Name - 1, !- Rule Order - {b5fc857a-b71b-44e4-a380-01fc448bff55}, !- 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, - {b5fc857a-b71b-44e4-a380-01fc448bff55}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {cf90d883-e347-4742-b003-7c07c378ae02}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {e4c3bdeb-b283-4662-b11a-02299e07ae57}, !- Schedule Ruleset Name - 0, !- Rule Order - {fdd782ba-8f10-4fa3-9aba-4524861d7459}, !- 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, - {fdd782ba-8f10-4fa3-9aba-4524861d7459}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {f9fcb232-953b-45b4-9619-2763a1b1919e}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {059446ff-79e9-4d68-8ed7-a02f646ca79c}, !- Default Day Schedule Name - {104561b7-3b37-4a97-9c88-fb7abdd6f819}, !- Summer Design Day Schedule Name - {1bf95e05-ac04-4968-bf2e-26d4fb3f79d3}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {059446ff-79e9-4d68-8ed7-a02f646ca79c}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {297dfc8e-8cf0-4232-a9dd-26833aa3c9ec}, !- Handle - {f9fcb232-953b-45b4-9619-2763a1b1919e}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 3.7644284148501237, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:35 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:35 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {1bf95e05-ac04-4968-bf2e-26d4fb3f79d3}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {104561b7-3b37-4a97-9c88-fb7abdd6f819}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {2f06b4f6-8371-4e66-919a-ced3a501d865}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {f9fcb232-953b-45b4-9619-2763a1b1919e}, !- Schedule Ruleset Name - 1, !- Rule Order - {24539f85-a829-4f02-98c8-78d870c8c8b1}, !- 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, - {24539f85-a829-4f02-98c8-78d870c8c8b1}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {f958c1fc-6405-4955-a49d-97aea867ef9e}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {f9fcb232-953b-45b4-9619-2763a1b1919e}, !- Schedule Ruleset Name - 0, !- Rule Order - {8846c474-3289-460b-8afc-0c804ee1f964}, !- 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, - {8846c474-3289-460b-8afc-0c804ee1f964}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {b54dc929-93b2-45ce-851a-61313698eda6}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {77b00e40-5ae0-48bd-b730-2ef6cfd8e614}, !- Default Day Schedule Name - {f95ecdb8-1d8c-4270-a28b-226b8f5e30a7}, !- Summer Design Day Schedule Name - {89db9115-6404-454b-8902-f053d9bdac52}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {77b00e40-5ae0-48bd-b730-2ef6cfd8e614}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {d25564ab-14f2-4f5d-8a3b-893d20b32418}, !- Handle - {b54dc929-93b2-45ce-851a-61313698eda6}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 0.9975952641916328, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:36 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:36 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {89db9115-6404-454b-8902-f053d9bdac52}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {f95ecdb8-1d8c-4270-a28b-226b8f5e30a7}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {9486038d-060d-4f38-a019-0c73ca255a51}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {b54dc929-93b2-45ce-851a-61313698eda6}, !- Schedule Ruleset Name - 1, !- Rule Order - {a0d85296-e519-4c20-a463-a48617970385}, !- 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, - {a0d85296-e519-4c20-a463-a48617970385}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {8e61149a-0a08-4ac0-8fe7-48125ab43b1e}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {b54dc929-93b2-45ce-851a-61313698eda6}, !- Schedule Ruleset Name - 0, !- Rule Order - {889085a2-1153-4709-98c1-abbbfa06825a}, !- 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, - {889085a2-1153-4709-98c1-abbbfa06825a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {e32751d1-dedf-4f32-8a2e-a2706163d66f}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {f13b0f12-58e2-4b23-9809-3215c1d7f413}, !- Default Day Schedule Name - {d3500369-00b6-49b1-8ed1-bedb87440b02}, !- Summer Design Day Schedule Name - {6ac966bb-7c93-408c-bb8f-5451f09691e8}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {f13b0f12-58e2-4b23-9809-3215c1d7f413}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {095bec96-0422-4bb9-8252-9793c09802fb}, !- Handle - {e32751d1-dedf-4f32-8a2e-a2706163d66f}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 0.9975952641916328, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:36 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:36 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {6ac966bb-7c93-408c-bb8f-5451f09691e8}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {d3500369-00b6-49b1-8ed1-bedb87440b02}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {a3d7f1b8-5420-4f01-828f-19c01d0fd0ad}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {e32751d1-dedf-4f32-8a2e-a2706163d66f}, !- Schedule Ruleset Name - 1, !- Rule Order - {d6203d85-22a3-4246-b353-e833aae7300d}, !- 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, - {d6203d85-22a3-4246-b353-e833aae7300d}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {da6d4747-8cb1-410f-af57-8c4e8b22b69a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {e32751d1-dedf-4f32-8a2e-a2706163d66f}, !- Schedule Ruleset Name - 0, !- Rule Order - {c8ac83f5-288a-45a4-b031-15e65cfff110}, !- 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, - {c8ac83f5-288a-45a4-b031-15e65cfff110}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {5a95a317-6930-4990-9532-33de46a3c598}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {c31af7bd-dd47-4d55-8dea-e8886f14e0b6}, !- Default Day Schedule Name - {a70e7783-f132-4d5f-847a-d03035e92cdd}, !- Summer Design Day Schedule Name - {f336a7c8-9e66-4cb5-a0e0-7de76b0f84bb}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {c31af7bd-dd47-4d55-8dea-e8886f14e0b6}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {c536646d-cf74-418d-a07b-146d5e055597}, !- Handle - {5a95a317-6930-4990-9532-33de46a3c598}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 0.99759526419163091, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:36 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:36 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {f336a7c8-9e66-4cb5-a0e0-7de76b0f84bb}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {a70e7783-f132-4d5f-847a-d03035e92cdd}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {bb24d823-072e-4f4c-a985-3b594cce5acc}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {5a95a317-6930-4990-9532-33de46a3c598}, !- Schedule Ruleset Name - 1, !- Rule Order - {6e98d14a-7828-4377-83ee-59675fdba026}, !- 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, - {6e98d14a-7828-4377-83ee-59675fdba026}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {d5f942ee-ef94-4a75-baf6-deb9401adc02}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {5a95a317-6930-4990-9532-33de46a3c598}, !- Schedule Ruleset Name - 0, !- Rule Order - {bb63efe7-346a-426a-a7e8-b394eb17752a}, !- 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, - {bb63efe7-346a-426a-a7e8-b394eb17752a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {7b617175-c21e-4b89-a423-08ca764fca29}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {53513367-993f-4f83-bea2-ab8dcbcd12b4}, !- Default Day Schedule Name - {d1f3d556-272f-453f-8d7f-d6defe32c518}, !- Summer Design Day Schedule Name - {1465f347-0812-4b05-8081-fe658e967ed2}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {53513367-993f-4f83-bea2-ab8dcbcd12b4}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {ee01d0a1-afa7-4fd2-9fc2-f56355f40a06}, !- Handle - {7b617175-c21e-4b89-a423-08ca764fca29}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 0.99759526419163091, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:36 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:36 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {1465f347-0812-4b05-8081-fe658e967ed2}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {d1f3d556-272f-453f-8d7f-d6defe32c518}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {11609b3f-5581-4b52-a361-1a4e5709af1a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {7b617175-c21e-4b89-a423-08ca764fca29}, !- Schedule Ruleset Name - 1, !- Rule Order - {fd7fa1cc-f1c2-45d6-9197-ec33bbf6ac84}, !- 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, - {fd7fa1cc-f1c2-45d6-9197-ec33bbf6ac84}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {c2251596-e052-4338-a098-994f88b0d3e1}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {7b617175-c21e-4b89-a423-08ca764fca29}, !- Schedule Ruleset Name - 0, !- Rule Order - {8dacf45c-e2c1-4b7f-9f63-7a51d7dc340a}, !- 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, - {8dacf45c-e2c1-4b7f-9f63-7a51d7dc340a}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {a46891fa-c3b1-4284-a2a2-dc90ab17d204}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {8b4bad10-2f1d-4e0a-bd0d-f093184720f7}, !- Default Day Schedule Name - {d5748ed2-cf7f-45bf-8b94-455a550404e7}, !- Summer Design Day Schedule Name - {bff86d57-c062-4f8f-a3f0-40f4a0afb19a}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {8b4bad10-2f1d-4e0a-bd0d-f093184720f7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {0908b7e7-9761-49ec-afb1-21e99d616cdb}, !- Handle - {a46891fa-c3b1-4284-a2a2-dc90ab17d204}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 4.2451905283832945, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {bff86d57-c062-4f8f-a3f0-40f4a0afb19a}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {d5748ed2-cf7f-45bf-8b94-455a550404e7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {1ca8d799-5d45-4294-9840-c8d942917718}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {a46891fa-c3b1-4284-a2a2-dc90ab17d204}, !- Schedule Ruleset Name - 1, !- Rule Order - {40609d0e-3920-4895-8aa7-6d16f2d8ec1e}, !- 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, - {40609d0e-3920-4895-8aa7-6d16f2d8ec1e}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {5284fbf4-8f0b-4432-8e3b-5f46fc1fc713}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {a46891fa-c3b1-4284-a2a2-dc90ab17d204}, !- Schedule Ruleset Name - 0, !- Rule Order - {65ac5aa7-7b4f-4aec-8ed7-2c58981b64e0}, !- 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, - {65ac5aa7-7b4f-4aec-8ed7-2c58981b64e0}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {21de6eb9-7814-4413-ae74-2bbfed1da113}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {f5487f3b-c70d-49e6-8f02-bf04b96abd4f}, !- Default Day Schedule Name - {11e7ad76-91e7-497e-ad8c-f821bf1e6bd0}, !- Summer Design Day Schedule Name - {75c4af51-77b3-4579-b6c0-150e903a19c7}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {f5487f3b-c70d-49e6-8f02-bf04b96abd4f}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {230c9f71-0444-404f-8ad3-8154cce3e280}, !- Handle - {21de6eb9-7814-4413-ae74-2bbfed1da113}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 4.2451905283832945, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {75c4af51-77b3-4579-b6c0-150e903a19c7}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {11e7ad76-91e7-497e-ad8c-f821bf1e6bd0}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {f95741e6-fdbd-49bd-b2ca-9b62c414278b}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {21de6eb9-7814-4413-ae74-2bbfed1da113}, !- Schedule Ruleset Name - 1, !- Rule Order - {4acdb8f6-d7a3-472a-b02e-e5dafd5f21a0}, !- 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, - {4acdb8f6-d7a3-472a-b02e-e5dafd5f21a0}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {8ac0c252-63d1-4c98-9896-2f909afbb536}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {21de6eb9-7814-4413-ae74-2bbfed1da113}, !- Schedule Ruleset Name - 0, !- Rule Order - {66e062f5-a9ef-421c-a32f-fe3cff8abded}, !- 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, - {66e062f5-a9ef-421c-a32f-fe3cff8abded}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {54d5f5fb-c8d9-4b0c-976c-310afc1998fb}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {8b3a53f0-a2d4-43d0-ac66-6834befd9daa}, !- Default Day Schedule Name - {853914f9-7f51-44fb-a7f7-98432c76980c}, !- Summer Design Day Schedule Name - {67d91dfb-104d-4367-b12d-6ba7d23e76a1}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {8b3a53f0-a2d4-43d0-ac66-6834befd9daa}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {dbe2b349-3124-416e-ae09-7b0915de75f4}, !- Handle - {54d5f5fb-c8d9-4b0c-976c-310afc1998fb}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999898, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:37 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:37 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {67d91dfb-104d-4367-b12d-6ba7d23e76a1}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {853914f9-7f51-44fb-a7f7-98432c76980c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {90a3638b-16e6-4630-8871-aa106a774dd1}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {54d5f5fb-c8d9-4b0c-976c-310afc1998fb}, !- Schedule Ruleset Name - 1, !- Rule Order - {a0b651e2-b71a-456e-b43c-0aa20f79b164}, !- 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, - {a0b651e2-b71a-456e-b43c-0aa20f79b164}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {d4ad34ec-1bf5-4da5-9bb2-f73bbb69edf4}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {54d5f5fb-c8d9-4b0c-976c-310afc1998fb}, !- Schedule Ruleset Name - 0, !- Rule Order - {7d41cb2c-5af3-4f5f-9150-9399cac747eb}, !- 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, - {7d41cb2c-5af3-4f5f-9150-9399cac747eb}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {6f156a2f-6c7c-489f-a009-5e50b87efdec}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {66e7865d-de39-4b61-a389-b03a392ada71}, !- Default Day Schedule Name - {3bf1df47-e62a-401a-a730-7760911ddbd9}, !- Summer Design Day Schedule Name - {ef3915e5-a386-40fe-97ad-978066967814}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {66e7865d-de39-4b61-a389-b03a392ada71}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {7deb2031-9a8d-4ecd-9e4e-db2b41fe45ca}, !- Handle - {6f156a2f-6c7c-489f-a009-5e50b87efdec}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999898, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:38 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:38 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {ef3915e5-a386-40fe-97ad-978066967814}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {3bf1df47-e62a-401a-a730-7760911ddbd9}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {1c588abc-8df8-4cf2-b422-17b24373670f}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {6f156a2f-6c7c-489f-a009-5e50b87efdec}, !- Schedule Ruleset Name - 1, !- Rule Order - {d5cf519f-9352-4a1b-b7b8-554e33f0b773}, !- 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, - {d5cf519f-9352-4a1b-b7b8-554e33f0b773}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {2eeddd02-32a3-454c-8f1e-910045532c5a}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {6f156a2f-6c7c-489f-a009-5e50b87efdec}, !- Schedule Ruleset Name - 0, !- Rule Order - {77b4d48e-a7c4-47fa-8c3f-d739af7f3831}, !- 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, - {77b4d48e-a7c4-47fa-8c3f-d739af7f3831}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {6d9e0810-1e52-4594-a08a-4b342e6ee771}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {2d3afefc-c243-44c8-90f9-a83900fce22c}, !- Default Day Schedule Name - {f9a1a9ca-bcaf-48a3-bbb8-aa1a042b3a46}, !- Summer Design Day Schedule Name - {b3b519f7-e4a5-49a3-bc63-c9ee3951953d}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {2d3afefc-c243-44c8-90f9-a83900fce22c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {a8ce6391-db59-4c05-8ac7-88aecc30257c}, !- Handle - {6d9e0810-1e52-4594-a08a-4b342e6ee771}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999876, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:38 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:38 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {b3b519f7-e4a5-49a3-bc63-c9ee3951953d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {f9a1a9ca-bcaf-48a3-bbb8-aa1a042b3a46}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {1cc272de-fde6-4c6d-b9f5-7be4a2cdd839}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Saturday Rule, !- Name - {6d9e0810-1e52-4594-a08a-4b342e6ee771}, !- Schedule Ruleset Name - 1, !- Rule Order - {0d6dc114-c85b-4aca-9dc0-e59b290e6f0c}, !- 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, - {0d6dc114-c85b-4aca-9dc0-e59b290e6f0c}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {fb9b7b06-fd0d-454a-b3eb-f16296cb1125}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Sunday Rule, !- Name - {6d9e0810-1e52-4594-a08a-4b342e6ee771}, !- Schedule Ruleset Name - 0, !- Rule Order - {106fda9b-92b1-4999-8980-47092bcd08de}, !- 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, - {106fda9b-92b1-4999-8980-47092bcd08de}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Ruleset, - {2cc371d9-ae59-41f2-bffe-53628d8cf073}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - {1c288ac8-fe75-400f-b92a-29856d7aa22b}, !- Default Day Schedule Name - {2ce3778d-d9b5-4b2b-a52d-515ff9b67430}, !- Summer Design Day Schedule Name - {a78aca31-7cd8-4a26-bd78-52b0ec3ae6de}; !- Winter Design Day Schedule Name - -OS:Schedule:Day, - {1c288ac8-fe75-400f-b92a-29856d7aa22b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Default, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 6, !- Hour 1 - 5, !- Minute 1 - 0, !- Value Until Time 1 - 18, !- Hour 2 - 25, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:AdditionalProperties, - {77470526-3db8-4651-95d0-d2cb0cfc9609}, !- Handle - {2cc371d9-ae59-41f2-bffe-53628d8cf073}, !- Object Name - max_occ_in_spaces, !- Feature Name 1 - Double, !- Feature Data Type 1 - 1.1249999999999876, !- Feature Value 1 - number_of_spaces_included, !- Feature Name 2 - Integer, !- Feature Data Type 2 - 1, !- Feature Value 2 - date_parent_object_last_edited, !- Feature Name 3 - String, !- Feature Data Type 3 - 2021-06-23 00:26:38 UTC, !- Feature Value 3 - date_parent_object_created, !- Feature Name 4 - String, !- Feature Data Type 4 - 2021-06-23 00:26:38 UTC; !- Feature Value 4 - -OS:Schedule:Day, - {a78aca31-7cd8-4a26-bd78-52b0ec3ae6de}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Winter Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {2ce3778d-d9b5-4b2b-a52d-515ff9b67430}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Summer Design Day, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Rule, - {bb23802d-664f-4783-9470-6930b3387567}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Saturday Rule, !- Name - {2cc371d9-ae59-41f2-bffe-53628d8cf073}, !- Schedule Ruleset Name - 1, !- Rule Order - {32f5db96-ff27-4d6b-b0a0-a958df14938e}, !- 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, - {32f5db96-ff27-4d6b-b0a0-a958df14938e}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Saturday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 7, !- Hour 1 - 20, !- Minute 1 - 0, !- Value Until Time 1 - 12, !- Hour 2 - 59, !- Minute 2 - 1, !- Value Until Time 2 - 24, !- Hour 3 - 0, !- Minute 3 - 0; !- Value Until Time 3 - -OS:Schedule:Rule, - {1fdb4f77-ae8c-4c47-810c-4c2f3c1b58ea}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Sunday Rule, !- Name - {2cc371d9-ae59-41f2-bffe-53628d8cf073}, !- Schedule Ruleset Name - 0, !- Rule Order - {e26c2031-4264-4c0b-899d-06e427c64a25}, !- 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, - {e26c2031-4264-4c0b-899d-06e427c64a25}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC Occ Sch Sunday, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Curve:Biquadratic, - {9aba04f1-7f1f-4398-a04f-63296fb75f96}, !- Handle - DOE Ref DX Clg Coil Cool-Cap-fT, !- Name - 0.9712123, !- Coefficient1 Constant - -0.015275502, !- Coefficient2 x - 0.0014434524, !- Coefficient3 x**2 - -0.00039321, !- Coefficient4 y - -6.8364e-06, !- Coefficient5 y**2 - -0.0002905956, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Cubic, - {30157f2f-2bb5-4a66-bfa1-b3ee0b4a1e14}, !- Handle - DOE Ref DX Clg Coil Cool-CAP-fFlow, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - 0, !- Coefficient4 x**3 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Biquadratic, - {5de483ae-d4e8-4847-bf45-788604cc1e25}, !- Handle - DOE Ref DX Clg Coil Cool-EIR-fT, !- Name - 0.28687133, !- Coefficient1 Constant - 0.023902164, !- Coefficient2 x - -0.000810648, !- Coefficient3 x**2 - 0.013458546, !- Coefficient4 y - 0.0003389364, !- Coefficient5 y**2 - -0.0004870044, !- Coefficient6 x*y - -100, !- Minimum Value of x - 100, !- Maximum Value of x - -100, !- Minimum Value of y - 100; !- Maximum Value of y - -OS:Curve:Cubic, - {52a4509a-257d-40e5-aa4f-9d4e1740b814}, !- Handle - DOE Ref DX Clg Coil Cool-EIR-fFlow, !- Name - 1, !- Coefficient1 Constant - 0, !- Coefficient2 x - 0, !- Coefficient3 x**2 - 0, !- Coefficient4 x**3 - -100, !- Minimum Value of x - 100; !- Maximum Value of x - -OS:Curve:Quadratic, - {383bc860-0b3a-4b8e-bbd5-efbf15de82b7}, !- Handle - DOE Ref DX Clg Coil Cool-PLF-fPLR, !- Name - 0.90949556, !- Coefficient1 Constant - 0.09864773, !- Coefficient2 x - -0.00819488, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1; !- Maximum Value of x - -OS:Material, - {8a0a5931-6ce4-4acf-99cc-2b1aabd5c5ab}, !- Handle - Std Wood 6inch 1, !- 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, - {8ba52037-abd4-44ed-8a82-a4fb0223baf0}, !- Handle - InteriorFurnishings 1, !- Name - , !- Surface Rendering Name - {8a0a5931-6ce4-4acf-99cc-2b1aabd5c5ab}; !- Layer 1 - -OS:InternalMass:Definition, - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Handle - Internal Mass Definition 2, !- Name - {8ba52037-abd4-44ed-8a82-a4fb0223baf0}, !- 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, - {6fa4c7ab-b490-4ea5-bc32-9fbf8ffdf695}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {3ecdd7d5-58f3-4484-82df-3ba8a77177b1}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {4bb462e4-08d2-4e49-883c-c435ce168942}, !- Handle - Office WholeBuilding - Sm Office C - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {37342b64-6c0d-44e8-b65d-305773ea8209}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {398fda98-68c9-4c47-a84a-b81582998851}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {10bc357d-3873-48e3-9860-8b28b923bb74}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {810e3679-0468-465d-a2ca-af2dce9ed4e0}, !- Handle - Office WholeBuilding - Sm Office B - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {43031d45-de78-4d62-937d-2c940347c1dd}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {00fc3f8f-293e-4b4b-8f0e-e4783ea1d429}, !- Handle - Office WholeBuilding - Sm Office A - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {b9850acf-3c01-4db3-8fcf-e51d8b8fb94f}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {a9459d4b-9d26-48f1-91cd-61b0f37a4f82}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {877f5da3-e7a0-473b-bc57-b8d9b04f695e}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {f697fad7-dc80-48f3-a9bd-c0de3c054c20}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {f4293386-101b-4483-b8ff-46299d244a7b}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {8597348c-3fd3-4158-a417-723a2a8f02e9}, !- Handle - Office WholeBuilding - Sm Office B end_a - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {994f7eda-d937-4c52-9e2f-1d58f868b033}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {ed0164f0-5c6f-4851-9eb6-df3474e1a41e}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {864d68ae-03b8-4712-9003-4c19f9771f14}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {c3124121-e9dd-4810-a37a-2c9f8ee8fb14}, !- Handle - Office WholeBuilding - Sm Office C - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {84be7384-235c-4681-8a4f-edff2f4efefb}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {b90edf18-0fa1-414b-bf9b-dc32470f3216}, !- Handle - Office WholeBuilding - Sm Office B - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {557801a0-eba1-4cdb-be8d-8836558ff2b9}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {a6e8183a-224d-46f8-ab3c-68260f019f24}, !- Handle - Office WholeBuilding - Sm Office C end_a - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {4f1e576a-b1ec-4b53-8baa-b2dabdb835de}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {e90bb42a-a250-4c68-aeba-06290e20aa6e}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {cbd9369e-59bc-460b-8b90-9efe161d607b}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {f67fb9cb-6b2f-4196-9556-3e6bc42d112f}, !- Handle - Office WholeBuilding - Sm Office B end_b - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {223b91ce-b6ad-49c9-9e41-176d588f41cc}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {04817fd3-094d-4a4e-b1c6-1ede92694ee3}, !- Handle - Office WholeBuilding - Sm Office A end_a - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {b78ddd60-cc74-48b7-ab50-f6fea097b6da}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {d0b2c1dd-b94e-4c00-8367-5ff4564fff9c}, !- Handle - Office WholeBuilding - Sm Office A end_b - Story Top Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {44fc7c9e-dd28-468e-928a-b408416da156}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {b88b5626-1169-4c7b-931e-9cb88c722125}, !- Handle - Office WholeBuilding - Sm Office A - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {ad7dc644-b4be-41ea-970c-35aa8ef4b9eb}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:InternalMass, - {73b218f2-2f9a-47b8-a77c-0c65671c9306}, !- Handle - Office WholeBuilding - Sm Office C end_b - Story Ground Mass, !- Name - {8e0a71d6-0221-4224-a750-d26ebf597c7a}, !- Internal Mass Definition Name - {94763e33-710c-427b-a6e4-edb40a3420ff}, !- Space or SpaceType Name - 1; !- Multiplier - -OS:OutputControl:ReportingTolerances, - {1aeaa950-2c98-46ce-b262-4c2aa8e5261d}, !- Handle - 0.555555555555556, !- Tolerance for Time Heating Setpoint Not Met {deltaC} - 0.555555555555556; !- Tolerance for Time Cooling Setpoint Not Met {deltaC} - -OS:Curve:Biquadratic, - {61686534-79a7-4e59-aeb6-3b4cfff25ef4}, !- Handle - CoilClgDXQRatio_fTwbToadbSI, !- Name - 0.86779, !- Coefficient1 Constant - 0.014245, !- Coefficient2 x - 0.000554, !- Coefficient3 x**2 - -0.007569, !- Coefficient4 y - 3.2e-05, !- Coefficient5 y**2 - -0.000191, !- Coefficient6 x*y - 13.89, !- Minimum Value of x - 25, !- Maximum Value of x - 23.89, !- Minimum Value of y - 46.11, !- Maximum Value of y - 0.77, !- Minimum Curve Output - 1.29; !- Maximum Curve Output - -OS:Curve:Quadratic, - {58c0e384-bc58-4a3e-8c7e-51d33fb21a87}, !- Handle - CoilClgDXSnglQRatio_fCFMRatio, !- 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, - {47f3e043-9440-4752-9425-3c0091496b41}, !- Handle - CoilClgDXEIRRatio_fTwbToadbSI, !- Name - 0.116709, !- Coefficient1 Constant - 0.028458, !- Coefficient2 x - -0.000411, !- Coefficient3 x**2 - 0.021422, !- Coefficient4 y - 0.000162, !- Coefficient5 y**2 - -0.00068, !- Coefficient6 x*y - 13.89, !- Minimum Value of x - 25, !- Maximum Value of x - 23.89, !- Minimum Value of y - 46.11, !- Maximum Value of y - 0.77, !- Minimum Curve Output - 1.33; !- Maximum Curve Output - -OS:Curve:Quadratic, - {e1eb881b-283c-40f2-a064-0d993b093d8f}, !- Handle - CoilClgDXSnglEIRRatio_fCFMRatio, !- Name - 1.156, !- Coefficient1 Constant - -0.1816, !- Coefficient2 x - 0.0256, !- Coefficient3 x**2 - 0, !- Minimum Value of x - 1; !- Maximum Value of x - -OS:Curve:Cubic, - {bf539b59-1587-40f7-b7f1-c33881969862}, !- Handle - CoilClgDXEIRRatio_fQFrac, !- Name - 0, !- Coefficient1 Constant - 5.1091, !- Coefficient2 x - -8.5515, !- Coefficient3 x**2 - 4.4744, !- Coefficient4 x**3 - 0.7, !- Minimum Value of x - 1; !- Maximum Value of x - -OS:RunPeriodControl:DaylightSavingTime, - {fa1c920f-e4dd-4b1d-8cc3-c48f70a19505}, !- Handle - 2nd Sunday in March, !- Start Date - 1st Sunday in November; !- End Date - -OS:Schedule:Ruleset, - {bcc82492-2246-491c-9b61-33bd8d09cfcf}, !- Handle - Office BLDG_LIGHT_EndUseData BPR Adjusted, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {01ab6a9b-7ffd-4555-9f84-8ae269e3d621}, !- Default Day Schedule Name - {3bedc377-51b4-4245-8b4a-eaccf7918ba1}, !- Summer Design Day Schedule Name - {f97f23bc-942f-4bcf-a6e7-7f00fe8aa336}; !- Winter Design Day Schedule Name - -OS:AdditionalProperties, - {fd60b6db-fdab-4421-9d1b-657cf6bc5597}, !- Handle - {bcc82492-2246-491c-9b61-33bd8d09cfcf}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0.49040017699999999; !- Feature Value 3 - -OS:Schedule:Day, - {01ab6a9b-7ffd-4555-9f84-8ae269e3d621}, !- Handle - Schedule Day 23, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - No, !- Interpolate to Timestep - 0, !- Hour 1 - 5, !- Minute 1 - 0.0110660147941009, !- Value Until Time 1 - 0, !- Hour 2 - 15, !- Minute 2 - 0.0106036836152101, !- Value Until Time 2 - 0, !- Hour 3 - 25, !- Minute 3 - 0.0101413524363192, !- Value Until Time 3 - 0, !- Hour 4 - 35, !- Minute 4 - 0.00967902125742833, !- Value Until Time 4 - 0, !- Hour 5 - 45, !- Minute 5 - 0, !- Value Until Time 5 - 0, !- Hour 6 - 55, !- Minute 6 - 0.000271576082094521, !- Value Until Time 6 - 1, !- Hour 7 - 4, !- Minute 7 - 0.000543152164189133, !- Value Until Time 7 - 1, !- Hour 8 - 15, !- Minute 8 - 0.000814728246283647, !- Value Until Time 8 - 1, !- Hour 9 - 25, !- Minute 9 - 0.00108630432837816, !- Value Until Time 9 - 1, !- Hour 10 - 35, !- Minute 10 - 0.00135788041047278, !- Value Until Time 10 - 1, !- Hour 11 - 45, !- Minute 11 - 0.00162945649256729, !- Value Until Time 11 - 1, !- Hour 12 - 55, !- Minute 12 - 0.00300625294050241, !- Value Until Time 12 - 2, !- Hour 13 - 5, !- Minute 13 - 0.00438304938843763, !- Value Until Time 13 - 2, !- Hour 14 - 15, !- Minute 14 - 0.00575984583637274, !- Value Until Time 14 - 2, !- Hour 15 - 24, !- Minute 15 - 0.00713664228430786, !- Value Until Time 15 - 2, !- Hour 16 - 34, !- Minute 16 - 0.00851343873224309, !- Value Until Time 16 - 2, !- Hour 17 - 44, !- Minute 17 - 0.0098902351801782, !- Value Until Time 17 - 2, !- Hour 18 - 45, !- Minute 18 - 0.0098902351801782, !- Value Until Time 18 - 2, !- Hour 19 - 54, !- Minute 19 - 0.00877025472493246, !- Value Until Time 19 - 3, !- Hour 20 - 4, !- Minute 20 - 0.00765027426968662, !- Value Until Time 20 - 3, !- Hour 21 - 14, !- Minute 21 - 0.00653029381444088, !- Value Until Time 21 - 3, !- Hour 22 - 24, !- Minute 22 - 0.00541031335919515, !- Value Until Time 22 - 3, !- Hour 23 - 34, !- Minute 23 - 0.0042903329039493, !- Value Until Time 23 - 3, !- Hour 24 - 44, !- Minute 24 - 0.00317035244870356, !- Value Until Time 24 - 3, !- Hour 25 - 45, !- Minute 25 - 0.00317035244870356, !- Value Until Time 25 - 3, !- Hour 26 - 54, !- Minute 26 - 0.00331129759382195, !- Value Until Time 26 - 4, !- Hour 27 - 4, !- Minute 27 - 0.00345224273894033, !- Value Until Time 27 - 4, !- Hour 28 - 15, !- Minute 28 - 0.00359318788405873, !- Value Until Time 28 - 4, !- Hour 29 - 25, !- Minute 29 - 0.00373413302917712, !- Value Until Time 29 - 4, !- Hour 30 - 35, !- Minute 30 - 0.00387507817429551, !- Value Until Time 30 - 4, !- Hour 31 - 45, !- Minute 31 - 0.0040160233194139, !- Value Until Time 31 - 4, !- Hour 32 - 55, !- Minute 32 - 0.00853246830747718, !- Value Until Time 32 - 5, !- Hour 33 - 5, !- Minute 33 - 0.0130489132955405, !- Value Until Time 33 - 5, !- Hour 34 - 15, !- Minute 34 - 0.0175653582836037, !- Value Until Time 34 - 5, !- Hour 35 - 25, !- Minute 35 - 0.022081803271667, !- Value Until Time 35 - 5, !- Hour 36 - 35, !- Minute 36 - 0.0265982482597303, !- Value Until Time 36 - 5, !- Hour 37 - 45, !- Minute 37 - 0.0311146932477936, !- Value Until Time 37 - 5, !- Hour 38 - 55, !- Minute 38 - 0.0412292674245813, !- Value Until Time 38 - 6, !- Hour 39 - 5, !- Minute 39 - 0.0513438416013691, !- Value Until Time 39 - 6, !- Hour 40 - 15, !- Minute 40 - 0.0614584157781568, !- Value Until Time 40 - 6, !- Hour 41 - 25, !- Minute 41 - 0.0715729899549446, !- Value Until Time 41 - 6, !- Hour 42 - 35, !- Minute 42 - 0.0816875641317323, !- Value Until Time 42 - 6, !- Hour 43 - 45, !- Minute 43 - 0.0918021383085201, !- Value Until Time 43 - 6, !- Hour 44 - 55, !- Minute 44 - 0.127393479943654, !- Value Until Time 44 - 7, !- Hour 45 - 5, !- Minute 45 - 0.162984821578789, !- Value Until Time 45 - 7, !- Hour 46 - 15, !- Minute 46 - 0.198576163213923, !- Value Until Time 46 - 7, !- Hour 47 - 25, !- Minute 47 - 0.234167504849058, !- Value Until Time 47 - 7, !- Hour 48 - 35, !- Minute 48 - 0.269758846484192, !- Value Until Time 48 - 7, !- Hour 49 - 45, !- Minute 49 - 0.305350188119326, !- Value Until Time 49 - 7, !- Hour 50 - 55, !- Minute 50 - 0.328486612592286, !- Value Until Time 50 - 8, !- Hour 51 - 5, !- Minute 51 - 0.351623037065244, !- Value Until Time 51 - 8, !- Hour 52 - 15, !- Minute 52 - 0.374759461538203, !- Value Until Time 52 - 8, !- Hour 53 - 24, !- Minute 53 - 0.397895886011163, !- Value Until Time 53 - 8, !- Hour 54 - 34, !- Minute 54 - 0.421032310484121, !- Value Until Time 54 - 8, !- Hour 55 - 44, !- Minute 55 - 0.444168734957081, !- Value Until Time 55 - 8, !- Hour 56 - 45, !- Minute 56 - 0.444168734957081, !- Value Until Time 56 - 8, !- Hour 57 - 54, !- Minute 57 - 0.451194350910853, !- Value Until Time 57 - 9, !- Hour 58 - 4, !- Minute 58 - 0.458219966864626, !- Value Until Time 58 - 9, !- Hour 59 - 14, !- Minute 59 - 0.465245582818398, !- Value Until Time 59 - 9, !- Hour 60 - 24, !- Minute 60 - 0.472271198772171, !- Value Until Time 60 - 9, !- Hour 61 - 34, !- Minute 61 - 0.479296814725943, !- Value Until Time 61 - 9, !- Hour 62 - 44, !- Minute 62 - 0.486322430679716, !- Value Until Time 62 - 9, !- Hour 63 - 45, !- Minute 63 - 0.486322430679716, !- Value Until Time 63 - 9, !- Hour 64 - 54, !- Minute 64 - 0.486775513604192, !- Value Until Time 64 - 10, !- Hour 65 - 4, !- Minute 65 - 0.487228596528668, !- Value Until Time 65 - 10, !- Hour 66 - 14, !- Minute 66 - 0.487681679453144, !- Value Until Time 66 - 10, !- Hour 67 - 24, !- Minute 67 - 0.48813476237762, !- Value Until Time 67 - 10, !- Hour 68 - 34, !- Minute 68 - 0.488587845302096, !- Value Until Time 68 - 10, !- Hour 69 - 44, !- Minute 69 - 0.489040928226572, !- Value Until Time 69 - 10, !- Hour 70 - 54, !- Minute 70 - 0.489494011151048, !- Value Until Time 70 - 11, !- Hour 71 - 4, !- Minute 71 - 0.489947094075524, !- Value Until Time 71 - 11, !- Hour 72 - 14, !- Minute 72 - 0.490400177, !- Value Until Time 72 - 11, !- Hour 73 - 15, !- Minute 73 - 0.490400177, !- Value Until Time 73 - 11, !- Hour 74 - 24, !- Minute 74 - 0.487188835266726, !- Value Until Time 74 - 11, !- Hour 75 - 34, !- Minute 75 - 0.483977493533452, !- Value Until Time 75 - 11, !- Hour 76 - 44, !- Minute 76 - 0.480766151800178, !- Value Until Time 76 - 11, !- Hour 77 - 54, !- Minute 77 - 0.477554810066903, !- Value Until Time 77 - 12, !- Hour 78 - 4, !- Minute 78 - 0.47434346833363, !- Value Until Time 78 - 12, !- Hour 79 - 14, !- Minute 79 - 0.471132126600355, !- Value Until Time 79 - 12, !- Hour 80 - 15, !- Minute 80 - 0.471132126600355, !- Value Until Time 80 - 12, !- Hour 81 - 24, !- Minute 81 - 0.466133994034139, !- Value Until Time 81 - 12, !- Hour 82 - 34, !- Minute 82 - 0.461135861467924, !- Value Until Time 82 - 12, !- Hour 83 - 44, !- Minute 83 - 0.456137728901708, !- Value Until Time 83 - 12, !- Hour 84 - 54, !- Minute 84 - 0.451139596335492, !- Value Until Time 84 - 13, !- Hour 85 - 4, !- Minute 85 - 0.446141463769277, !- Value Until Time 85 - 13, !- Hour 86 - 14, !- Minute 86 - 0.441143331203061, !- Value Until Time 86 - 13, !- Hour 87 - 15, !- Minute 87 - 0.441143331203061, !- Value Until Time 87 - 13, !- Hour 88 - 24, !- Minute 88 - 0.443562143831566, !- Value Until Time 88 - 13, !- Hour 89 - 34, !- Minute 89 - 0.445980956460071, !- Value Until Time 89 - 13, !- Hour 90 - 44, !- Minute 90 - 0.448399769088576, !- Value Until Time 90 - 13, !- Hour 91 - 54, !- Minute 91 - 0.45081858171708, !- Value Until Time 91 - 14, !- Hour 92 - 4, !- Minute 92 - 0.453237394345586, !- Value Until Time 92 - 14, !- Hour 93 - 14, !- Minute 93 - 0.45565620697409, !- Value Until Time 93 - 14, !- Hour 94 - 15, !- Minute 94 - 0.45565620697409, !- Value Until Time 94 - 14, !- Hour 95 - 24, !- Minute 95 - 0.452953241000426, !- Value Until Time 95 - 14, !- Hour 96 - 34, !- Minute 96 - 0.450250275026761, !- Value Until Time 96 - 14, !- Hour 97 - 44, !- Minute 97 - 0.447547309053096, !- Value Until Time 97 - 14, !- Hour 98 - 54, !- Minute 98 - 0.444844343079431, !- Value Until Time 98 - 15, !- Hour 99 - 4, !- Minute 99 - 0.442141377105767, !- Value Until Time 99 - 15, !- Hour 100 - 14, !- Minute 100 - 0.439438411132102, !- Value Until Time 100 - 15, !- Hour 101 - 15, !- Minute 101 - 0.439438411132102, !- Value Until Time 101 - 15, !- Hour 102 - 24, !- Minute 102 - 0.431528489708087, !- Value Until Time 102 - 15, !- Hour 103 - 34, !- Minute 103 - 0.423618568284073, !- Value Until Time 103 - 15, !- Hour 104 - 44, !- Minute 104 - 0.415708646860057, !- Value Until Time 104 - 15, !- Hour 105 - 54, !- Minute 105 - 0.407798725436043, !- Value Until Time 105 - 16, !- Hour 106 - 4, !- Minute 106 - 0.399888804012028, !- Value Until Time 106 - 16, !- Hour 107 - 15, !- Minute 107 - 0.391978882588013, !- Value Until Time 107 - 16, !- Hour 108 - 25, !- Minute 108 - 0.384068961163997, !- Value Until Time 108 - 16, !- Hour 109 - 35, !- Minute 109 - 0.376159039739983, !- Value Until Time 109 - 16, !- Hour 110 - 45, !- Minute 110 - 0.368249118315968, !- Value Until Time 110 - 16, !- Hour 111 - 55, !- Minute 111 - 0.333506280802469, !- Value Until Time 111 - 17, !- Hour 112 - 5, !- Minute 112 - 0.298763443288969, !- Value Until Time 112 - 17, !- Hour 113 - 15, !- Minute 113 - 0.26402060577547, !- Value Until Time 113 - 17, !- Hour 114 - 25, !- Minute 114 - 0.229277768261971, !- Value Until Time 114 - 17, !- Hour 115 - 35, !- Minute 115 - 0.194534930748472, !- Value Until Time 115 - 17, !- Hour 116 - 45, !- Minute 116 - 0.159792093234974, !- Value Until Time 116 - 17, !- Hour 117 - 55, !- Minute 117 - 0.143314732854996, !- Value Until Time 117 - 18, !- Hour 118 - 5, !- Minute 118 - 0.126837372475018, !- Value Until Time 118 - 18, !- Hour 119 - 15, !- Minute 119 - 0.11036001209504, !- Value Until Time 119 - 18, !- Hour 120 - 25, !- Minute 120 - 0.0938826517150628, !- Value Until Time 120 - 18, !- Hour 121 - 35, !- Minute 121 - 0.077405291335084, !- Value Until Time 121 - 18, !- Hour 122 - 45, !- Minute 122 - 0.0609279309551074, !- Value Until Time 122 - 18, !- Hour 123 - 55, !- Minute 123 - 0.0565259073276683, !- Value Until Time 123 - 19, !- Hour 124 - 5, !- Minute 124 - 0.0521238837002292, !- Value Until Time 124 - 19, !- Hour 125 - 15, !- Minute 125 - 0.0477218600727899, !- Value Until Time 125 - 19, !- Hour 126 - 25, !- Minute 126 - 0.0433198364453508, !- Value Until Time 126 - 19, !- Hour 127 - 35, !- Minute 127 - 0.0389178128179117, !- Value Until Time 127 - 19, !- Hour 128 - 45, !- Minute 128 - 0.0345157891904726, !- Value Until Time 128 - 19, !- Hour 129 - 55, !- Minute 129 - 0.0340017677024858, !- Value Until Time 129 - 20, !- Hour 130 - 5, !- Minute 130 - 0.0334877462144991, !- Value Until Time 130 - 20, !- Hour 131 - 15, !- Minute 131 - 0.0329737247265123, !- Value Until Time 131 - 20, !- Hour 132 - 25, !- Minute 132 - 0.0324597032385255, !- Value Until Time 132 - 20, !- Hour 133 - 35, !- Minute 133 - 0.0319456817505387, !- Value Until Time 133 - 20, !- Hour 134 - 45, !- Minute 134 - 0.0314316602625519, !- Value Until Time 134 - 20, !- Hour 135 - 55, !- Minute 135 - 0.0315377321199132, !- Value Until Time 135 - 21, !- Hour 136 - 5, !- Minute 136 - 0.0316438039772746, !- Value Until Time 136 - 21, !- Hour 137 - 15, !- Minute 137 - 0.0317498758346359, !- Value Until Time 137 - 21, !- Hour 138 - 25, !- Minute 138 - 0.0318559476919971, !- Value Until Time 138 - 21, !- Hour 139 - 35, !- Minute 139 - 0.0319620195493585, !- Value Until Time 139 - 21, !- Hour 140 - 45, !- Minute 140 - 0.0320680914067198, !- Value Until Time 140 - 21, !- Hour 141 - 55, !- Minute 141 - 0.032012050666885, !- Value Until Time 141 - 22, !- Hour 142 - 5, !- Minute 142 - 0.0319560099270504, !- Value Until Time 142 - 22, !- Hour 143 - 15, !- Minute 143 - 0.0318999691872156, !- Value Until Time 143 - 22, !- Hour 144 - 25, !- Minute 144 - 0.0318439284473809, !- Value Until Time 144 - 22, !- Hour 145 - 35, !- Minute 145 - 0.0317878877075462, !- Value Until Time 145 - 22, !- Hour 146 - 45, !- Minute 146 - 0.0317318469677114, !- Value Until Time 146 - 22, !- Hour 147 - 55, !- Minute 147 - 0.0284416519984066, !- Value Until Time 147 - 23, !- Hour 148 - 5, !- Minute 148 - 0.0251514570291018, !- Value Until Time 148 - 23, !- Hour 149 - 15, !- Minute 149 - 0.0218612620597969, !- Value Until Time 149 - 23, !- Hour 150 - 25, !- Minute 150 - 0.0185710670904921, !- Value Until Time 150 - 23, !- Hour 151 - 35, !- Minute 151 - 0.0152808721211872, !- Value Until Time 151 - 23, !- Hour 152 - 45, !- Minute 152 - 0.0119906771518825, !- Value Until Time 152 - 23, !- Hour 153 - 55, !- Minute 153 - 0.0115283459729917, !- Value Until Time 153 - 24, !- Hour 154 - 0, !- Minute 154 - 0.0110660147941009; !- Value Until Time 154 - -OS:AdditionalProperties, - {47bcda50-6451-4313-8765-c62db791edd0}, !- Handle - {01ab6a9b-7ffd-4555-9f84-8ae269e3d621}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 0.042575155 | hoo_start - 6.5 ~ 0.03399742 | hoo_start - 5.5 ~ 0.035513913 | hoo_start - 4.5 ~ 0.043202006 | hoo_start - 3.5 ~ 0.036947985 | hoo_start - 2.5 ~ 0.037735029 | hoo_start - 1.5 ~ 0.06295506 | hoo_start - 0.5 ~ 0.119435295 | hoo_start + 0.5 ~ 0.31817894 | hoo_start + 1.5 ~ 0.44737377 | hoo_start + 2.5 ~ 0.486605124 | mid - 1.5 ~ 0.490400177 | mid - 0.5 ~ 0.472467901 | mid + 0.5 ~ 0.444558105 | mid + 1.5 ~ 0.458064863 | mid + 2.5 ~ 0.44297138 | hoo_end - 1.5 ~ 0.376717347 | hoo_end - 0.5 ~ 0.182711787 | hoo_end + 0.5 ~ 0.090701469 | hoo_end + 1.5 ~ 0.066120372 | hoo_end + 2.5 ~ 0.063250053 | hoo_end + 3.5 ~ 0.063842363 | hoo_end + 4.5 ~ 0.063529429 | hoo_end + 5.5 ~ 0.045156833, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:Schedule:Day, - {3bedc377-51b4-4245-8b4a-eaccf7918ba1}, !- Handle - Office BLDG_LIGHT_EndUseData Summer Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {f97f23bc-942f-4bcf-a6e7-7f00fe8aa336}, !- Handle - Office BLDG_LIGHT_EndUseData Winter Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {554c3bcc-dcd9-491e-b4a0-d88aa824e97c}, !- Handle - Schedule Rule 18, !- Name - {bcc82492-2246-491c-9b61-33bd8d09cfcf}, !- Schedule Ruleset Name - 0, !- Rule Order - {8b3bdb6e-a239-4a2a-be88-07ca7f559751}, !- 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, - {85a2750c-6bb3-4c48-abe0-fddb4ab1e4c4}, !- Handle - Office BLDG_LIGHT_EndUseData Sun Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.044759796, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.0447864705, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.044813145, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.0445686288333333, !- Value Until Time 4 - 0, !- Hour 5 - 50, !- Minute 5 - 0.0443241126666667, !- Value Until Time 5 - 1, !- Hour 6 - 0, !- Minute 6 - 0.0440795965, !- Value Until Time 6 - 1, !- Hour 7 - 10, !- Minute 7 - 0.0438350803333333, !- Value Until Time 7 - 1, !- Hour 8 - 20, !- Minute 8 - 0.0435905641666667, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.043346048, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.0433891485, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.043432249, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.0434753495, !- Value Until Time 12 - 2, !- Hour 13 - 10, !- Minute 13 - 0.04351845, !- Value Until Time 13 - 2, !- Hour 14 - 20, !- Minute 14 - 0.0435615505, !- Value Until Time 14 - 2, !- Hour 15 - 30, !- Minute 15 - 0.043604651, !- Value Until Time 15 - 2, !- Hour 16 - 40, !- Minute 16 - 0.0436371283333333, !- Value Until Time 16 - 2, !- Hour 17 - 50, !- Minute 17 - 0.0436696056666667, !- Value Until Time 17 - 3, !- Hour 18 - 0, !- Minute 18 - 0.043702083, !- Value Until Time 18 - 3, !- Hour 19 - 10, !- Minute 19 - 0.0437345603333333, !- Value Until Time 19 - 3, !- Hour 20 - 20, !- Minute 20 - 0.0437670376666667, !- Value Until Time 20 - 3, !- Hour 21 - 30, !- Minute 21 - 0.043799515, !- Value Until Time 21 - 3, !- Hour 22 - 40, !- Minute 22 - 0.0434349635, !- Value Until Time 22 - 3, !- Hour 23 - 50, !- Minute 23 - 0.043070412, !- Value Until Time 23 - 4, !- Hour 24 - 0, !- Minute 24 - 0.0427058605, !- Value Until Time 24 - 4, !- Hour 25 - 10, !- Minute 25 - 0.042341309, !- Value Until Time 25 - 4, !- Hour 26 - 20, !- Minute 26 - 0.0419767575, !- Value Until Time 26 - 4, !- Hour 27 - 30, !- Minute 27 - 0.041612206, !- Value Until Time 27 - 4, !- Hour 28 - 40, !- Minute 28 - 0.0416922295, !- Value Until Time 28 - 4, !- Hour 29 - 50, !- Minute 29 - 0.041772253, !- Value Until Time 29 - 5, !- Hour 30 - 0, !- Minute 30 - 0.0418522765, !- Value Until Time 30 - 5, !- Hour 31 - 10, !- Minute 31 - 0.0419323, !- Value Until Time 31 - 5, !- Hour 32 - 20, !- Minute 32 - 0.0420123235, !- Value Until Time 32 - 5, !- Hour 33 - 30, !- Minute 33 - 0.042092347, !- Value Until Time 33 - 5, !- Hour 34 - 40, !- Minute 34 - 0.0423857665, !- Value Until Time 34 - 5, !- Hour 35 - 50, !- Minute 35 - 0.042679186, !- Value Until Time 35 - 6, !- Hour 36 - 0, !- Minute 36 - 0.0429726055, !- Value Until Time 36 - 6, !- Hour 37 - 10, !- Minute 37 - 0.043266025, !- Value Until Time 37 - 6, !- Hour 38 - 20, !- Minute 38 - 0.0435594445, !- Value Until Time 38 - 6, !- Hour 39 - 30, !- Minute 39 - 0.043852864, !- Value Until Time 39 - 6, !- Hour 40 - 40, !- Minute 40 - 0.0440351396666667, !- Value Until Time 40 - 6, !- Hour 41 - 50, !- Minute 41 - 0.0442174153333333, !- Value Until Time 41 - 7, !- Hour 42 - 0, !- Minute 42 - 0.044399691, !- Value Until Time 42 - 7, !- Hour 43 - 10, !- Minute 43 - 0.0445819666666667, !- Value Until Time 43 - 7, !- Hour 44 - 20, !- Minute 44 - 0.0447642423333333, !- Value Until Time 44 - 7, !- Hour 45 - 30, !- Minute 45 - 0.044946518, !- Value Until Time 45 - 7, !- Hour 46 - 40, !- Minute 46 - 0.0445019431666667, !- Value Until Time 46 - 7, !- Hour 47 - 50, !- Minute 47 - 0.0440573683333333, !- Value Until Time 47 - 8, !- Hour 48 - 0, !- Minute 48 - 0.0436127935, !- Value Until Time 48 - 8, !- Hour 49 - 9, !- Minute 49 - 0.0431682186666667, !- Value Until Time 49 - 8, !- Hour 50 - 19, !- Minute 50 - 0.0427236438333333, !- Value Until Time 50 - 8, !- Hour 51 - 29, !- Minute 51 - 0.042279069, !- Value Until Time 51 - 8, !- Hour 52 - 30, !- Minute 52 - 0.042279069, !- Value Until Time 52 - 8, !- Hour 53 - 39, !- Minute 53 - 0.0423991041666667, !- Value Until Time 53 - 8, !- Hour 54 - 49, !- Minute 54 - 0.0425191393333333, !- Value Until Time 54 - 8, !- Hour 55 - 59, !- Minute 55 - 0.0426391745, !- Value Until Time 55 - 9, !- Hour 56 - 9, !- Minute 56 - 0.0427592096666667, !- Value Until Time 56 - 9, !- Hour 57 - 19, !- Minute 57 - 0.0428792448333333, !- Value Until Time 57 - 9, !- Hour 58 - 29, !- Minute 58 - 0.04299928, !- Value Until Time 58 - 9, !- Hour 59 - 30, !- Minute 59 - 0.04299928, !- Value Until Time 59 - 9, !- Hour 60 - 39, !- Minute 60 - 0.043457192, !- Value Until Time 60 - 9, !- Hour 61 - 49, !- Minute 61 - 0.043915104, !- Value Until Time 61 - 9, !- Hour 62 - 59, !- Minute 62 - 0.044373016, !- Value Until Time 62 - 10, !- Hour 63 - 9, !- Minute 63 - 0.044830928, !- Value Until Time 63 - 10, !- Hour 64 - 19, !- Minute 64 - 0.04528884, !- Value Until Time 64 - 10, !- Hour 65 - 29, !- Minute 65 - 0.045746752, !- Value Until Time 65 - 10, !- Hour 66 - 30, !- Minute 66 - 0.045746752, !- Value Until Time 66 - 10, !- Hour 67 - 39, !- Minute 67 - 0.0487933125, !- Value Until Time 67 - 10, !- Hour 68 - 49, !- Minute 68 - 0.0518398729999999, !- Value Until Time 68 - 10, !- Hour 69 - 59, !- Minute 69 - 0.0548864334999999, !- Value Until Time 69 - 11, !- Hour 70 - 9, !- Minute 70 - 0.0579329939999998, !- Value Until Time 70 - 11, !- Hour 71 - 19, !- Minute 71 - 0.0609795544999998, !- Value Until Time 71 - 11, !- Hour 72 - 29, !- Minute 72 - 0.0640261149999997, !- Value Until Time 72 - 11, !- Hour 73 - 30, !- Minute 73 - 0.064026115, !- Value Until Time 73 - 11, !- Hour 74 - 39, !- Minute 74 - 0.0639004113333333, !- Value Until Time 74 - 11, !- Hour 75 - 49, !- Minute 75 - 0.0637747076666667, !- Value Until Time 75 - 11, !- Hour 76 - 59, !- Minute 76 - 0.063649004, !- Value Until Time 76 - 12, !- Hour 77 - 9, !- Minute 77 - 0.0635233003333333, !- Value Until Time 77 - 12, !- Hour 78 - 19, !- Minute 78 - 0.0633975966666667, !- Value Until Time 78 - 12, !- Hour 79 - 29, !- Minute 79 - 0.063271893, !- Value Until Time 79 - 12, !- Hour 80 - 30, !- Minute 80 - 0.063271893, !- Value Until Time 80 - 12, !- Hour 81 - 39, !- Minute 81 - 0.0632742743333333, !- Value Until Time 81 - 12, !- Hour 82 - 49, !- Minute 82 - 0.0632766556666667, !- Value Until Time 82 - 12, !- Hour 83 - 59, !- Minute 83 - 0.063279037, !- Value Until Time 83 - 13, !- Hour 84 - 9, !- Minute 84 - 0.0632814183333333, !- Value Until Time 84 - 13, !- Hour 85 - 19, !- Minute 85 - 0.0632837996666666, !- Value Until Time 85 - 13, !- Hour 86 - 29, !- Minute 86 - 0.063286181, !- Value Until Time 86 - 13, !- Hour 87 - 30, !- Minute 87 - 0.063286181, !- Value Until Time 87 - 13, !- Hour 88 - 39, !- Minute 88 - 0.0633949433333333, !- Value Until Time 88 - 13, !- Hour 89 - 49, !- Minute 89 - 0.0635037056666667, !- Value Until Time 89 - 13, !- Hour 90 - 59, !- Minute 90 - 0.063612468, !- Value Until Time 90 - 14, !- Hour 91 - 9, !- Minute 91 - 0.0637212303333333, !- Value Until Time 91 - 14, !- Hour 92 - 19, !- Minute 92 - 0.0638299926666667, !- Value Until Time 92 - 14, !- Hour 93 - 29, !- Minute 93 - 0.063938755, !- Value Until Time 93 - 14, !- Hour 94 - 30, !- Minute 94 - 0.063938755, !- Value Until Time 94 - 14, !- Hour 95 - 39, !- Minute 95 - 0.0635075175, !- Value Until Time 95 - 14, !- Hour 96 - 49, !- Minute 96 - 0.06307628, !- Value Until Time 96 - 14, !- Hour 97 - 59, !- Minute 97 - 0.0626450425, !- Value Until Time 97 - 15, !- Hour 98 - 9, !- Minute 98 - 0.062213805, !- Value Until Time 98 - 15, !- Hour 99 - 19, !- Minute 99 - 0.0617825675, !- Value Until Time 99 - 15, !- Hour 100 - 29, !- Minute 100 - 0.06135133, !- Value Until Time 100 - 15, !- Hour 101 - 30, !- Minute 101 - 0.06135133, !- Value Until Time 101 - 15, !- Hour 102 - 39, !- Minute 102 - 0.0617463476666667, !- Value Until Time 102 - 15, !- Hour 103 - 49, !- Minute 103 - 0.0621413653333333, !- Value Until Time 103 - 15, !- Hour 104 - 59, !- Minute 104 - 0.062536383, !- Value Until Time 104 - 16, !- Hour 105 - 9, !- Minute 105 - 0.0629314006666667, !- Value Until Time 105 - 16, !- Hour 106 - 19, !- Minute 106 - 0.0633264183333333, !- Value Until Time 106 - 16, !- Hour 107 - 30, !- Minute 107 - 0.063721436, !- Value Until Time 107 - 16, !- Hour 108 - 40, !- Minute 108 - 0.0618824158333333, !- Value Until Time 108 - 16, !- Hour 109 - 50, !- Minute 109 - 0.0600433956666666, !- Value Until Time 109 - 17, !- Hour 110 - 0, !- Minute 110 - 0.0582043755, !- Value Until Time 110 - 17, !- Hour 111 - 10, !- Minute 111 - 0.0563653553333333, !- Value Until Time 111 - 17, !- Hour 112 - 20, !- Minute 112 - 0.0545263351666666, !- Value Until Time 112 - 17, !- Hour 113 - 30, !- Minute 113 - 0.052687315, !- Value Until Time 113 - 17, !- Hour 114 - 40, !- Minute 114 - 0.053451118, !- Value Until Time 114 - 17, !- Hour 115 - 50, !- Minute 115 - 0.054214921, !- Value Until Time 115 - 18, !- Hour 116 - 0, !- Minute 116 - 0.054978724, !- Value Until Time 116 - 18, !- Hour 117 - 10, !- Minute 117 - 0.055742527, !- Value Until Time 117 - 18, !- Hour 118 - 20, !- Minute 118 - 0.05650633, !- Value Until Time 118 - 18, !- Hour 119 - 30, !- Minute 119 - 0.057270133, !- Value Until Time 119 - 18, !- Hour 120 - 40, !- Minute 120 - 0.0582832343333333, !- Value Until Time 120 - 18, !- Hour 121 - 50, !- Minute 121 - 0.0592963356666667, !- Value Until Time 121 - 19, !- Hour 122 - 0, !- Minute 122 - 0.060309437, !- Value Until Time 122 - 19, !- Hour 123 - 10, !- Minute 123 - 0.0613225383333334, !- Value Until Time 123 - 19, !- Hour 124 - 20, !- Minute 124 - 0.0623356396666667, !- Value Until Time 124 - 19, !- Hour 125 - 30, !- Minute 125 - 0.063348741, !- Value Until Time 125 - 19, !- Hour 126 - 40, !- Minute 126 - 0.063407065, !- Value Until Time 126 - 19, !- Hour 127 - 50, !- Minute 127 - 0.063465389, !- Value Until Time 127 - 20, !- Hour 128 - 0, !- Minute 128 - 0.063523713, !- Value Until Time 128 - 20, !- Hour 129 - 10, !- Minute 129 - 0.063582037, !- Value Until Time 129 - 20, !- Hour 130 - 20, !- Minute 130 - 0.063640361, !- Value Until Time 130 - 20, !- Hour 131 - 30, !- Minute 131 - 0.063698685, !- Value Until Time 131 - 20, !- Hour 132 - 40, !- Minute 132 - 0.0637223555, !- Value Until Time 132 - 20, !- Hour 133 - 50, !- Minute 133 - 0.063746026, !- Value Until Time 133 - 21, !- Hour 134 - 0, !- Minute 134 - 0.0637696965, !- Value Until Time 134 - 21, !- Hour 135 - 10, !- Minute 135 - 0.063793367, !- Value Until Time 135 - 21, !- Hour 136 - 20, !- Minute 136 - 0.0638170375, !- Value Until Time 136 - 21, !- Hour 137 - 30, !- Minute 137 - 0.063840708, !- Value Until Time 137 - 21, !- Hour 138 - 40, !- Minute 138 - 0.063841966, !- Value Until Time 138 - 21, !- Hour 139 - 50, !- Minute 139 - 0.063843224, !- Value Until Time 139 - 22, !- Hour 140 - 0, !- Minute 140 - 0.063844482, !- Value Until Time 140 - 22, !- Hour 141 - 10, !- Minute 141 - 0.06384574, !- Value Until Time 141 - 22, !- Hour 142 - 20, !- Minute 142 - 0.063846998, !- Value Until Time 142 - 22, !- Hour 143 - 30, !- Minute 143 - 0.063848256, !- Value Until Time 143 - 22, !- Hour 144 - 40, !- Minute 144 - 0.060649063, !- Value Until Time 144 - 22, !- Hour 145 - 50, !- Minute 145 - 0.05744987, !- Value Until Time 145 - 23, !- Hour 146 - 0, !- Minute 146 - 0.0542506769999999, !- Value Until Time 146 - 23, !- Hour 147 - 10, !- Minute 147 - 0.0510514839999999, !- Value Until Time 147 - 23, !- Hour 148 - 20, !- Minute 148 - 0.0478522909999999, !- Value Until Time 148 - 23, !- Hour 149 - 30, !- Minute 149 - 0.044653098, !- Value Until Time 149 - 23, !- Hour 150 - 40, !- Minute 150 - 0.0446797725, !- Value Until Time 150 - 23, !- Hour 151 - 50, !- Minute 151 - 0.044706447, !- Value Until Time 151 - 24, !- Hour 152 - 0, !- Minute 152 - 0.0447331215; !- Value Until Time 152 - -OS:AdditionalProperties, - {e7a76b28-ad69-4347-9709-8276dff8e6a4}, !- Handle - {85a2750c-6bb3-4c48-abe0-fddb4ab1e4c4}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start + 0.5 ~ 0.044813145 | hoo_start + 1.5 ~ 0.043346048 | hoo_start + 2.5 ~ 0.043604651 | hoo_start + 3.5 ~ 0.043799515 | hoo_start + 4.5 ~ 0.041612206 | hoo_start + 5.5 ~ 0.042092347 | hoo_start + 6.5 ~ 0.043852864 | hoo_start + 7.5 ~ 0.044946518 | hoo_start + 8.5 ~ 0.042279069 | hoo_start + 9.5 ~ 0.04299928 | hoo_start + 10.5 ~ 0.045746752 | hoo_start + 11.5 ~ 0.064026115 | hoo_start - 11.5 ~ 0.063271893 | hoo_start - 10.5 ~ 0.063286181 | hoo_start - 9.5 ~ 0.063938755 | hoo_start - 8.5 ~ 0.06135133 | hoo_start - 7.5 ~ 0.063721436 | hoo_start - 6.5 ~ 0.052687315 | hoo_start - 5.5 ~ 0.057270133 | hoo_start - 4.5 ~ 0.063348741 | hoo_start - 3.5 ~ 0.063698685 | hoo_start - 2.5 ~ 0.063840708 | hoo_start - 1.5 ~ 0.063848256 | hoo_start - 0.5 ~ 0.044653098, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:Schedule:Rule, - {0a5acfec-ed9b-43dc-975a-f4067c8fd927}, !- Handle - Schedule Rule 19, !- Name - {bcc82492-2246-491c-9b61-33bd8d09cfcf}, !- Schedule Ruleset Name - 1, !- Rule Order - {8b46c2ba-3425-4a07-bbd6-6d12c7fd6df9}, !- 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, - {f82dfc91-8440-495a-8403-0f2f805165d6}, !- Handle - Office BLDG_LIGHT_EndUseData Sat Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.0536250041428571, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.0535595332857143, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.044066259, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.0441284995, !- Value Until Time 4 - 0, !- Hour 5 - 49, !- Minute 5 - 0.04419074, !- Value Until Time 5 - 0, !- Hour 6 - 59, !- Minute 6 - 0.0442529805, !- Value Until Time 6 - 1, !- Hour 7 - 9, !- Minute 7 - 0.044315221, !- Value Until Time 7 - 1, !- Hour 8 - 19, !- Minute 8 - 0.0443774615, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.044439702, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.0438753173333333, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.0433109326666667, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.042746548, !- Value Until Time 12 - 2, !- Hour 13 - 9, !- Minute 13 - 0.0421821633333333, !- Value Until Time 13 - 2, !- Hour 14 - 19, !- Minute 14 - 0.0416177786666667, !- Value Until Time 14 - 2, !- Hour 15 - 29, !- Minute 15 - 0.041053394, !- Value Until Time 15 - 2, !- Hour 16 - 30, !- Minute 16 - 0.041053394, !- Value Until Time 16 - 2, !- Hour 17 - 39, !- Minute 17 - 0.0526429412857143, !- Value Until Time 17 - 2, !- Hour 18 - 49, !- Minute 18 - 0.0525774704285714, !- Value Until Time 18 - 2, !- Hour 19 - 59, !- Minute 19 - 0.0525119995714286, !- Value Until Time 19 - 3, !- Hour 20 - 9, !- Minute 20 - 0.0524465287142857, !- Value Until Time 20 - 3, !- Hour 21 - 19, !- Minute 21 - 0.0523810578571429, !- Value Until Time 21 - 3, !- Hour 22 - 29, !- Minute 22 - 0.052315587, !- Value Until Time 22 - 3, !- Hour 23 - 30, !- Minute 23 - 0.043692817, !- Value Until Time 23 - 3, !- Hour 24 - 39, !- Minute 24 - 0.0522501161428571, !- Value Until Time 24 - 3, !- Hour 25 - 49, !- Minute 25 - 0.0521846452857143, !- Value Until Time 25 - 3, !- Hour 26 - 59, !- Minute 26 - 0.0521191744285714, !- Value Until Time 26 - 4, !- Hour 27 - 9, !- Minute 27 - 0.0520537035714286, !- Value Until Time 27 - 4, !- Hour 28 - 19, !- Minute 28 - 0.0519882327142857, !- Value Until Time 28 - 4, !- Hour 29 - 29, !- Minute 29 - 0.0519227618571429, !- Value Until Time 29 - 4, !- Hour 30 - 30, !- Minute 30 - 0.041740259, !- Value Until Time 30 - 4, !- Hour 31 - 39, !- Minute 31 - 0.051857291, !- Value Until Time 31 - 4, !- Hour 32 - 40, !- Minute 32 - 0.0418433978333333, !- Value Until Time 32 - 4, !- Hour 33 - 49, !- Minute 33 - 0.0517918201428572, !- Value Until Time 33 - 4, !- Hour 34 - 50, !- Minute 34 - 0.0419465366666667, !- Value Until Time 34 - 5, !- Hour 35 - 0, !- Minute 35 - 0.0517263492857143, !- Value Until Time 35 - 5, !- Hour 36 - 10, !- Minute 36 - 0.0516608784285714, !- Value Until Time 36 - 5, !- Hour 37 - 20, !- Minute 37 - 0.0515954075714286, !- Value Until Time 37 - 5, !- Hour 38 - 30, !- Minute 38 - 0.0515299367142857, !- Value Until Time 38 - 5, !- Hour 39 - 40, !- Minute 39 - 0.0514644658571429, !- Value Until Time 39 - 5, !- Hour 40 - 50, !- Minute 40 - 0.051398995, !- Value Until Time 40 - 6, !- Hour 41 - 0, !- Minute 41 - 0.0513335241428572, !- Value Until Time 41 - 6, !- Hour 42 - 10, !- Minute 42 - 0.0512680532857143, !- Value Until Time 42 - 6, !- Hour 43 - 20, !- Minute 43 - 0.0512025824285714, !- Value Until Time 43 - 6, !- Hour 44 - 30, !- Minute 44 - 0.0511371115714286, !- Value Until Time 44 - 6, !- Hour 45 - 40, !- Minute 45 - 0.0510716407142857, !- Value Until Time 45 - 6, !- Hour 46 - 50, !- Minute 46 - 0.0510061698571429, !- Value Until Time 46 - 7, !- Hour 47 - 0, !- Minute 47 - 0.050940699, !- Value Until Time 47 - 7, !- Hour 48 - 10, !- Minute 48 - 0.0508752281428571, !- Value Until Time 48 - 7, !- Hour 49 - 20, !- Minute 49 - 0.0508097572857143, !- Value Until Time 49 - 7, !- Hour 50 - 30, !- Minute 50 - 0.0507442864285714, !- Value Until Time 50 - 7, !- Hour 51 - 40, !- Minute 51 - 0.0506788155714286, !- Value Until Time 51 - 7, !- Hour 52 - 50, !- Minute 52 - 0.0506133447142857, !- Value Until Time 52 - 8, !- Hour 53 - 0, !- Minute 53 - 0.0505478738571429, !- Value Until Time 53 - 8, !- Hour 54 - 9, !- Minute 54 - 0.050242122, !- Value Until Time 54 - 8, !- Hour 55 - 10, !- Minute 55 - 0.050482403, !- Value Until Time 55 - 8, !- Hour 56 - 19, !- Minute 56 - 0.0514526565, !- Value Until Time 56 - 8, !- Hour 57 - 20, !- Minute 57 - 0.0504169321428572, !- Value Until Time 57 - 8, !- Hour 58 - 29, !- Minute 58 - 0.052663191, !- Value Until Time 58 - 8, !- Hour 59 - 30, !- Minute 59 - 0.0503514612857143, !- Value Until Time 59 - 8, !- Hour 60 - 39, !- Minute 60 - 0.0552534208333333, !- Value Until Time 60 - 8, !- Hour 61 - 40, !- Minute 61 - 0.0502859904285714, !- Value Until Time 61 - 8, !- Hour 62 - 49, !- Minute 62 - 0.0578436506666666, !- Value Until Time 62 - 8, !- Hour 63 - 50, !- Minute 63 - 0.0502205195714286, !- Value Until Time 63 - 8, !- Hour 64 - 59, !- Minute 64 - 0.0604338805, !- Value Until Time 64 - 9, !- Hour 65 - 0, !- Minute 65 - 0.0501550487142857, !- Value Until Time 65 - 9, !- Hour 66 - 9, !- Minute 66 - 0.0630241103333333, !- Value Until Time 66 - 9, !- Hour 67 - 10, !- Minute 67 - 0.0500895778571429, !- Value Until Time 67 - 9, !- Hour 68 - 19, !- Minute 68 - 0.0656143401666666, !- Value Until Time 68 - 9, !- Hour 69 - 20, !- Minute 69 - 0.050024107, !- Value Until Time 69 - 9, !- Hour 70 - 29, !- Minute 70 - 0.06820457, !- Value Until Time 70 - 9, !- Hour 71 - 30, !- Minute 71 - 0.06820457, !- Value Until Time 71 - 9, !- Hour 72 - 39, !- Minute 72 - 0.0717885496666667, !- Value Until Time 72 - 9, !- Hour 73 - 49, !- Minute 73 - 0.0753725293333333, !- Value Until Time 73 - 9, !- Hour 74 - 59, !- Minute 74 - 0.078956509, !- Value Until Time 74 - 10, !- Hour 75 - 9, !- Minute 75 - 0.0825404886666666, !- Value Until Time 75 - 10, !- Hour 76 - 19, !- Minute 76 - 0.0861244683333333, !- Value Until Time 76 - 10, !- Hour 77 - 29, !- Minute 77 - 0.0897084479999999, !- Value Until Time 77 - 10, !- Hour 78 - 30, !- Minute 78 - 0.089708448, !- Value Until Time 78 - 10, !- Hour 79 - 39, !- Minute 79 - 0.0495003401428571, !- Value Until Time 79 - 10, !- Hour 80 - 49, !- Minute 80 - 0.0494348692857143, !- Value Until Time 80 - 10, !- Hour 81 - 59, !- Minute 81 - 0.0493693984285714, !- Value Until Time 81 - 11, !- Hour 82 - 9, !- Minute 82 - 0.0493039275714286, !- Value Until Time 82 - 11, !- Hour 83 - 19, !- Minute 83 - 0.0492384567142857, !- Value Until Time 83 - 11, !- Hour 84 - 29, !- Minute 84 - 0.0491729858571429, !- Value Until Time 84 - 11, !- Hour 85 - 39, !- Minute 85 - 0.049107515, !- Value Until Time 85 - 11, !- Hour 86 - 49, !- Minute 86 - 0.0490420441428571, !- Value Until Time 86 - 11, !- Hour 87 - 59, !- Minute 87 - 0.0489765732857143, !- Value Until Time 87 - 12, !- Hour 88 - 9, !- Minute 88 - 0.0489111024285714, !- Value Until Time 88 - 12, !- Hour 89 - 19, !- Minute 89 - 0.0488456315714286, !- Value Until Time 89 - 12, !- Hour 90 - 29, !- Minute 90 - 0.0487801607142857, !- Value Until Time 90 - 12, !- Hour 91 - 30, !- Minute 91 - 0.089708448, !- Value Until Time 91 - 12, !- Hour 92 - 39, !- Minute 92 - 0.0487146898571429, !- Value Until Time 92 - 12, !- Hour 93 - 49, !- Minute 93 - 0.048649219, !- Value Until Time 93 - 12, !- Hour 94 - 59, !- Minute 94 - 0.0485837481428571, !- Value Until Time 94 - 13, !- Hour 95 - 9, !- Minute 95 - 0.0485182772857143, !- Value Until Time 95 - 13, !- Hour 96 - 19, !- Minute 96 - 0.0484528064285714, !- Value Until Time 96 - 13, !- Hour 97 - 29, !- Minute 97 - 0.0483873355714286, !- Value Until Time 97 - 13, !- Hour 98 - 30, !- Minute 98 - 0.084480541, !- Value Until Time 98 - 13, !- Hour 99 - 39, !- Minute 99 - 0.0483218647142857, !- Value Until Time 99 - 13, !- Hour 100 - 49, !- Minute 100 - 0.0482563938571429, !- Value Until Time 100 - 13, !- Hour 101 - 59, !- Minute 101 - 0.048190923, !- Value Until Time 101 - 14, !- Hour 102 - 9, !- Minute 102 - 0.0481254521428571, !- Value Until Time 102 - 14, !- Hour 103 - 19, !- Minute 103 - 0.0480599812857143, !- Value Until Time 103 - 14, !- Hour 104 - 29, !- Minute 104 - 0.0479945104285714, !- Value Until Time 104 - 14, !- Hour 105 - 30, !- Minute 105 - 0.0704679, !- Value Until Time 105 - 14, !- Hour 106 - 39, !- Minute 106 - 0.0479290395714286, !- Value Until Time 106 - 14, !- Hour 107 - 49, !- Minute 107 - 0.0478635687142857, !- Value Until Time 107 - 14, !- Hour 108 - 59, !- Minute 108 - 0.0477980978571429, !- Value Until Time 108 - 15, !- Hour 109 - 9, !- Minute 109 - 0.047732627, !- Value Until Time 109 - 15, !- Hour 110 - 19, !- Minute 110 - 0.0476671561428571, !- Value Until Time 110 - 15, !- Hour 111 - 29, !- Minute 111 - 0.0476016852857143, !- Value Until Time 111 - 15, !- Hour 112 - 30, !- Minute 112 - 0.068030468, !- Value Until Time 112 - 15, !- Hour 113 - 39, !- Minute 113 - 0.0475362144285714, !- Value Until Time 113 - 15, !- Hour 114 - 49, !- Minute 114 - 0.0474707435714286, !- Value Until Time 114 - 15, !- Hour 115 - 59, !- Minute 115 - 0.0474052727142857, !- Value Until Time 115 - 16, !- Hour 116 - 9, !- Minute 116 - 0.0473398018571429, !- Value Until Time 116 - 16, !- Hour 117 - 19, !- Minute 117 - 0.047274331, !- Value Until Time 117 - 16, !- Hour 118 - 29, !- Minute 118 - 0.0472088601428571, !- Value Until Time 118 - 16, !- Hour 119 - 30, !- Minute 119 - 0.067899891, !- Value Until Time 119 - 16, !- Hour 120 - 39, !- Minute 120 - 0.0471433892857143, !- Value Until Time 120 - 16, !- Hour 121 - 40, !- Minute 121 - 0.0672117506666667, !- Value Until Time 121 - 16, !- Hour 122 - 49, !- Minute 122 - 0.0470779184285714, !- Value Until Time 122 - 16, !- Hour 123 - 50, !- Minute 123 - 0.0665236103333333, !- Value Until Time 123 - 16, !- Hour 124 - 59, !- Minute 124 - 0.0470124475714286, !- Value Until Time 124 - 17, !- Hour 125 - 0, !- Minute 125 - 0.06583547, !- Value Until Time 125 - 17, !- Hour 126 - 9, !- Minute 126 - 0.0469469767142857, !- Value Until Time 126 - 17, !- Hour 127 - 10, !- Minute 127 - 0.0651473296666666, !- Value Until Time 127 - 17, !- Hour 128 - 19, !- Minute 128 - 0.0468815058571429, !- Value Until Time 128 - 17, !- Hour 129 - 20, !- Minute 129 - 0.0644591893333333, !- Value Until Time 129 - 17, !- Hour 130 - 29, !- Minute 130 - 0.046816035, !- Value Until Time 130 - 17, !- Hour 131 - 30, !- Minute 131 - 0.063771049, !- Value Until Time 131 - 17, !- Hour 132 - 39, !- Minute 132 - 0.0467505641428572, !- Value Until Time 132 - 17, !- Hour 133 - 40, !- Minute 133 - 0.063922374, !- Value Until Time 133 - 17, !- Hour 134 - 49, !- Minute 134 - 0.0466850932857143, !- Value Until Time 134 - 17, !- Hour 135 - 50, !- Minute 135 - 0.064073699, !- Value Until Time 135 - 17, !- Hour 136 - 59, !- Minute 136 - 0.0466196224285714, !- Value Until Time 136 - 18, !- Hour 137 - 0, !- Minute 137 - 0.064225024, !- Value Until Time 137 - 18, !- Hour 138 - 9, !- Minute 138 - 0.0465541515714286, !- Value Until Time 138 - 18, !- Hour 139 - 10, !- Minute 139 - 0.064376349, !- Value Until Time 139 - 18, !- Hour 140 - 19, !- Minute 140 - 0.0464886807142857, !- Value Until Time 140 - 18, !- Hour 141 - 20, !- Minute 141 - 0.064527674, !- Value Until Time 141 - 18, !- Hour 142 - 29, !- Minute 142 - 0.0464232098571429, !- Value Until Time 142 - 18, !- Hour 143 - 30, !- Minute 143 - 0.064678999, !- Value Until Time 143 - 18, !- Hour 144 - 39, !- Minute 144 - 0.046357739, !- Value Until Time 144 - 18, !- Hour 145 - 40, !- Minute 145 - 0.0645417998333333, !- Value Until Time 145 - 18, !- Hour 146 - 49, !- Minute 146 - 0.0462922681428572, !- Value Until Time 146 - 18, !- Hour 147 - 50, !- Minute 147 - 0.0644046006666667, !- Value Until Time 147 - 18, !- Hour 148 - 59, !- Minute 148 - 0.0462267972857143, !- Value Until Time 148 - 19, !- Hour 149 - 0, !- Minute 149 - 0.0642674015, !- Value Until Time 149 - 19, !- Hour 150 - 9, !- Minute 150 - 0.0461613264285714, !- Value Until Time 150 - 19, !- Hour 151 - 10, !- Minute 151 - 0.0641302023333333, !- Value Until Time 151 - 19, !- Hour 152 - 19, !- Minute 152 - 0.0460958555714286, !- Value Until Time 152 - 19, !- Hour 153 - 20, !- Minute 153 - 0.0639930031666667, !- Value Until Time 153 - 19, !- Hour 154 - 30, !- Minute 154 - 0.063855804, !- Value Until Time 154 - 19, !- Hour 155 - 40, !- Minute 155 - 0.063840708, !- Value Until Time 155 - 19, !- Hour 156 - 50, !- Minute 156 - 0.063825612, !- Value Until Time 156 - 20, !- Hour 157 - 0, !- Minute 157 - 0.063810516, !- Value Until Time 157 - 20, !- Hour 158 - 10, !- Minute 158 - 0.06379542, !- Value Until Time 158 - 20, !- Hour 159 - 20, !- Minute 159 - 0.063780324, !- Value Until Time 159 - 20, !- Hour 160 - 30, !- Minute 160 - 0.0456375595714286, !- Value Until Time 160 - 20, !- Hour 161 - 40, !- Minute 161 - 0.0455720887142857, !- Value Until Time 161 - 20, !- Hour 162 - 50, !- Minute 162 - 0.0455066178571428, !- Value Until Time 162 - 21, !- Hour 163 - 0, !- Minute 163 - 0.045441147, !- Value Until Time 163 - 21, !- Hour 164 - 10, !- Minute 164 - 0.0453756761428571, !- Value Until Time 164 - 21, !- Hour 165 - 20, !- Minute 165 - 0.0453102052857143, !- Value Until Time 165 - 21, !- Hour 166 - 30, !- Minute 166 - 0.0452447344285714, !- Value Until Time 166 - 21, !- Hour 167 - 40, !- Minute 167 - 0.0451792635714286, !- Value Until Time 167 - 21, !- Hour 168 - 50, !- Minute 168 - 0.0451137927142857, !- Value Until Time 168 - 22, !- Hour 169 - 0, !- Minute 169 - 0.0450483218571429, !- Value Until Time 169 - 22, !- Hour 170 - 10, !- Minute 170 - 0.044982851, !- Value Until Time 170 - 22, !- Hour 171 - 20, !- Minute 171 - 0.0449173801428571, !- Value Until Time 171 - 22, !- Hour 172 - 30, !- Minute 172 - 0.0448519092857143, !- Value Until Time 172 - 22, !- Hour 173 - 40, !- Minute 173 - 0.0447864384285714, !- Value Until Time 173 - 22, !- Hour 174 - 50, !- Minute 174 - 0.0447209675714286, !- Value Until Time 174 - 23, !- Hour 175 - 0, !- Minute 175 - 0.0446554967142857, !- Value Until Time 175 - 23, !- Hour 176 - 10, !- Minute 176 - 0.0445900258571428, !- Value Until Time 176 - 23, !- Hour 177 - 20, !- Minute 177 - 0.044524555, !- Value Until Time 177 - 23, !- Hour 178 - 30, !- Minute 178 - 0.0444590841428571, !- Value Until Time 178 - 23, !- Hour 179 - 40, !- Minute 179 - 0.0443936132857143, !- Value Until Time 179 - 23, !- Hour 180 - 50, !- Minute 180 - 0.0443281424285714, !- Value Until Time 180 - 24, !- Hour 181 - 0, !- Minute 181 - 0.0442626715714286; !- Value Until Time 181 - -OS:AdditionalProperties, - {19b89b66-9ea6-49dc-af56-2e0d69af0c60}, !- Handle - {f82dfc91-8440-495a-8403-0f2f805165d6}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 5.5 ~ 0.044066259 | hoo_start - 4.5 ~ 0.044439702 | hoo_start - 3.5 ~ 0.041053394 | hoo_start - 2.5 ~ 0.043692817 | hoo_start - 1.5 ~ 0.041740259 | hoo_start - 0.5 ~ 0.042359092 | hoo_start + 0.5 ~ 0.050653671 | hoo_start + 1.5 ~ 0.045399984 | hoo_start + 2.5 ~ 0.052663191 | mid - 2.0 ~ 0.06820457 | mid - 1.0 ~ 0.089708448 | mid + 1.0 ~ 0.089708448 | mid + 2.0 ~ 0.084480541 | hoo_end - 2.5 ~ 0.0704679 | hoo_end - 1.5 ~ 0.068030468 | hoo_end - 0.5 ~ 0.067899891 | hoo_end + 0.5 ~ 0.063771049 | hoo_end + 1.5 ~ 0.064678999 | hoo_end + 2.5 ~ 0.063855804 | hoo_end + 3.5 ~ 0.063765228 | hoo_end + 4.5 ~ 0.063778708 | hoo_end + 5.5 ~ 0.064738916 | hoo_start - 6.5 ~ 0.053690475, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:Schedule:Ruleset, - {5ec30b08-13d3-40cf-995c-2eea15c60d1b}, !- Handle - Office BLDG_EQUIP_EndUseData BPR Adjusted, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - {2e216d34-1a88-40fd-9050-368999705c24}, !- Default Day Schedule Name - {618d3caf-4f1b-4aa9-b96c-89dba58e1ab3}, !- Summer Design Day Schedule Name - {ab83bf14-2cb8-453a-a5d2-5f4a5d8133fe}; !- Winter Design Day Schedule Name - -OS:AdditionalProperties, - {55a41449-0290-4acd-a097-b85fe634eaef}, !- Handle - {5ec30b08-13d3-40cf-995c-2eea15c60d1b}, !- Object Name - param_sch_ver, !- Feature Name 1 - String, !- Feature Data Type 1 - 0.0.1, !- Feature Value 1 - param_sch_floor, !- Feature Name 2 - Double, !- Feature Data Type 2 - 0, !- Feature Value 2 - param_sch_ceiling, !- Feature Name 3 - Double, !- Feature Data Type 3 - 0.88670000000000004; !- Feature Value 3 - -OS:Schedule:Day, - {2e216d34-1a88-40fd-9050-368999705c24}, !- Handle - Schedule Day 24, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - No, !- Interpolate to Timestep - 0, !- Hour 1 - 5, !- Minute 1 - 0.214883903262736, !- Value Until Time 1 - 0, !- Hour 2 - 15, !- Minute 2 - 0.184700828133944, !- Value Until Time 2 - 0, !- Hour 3 - 25, !- Minute 3 - 0.154517753005152, !- Value Until Time 3 - 0, !- Hour 4 - 35, !- Minute 4 - 0.124334677876357, !- Value Until Time 4 - 0, !- Hour 5 - 45, !- Minute 5 - 0.187567249570693, !- Value Until Time 5 - 0, !- Hour 6 - 55, !- Minute 6 - 0.187414982827704, !- Value Until Time 6 - 1, !- Hour 7 - 4, !- Minute 7 - 0.187262716084718, !- Value Until Time 7 - 1, !- Hour 8 - 15, !- Minute 8 - 0.187110449341729, !- Value Until Time 8 - 1, !- Hour 9 - 25, !- Minute 9 - 0.18695818259874, !- Value Until Time 9 - 1, !- Hour 10 - 35, !- Minute 10 - 0.186805915855754, !- Value Until Time 10 - 1, !- Hour 11 - 45, !- Minute 11 - 0.186653649112765, !- Value Until Time 11 - 1, !- Hour 12 - 55, !- Minute 12 - 0.180144245850029, !- Value Until Time 12 - 2, !- Hour 13 - 5, !- Minute 13 - 0.173634842587293, !- Value Until Time 13 - 2, !- Hour 14 - 15, !- Minute 14 - 0.167125439324556, !- Value Until Time 14 - 2, !- Hour 15 - 24, !- Minute 15 - 0.16061603606182, !- Value Until Time 15 - 2, !- Hour 16 - 34, !- Minute 16 - 0.154106632799084, !- Value Until Time 16 - 2, !- Hour 17 - 44, !- Minute 17 - 0.147597229536348, !- Value Until Time 17 - 2, !- Hour 18 - 45, !- Minute 18 - 0.147597229536348, !- Value Until Time 18 - 2, !- Hour 19 - 54, !- Minute 19 - 0.141468493131083, !- Value Until Time 19 - 3, !- Hour 20 - 4, !- Minute 20 - 0.135339756725815, !- Value Until Time 20 - 3, !- Hour 21 - 14, !- Minute 21 - 0.12921102032055, !- Value Until Time 21 - 3, !- Hour 22 - 24, !- Minute 22 - 0.123082283915284, !- Value Until Time 22 - 3, !- Hour 23 - 34, !- Minute 23 - 0.116953547510016, !- Value Until Time 23 - 3, !- Hour 24 - 44, !- Minute 24 - 0.110824811104751, !- Value Until Time 24 - 3, !- Hour 25 - 45, !- Minute 25 - 0.110824811104751, !- Value Until Time 25 - 3, !- Hour 26 - 54, !- Minute 26 - 0.107132342587292, !- Value Until Time 26 - 4, !- Hour 27 - 4, !- Minute 27 - 0.103439874069835, !- Value Until Time 27 - 4, !- Hour 28 - 15, !- Minute 28 - 0.0997474055523756, !- Value Until Time 28 - 4, !- Hour 29 - 25, !- Minute 29 - 0.0960549370349162, !- Value Until Time 29 - 4, !- Hour 30 - 35, !- Minute 30 - 0.0923624685174594, !- Value Until Time 30 - 4, !- Hour 31 - 45, !- Minute 31 - 0.08867, !- Value Until Time 31 - 4, !- Hour 32 - 55, !- Minute 32 - 0.0891648669147116, !- Value Until Time 32 - 5, !- Hour 33 - 5, !- Minute 33 - 0.0896597338294211, !- Value Until Time 33 - 5, !- Hour 34 - 15, !- Minute 34 - 0.090154600744133, !- Value Until Time 34 - 5, !- Hour 35 - 25, !- Minute 35 - 0.0906494676588446, !- Value Until Time 35 - 5, !- Hour 36 - 35, !- Minute 36 - 0.0911443345735539, !- Value Until Time 36 - 5, !- Hour 37 - 45, !- Minute 37 - 0.0916392014882655, !- Value Until Time 37 - 5, !- Hour 38 - 55, !- Minute 38 - 0.114250812821981, !- Value Until Time 38 - 6, !- Hour 39 - 5, !- Minute 39 - 0.136862424155696, !- Value Until Time 39 - 6, !- Hour 40 - 15, !- Minute 40 - 0.159474035489411, !- Value Until Time 40 - 6, !- Hour 41 - 25, !- Minute 41 - 0.182085646823126, !- Value Until Time 41 - 6, !- Hour 42 - 35, !- Minute 42 - 0.20469725815684, !- Value Until Time 42 - 6, !- Hour 43 - 45, !- Minute 43 - 0.227308869490555, !- Value Until Time 43 - 6, !- Hour 44 - 55, !- Minute 44 - 0.260503019461934, !- Value Until Time 44 - 7, !- Hour 45 - 5, !- Minute 45 - 0.293697169433315, !- Value Until Time 45 - 7, !- Hour 46 - 15, !- Minute 46 - 0.326891319404694, !- Value Until Time 46 - 7, !- Hour 47 - 25, !- Minute 47 - 0.360085469376073, !- Value Until Time 47 - 7, !- Hour 48 - 35, !- Minute 48 - 0.393279619347453, !- Value Until Time 48 - 7, !- Hour 49 - 45, !- Minute 49 - 0.426473769318832, !- Value Until Time 49 - 7, !- Hour 50 - 55, !- Minute 50 - 0.462865520892959, !- Value Until Time 50 - 8, !- Hour 51 - 5, !- Minute 51 - 0.499257272467087, !- Value Until Time 51 - 8, !- Hour 52 - 15, !- Minute 52 - 0.535649024041214, !- Value Until Time 52 - 8, !- Hour 53 - 24, !- Minute 53 - 0.57204077561534, !- Value Until Time 53 - 8, !- Hour 54 - 34, !- Minute 54 - 0.608432527189468, !- Value Until Time 54 - 8, !- Hour 55 - 44, !- Minute 55 - 0.644824278763595, !- Value Until Time 55 - 8, !- Hour 56 - 45, !- Minute 56 - 0.644824278763595, !- Value Until Time 56 - 8, !- Hour 57 - 54, !- Minute 57 - 0.677028694905553, !- Value Until Time 57 - 9, !- Hour 58 - 4, !- Minute 58 - 0.70923311104751, !- Value Until Time 58 - 9, !- Hour 59 - 14, !- Minute 59 - 0.741437527189468, !- Value Until Time 59 - 9, !- Hour 60 - 24, !- Minute 60 - 0.773641943331425, !- Value Until Time 60 - 9, !- Hour 61 - 34, !- Minute 61 - 0.805846359473383, !- Value Until Time 61 - 9, !- Hour 62 - 44, !- Minute 62 - 0.83805077561534, !- Value Until Time 62 - 9, !- Hour 63 - 45, !- Minute 63 - 0.83805077561534, !- Value Until Time 63 - 9, !- Hour 64 - 54, !- Minute 64 - 0.843456244991415, !- Value Until Time 64 - 10, !- Hour 65 - 4, !- Minute 65 - 0.848861714367486, !- Value Until Time 65 - 10, !- Hour 66 - 14, !- Minute 66 - 0.85426718374356, !- Value Until Time 66 - 10, !- Hour 67 - 24, !- Minute 67 - 0.859672653119634, !- Value Until Time 67 - 10, !- Hour 68 - 34, !- Minute 68 - 0.865078122495706, !- Value Until Time 68 - 10, !- Hour 69 - 44, !- Minute 69 - 0.87048359187178, !- Value Until Time 69 - 10, !- Hour 70 - 54, !- Minute 70 - 0.875889061247854, !- Value Until Time 70 - 11, !- Hour 71 - 4, !- Minute 71 - 0.881294530623926, !- Value Until Time 71 - 11, !- Hour 72 - 14, !- Minute 72 - 0.8867, !- Value Until Time 72 - 11, !- Hour 73 - 15, !- Minute 73 - 0.8867, !- Value Until Time 73 - 11, !- Hour 74 - 24, !- Minute 74 - 0.884872799084144, !- Value Until Time 74 - 11, !- Hour 75 - 34, !- Minute 75 - 0.883045598168288, !- Value Until Time 75 - 11, !- Hour 76 - 44, !- Minute 76 - 0.881218397252433, !- Value Until Time 76 - 11, !- Hour 77 - 54, !- Minute 77 - 0.879391196336577, !- Value Until Time 77 - 12, !- Hour 78 - 4, !- Minute 78 - 0.877563995420721, !- Value Until Time 78 - 12, !- Hour 79 - 14, !- Minute 79 - 0.875736794504866, !- Value Until Time 79 - 12, !- Hour 80 - 15, !- Minute 80 - 0.875736794504866, !- Value Until Time 80 - 12, !- Hour 81 - 24, !- Minute 81 - 0.852439982827705, !- Value Until Time 81 - 12, !- Hour 82 - 34, !- Minute 82 - 0.829143171150544, !- Value Until Time 82 - 12, !- Hour 83 - 44, !- Minute 83 - 0.805846359473383, !- Value Until Time 83 - 12, !- Hour 84 - 54, !- Minute 84 - 0.782549547796222, !- Value Until Time 84 - 13, !- Hour 85 - 4, !- Minute 85 - 0.759252736119061, !- Value Until Time 85 - 13, !- Hour 86 - 14, !- Minute 86 - 0.7359559244419, !- Value Until Time 86 - 13, !- Hour 87 - 15, !- Minute 87 - 0.7359559244419, !- Value Until Time 87 - 13, !- Hour 88 - 24, !- Minute 88 - 0.720729250143102, !- Value Until Time 88 - 13, !- Hour 89 - 34, !- Minute 89 - 0.705502575844305, !- Value Until Time 89 - 13, !- Hour 90 - 44, !- Minute 90 - 0.690275901545506, !- Value Until Time 90 - 13, !- Hour 91 - 54, !- Minute 91 - 0.675049227246708, !- Value Until Time 91 - 14, !- Hour 92 - 4, !- Minute 92 - 0.659822552947911, !- Value Until Time 92 - 14, !- Hour 93 - 14, !- Minute 93 - 0.644595878649113, !- Value Until Time 93 - 14, !- Hour 94 - 15, !- Minute 94 - 0.644595878649113, !- Value Until Time 94 - 14, !- Hour 95 - 24, !- Minute 95 - 0.627313603319976, !- Value Until Time 95 - 14, !- Hour 96 - 34, !- Minute 96 - 0.610031327990842, !- Value Until Time 96 - 14, !- Hour 97 - 44, !- Minute 97 - 0.592749052661706, !- Value Until Time 97 - 14, !- Hour 98 - 54, !- Minute 98 - 0.575466777332571, !- Value Until Time 98 - 15, !- Hour 99 - 4, !- Minute 99 - 0.558184502003435, !- Value Until Time 99 - 15, !- Hour 100 - 14, !- Minute 100 - 0.540902226674299, !- Value Until Time 100 - 15, !- Hour 101 - 15, !- Minute 101 - 0.540902226674299, !- Value Until Time 101 - 15, !- Hour 102 - 24, !- Minute 102 - 0.524381285060104, !- Value Until Time 102 - 15, !- Hour 103 - 34, !- Minute 103 - 0.507860343445906, !- Value Until Time 103 - 15, !- Hour 104 - 44, !- Minute 104 - 0.491339401831712, !- Value Until Time 104 - 15, !- Hour 105 - 54, !- Minute 105 - 0.474818460217517, !- Value Until Time 105 - 16, !- Hour 106 - 4, !- Minute 106 - 0.458297518603319, !- Value Until Time 106 - 16, !- Hour 107 - 15, !- Minute 107 - 0.441776576989124, !- Value Until Time 107 - 16, !- Hour 108 - 25, !- Minute 108 - 0.425255635374929, !- Value Until Time 108 - 16, !- Hour 109 - 35, !- Minute 109 - 0.408734693760732, !- Value Until Time 109 - 16, !- Hour 110 - 45, !- Minute 110 - 0.392213752146537, !- Value Until Time 110 - 16, !- Hour 111 - 55, !- Minute 111 - 0.367318139668002, !- Value Until Time 111 - 17, !- Hour 112 - 5, !- Minute 112 - 0.342422527189468, !- Value Until Time 112 - 17, !- Hour 113 - 15, !- Minute 113 - 0.317526914710933, !- Value Until Time 113 - 17, !- Hour 114 - 25, !- Minute 114 - 0.292631302232399, !- Value Until Time 114 - 17, !- Hour 115 - 35, !- Minute 115 - 0.267735689753864, !- Value Until Time 115 - 17, !- Hour 116 - 45, !- Minute 116 - 0.242840077275329, !- Value Until Time 116 - 17, !- Hour 117 - 55, !- Minute 117 - 0.228070203205495, !- Value Until Time 117 - 18, !- Hour 118 - 5, !- Minute 118 - 0.213300329135662, !- Value Until Time 118 - 18, !- Hour 119 - 15, !- Minute 119 - 0.198530455065827, !- Value Until Time 119 - 18, !- Hour 120 - 25, !- Minute 120 - 0.183760580995992, !- Value Until Time 120 - 18, !- Hour 121 - 35, !- Minute 121 - 0.168990706926158, !- Value Until Time 121 - 18, !- Hour 122 - 45, !- Minute 122 - 0.154220832856325, !- Value Until Time 122 - 18, !- Hour 123 - 55, !- Minute 123 - 0.157304234401832, !- Value Until Time 123 - 19, !- Hour 124 - 5, !- Minute 124 - 0.160387635947338, !- Value Until Time 124 - 19, !- Hour 125 - 15, !- Minute 125 - 0.163471037492845, !- Value Until Time 125 - 19, !- Hour 126 - 25, !- Minute 126 - 0.166554439038352, !- Value Until Time 126 - 19, !- Hour 127 - 35, !- Minute 127 - 0.169637840583858, !- Value Until Time 127 - 19, !- Hour 128 - 45, !- Minute 128 - 0.172721242129365, !- Value Until Time 128 - 19, !- Hour 129 - 55, !- Minute 129 - 0.187414982827704, !- Value Until Time 129 - 20, !- Hour 130 - 5, !- Minute 130 - 0.202108723526045, !- Value Until Time 130 - 20, !- Hour 131 - 15, !- Minute 131 - 0.216802464224385, !- Value Until Time 131 - 20, !- Hour 132 - 25, !- Minute 132 - 0.231496204922726, !- Value Until Time 132 - 20, !- Hour 133 - 35, !- Minute 133 - 0.246189945621065, !- Value Until Time 133 - 20, !- Hour 134 - 45, !- Minute 134 - 0.260883686319405, !- Value Until Time 134 - 20, !- Hour 135 - 55, !- Minute 135 - 0.278242095020034, !- Value Until Time 135 - 21, !- Hour 136 - 5, !- Minute 136 - 0.295600503720664, !- Value Until Time 136 - 21, !- Hour 137 - 15, !- Minute 137 - 0.312958912421294, !- Value Until Time 137 - 21, !- Hour 138 - 25, !- Minute 138 - 0.330317321121923, !- Value Until Time 138 - 21, !- Hour 139 - 35, !- Minute 139 - 0.347675729822553, !- Value Until Time 139 - 21, !- Hour 140 - 45, !- Minute 140 - 0.365034138523183, !- Value Until Time 140 - 21, !- Hour 141 - 55, !- Minute 141 - 0.37078220807098, !- Value Until Time 141 - 22, !- Hour 142 - 5, !- Minute 142 - 0.376530277618774, !- Value Until Time 142 - 22, !- Hour 143 - 15, !- Minute 143 - 0.382278347166571, !- Value Until Time 143 - 22, !- Hour 144 - 25, !- Minute 144 - 0.388026416714368, !- Value Until Time 144 - 22, !- Hour 145 - 35, !- Minute 145 - 0.393774486262163, !- Value Until Time 145 - 22, !- Hour 146 - 45, !- Minute 146 - 0.39952255580996, !- Value Until Time 146 - 22, !- Hour 147 - 55, !- Minute 147 - 0.378810472095021, !- Value Until Time 147 - 23, !- Hour 148 - 5, !- Minute 148 - 0.358098388380079, !- Value Until Time 148 - 23, !- Hour 149 - 15, !- Minute 149 - 0.33738630466514, !- Value Until Time 149 - 23, !- Hour 150 - 25, !- Minute 150 - 0.316674220950199, !- Value Until Time 150 - 23, !- Hour 151 - 35, !- Minute 151 - 0.29596213723526, !- Value Until Time 151 - 23, !- Hour 152 - 45, !- Minute 152 - 0.275250053520321, !- Value Until Time 152 - 23, !- Hour 153 - 55, !- Minute 153 - 0.245066978391528, !- Value Until Time 153 - 24, !- Hour 154 - 0, !- Minute 154 - 0.214883903262736; !- Value Until Time 154 - -OS:AdditionalProperties, - {7071cc73-aaa3-4186-adc0-52e0d798e2a1}, !- Handle - {2e216d34-1a88-40fd-9050-368999705c24}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_end + 6.5 ~ 0.5397 | hoo_start - 6.5 ~ 0.5806 | hoo_start - 5.5 ~ 0.5802 | hoo_start - 4.5 ~ 0.5631 | hoo_start - 3.5 ~ 0.547 | hoo_start - 2.5 ~ 0.5373 | hoo_start - 1.5 ~ 0.5386 | hoo_start - 0.5 ~ 0.598 | hoo_start + 0.5 ~ 0.6852 | hoo_start + 1.5 ~ 0.7808 | hoo_start + 2.5 ~ 0.8654 | mid - 1.5 ~ 0.8867 | mid - 0.5 ~ 0.8819 | mid + 0.5 ~ 0.8207 | mid + 1.5 ~ 0.7807 | mid + 2.5 ~ 0.7353 | hoo_end - 1.5 ~ 0.6702 | hoo_end - 0.5 ~ 0.6048 | hoo_end + 0.5 ~ 0.566 | hoo_end + 1.5 ~ 0.5741 | hoo_end + 2.5 ~ 0.6127 | hoo_end + 3.5 ~ 0.6583 | hoo_end + 4.5 ~ 0.6734 | hoo_end + 5.5 ~ 0.61899, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - typical_operation; !- Feature Value 4 - -OS:Schedule:Day, - {618d3caf-4f1b-4aa9-b96c-89dba58e1ab3}, !- Handle - Office BLDG_EQUIP_EndUseData Summer Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 1; !- Value Until Time 1 - -OS:Schedule:Day, - {ab83bf14-2cb8-453a-a5d2-5f4a5d8133fe}, !- Handle - Office BLDG_EQUIP_EndUseData Winter Design Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - , !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0; !- Value Until Time 1 - -OS:Schedule:Rule, - {12b3cc82-29fc-4ec6-95b3-3a95918bf6f6}, !- Handle - Schedule Rule 20, !- Name - {5ec30b08-13d3-40cf-995c-2eea15c60d1b}, !- Schedule Ruleset Name - 0, !- Rule Order - {3217174d-dbab-4513-8aa1-9a9115ec5942}, !- 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, - {65b8398c-d06f-43a8-90d5-439add5e401a}, !- Handle - Office BLDG_EQUIP_EndUseData Sun Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 24, !- Hour 1 - 0, !- Minute 1 - 0.5757; !- Value Until Time 1 - -OS:AdditionalProperties, - {0379ae9d-fced-4047-bdb1-6c96bda77824}, !- Handle - {65b8398c-d06f-43a8-90d5-439add5e401a}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start ~ 0.5757 ~ 0.5757, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - medium_operation; !- Feature Value 4 - -OS:Schedule:Rule, - {b2412201-c8ab-4d42-a11b-45c71ca01149}, !- Handle - Schedule Rule 21, !- Name - {5ec30b08-13d3-40cf-995c-2eea15c60d1b}, !- Schedule Ruleset Name - 1, !- Rule Order - {00512aed-03cf-4500-a71b-3fd0761bd485}, !- 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, - {305553d5-5077-4300-8172-0707608979b5}, !- Handle - Office BLDG_EQUIP_EndUseData Sat Day 1, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - Yes, !- Interpolate to Timestep - 0, !- Hour 1 - 10, !- Minute 1 - 0.599640816326531, !- Value Until Time 1 - 0, !- Hour 2 - 20, !- Minute 2 - 0.599681632653061, !- Value Until Time 2 - 0, !- Hour 3 - 30, !- Minute 3 - 0.6056, !- Value Until Time 3 - 0, !- Hour 4 - 40, !- Minute 4 - 0.5996, !- Value Until Time 4 - 0, !- Hour 5 - 49, !- Minute 5 - 0.5936, !- Value Until Time 5 - 0, !- Hour 6 - 59, !- Minute 6 - 0.5876, !- Value Until Time 6 - 1, !- Hour 7 - 9, !- Minute 7 - 0.5816, !- Value Until Time 7 - 1, !- Hour 8 - 19, !- Minute 8 - 0.5756, !- Value Until Time 8 - 1, !- Hour 9 - 30, !- Minute 9 - 0.5696, !- Value Until Time 9 - 1, !- Hour 10 - 40, !- Minute 10 - 0.566783333333333, !- Value Until Time 10 - 1, !- Hour 11 - 50, !- Minute 11 - 0.563966666666667, !- Value Until Time 11 - 2, !- Hour 12 - 0, !- Minute 12 - 0.56115, !- Value Until Time 12 - 2, !- Hour 13 - 9, !- Minute 13 - 0.558333333333333, !- Value Until Time 13 - 2, !- Hour 14 - 19, !- Minute 14 - 0.555516666666667, !- Value Until Time 14 - 2, !- Hour 15 - 29, !- Minute 15 - 0.5527, !- Value Until Time 15 - 2, !- Hour 16 - 30, !- Minute 16 - 0.5527, !- Value Until Time 16 - 2, !- Hour 17 - 39, !- Minute 17 - 0.60025306122449, !- Value Until Time 17 - 2, !- Hour 18 - 49, !- Minute 18 - 0.60029387755102, !- Value Until Time 18 - 2, !- Hour 19 - 59, !- Minute 19 - 0.600334693877551, !- Value Until Time 19 - 3, !- Hour 20 - 9, !- Minute 20 - 0.600375510204082, !- Value Until Time 20 - 3, !- Hour 21 - 19, !- Minute 21 - 0.600416326530612, !- Value Until Time 21 - 3, !- Hour 22 - 29, !- Minute 22 - 0.600457142857143, !- Value Until Time 22 - 3, !- Hour 23 - 30, !- Minute 23 - 0.5472, !- Value Until Time 23 - 3, !- Hour 24 - 39, !- Minute 24 - 0.600497959183673, !- Value Until Time 24 - 3, !- Hour 25 - 49, !- Minute 25 - 0.600538775510204, !- Value Until Time 25 - 3, !- Hour 26 - 59, !- Minute 26 - 0.600579591836734, !- Value Until Time 26 - 4, !- Hour 27 - 9, !- Minute 27 - 0.600620408163265, !- Value Until Time 27 - 4, !- Hour 28 - 19, !- Minute 28 - 0.600661224489796, !- Value Until Time 28 - 4, !- Hour 29 - 29, !- Minute 29 - 0.600702040816326, !- Value Until Time 29 - 4, !- Hour 30 - 30, !- Minute 30 - 0.5466, !- Value Until Time 30 - 4, !- Hour 31 - 39, !- Minute 31 - 0.600742857142857, !- Value Until Time 31 - 4, !- Hour 32 - 40, !- Minute 32 - 0.546416666666667, !- Value Until Time 32 - 4, !- Hour 33 - 49, !- Minute 33 - 0.600783673469388, !- Value Until Time 33 - 4, !- Hour 34 - 50, !- Minute 34 - 0.546233333333333, !- Value Until Time 34 - 5, !- Hour 35 - 0, !- Minute 35 - 0.600824489795918, !- Value Until Time 35 - 5, !- Hour 36 - 10, !- Minute 36 - 0.600865306122449, !- Value Until Time 36 - 5, !- Hour 37 - 20, !- Minute 37 - 0.60090612244898, !- Value Until Time 37 - 5, !- Hour 38 - 30, !- Minute 38 - 0.60094693877551, !- Value Until Time 38 - 5, !- Hour 39 - 40, !- Minute 39 - 0.600987755102041, !- Value Until Time 39 - 5, !- Hour 40 - 50, !- Minute 40 - 0.601028571428571, !- Value Until Time 40 - 6, !- Hour 41 - 0, !- Minute 41 - 0.601069387755102, !- Value Until Time 41 - 6, !- Hour 42 - 10, !- Minute 42 - 0.601110204081633, !- Value Until Time 42 - 6, !- Hour 43 - 20, !- Minute 43 - 0.601151020408163, !- Value Until Time 43 - 6, !- Hour 44 - 30, !- Minute 44 - 0.601191836734694, !- Value Until Time 44 - 6, !- Hour 45 - 40, !- Minute 45 - 0.601232653061225, !- Value Until Time 45 - 6, !- Hour 46 - 50, !- Minute 46 - 0.601273469387755, !- Value Until Time 46 - 7, !- Hour 47 - 0, !- Minute 47 - 0.601314285714286, !- Value Until Time 47 - 7, !- Hour 48 - 10, !- Minute 48 - 0.601355102040816, !- Value Until Time 48 - 7, !- Hour 49 - 20, !- Minute 49 - 0.601395918367347, !- Value Until Time 49 - 7, !- Hour 50 - 30, !- Minute 50 - 0.601436734693878, !- Value Until Time 50 - 7, !- Hour 51 - 40, !- Minute 51 - 0.601477551020408, !- Value Until Time 51 - 7, !- Hour 52 - 50, !- Minute 52 - 0.601518367346939, !- Value Until Time 52 - 8, !- Hour 53 - 0, !- Minute 53 - 0.601559183673469, !- Value Until Time 53 - 8, !- Hour 54 - 9, !- Minute 54 - 0.5068, !- Value Until Time 54 - 8, !- Hour 55 - 10, !- Minute 55 - 0.6016, !- Value Until Time 55 - 8, !- Hour 56 - 19, !- Minute 56 - 0.5005, !- Value Until Time 56 - 8, !- Hour 57 - 20, !- Minute 57 - 0.601640816326531, !- Value Until Time 57 - 8, !- Hour 58 - 29, !- Minute 58 - 0.4942, !- Value Until Time 58 - 8, !- Hour 59 - 30, !- Minute 59 - 0.601681632653062, !- Value Until Time 59 - 8, !- Hour 60 - 39, !- Minute 60 - 0.487116666666667, !- Value Until Time 60 - 8, !- Hour 61 - 40, !- Minute 61 - 0.601722448979592, !- Value Until Time 61 - 8, !- Hour 62 - 49, !- Minute 62 - 0.480033333333333, !- Value Until Time 62 - 8, !- Hour 63 - 50, !- Minute 63 - 0.601763265306123, !- Value Until Time 63 - 8, !- Hour 64 - 59, !- Minute 64 - 0.47295, !- Value Until Time 64 - 9, !- Hour 65 - 0, !- Minute 65 - 0.601804081632653, !- Value Until Time 65 - 9, !- Hour 66 - 9, !- Minute 66 - 0.465866666666667, !- Value Until Time 66 - 9, !- Hour 67 - 10, !- Minute 67 - 0.601844897959184, !- Value Until Time 67 - 9, !- Hour 68 - 19, !- Minute 68 - 0.458783333333333, !- Value Until Time 68 - 9, !- Hour 69 - 20, !- Minute 69 - 0.601885714285715, !- Value Until Time 69 - 9, !- Hour 70 - 29, !- Minute 70 - 0.4517, !- Value Until Time 70 - 9, !- Hour 71 - 30, !- Minute 71 - 0.4517, !- Value Until Time 71 - 9, !- Hour 72 - 39, !- Minute 72 - 0.449933333333333, !- Value Until Time 72 - 9, !- Hour 73 - 49, !- Minute 73 - 0.448166666666667, !- Value Until Time 73 - 9, !- Hour 74 - 59, !- Minute 74 - 0.4464, !- Value Until Time 74 - 10, !- Hour 75 - 9, !- Minute 75 - 0.444633333333333, !- Value Until Time 75 - 10, !- Hour 76 - 19, !- Minute 76 - 0.442866666666667, !- Value Until Time 76 - 10, !- Hour 77 - 29, !- Minute 77 - 0.4411, !- Value Until Time 77 - 10, !- Hour 78 - 30, !- Minute 78 - 0.4411, !- Value Until Time 78 - 10, !- Hour 79 - 39, !- Minute 79 - 0.602212244897959, !- Value Until Time 79 - 10, !- Hour 80 - 49, !- Minute 80 - 0.60225306122449, !- Value Until Time 80 - 10, !- Hour 81 - 59, !- Minute 81 - 0.60229387755102, !- Value Until Time 81 - 11, !- Hour 82 - 9, !- Minute 82 - 0.602334693877551, !- Value Until Time 82 - 11, !- Hour 83 - 19, !- Minute 83 - 0.602375510204082, !- Value Until Time 83 - 11, !- Hour 84 - 29, !- Minute 84 - 0.602416326530612, !- Value Until Time 84 - 11, !- Hour 85 - 30, !- Minute 85 - 0.4497, !- Value Until Time 85 - 11, !- Hour 86 - 39, !- Minute 86 - 0.602457142857143, !- Value Until Time 86 - 11, !- Hour 87 - 49, !- Minute 87 - 0.602497959183674, !- Value Until Time 87 - 11, !- Hour 88 - 59, !- Minute 88 - 0.602538775510204, !- Value Until Time 88 - 12, !- Hour 89 - 9, !- Minute 89 - 0.602579591836735, !- Value Until Time 89 - 12, !- Hour 90 - 19, !- Minute 90 - 0.602620408163265, !- Value Until Time 90 - 12, !- Hour 91 - 29, !- Minute 91 - 0.602661224489796, !- Value Until Time 91 - 12, !- Hour 92 - 30, !- Minute 92 - 0.4629, !- Value Until Time 92 - 12, !- Hour 93 - 39, !- Minute 93 - 0.602702040816326, !- Value Until Time 93 - 12, !- Hour 94 - 49, !- Minute 94 - 0.602742857142857, !- Value Until Time 94 - 12, !- Hour 95 - 59, !- Minute 95 - 0.602783673469388, !- Value Until Time 95 - 13, !- Hour 96 - 9, !- Minute 96 - 0.602824489795918, !- Value Until Time 96 - 13, !- Hour 97 - 19, !- Minute 97 - 0.602865306122449, !- Value Until Time 97 - 13, !- Hour 98 - 29, !- Minute 98 - 0.602906122448979, !- Value Until Time 98 - 13, !- Hour 99 - 30, !- Minute 99 - 0.4735, !- Value Until Time 99 - 13, !- Hour 100 - 39, !- Minute 100 - 0.60294693877551, !- Value Until Time 100 - 13, !- Hour 101 - 49, !- Minute 101 - 0.60298775510204, !- Value Until Time 101 - 13, !- Hour 102 - 59, !- Minute 102 - 0.603028571428571, !- Value Until Time 102 - 14, !- Hour 103 - 9, !- Minute 103 - 0.603069387755102, !- Value Until Time 103 - 14, !- Hour 104 - 19, !- Minute 104 - 0.603110204081632, !- Value Until Time 104 - 14, !- Hour 105 - 29, !- Minute 105 - 0.603151020408163, !- Value Until Time 105 - 14, !- Hour 106 - 30, !- Minute 106 - 0.4944, !- Value Until Time 106 - 14, !- Hour 107 - 39, !- Minute 107 - 0.603191836734693, !- Value Until Time 107 - 14, !- Hour 108 - 49, !- Minute 108 - 0.603232653061224, !- Value Until Time 108 - 14, !- Hour 109 - 59, !- Minute 109 - 0.603273469387755, !- Value Until Time 109 - 15, !- Hour 110 - 9, !- Minute 110 - 0.603314285714285, !- Value Until Time 110 - 15, !- Hour 111 - 19, !- Minute 111 - 0.603355102040816, !- Value Until Time 111 - 15, !- Hour 112 - 29, !- Minute 112 - 0.603395918367347, !- Value Until Time 112 - 15, !- Hour 113 - 30, !- Minute 113 - 0.4948, !- Value Until Time 113 - 15, !- Hour 114 - 39, !- Minute 114 - 0.603436734693877, !- Value Until Time 114 - 15, !- Hour 115 - 49, !- Minute 115 - 0.603477551020408, !- Value Until Time 115 - 15, !- Hour 116 - 59, !- Minute 116 - 0.603518367346938, !- Value Until Time 116 - 16, !- Hour 117 - 9, !- Minute 117 - 0.603559183673469, !- Value Until Time 117 - 16, !- Hour 118 - 19, !- Minute 118 - 0.603599999999999, !- Value Until Time 118 - 16, !- Hour 119 - 29, !- Minute 119 - 0.60364081632653, !- Value Until Time 119 - 16, !- Hour 120 - 30, !- Minute 120 - 0.4918, !- Value Until Time 120 - 16, !- Hour 121 - 39, !- Minute 121 - 0.603681632653061, !- Value Until Time 121 - 16, !- Hour 122 - 40, !- Minute 122 - 0.49365, !- Value Until Time 122 - 16, !- Hour 123 - 49, !- Minute 123 - 0.603722448979591, !- Value Until Time 123 - 16, !- Hour 124 - 50, !- Minute 124 - 0.4955, !- Value Until Time 124 - 16, !- Hour 125 - 59, !- Minute 125 - 0.603763265306122, !- Value Until Time 125 - 17, !- Hour 126 - 0, !- Minute 126 - 0.49735, !- Value Until Time 126 - 17, !- Hour 127 - 9, !- Minute 127 - 0.603804081632653, !- Value Until Time 127 - 17, !- Hour 128 - 10, !- Minute 128 - 0.4992, !- Value Until Time 128 - 17, !- Hour 129 - 19, !- Minute 129 - 0.603844897959183, !- Value Until Time 129 - 17, !- Hour 130 - 20, !- Minute 130 - 0.50105, !- Value Until Time 130 - 17, !- Hour 131 - 29, !- Minute 131 - 0.603885714285714, !- Value Until Time 131 - 17, !- Hour 132 - 30, !- Minute 132 - 0.5029, !- Value Until Time 132 - 17, !- Hour 133 - 39, !- Minute 133 - 0.603926530612244, !- Value Until Time 133 - 17, !- Hour 134 - 40, !- Minute 134 - 0.506883333333333, !- Value Until Time 134 - 17, !- Hour 135 - 49, !- Minute 135 - 0.603967346938775, !- Value Until Time 135 - 17, !- Hour 136 - 50, !- Minute 136 - 0.510866666666667, !- Value Until Time 136 - 17, !- Hour 137 - 59, !- Minute 137 - 0.604008163265305, !- Value Until Time 137 - 18, !- Hour 138 - 0, !- Minute 138 - 0.51485, !- Value Until Time 138 - 18, !- Hour 139 - 9, !- Minute 139 - 0.604048979591836, !- Value Until Time 139 - 18, !- Hour 140 - 10, !- Minute 140 - 0.518833333333333, !- Value Until Time 140 - 18, !- Hour 141 - 19, !- Minute 141 - 0.604089795918367, !- Value Until Time 141 - 18, !- Hour 142 - 20, !- Minute 142 - 0.522816666666667, !- Value Until Time 142 - 18, !- Hour 143 - 29, !- Minute 143 - 0.604130612244897, !- Value Until Time 143 - 18, !- Hour 144 - 30, !- Minute 144 - 0.5268, !- Value Until Time 144 - 18, !- Hour 145 - 39, !- Minute 145 - 0.604171428571428, !- Value Until Time 145 - 18, !- Hour 146 - 40, !- Minute 146 - 0.532283333333333, !- Value Until Time 146 - 18, !- Hour 147 - 49, !- Minute 147 - 0.604212244897959, !- Value Until Time 147 - 18, !- Hour 148 - 50, !- Minute 148 - 0.537766666666667, !- Value Until Time 148 - 18, !- Hour 149 - 59, !- Minute 149 - 0.604253061224489, !- Value Until Time 149 - 19, !- Hour 150 - 0, !- Minute 150 - 0.54325, !- Value Until Time 150 - 19, !- Hour 151 - 9, !- Minute 151 - 0.60429387755102, !- Value Until Time 151 - 19, !- Hour 152 - 10, !- Minute 152 - 0.548733333333334, !- Value Until Time 152 - 19, !- Hour 153 - 19, !- Minute 153 - 0.60433469387755, !- Value Until Time 153 - 19, !- Hour 154 - 20, !- Minute 154 - 0.554216666666667, !- Value Until Time 154 - 19, !- Hour 155 - 30, !- Minute 155 - 0.5597, !- Value Until Time 155 - 19, !- Hour 156 - 40, !- Minute 156 - 0.5655, !- Value Until Time 156 - 19, !- Hour 157 - 50, !- Minute 157 - 0.5713, !- Value Until Time 157 - 20, !- Hour 158 - 0, !- Minute 158 - 0.5771, !- Value Until Time 158 - 20, !- Hour 159 - 10, !- Minute 159 - 0.5829, !- Value Until Time 159 - 20, !- Hour 160 - 20, !- Minute 160 - 0.5887, !- Value Until Time 160 - 20, !- Hour 161 - 30, !- Minute 161 - 0.604620408163265, !- Value Until Time 161 - 20, !- Hour 162 - 40, !- Minute 162 - 0.604661224489795, !- Value Until Time 162 - 20, !- Hour 163 - 50, !- Minute 163 - 0.604702040816326, !- Value Until Time 163 - 21, !- Hour 164 - 0, !- Minute 164 - 0.604742857142856, !- Value Until Time 164 - 21, !- Hour 165 - 10, !- Minute 165 - 0.604783673469387, !- Value Until Time 165 - 21, !- Hour 166 - 20, !- Minute 166 - 0.604824489795918, !- Value Until Time 166 - 21, !- Hour 167 - 30, !- Minute 167 - 0.604865306122448, !- Value Until Time 167 - 21, !- Hour 168 - 40, !- Minute 168 - 0.604906122448979, !- Value Until Time 168 - 21, !- Hour 169 - 50, !- Minute 169 - 0.60494693877551, !- Value Until Time 169 - 22, !- Hour 170 - 0, !- Minute 170 - 0.60498775510204, !- Value Until Time 170 - 22, !- Hour 171 - 10, !- Minute 171 - 0.605028571428571, !- Value Until Time 171 - 22, !- Hour 172 - 20, !- Minute 172 - 0.605069387755102, !- Value Until Time 172 - 22, !- Hour 173 - 30, !- Minute 173 - 0.605110204081632, !- Value Until Time 173 - 22, !- Hour 174 - 40, !- Minute 174 - 0.605151020408163, !- Value Until Time 174 - 22, !- Hour 175 - 50, !- Minute 175 - 0.605191836734694, !- Value Until Time 175 - 23, !- Hour 176 - 0, !- Minute 176 - 0.605232653061224, !- Value Until Time 176 - 23, !- Hour 177 - 10, !- Minute 177 - 0.605273469387755, !- Value Until Time 177 - 23, !- Hour 178 - 20, !- Minute 178 - 0.605314285714285, !- Value Until Time 178 - 23, !- Hour 179 - 30, !- Minute 179 - 0.605355102040816, !- Value Until Time 179 - 23, !- Hour 180 - 40, !- Minute 180 - 0.605395918367347, !- Value Until Time 180 - 23, !- Hour 181 - 50, !- Minute 181 - 0.605436734693877, !- Value Until Time 181 - 24, !- Hour 182 - 0, !- Minute 182 - 0.605477551020408; !- Value Until Time 182 - -OS:AdditionalProperties, - {0bd5f281-ed3f-43a9-b80d-ca5c093374d6}, !- Handle - {305553d5-5077-4300-8172-0707608979b5}, !- Object Name - param_day_profile, !- Feature Name 1 - String, !- Feature Data Type 1 - hoo_start - 5.5 ~ 0.6056 | hoo_start - 4.5 ~ 0.5696 | hoo_start - 3.5 ~ 0.5527 | hoo_start - 2.5 ~ 0.5472 | hoo_start - 1.5 ~ 0.5466 | hoo_start - 0.5 ~ 0.5455 | hoo_start + 0.5 ~ 0.5418 | hoo_start + 1.5 ~ 0.532 | hoo_start + 2.5 ~ 0.4942 | mid - 2.0 ~ 0.4517 | mid - 1.0 ~ 0.4411 | mid ~ 0.4497 | mid + 1.0 ~ 0.4629 | mid + 2.0 ~ 0.4735 | hoo_end - 2.5 ~ 0.4944 | hoo_end - 1.5 ~ 0.4948 | hoo_end - 0.5 ~ 0.4918 | hoo_end + 0.5 ~ 0.5029 | hoo_end + 1.5 ~ 0.5268 | hoo_end + 2.5 ~ 0.5597 | hoo_end + 3.5 ~ 0.5945 | hoo_end + 4.5 ~ 0.6217 | hoo_end + 5.5 ~ 0.6288 | hoo_start - 6.5 ~ 0.5996, !- Feature Value 1 - param_day_secondary_logic, !- Feature Name 2 - String, !- Feature Data Type 2 - , !- Feature Value 2 - param_day_secondary_logic_arg_val, !- Feature Name 3 - String, !- Feature Data Type 3 - , !- Feature Value 3 - param_day_tag, !- Feature Name 4 - String, !- Feature Data Type 4 - minimal_operation; !- Feature Value 4 - -OS:Schedule:Constant, - {8f8e76dd-ed91-4f88-b2e1-9a3a8d1a9add}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {647b8e60-c39d-418b-9374-002d3f454d7f}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {4a31613c-fe21-4a40-8eda-9c0fde663596}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {7076e66c-db6f-4de6-b1df-13d6980fbcc6}, !- Handle - Zone Office WholeBuilding - Sm Office A - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {c399d7e9-7404-47a1-b38b-6fd2523c3063}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {8d6cec9e-c562-42d1-84ae-6f81df17b84a}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {2b86d91e-e567-4d48-8a82-f2112562ac13}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {c39d5280-e809-458c-814f-0c81e16be6f4}, !- Handle - Zone Office WholeBuilding - Sm Office A end_a - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {b38f905f-4cea-4a66-bdc0-c4c16d412f11}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {e786e3df-02a2-4039-84f1-535b10f80349}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {055b5b01-a662-4de3-aaf6-03abd332e154}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {7a4c3302-6f87-4ea6-bba6-8ce2a8e53127}, !- Handle - Zone Office WholeBuilding - Sm Office A end_b - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {10849ade-3465-41bf-81ee-7d20a95ccbfc}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {15ad793f-8100-4b77-9bc0-8001f7fb7dbd}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {767cd2f7-aacf-499f-9428-cefd21613a91}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {706f7002-0759-41df-915b-9f0e20b4b56a}, !- Handle - Zone Office WholeBuilding - Sm Office B - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {5bf64864-65fa-47c6-ada4-f9fee9bda293}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {d90e56d9-468a-4652-9f27-0c73f9e7e56c}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {82151012-8075-4a2a-a087-bdd4c4ad6c67}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {48a65924-cffb-4b12-9890-a8b539d16ca9}, !- Handle - Zone Office WholeBuilding - Sm Office B end_a - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {c55bb475-9545-4637-b091-520bed5eaea2}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {ecb45eb9-a716-4f0b-b54e-4fce37661611}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {fd098b16-1d61-461b-bbae-6df1705a9b5f}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {00796cf9-9e03-4976-a340-8596b130548f}, !- Handle - Zone Office WholeBuilding - Sm Office B end_b - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {caa0a35d-44cd-454f-af63-8d70507aed69}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {8b391620-0998-4b28-b7cd-4055f24d0e22}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {88f6fd61-bce7-4168-b769-ef1c966bd78c}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {1038ce0f-e0fe-48ed-8422-2e8d871672a1}, !- Handle - Zone Office WholeBuilding - Sm Office C - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {7e474772-79f0-4bfd-a598-ce3ce0179515}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {7b9dc306-81d5-426c-ae14-ca44c7926bc6}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {bf1e13ce-6896-4626-bf46-b683f22e709b}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {068ccb35-e642-49b2-84b6-bf97fb0e69cb}, !- Handle - Zone Office WholeBuilding - Sm Office C end_a - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {487c0166-8ddf-419c-b835-0d567969a3aa}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {55f06048-e023-45bf-bfe4-5a4f07fd8e6d}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Ground PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {4c7b9fea-d58d-4517-b793-20089082da71}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC_night_ventcycle_schedule, !- Name - {f7bafa19-e5ab-429a-80c1-c63f1dbcf078}, !- Schedule Type Limits Name - 1; !- Value - -OS:Schedule:Constant, - {66aab325-5ef1-42a9-802e-553ace1968b7}, !- Handle - Zone Office WholeBuilding - Sm Office C end_b - Story Top PSZ-AC_constant_night_fan_schedule, !- Name - {5a481232-7fe2-4c3a-acc7-b81197d921b0}, !- Schedule Type Limits Name - 1; !- Value - diff --git a/measures/emissions_reporting/tests/smalloffice.osm b/measures/emissions_reporting/tests/smalloffice.osm index 5d1f64109..6a3d764d7 100644 --- a/measures/emissions_reporting/tests/smalloffice.osm +++ b/measures/emissions_reporting/tests/smalloffice.osm @@ -4563,7 +4563,10 @@ OS:AdditionalProperties, {3356aedb-116e-430d-91d1-31f2b67492b4}, !- Object Name hvac_system_type, !- Feature Name 1 String, !- Feature Data Type 1 - Inferred; !- Feature Value 1 + Inferred, !- Feature Value 1 + grid_region, !- Feature Name 2 + String, !- Feature Data Type 2 + RMPAc; !- Feature Value 2 OS:Sizing:Parameters, {a71a048a-0bdd-4d4f-b611-81cbddb6f9b6}, !- Handle diff --git a/measures/utility_bills/measure.rb b/measures/utility_bills/measure.rb index 10f75a6c5..6ed246ede 100644 --- a/measures/utility_bills/measure.rb +++ b/measures/utility_bills/measure.rb @@ -397,10 +397,10 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_com_gas_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] ng_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("natural_gas_rate_name", "EIA 2022 Average Commercial Natural Gas Price for #{state_abbreviation}") + runner.registerValue('natural_gas_rate_name', "EIA 2022 Average Commercial Natural Gas Price for #{state_abbreviation}") end end - runner.registerValue("natural_gas_bill_dollars", ng_bill_dollars) + runner.registerValue('natural_gas_bill_dollars', ng_bill_dollars) # Propane Bill propane_bill_dollars = 0 @@ -410,10 +410,10 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_res_propane_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] propane_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("propane_rate_name", "EIA 2022 Average Residential Propane Price for #{state_abbreviation}") + runner.registerValue('propane_rate_name', "EIA 2022 Average Residential Propane Price for #{state_abbreviation}") end end - runner.registerValue("propane_bill_dollars", propane_bill_dollars) + runner.registerValue('propane_bill_dollars', propane_bill_dollars) # Fuel Oil Bill fo_bill_dollars = 0 @@ -423,10 +423,10 @@ def run(runner, user_arguments) prices_path = File.join(File.dirname(__FILE__), 'resources', 'eia_res_fuel_oil_prices_dol_per_kbtu_2022.json') dollars_per_kbtu = JSON.parse(File.read(prices_path))[state_abbreviation] fo_bill_dollars = (tot_kbtu * dollars_per_kbtu).round.to_i - runner.registerValue("fuel_oil_rate_name", "EIA 2022 Average Residential Fuel Oil Price for #{state_abbreviation}") + runner.registerValue('fuel_oil_rate_name', "EIA 2022 Average Residential Fuel Oil Price for #{state_abbreviation}") end end - runner.registerValue("fuel_oil_bill_dollars", fo_bill_dollars) + runner.registerValue('fuel_oil_bill_dollars', fo_bill_dollars) # District Heating Bills # TODO have not found any source of rates beyond data for individual utilities diff --git a/measures/utility_bills/measure.xml b/measures/utility_bills/measure.xml index 6ca7352b9..f1c41322b 100644 --- a/measures/utility_bills/measure.xml +++ b/measures/utility_bills/measure.xml @@ -3,8 +3,8 @@ 3.1 utility_bills 2a3442c1-944d-4e91-9e11-11e0cf368c64 - fb2cbc7a-9ce7-4b09-9253-fb7777fd62c5 - 2024-10-14T14:44:11Z + a0333834-1c03-43a7-aed2-9f401e81e01b + 2024-11-12T18:33:53Z 15BF4E57 UtilityBills Utility Bills @@ -33,7 +33,7 @@ measure.rb rb script - FCA5245A + EB001E86 calc_elec_bill.py @@ -63821,12 +63821,6 @@ test 3F796846 - - Measure_Test.rb - rb - test - 30EC3ADD - USA_CO_Golden-NREL.724666_TMY3.ddy ddy @@ -63851,5 +63845,11 @@ test E0B9A507 + + utility_bills_test.rb + rb + test + 9E51273B + From 7a46afa57f1243baa4858685dd12a97d681dc4e0 Mon Sep 17 00:00:00 2001 From: Matthew Dahlhausen Date: Tue, 12 Nov 2024 11:39:01 -0700 Subject: [PATCH 22/23] Update emissions_reporting_test.rb --- .../{EmissionsReporting_Test.rb => emissions_reporting_test.rb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename measures/emissions_reporting/tests/{EmissionsReporting_Test.rb => emissions_reporting_test.rb} (100%) diff --git a/measures/emissions_reporting/tests/EmissionsReporting_Test.rb b/measures/emissions_reporting/tests/emissions_reporting_test.rb similarity index 100% rename from measures/emissions_reporting/tests/EmissionsReporting_Test.rb rename to measures/emissions_reporting/tests/emissions_reporting_test.rb From 00bc03ec57503e433276a842f41d93f701ed7e2b Mon Sep 17 00:00:00 2001 From: Wenyi Kuang Date: Tue, 12 Nov 2024 12:28:36 -0700 Subject: [PATCH 23/23] updated indexing of all_tests. --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index f36c55dad..778933779 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ require 'rubocop/rake_task' desc 'Run measure tests' namespace :unit_tests do desc 'Run all measure tests' - task all_tests: [:measure_tests, :workflow_measure_tests, :upgrade_measure_tests] do + task all_tests: [:reporting_measure_tests, :workflow_measure_tests, :upgrade_measure_tests] do puts 'Running all measure tests:' end