From af666565d180908657a10a9f344a74a762dfc610 Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Mon, 12 Feb 2024 14:51:10 -0700 Subject: [PATCH 1/7] Always init default systems --- .../model_articulation/facility.rb | 12 ++--- spec/tests/translator_sizing_run_spec.rb | 47 ++++++++----------- 2 files changed, 26 insertions(+), 33 deletions(-) diff --git a/lib/buildingsync/model_articulation/facility.rb b/lib/buildingsync/model_articulation/facility.rb index 85b6f72a..a57100d4 100644 --- a/lib/buildingsync/model_articulation/facility.rb +++ b/lib/buildingsync/model_articulation/facility.rb @@ -209,6 +209,12 @@ def determine_open_studio_system_standard # read systems def read_and_create_initial_systems + hvac_xml = @g.add_hvac_system_to_facility(@base_xml) + lighting_xml = @g.add_lighting_system_to_facility(@base_xml) + @hvac_systems = HVACSystem.new(hvac_xml, @ns) + @lighting_system = LightingSystemType.new(lighting_xml, @ns) + @load_system = LoadsSystem.new + systems_xml = xget_or_create('Systems') if !systems_xml.elements.empty? systems_xml.elements.each do |system_type| @@ -223,12 +229,6 @@ def read_and_create_initial_systems end end end - else - hvac_xml = @g.add_hvac_system_to_facility(@base_xml) - lighting_xml = @g.add_lighting_system_to_facility(@base_xml) - @hvac_system = HVACSystem.new(hvac_xml, @ns) - @lighting_system = LightingSystemType.new(lighting_xml, @ns) - @load_system = LoadsSystem.new end end diff --git a/spec/tests/translator_sizing_run_spec.rb b/spec/tests/translator_sizing_run_spec.rb index 59fb2023..e9cf030f 100644 --- a/spec/tests/translator_sizing_run_spec.rb +++ b/spec/tests/translator_sizing_run_spec.rb @@ -54,6 +54,12 @@ ['building_151_n1.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['building_151_n1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + ## building_151_level1 + ['building_151_level1.xml', CA_TITLE24, nil, 'v2.4.0'], + ['building_151_level1.xml', ASHRAE90_1, nil, 'v2.4.0'], + ['building_151_level1.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + ['building_151_level1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + # Building 151 multifamily ['building_151_multifamily.xml', ASHRAE90_1, nil, 'v2.4.0'], ['building_151_multifamily.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], @@ -65,11 +71,21 @@ ['DC GSA HeadquartersWithClimateZone.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['DC GSA HeadquartersWithClimateZone.xml', ASHRAE90_1, nil, 'v2.4.0'], - # L100 Audit - # None working + # ##################################### + # ## L100 Audit + # Trace/BPT trap: 5 gets hit for following 2 lines + # ['L100_Audit.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: 1ed4ea50-edc6-0131-1b8b-48e0eb16a403. Please try a different weather file."], + # ['L100_Audit.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: 1ed4ea50-edc6-0131-1b8b-48e0eb16a403. Please try a different weather file."], + ['L100_Audit.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + ['L100_Audit.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], - # BuildingSync Website Valid Schema - # None of these should work, see errors that get caught in next section. + # ##################################### + # ## Golden File + # Trace/BPT trap: 5 gets hit for following 2 lines + # ['Golden Test File.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], + # ['Golden Test File.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], + ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], # L000_OpenStudio_Pre-Simulation-01 ['L000_OpenStudio_Pre-Simulation_01.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], @@ -106,13 +122,6 @@ tests_to_run = [ # file_name, standard, epw_path, schema_version, expected_error_message - ##################################### - ## building_151_level1 - ['building_151_level1.xml', CA_TITLE24, nil, 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - ['building_151_level1.xml', ASHRAE90_1, nil, 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - ['building_151_level1.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - ['building_151_level1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - ##################################### ## BuildingSync Website Valid Schema ['BuildingSync Website Valid Schema.xml', CA_TITLE24, nil, 'v2.4.0', 'Building ID: Building001. OccupancyClassification must be defined at either the Site or Building level.'], @@ -132,22 +141,6 @@ ['DC GSA HeadquartersWithClimateZone.xml', CA_TITLE24, nil, 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES Pre-1978_LargeOffice' to create in CaliforniaTitle24"], ['DC GSA HeadquartersWithClimateZone.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES Pre-1978_LargeOffice' to create in CaliforniaTitle24"], - # ##################################### - # ## L100 Audit - # Trace/BPT trap: 5 gets hit for following 2 lines - # ['L100_Audit.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: 1ed4ea50-edc6-0131-1b8b-48e0eb16a403. Please try a different weather file."], - # ['L100_Audit.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: 1ed4ea50-edc6-0131-1b8b-48e0eb16a403. Please try a different weather file."], - ['L100_Audit.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - ['L100_Audit.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - - # ##################################### - # ## Golden File - # Trace/BPT trap: 5 gets hit for following 2 lines - # ['Golden Test File.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], - # ['Golden Test File.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], - ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24", false], - ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "undefined method `add_internal_loads' for nil:NilClass"], - # ##################################### # L000_OpenStudio_Pre-Simulation-01 # TODO: Fix download BCL function or figure out workaround From bc229919131a1f4925eba8e3a166b868b2afc59a Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Mon, 12 Feb 2024 16:21:04 -0700 Subject: [PATCH 2/7] Use class attrs the hold a list of systems --- .../model_articulation/facility.rb | 72 +++++++++++++------ 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/lib/buildingsync/model_articulation/facility.rb b/lib/buildingsync/model_articulation/facility.rb index a57100d4..5597920f 100644 --- a/lib/buildingsync/model_articulation/facility.rb +++ b/lib/buildingsync/model_articulation/facility.rb @@ -85,7 +85,7 @@ def initialize(base_xml, ns) @spaces_excluded_from_gross_floor_area = nil @load_system = nil - @hvac_system = nil + @hvac_systems = nil # reading the xml read_xml @@ -209,25 +209,41 @@ def determine_open_studio_system_standard # read systems def read_and_create_initial_systems - hvac_xml = @g.add_hvac_system_to_facility(@base_xml) - lighting_xml = @g.add_lighting_system_to_facility(@base_xml) - @hvac_systems = HVACSystem.new(hvac_xml, @ns) - @lighting_system = LightingSystemType.new(lighting_xml, @ns) + systems_xml = xget_or_create('Systems') + + init_hvac_systems(systems_xml.elements["#{@ns}:HVACSystems"]) + init_lighting_systems(systems_xml.elements["#{@ns}:LightingSystem"]) + # TODO: we aren't reading this from file... Which type of System is this? Plugloads? ProcessLoads? @load_system = LoadsSystem.new - systems_xml = xget_or_create('Systems') - if !systems_xml.elements.empty? - systems_xml.elements.each do |system_type| - @systems_map[system_type.name] = [] - system_type.elements.each do |system_xml| - if system_xml.name == 'HVACSystem' - @systems_map[system_type.name] << BuildingSync::HVACSystem.new(system_xml, @ns) - elsif system_xml.name == 'LightingSystem' - @systems_map[system_type.name] << BuildingSync::LightingSystemType.new(system_xml, @ns) - else - @systems_map[system_type.name] << system_xml - end - end + end + + def init_hvac_systems(hvac_system_xmls) + # if theres no hvac_system_xmls, use a default + if hvac_system_xmls.nil? || !hvac_system_xmls.has_elements? + hvac_xml = @g.add_hvac_system_to_facility(@base_xml) + @hvac_systems = [ HVACSystem.new(hvac_xml, @ns)] + + # else, use the hvac_system_xmls + else + @hvac_systems = [] + hvac_system_xmls.elements.each do |hvac_system_xml| + @hvac_systems << BuildingSync::HVACSystem.new(hvac_system_xml, @ns) + end + end + end + + def init_lighting_systems(lighting_system_xmls) + # if theres no lighting_system_xmls, use a default + if lighting_system_xmls.nil? || !lighting_system_xmls.has_elements? + lighting_xml = @g.add_lighting_system_to_facility(@base_xml) + @lighting_systems = [LightingSystemType.new(lighting_xml, @ns)] + + # else, use the lighting_system_xmls + else + @lighting_systems = [] + lighting_system_xmls.elements.each do |lighting_system_xml| + @lighting_systems << BuildingSync::LightingSystem.new(lighting_system_xml, @ns) end end end @@ -364,7 +380,9 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type # add_exhaust if add_exhaust - @hvac_system.add_exhaust(model, open_studio_system_standard, 'Adjacent', remove_objects) + @hvac_systems.each do |hvac_system| + hvac_system.add_exhaust(model, open_studio_system_standard, 'Adjacent', remove_objects) + end end # add service water heating demand and supply @@ -374,7 +392,9 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type end # TODO: Make this better - @lighting_system.add_daylighting_controls(model, open_studio_system_standard, template, main_output_dir) + @lighting_systems.each do |lighting_system| + lighting_system.add_daylighting_controls(model, open_studio_system_standard, template, main_output_dir) + end # TODO: - add internal mass # TODO: - add slab modeling and slab insulation @@ -388,12 +408,16 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type # works by switching some fraction of electric loads to gas if requested (assuming base load is electric) # add thermostats if add_thermostat - @hvac_system.add_thermostats(model, open_studio_system_standard, remove_objects) + @hvac_systems.each do |hvac_system| + hvac_system.add_thermostats(model, open_studio_system_standard, remove_objects) + end end # add hvac system if add_hvac - @hvac_system.add_hvac(model, zone_hash, open_studio_system_standard, system_type, hvac_delivery_type, htg_src, clg_src, remove_objects) + @hvac_systems.each do |hvac_system| + hvac_system.add_hvac(model, zone_hash, open_studio_system_standard, system_type, hvac_delivery_type, htg_src, clg_src, remove_objects) + end end # set hvac controls and efficiencies (this should be last model articulation element) @@ -403,7 +427,9 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type objects_after_cleanup = initial_objects - model.getModelObjects.size OpenStudio.logFree(OpenStudio::Warn, 'BuildingSync.Facility.create_building_system', "Removing #{objects_after_cleanup} objects from model") end - @hvac_system.apply_sizing_and_assumptions(model, main_output_dir, open_studio_system_standard, primary_bldg_type, system_type, climate_zone) + @hvac_systems.each do |hvac_system| + hvac_system.apply_sizing_and_assumptions(model, main_output_dir, open_studio_system_standard, primary_bldg_type, system_type, climate_zone) + end end # remove everything but spaces, zones, and stub space types (extend as needed for additional objects, may make bool arg for this) From fbdcc0e9bd75408b1bac581ced3e9959a60636ff Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Mon, 12 Feb 2024 18:17:26 -0700 Subject: [PATCH 3/7] Remove system_mappings --- .../model_articulation/facility.rb | 46 +++++++++++++------ .../model_articulation_test/facility_spec.rb | 33 ++++--------- .../lighting_system_type_spec.rb | 7 +-- 3 files changed, 45 insertions(+), 41 deletions(-) diff --git a/lib/buildingsync/model_articulation/facility.rb b/lib/buildingsync/model_articulation/facility.rb index 5597920f..13c50b04 100644 --- a/lib/buildingsync/model_articulation/facility.rb +++ b/lib/buildingsync/model_articulation/facility.rb @@ -76,7 +76,6 @@ def initialize(base_xml, ns) @measures = [] @contacts = [] - @systems_map = {} # TODO: Go under Report @utility_name = nil @@ -84,8 +83,9 @@ def initialize(base_xml, ns) @metering_configuration = nil @spaces_excluded_from_gross_floor_area = nil - @load_system = nil @hvac_systems = nil + @lighting_systems = nil + @load_systems = nil # reading the xml read_xml @@ -213,8 +213,7 @@ def read_and_create_initial_systems init_hvac_systems(systems_xml.elements["#{@ns}:HVACSystems"]) init_lighting_systems(systems_xml.elements["#{@ns}:LightingSystem"]) - # TODO: we aren't reading this from file... Which type of System is this? Plugloads? ProcessLoads? - @load_system = LoadsSystem.new + init_load_systems(systems_xml.elements["#{@ns}:PlugLoads"]) # PlugLoad, not ProcessLoad end @@ -248,6 +247,21 @@ def init_lighting_systems(lighting_system_xmls) end end + def init_load_systems(loads_system_xmls) + # if theres no loads_system_xmls, use a default + if loads_system_xmls.nil? || !loads_system_xmls.has_elements? + loads_system_xml = @g.add_plug_load_to_facility(@base_xml) + @load_systems = [BuildingSync::LoadsSystem.new(loads_system_xml, @ns)] + + # else, use the lighting_system_xmls + else + @load_systems = [] + loads_system_xmls.elements.each do |lighting_system_xml| + @load_systems << BuildingSync::LoadsSystem.new(lighting_system_xml, @ns) + end + end + end + # @see BuildingSync::Report.add_cb_modeled def add_cb_modeled(id = 'Scenario-Baseline') @report.add_cb_modeled(id) @@ -264,13 +278,13 @@ def add_blank_lighting_system(premise_id, premise_type, lighting_system_id = 'Li @g.add_linked_premise(lighting_system_xml, premise_id, premise_type) # Create a new array if doesn't yet exist - if !@systems_map.key?('LightingSystems') - @systems_map['LightingSystems'] = [] + if @lighting_systems.nil? + @lighting_systems = [] end # Create new lighting system and add to array new_system = BuildingSync::LightingSystemType.new(lighting_system_xml, @ns) - @systems_map['LightingSystems'] << new_system + @lighting_systems << new_system return new_system end @@ -324,13 +338,17 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type # add internal loads to space types if add_space_type_loads - @load_system.add_internal_loads(model, open_studio_system_standard, template, @site.get_building_sections, remove_objects) + @load_systems.each do |load_system| + load_system.add_internal_loads(model, open_studio_system_standard, template, @site.get_building_sections, remove_objects) + end new_occupancy_peak = @site.get_peak_occupancy new_occupancy_peak.each do |id, occupancy_peak| floor_area = @site.get_floor_area[id] if occupancy_peak && floor_area && floor_area > 0.0 puts "new peak occupancy value found: absolute occupancy: #{occupancy_peak} occupancy per area: #{occupancy_peak.to_f / floor_area.to_f} and area: #{floor_area} m2" - @load_system.adjust_occupancy_peak(model, occupancy_peak, floor_area, @site.get_space_types_from_hash(id)) + @load_systems.each do |load_system| + load_system.adjust_occupancy_peak(model, occupancy_peak, floor_area, @site.get_space_types_from_hash(id)) + end end end end @@ -363,13 +381,15 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type # add elevators (returns ElectricEquipment object) if add_elevators - @load_system.add_elevator(model, open_studio_system_standard) + @load_systems.each do |load_system| + load_system.add_elevator(model, open_studio_system_standard) + end end # add exterior lights (returns a hash where key is lighting type and value is exteriorLights object) if add_exterior_lights - if !@systems_map['LightingSystems'].nil? - @systems_map['LightingSystems'].each do |lighting_system| + if !@lighting_systems.nil? + @lighting_systems.each do |lighting_system| lighting_system.add_exterior_lights(model, open_studio_system_standard, onsite_parking_fraction, exterior_lighting_zone, remove_objects) end else @@ -460,6 +480,6 @@ def prepare_final_xml @site.prepare_final_xml end - attr_reader :systems_map, :site, :report, :measures, :contacts + attr_reader :site, :report, :measures, :contacts, :hvac_systems, :lighting_systems, :load_systems end end diff --git a/spec/tests/model_articulation_test/facility_spec.rb b/spec/tests/model_articulation_test/facility_spec.rb index a0e77afd..d5f1072d 100644 --- a/spec/tests/model_articulation_test/facility_spec.rb +++ b/spec/tests/model_articulation_test/facility_spec.rb @@ -166,7 +166,7 @@ end end -RSpec.describe 'Facility Systems Mapping' do +RSpec.describe 'Facility Systems' do before(:all) do # -- Setup @ns = 'auc' @@ -184,33 +184,20 @@ @facility = BuildingSync::Facility.new(facility_xml, @ns) end describe 'with systems defined' do - it 'should be of the correct data structure' do - # -- Assert - expect(@facility.systems_map).to be_an_instance_of(Hash) - end - it 'should have the correct keys' do - # -- Assert correct keys get created - expected_keys = ['HVACSystems', 'LightingSystems', 'PlugLoads'] - expected_keys.each do |k| - expect(@facility.systems_map.key?(k)).to be true - end - end - it 'values should be of the correct type and size' do # -- Assert values of keys are correct type and size - expect(@facility.systems_map['HVACSystems']).to be_an_instance_of(Array) - expect(@facility.systems_map['LightingSystems']).to be_an_instance_of(Array) - expect(@facility.systems_map['PlugLoads']).to be_an_instance_of(Array) - expect(@facility.systems_map['HVACSystems'].size).to eq(2) - expect(@facility.systems_map['LightingSystems'].size).to eq(1) - expect(@facility.systems_map['PlugLoads'].size).to eq(1) + expect(@facility.hvac_systems).to be_an_instance_of(Array) + expect(@facility.lighting_systems).to be_an_instance_of(Array) + expect(@facility.load_systems).to be_an_instance_of(Array) + expect(@facility.hvac_systems.size).to eq(2) + expect(@facility.lighting_systems.size).to eq(1) + expect(@facility.load_systems.size).to eq(1) end it 'values in array should be of the correct type' do - # Only HVACSystem and LightingSystem should be typed as BSync element types (for now) - expect(@facility.systems_map['HVACSystems'][0]).to be_an_instance_of(BuildingSync::HVACSystem) - expect(@facility.systems_map['LightingSystems'][0]).to be_an_instance_of(BuildingSync::LightingSystemType) - expect(@facility.systems_map['PlugLoads'][0]).to be_an_instance_of(REXML::Element) + expect(@facility.hvac_systems[0]).to be_an_instance_of(BuildingSync::HVACSystem) + expect(@facility.lighting_systems[0]).to be_an_instance_of(BuildingSync::LightingSystemType) + expect(@facility.load_systems[0]).to be_an_instance_of(BuildingSync::LoadsSystem) end end describe 'with no systems defined' do diff --git a/spec/tests/model_articulation_test/lighting_system_type_spec.rb b/spec/tests/model_articulation_test/lighting_system_type_spec.rb index ba4bd474..9bc1fd3b 100644 --- a/spec/tests/model_articulation_test/lighting_system_type_spec.rb +++ b/spec/tests/model_articulation_test/lighting_system_type_spec.rb @@ -73,7 +73,6 @@ @facility = BuildingSync::Facility.new(facility_xml, ns) # -- Assert - No systems have been added - expect(@facility.systems_map.empty?).to be true @facility.determine_open_studio_standard(@std) # Add a blank lighting system to the facility and link it to the building @@ -81,10 +80,8 @@ @lighting_system = @facility.add_blank_lighting_system(building_id, 'Building') # -- Assert Lighting System has been properly added - expect(@facility.systems_map.key?('LightingSystems')).to be true - expect(@facility.systems_map['LightingSystems'].size).to eq(1) - expect(@facility.systems_map['LightingSystems'][0]).to be @lighting_system - expect(@lighting_system.xget_linked_premises).to eq('Building' => ['Building1']) + expect(@facility.lighting_systems.size).to eq(1) + expect(@facility.lighting_systems[0].xget_linked_premises).to eq('Building' => ['Building1']) # we need to create a site and call the generate_baseline_osm method in order to set the space types in the model, why are those really needed? @facility.generate_baseline_osm(@epw_file_path, @output_path, @std) From 36e94af6426857db424f5bbedf502de3331c2626 Mon Sep 17 00:00:00 2001 From: ThibaultMarzullo Date: Thu, 15 Feb 2024 13:39:10 -0700 Subject: [PATCH 4/7] Typos that broke the facility spec and lighting systems initialization --- lib/buildingsync/model_articulation/facility.rb | 4 ++-- spec/tests/model_articulation_test/facility_spec.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/buildingsync/model_articulation/facility.rb b/lib/buildingsync/model_articulation/facility.rb index 13c50b04..aee06f34 100644 --- a/lib/buildingsync/model_articulation/facility.rb +++ b/lib/buildingsync/model_articulation/facility.rb @@ -212,7 +212,7 @@ def read_and_create_initial_systems systems_xml = xget_or_create('Systems') init_hvac_systems(systems_xml.elements["#{@ns}:HVACSystems"]) - init_lighting_systems(systems_xml.elements["#{@ns}:LightingSystem"]) + init_lighting_systems(systems_xml.elements["#{@ns}:LightingSystems"]) init_load_systems(systems_xml.elements["#{@ns}:PlugLoads"]) # PlugLoad, not ProcessLoad end @@ -242,7 +242,7 @@ def init_lighting_systems(lighting_system_xmls) else @lighting_systems = [] lighting_system_xmls.elements.each do |lighting_system_xml| - @lighting_systems << BuildingSync::LightingSystem.new(lighting_system_xml, @ns) + @lighting_systems << BuildingSync::LightingSystemType.new(lighting_system_xml, @ns) end end end diff --git a/spec/tests/model_articulation_test/facility_spec.rb b/spec/tests/model_articulation_test/facility_spec.rb index d5f1072d..93f4aea5 100644 --- a/spec/tests/model_articulation_test/facility_spec.rb +++ b/spec/tests/model_articulation_test/facility_spec.rb @@ -172,7 +172,7 @@ @ns = 'auc' g = BuildingSync::Generator.new doc = g.create_minimum_snippet('Retail') - doc_no_systems = g.create_minimum_snippet('Retail)') + doc_no_systems = g.create_minimum_snippet('Retail') @facility_no_systems_xml = g.get_first_facility_element(doc_no_systems) g.add_hvac_system_to_first_facility(doc, 'HVACSystem-1', 'VAV with Hot Water Reheat') From e49dabf61b1a5ce97cedc571916d5fc46323dada Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Thu, 15 Feb 2024 16:13:34 -0700 Subject: [PATCH 5/7] Add test --- .../model_articulation/facility.rb | 2 +- .../v2.4.0/example-smalloffice-level1.xml | 1133 +++++++++++++++++ .../lighting_system_type_spec.rb | 4 +- spec/tests/translator_sizing_run_spec.rb | 1 + 4 files changed, 1137 insertions(+), 3 deletions(-) create mode 100644 spec/files/v2.4.0/example-smalloffice-level1.xml diff --git a/lib/buildingsync/model_articulation/facility.rb b/lib/buildingsync/model_articulation/facility.rb index aee06f34..62aa8cde 100644 --- a/lib/buildingsync/model_articulation/facility.rb +++ b/lib/buildingsync/model_articulation/facility.rb @@ -388,7 +388,7 @@ def create_building_systems(main_output_dir:, zone_hash: nil, hvac_delivery_type # add exterior lights (returns a hash where key is lighting type and value is exteriorLights object) if add_exterior_lights - if !@lighting_systems.nil? + if !@lighting_systems.empty? @lighting_systems.each do |lighting_system| lighting_system.add_exterior_lights(model, open_studio_system_standard, onsite_parking_fraction, exterior_lighting_zone, remove_objects) end diff --git a/spec/files/v2.4.0/example-smalloffice-level1.xml b/spec/files/v2.4.0/example-smalloffice-level1.xml new file mode 100644 index 00000000..79467b7a --- /dev/null +++ b/spec/files/v2.4.0/example-smalloffice-level1.xml @@ -0,0 +1,1133 @@ + + + + + + + + + Small Office Prototype + Here we record general problems / issues identified in a walkthrough survey. +
+ + + 4055 Brooks Street + + + Missoula + MT + 59804 +
+ Commercial + Office + + 1 + 0 + 1 + 0 + false + + + Gross + 5500.000000 + + + Conditioned + 5500.000000 + + + 2006 + 2006 + 2006 + +
+ Space function + Office + Office + + + Peak total occupants + 31.000000 + + + + + 40.000000 + Hours per week + + + 50.000000 + Weeks per year + + + + + Gross + 5500.000000 + + + Conditioned + 5500.000000 + + +
+
+
+
+
+
+ + + + Packaged Rooftop Heat Pump + +
+ +
+
+
+ + Packaged Rooftop Heat Pump + +
+ +
+
+
+ + Packaged Rooftop Heat Pump + +
+ +
+
+
+ + Packaged Rooftop Heat Pump + +
+ +
+
+
+ + Packaged Rooftop Heat Pump + +
+ +
+
+
+
+ + + + + T8 + + + Standard Electronic + +
+ +
+
+
+
+ + + 0.630000 + +
+ +
+
+
+
+
+ + + + + + + + + + Lighting + + + + Retrofit with light emitting diode technologies + + + + This measure is designed to replace all fluorescent bulbs with LEDs + + + + + + + + + + + + + + Fan + + + + Add VSD motor controller + + + + This measure is designed to retrofit all RTU fans with a VSD + + + + + + + + + + + + + + + + Electricity + This is required for L1 to document irregularities in monthly energy patterns (Std 211 6.1.2.1.j). No irregularities found. + kWh + All end uses + 68516.730000 + 234.000000 + + + + + + + + + + + + + + + kW + 21.120000 + 21.120000 + 5304.000000 + + + + + + + + Indirect + CO2e + 25000.000000 + + + + + + + + + + + + + + + + + + + Natural gas + No irregularities in monthly energy consumption found. + MMBtu + All end uses + 17.160000 + 17.160000 + + + + + + + + + + + + + + + 91.630000 + + + + + + + + Total + Energy + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 6792.890000 + + + + Total + Energy + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 5841.750000 + + + + Total + Energy + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 6025.190000 + + + + Total + Energy + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 4985.300000 + + + + Total + Energy + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 5184.040000 + + + + Total + Energy + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 5358.550000 + + + + Total + Energy + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 5755.670000 + + + + Total + Energy + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 5981.780000 + + + + Total + Energy + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 5401.940000 + + + + Total + Energy + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 5225.840000 + + + + Total + Energy + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 5672.150000 + + + + Total + Energy + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 6291.630000 + + + + Total + Greenhouse Gas Emissions + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 250.000000 + + + + Total + Greenhouse Gas Emissions + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 240.000000 + + + + Total + Greenhouse Gas Emissions + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 260.000000 + + + + Total + Greenhouse Gas Emissions + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 250.000000 + + + + Total + Greenhouse Gas Emissions + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 260.000000 + + + + Total + Greenhouse Gas Emissions + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 230.000000 + + + + Total + Greenhouse Gas Emissions + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 280.000000 + + + + Total + Greenhouse Gas Emissions + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 270.000000 + + + + Total + Greenhouse Gas Emissions + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 260.000000 + + + + Total + Greenhouse Gas Emissions + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 250.000000 + + + + Total + Greenhouse Gas Emissions + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 240.000000 + + + + Total + Greenhouse Gas Emissions + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 250.000000 + + + + Total + Energy + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 5.700000 + + + + Total + Energy + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 4.010000 + + + + Total + Energy + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 0.580000 + + + + Total + Energy + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 0.400000 + + + + Total + Energy + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 0.020000 + + + + Total + Energy + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 0.000000 + + + + Total + Energy + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 0.000000 + + + + Total + Energy + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 0.000000 + + + + Total + Energy + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 0.000000 + + + + Total + Energy + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 0.010000 + + + + Total + Energy + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 0.360000 + + + + Total + Energy + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 6.080000 + + + + Peak + Power + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 15.420000 + + + + Peak + Power + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 15.500000 + + + + Peak + Power + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 16.250000 + + + + Peak + Power + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 16.650000 + + + + Peak + Power + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 18.560000 + + + + Peak + Power + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 20.010000 + + + + Peak + Power + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 20.820000 + + + + Peak + Power + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 21.120000 + + + + Peak + Power + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 20.420000 + + + + Peak + Power + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 20.080000 + + + + Peak + Power + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 17.400000 + + + + Peak + Power + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 16.300000 + + + + Cost + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 520.480000 + + + + Cost + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 451.530000 + + + + Cost + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 464.830000 + + + + Cost + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 389.430000 + + + + Cost + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 403.840000 + + + + Cost + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 416.490000 + + + + Cost + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 445.290000 + + + + Cost + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 461.680000 + + + + Cost + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 419.640000 + + + + Cost + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 406.870000 + + + + Cost + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 439.230000 + + + + Cost + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 484.140000 + + + + Cost + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + Month + 30.440000 + + + + Cost + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + Month + 21.410000 + + + + Cost + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + Month + 3.100000 + + + + Cost + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + Month + 2.140000 + + + + Cost + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + Month + 0.110000 + + + + Cost + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + Month + 0.000000 + + + + Cost + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + Month + 0.000000 + + + + Cost + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + Month + 0.000000 + + + + Cost + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + Month + 0.000000 + + + + Cost + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + Month + 0.050000 + + + + Cost + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + Month + 1.920000 + + + + Cost + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + Month + 32.470000 + + + + + + 250953.500000 + 45.600000 + 759011.900000 + 138.000000 + 250953.500000 + 45.600000 + 250.953500 + 0.000000 + 0.000000 + 0.000000 + 5395.000000 + 0.980000 + + + + + + + + + 2021-03-24 + + + Portfolio Manager + 2019 + 56.000000 + + + + + 274825.000000 + 50.000000 + + + + + + + + + + + + + 67181.500000 + 931 + 70.000000 + + + + + 207643.500000 + 37.800000 + 4451.510000 + 0.810000 + + + + + + + + + + + Capital + + Low + Medium + Medium + High + Medium + + + + + + + + + + + + Capital + + Low + Medium + Medium + High + Medium + + + + + + + + + + + + + Capital + + Low + Medium + Medium + High + Medium + + + + + + + + + + + + + + --01-01 + --01-01 + --01-01 + --01-01 + 0.072500 + 0.000000 + + + + + https://missoulaelectric.com/member-care/billing-payment/rates/ + 28.000000 + + + 12692 + Missoula Electric Cooperative + some-account-number + + + + + + + + + --01-01 + --01-01 + 5.500000 + + + + + https://naturalgaslocal.com/states/montana/missoula/ + + + NorthWestern Energy + some-other-account-number + + + + + + + + + + + + + + Owner + + The dude + Some big company + + + the.dude@somebigco.net + + + + + + Energy Auditor + + The lady + Auditeers + + + the.lady@the-three-auditeers.com + + + + +
+
+
diff --git a/spec/tests/model_articulation_test/lighting_system_type_spec.rb b/spec/tests/model_articulation_test/lighting_system_type_spec.rb index 9bc1fd3b..ae1c71ba 100644 --- a/spec/tests/model_articulation_test/lighting_system_type_spec.rb +++ b/spec/tests/model_articulation_test/lighting_system_type_spec.rb @@ -80,8 +80,8 @@ @lighting_system = @facility.add_blank_lighting_system(building_id, 'Building') # -- Assert Lighting System has been properly added - expect(@facility.lighting_systems.size).to eq(1) - expect(@facility.lighting_systems[0].xget_linked_premises).to eq('Building' => ['Building1']) + expect(@facility.lighting_systems.size).to eq(2) + expect(@facility.lighting_systems[1].xget_linked_premises).to eq('Building' => ['Building1']) # we need to create a site and call the generate_baseline_osm method in order to set the space types in the model, why are those really needed? @facility.generate_baseline_osm(@epw_file_path, @output_path, @std) diff --git a/spec/tests/translator_sizing_run_spec.rb b/spec/tests/translator_sizing_run_spec.rb index e9cf030f..8a9cbd4a 100644 --- a/spec/tests/translator_sizing_run_spec.rb +++ b/spec/tests/translator_sizing_run_spec.rb @@ -104,6 +104,7 @@ ['L000_OpenStudio_Pre-Simulation_04.xml', ASHRAE90_1, nil, 'v2.4.0'], ['L000_OpenStudio_Pre-Simulation_04.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['L000_OpenStudio_Pre-Simulation_04.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + ['example-smalloffice-level1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], # Office_Carolina ['Office_Carolina.xml', ASHRAE90_1, nil, 'v2.4.0'], From 3b146d1f2c59aad5931fbf185643856cb67518df Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Thu, 15 Feb 2024 18:06:21 -0700 Subject: [PATCH 6/7] Move sometests around --- spec/tests/translator_sizing_run_spec.rb | 31 +++++++++++++++--------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/spec/tests/translator_sizing_run_spec.rb b/spec/tests/translator_sizing_run_spec.rb index 8a9cbd4a..29167095 100644 --- a/spec/tests/translator_sizing_run_spec.rb +++ b/spec/tests/translator_sizing_run_spec.rb @@ -55,9 +55,7 @@ ['building_151_n1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ## building_151_level1 - ['building_151_level1.xml', CA_TITLE24, nil, 'v2.4.0'], ['building_151_level1.xml', ASHRAE90_1, nil, 'v2.4.0'], - ['building_151_level1.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['building_151_level1.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], # Building 151 multifamily @@ -71,6 +69,12 @@ ['DC GSA HeadquartersWithClimateZone.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['DC GSA HeadquartersWithClimateZone.xml', ASHRAE90_1, nil, 'v2.4.0'], + # L100 Audit + # None working + + # BuildingSync Website Valid Schema + # None of these should work, see errors that get caught in next section. + # ##################################### # ## L100 Audit # Trace/BPT trap: 5 gets hit for following 2 lines @@ -79,14 +83,6 @@ ['L100_Audit.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ['L100_Audit.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], - # ##################################### - # ## Golden File - # Trace/BPT trap: 5 gets hit for following 2 lines - # ['Golden Test File.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], - # ['Golden Test File.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], - ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], - ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], - # L000_OpenStudio_Pre-Simulation-01 ['L000_OpenStudio_Pre-Simulation_01.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], @@ -123,6 +119,11 @@ tests_to_run = [ # file_name, standard, epw_path, schema_version, expected_error_message + ##################################### + ## building_151_level1 + ['building_151_level1.xml', CA_TITLE24, nil, 'v2.4.0', "This is not a table"], + ['building_151_level1.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "This is not a table"], + ##################################### ## BuildingSync Website Valid Schema ['BuildingSync Website Valid Schema.xml', CA_TITLE24, nil, 'v2.4.0', 'Building ID: Building001. OccupancyClassification must be defined at either the Site or Building level.'], @@ -140,7 +141,15 @@ #################################### # DC GSA HeadquartersWithClimateZone ['DC GSA HeadquartersWithClimateZone.xml', CA_TITLE24, nil, 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES Pre-1978_LargeOffice' to create in CaliforniaTitle24"], - ['DC GSA HeadquartersWithClimateZone.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES Pre-1978_LargeOffice' to create in CaliforniaTitle24"], + ['DC GSA HeadquartersWithClimateZone.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES Pre-1978_LargeOffice' to create in CaliforniaTitle24"], # ##################################### + + # ##################################### + # ## Golden File + # Trace/BPT trap: 5 gets hit for following 2 lines + # ['Golden Test File.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], + # ['Golden Test File.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], + ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24", false], + ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24"], # ##################################### # L000_OpenStudio_Pre-Simulation-01 From b30573364846e37c53e44271b0ad61905cc94777 Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Thu, 15 Feb 2024 20:09:04 -0700 Subject: [PATCH 7/7] Fix tests --- spec/files/v2.4.0/L200_Audit-1.0.0.xml | 2258 ++++++++++++++ .../v2.4.0/example-smalloffice-level2.xml | 2733 +++++++++++++++++ spec/tests/translator_sizing_run_spec.rb | 9 +- 3 files changed, 4997 insertions(+), 3 deletions(-) create mode 100644 spec/files/v2.4.0/L200_Audit-1.0.0.xml create mode 100644 spec/files/v2.4.0/example-smalloffice-level2.xml diff --git a/spec/files/v2.4.0/L200_Audit-1.0.0.xml b/spec/files/v2.4.0/L200_Audit-1.0.0.xml new file mode 100644 index 00000000..1e08d4f1 --- /dev/null +++ b/spec/files/v2.4.0/L200_Audit-1.0.0.xml @@ -0,0 +1,2258 @@ + + + + + + + + + + + Building Name + + + Problems or Needs + ----------------- + Problems or needs identified in walkthrough survey, + including revisions to operations and maintenance procedures + + Comfort or Health Concerns + ----------------- + Comfort or health concerns, including indoor environmental quality (IEQ) deficiencies + + Need for Repairs + ----------------- + Need for repairs + + Opportunities to Improve Maintenance Practices + ----------------- + Opportunities to improve maintenance practices + + Other Conditions Causing Unusual Operating Costs + ----------------- + Other conditions causing unusual operating costs + + + + + + + 123 Main Street + + + + Rome + GA + 30161 + + + Mixed use commercial + Office + + + + + Apartment units + 1 + 100 + + + + + 2 + 1 + 1 + 1 + true + + true + + + + Gross + 5502 + + + + + + Conditioned + 5502 + + + + + + 123 + 123 + 0.2 + 0.1 + + 1993 + + 2018 + + 2020-03-01 + + 2016 + + + + Space function + Office + Office + + + + + Peak total occupants + 123 + + + + + + 40 + Hours per week + + + + 30 + Weeks per year + + + + + + Gross + 123 + + + Conditioned + 23 + + + Single zone + + + Space function + Multifamily + Other + + + + + Peak total occupants + 123 + + + + + + 40 + Hours per week + + + + 30 + Weeks per year + + + + + + Gross + 10 + + + Conditioned + 10 + + + Single zone + + + Whole building + Rectangular + + + A1 + + + 123 + + + + + 123 + + + + + 123 + + + + + B1 + + + 123 + + + + + 123 + + + + + 123 + + + + + C1 + + + 123 + + + + + 123 + + + + + 123 + + + + + D1 + + + 123 + + + + + 123 + + + + + 123 + + + + + + + + 123 + Excellent + + + + + + + 123 + + + + + + + + + + + + + + + + + + 123 + COP + 123 + gpm + + Good + 2020 + Other + true + + + + + + + + + + Single zone + + + + + Warm air + + + 123 + COP + 123 + 123 + gpm + Good + + + + + + + + + + 2020 + + + + + + + + + + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2020 + 1 + Good + + + + + + Single + Excellent + + + + + + Digital + + + + + + + + + + + + + + + + + + + + + + Spiral + + + Standard Electronic + + .2 + + 100 + 123 + 123 + 1 + 1 + 1 + false + + + + + + + Photocell + Continuous + + + + false + + + + + + + + + + + + + + + + + + + + + + Notes + + 1 + 123 + Continuous + 123 + 123 + + Looped + COP + 123 + 123 + 123 + 123 + 123 + gpm + + + + + + + + + + Electricity + Excellent + + + + + + + + + + 123 + + + + + 123 + 123 + 123 + Constant Volume + + + + + + + + 123 + 123 + 123 + Stepped + + + + + + + + Concrete poured + 1 + + + + + Wood frame + 1 + + + + + + + + Steel + Clear uncoated + Single pane + 1.25 + 0.5 + 0.5 + + + + + + Steel + Low e + Triple pane + 0.25 + 0.5 + 0.5 + + + + + Insulated metal + 0.5 + + + Steel + 0.5 + + + + + + + + 0.5 + + + + Concrete poured + + + + + + 123 + + + + + + + + + + + + + + + + + + + + + + + + 123 + 123 + + + + + + + + + + + Microturbine + Electricity + + + + + + + + + Battery + + + 123 + kW + + + + + Notes on the test conducted + Very Tight + 123 + CFM25 + Blower door + + + + + + + + + + Notes on the test conducted + + + + + + + + + + + + + Weekday + Occupied + 09:00:00 + 17:00:00 + 80 + + + Weekend + Occupied + 09:00:00 + 17:00:00 + 80 + + + Holiday + Occupied + 09:00:00 + 17:00:00 + 80 + + + + + + + + + + + + + Weekday + Lighting + 09:00:00 + 17:00:00 + 80 + + + Weekend + Lighting + 09:00:00 + 17:00:00 + 80 + + + Holiday + Lighting + 09:00:00 + 17:00:00 + 80 + + + + + + + + + + + + Weekday + Lighting + 09:00:00 + 17:00:00 + 40 + + + Weekend + Lighting + 09:00:00 + 12:00:00 + 40 + + + Holiday + Lighting + 09:00:00 + 17:00:00 + 0 + + + + + + + + + + + + Weekday + HVAC equipment + 09:00:00 + 17:00:00 + 80 + + + Weekend + HVAC equipment + 09:00:00 + 17:00:00 + 80 + + + Holiday + HVAC equipment + 09:00:00 + 17:00:00 + 80 + + + + + + + + + + + + Weekday + Miscellaneous equipment + 09:00:00 + 17:00:00 + 80 + + + Weekend + Miscellaneous equipment + 09:00:00 + 17:00:00 + 80 + + + Holiday + Miscellaneous equipment + 09:00:00 + 17:00:00 + 80 + + + + + + + + + + + + + + + + + + + + + + Lighting + + + + Other + + + + Individual system + + Update lighting schedules + + The current lighting schedule is set to be at 80% output during weekdays, weekends, and holidays from 9am - 5pm. This measure would implement a modified schedule to reduce default output to 40%, reducing scheduled on-period on weekends to 9am - 12pm, and having no required schedule on holidays. + 1 + 123 + 123 + true + 2020-01-01 + 2020-12-01 + + + + + + + + + + + + + Fenestration + + + + Replace windows + + + + Entire building + 20 + 123 + 123 + true + 2020-01-01 + 2020-12-01 + + + + + + + + + + + + + + + + + + Electricity + + Sampling Methodology + ------------------- + Notes on meter sampling methods (if sampling was used) + + Irregularities + -------------- + Notes on any irregularities in meter readings + + kWh + All end uses + 52943.01 + 180.65 + + + + + + + + + + + + + + + kW + 19.07 + 5029.59 + + + + + + Natural gas + + Sampling Methodology + ------------------- + Notes on meter sampling methods (if sampling was used) + + Irregularities + -------------- + Notes on any irregularities in meter readings + + MMBtu + All end uses + 0.22 + 0.22 + + + + + + + + + + + + + + + 324 + + + + + + Electricity-Onsite generated + + Sampling Methodology + ------------------- + Notes on meter sampling methods (if sampling was used) + + Irregularities + -------------- + Notes on any irregularities in meter readings + + kWh + All end uses + 5929 + 20.21 + + + + + + + + + + + + + + + 543 + + + + + + + Electricity + Total lighting + 123 + 123 + + + + Electricity + Heating + 123 + 123 + + + + Electricity + Cooling + 123 + 123 + + + + + + + + + Total + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 4102.51 + + + + Total + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 30 + Day + Month + 3737.04 + + + + Total + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 4167.07 + + + + Total + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 3897.44 + + + + Total + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 4565.50 + + + + Total + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 4870.87 + + + + Total + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 4977.64 + + + + Total + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 5275.05 + + + + Total + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 4788.79 + + + + Total + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 4353.99 + + + + Total + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 4154.67 + + + + Total + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 4052.43 + + + + + Peak + On-peak + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 14.78 + + + + Peak + On-peak + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 14.12 + + + + Peak + On-peak + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 14.36 + + + + Peak + On-peak + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 15.14 + + + + Peak + On-peak + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 16.41 + + + + Peak + On-peak + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 17.51 + + + + Peak + On-peak + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 18.14 + + + + Peak + On-peak + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 19.07 + + + + Peak + On-peak + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 17.85 + + + + Peak + On-peak + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 16.54 + + + + Peak + On-peak + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 15.19 + + + + Peak + On-peak + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 15.05 + + + + + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 389.74 + + + + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 355.02 + + + + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 395.87 + + + + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 370.26 + + + + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 433.72 + + + + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 462.73 + + + + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 472.88 + + + + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 501.13 + + + + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 454.94 + + + + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 413.63 + + + + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 394.69 + + + + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 384.98 + + + + + Load factor + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 0.373 + + + + Load factor + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 0.394 + + + + Load factor + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 0.390 + + + + Load factor + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 0.358 + + + + Load factor + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 0.374 + + + + Load factor + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 0.386 + + + + Load factor + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 0.369 + + + + Load factor + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 0.372 + + + + Load factor + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 0.373 + + + + Load factor + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 0.354 + + + + Load factor + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 0.380 + + + + Load factor + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 0.362 + + + + + Total + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 0.1 + + + + Total + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 0.05 + + + + Total + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 0.01 + + + + Total + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 0 + + + + Total + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 0 + + + + Total + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 0 + + + + Total + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 0 + + + + Total + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 0 + + + + Total + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 0 + + + + Total + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 0 + + + + Total + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 0 + + + + Total + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 0.06 + + + + + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 27 + + + + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 27 + + + + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 27 + + + + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 27 + + + + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 27 + + + + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 27 + + + + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 27 + + + + + + Total + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 385 + + + + Total + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 436 + + + + Total + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 560 + + + + Total + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 532 + + + + Total + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 568 + + + + Total + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 590 + + + + Total + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 573 + + + + Total + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 543 + + + + Total + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 514 + + + + Total + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 461 + + + + Total + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 408 + + + + Total + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 359 + + + + + + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 35 + + + + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 40 + + + + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 51 + + + + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 49 + + + + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 52 + + + + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 54 + + + + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 53 + + + + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 50 + + + + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 47 + + + + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 42 + + + + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 37 + + + + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 33 + + + + + + + 170870 + 31.06 + 191080 + 34.73 + 180.87 + 20.21 + 0 + 10 + 5896.59 + 1.07 + + + + + + + + + + + + + + 123 + 123 + + + + + 123 + 123 + 123 + 123 + + + + + + + + + + + + + + + + + Portfolio Manager + 2020 + 75 + + + + + 123 + 123 + + + + + + + + + + + + + + + + + + Low-Cost or No-Cost + 123 + 123 + + + Electricity + kWh + 123 + + + Natural gas + MMBtu + 0 + + + 123 + 123 + 123 + 123 + 1 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + + + + + + + + + + + + + + + + + + + + --01-01 + --12-01 + --01-01 + --12-01 + 123 + 123 + + + + + + + + 12345 + + + 12345 + Building Owner + + + + + + + + + + --01-01 + --12-01 + + + 00:00:00 + 12:00:00 + 123 + + + 12:00:00 + 24:00:00 + 123 + + + + + + + + + + 12345 + + + 12345 + Building Owner + + + + + + + + + + + --01-01 + --12-01 + --01-01 + --12-01 + + + 123 + 123 + + + 123 + 123 + + + + + + + + + + + 12345 + + + 12345 + Building Owner + + + + + + + + + + Owner + + Building Owner + Owner Company + + + + + 123-456-7890 + + + + + + owner@example.com + + + + + + + Energy Auditor + + Building Auditor + Auditor Company + + + + + 123-456-7890 + + + + + + auditor@example.com + + + + + + + diff --git a/spec/files/v2.4.0/example-smalloffice-level2.xml b/spec/files/v2.4.0/example-smalloffice-level2.xml new file mode 100644 index 00000000..65a34d04 --- /dev/null +++ b/spec/files/v2.4.0/example-smalloffice-level2.xml @@ -0,0 +1,2733 @@ + + + + + + + + + Prototype Small Office in Denver + Here we record general problems / issues identified in a walkthrough survey. + + + City Custom Building ID + some ID + + + Custom ID 1 + some other ID + + +
+ + + Some address + + + Denver + CO + 80014 +
+ -104.830000 + 39.660000 + Commercial + Office + + 1 + 0 + 1 + 0 + true + false + + + Gross + 5500.000000 + + + + + + Conditioned + 5500.000000 + + + + + + 6500.000000 + 0.000000 + 0.213300 + 0.050000 + 2000 + 2000 + 2010 + 2020-03-01 + 2000 + +
+ Space function + Office + Office + + + Peak total occupants + 31.000000 + + + + + 40.000000 + Hours per week + + + 50.000000 + Weeks per year + + + + + Gross + 5500.000000 + + + Conditioned + 5500.000000 + + + Single zone +
+
+ Whole building + Rectangular + + + A1 + + + 909.012230 + + + + + 180.187860 + + + + + 42.086890 + + + + + B1 + + + 606.008200 + + + + + 120.125240 + + + + + 0.000000 + + + + + C1 + + + 909.012230 + + + + + 180.187860 + + + + + 0.000000 + + + + + D1 + + + 606.008200 + + + + + 120.125240 + + + + + 0.000000 + + + + + + + + 6444.999000 + Good + + + + + + + 3891.153600 + + + +
+
+ + + + + + + + + + Single zone + + + + + Packaged Unitary + Natural gas + 0.000000 + + + + 3.010000 + COP + 10311.100000 + 10311.100000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged Unitary + Natural gas + 0.000000 + + + + 3.010000 + COP + 9801.300000 + 9801.300000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged Unitary + Natural gas + 0.000000 + + + + 3.010000 + COP + 7858.100000 + 7858.100000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged Unitary + Natural gas + 0.000000 + + + + 3.010000 + COP + 9067.800000 + 9067.800000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged Unitary + Natural gas + 0.000000 + + + + 3.010000 + COP + 9855.400000 + 9855.400000 + W + Good + + + + + + + + + + 2000 + + + + + + + Packaged/unitary heat pump + Reciprocating + Single stage + + + 2.610000 + COP + 10198.900000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged/unitary heat pump + Reciprocating + Single stage + + + 2.610000 + COP + 9847.200000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged/unitary heat pump + Reciprocating + Single stage + + + 2.610000 + COP + 7737.100000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged/unitary heat pump + Reciprocating + Single stage + + + 2.610000 + COP + 9143.800000 + W + Good + + + + + + + + + + 2000 + + + + + Packaged/unitary heat pump + Reciprocating + Single stage + + + 2.610000 + COP + 9847.200000 + W + Good + + + + + + + + + + 2000 + + + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2000 + 1 + Good + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2000 + 1 + Good + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2000 + 1 + Good + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2000 + 1 + Good + + + + + Central fan + CAV terminal box no reheat + None + + + None + Fixed + + + + + + + + + + + + + + + + 2000 + 1 + Good + + + + + + Single + Good + + + + + Single + Good + + + + + Single + Good + + + + + Single + Good + + + + + Single + Good + + + + + + Digital + + +
+ + + + + +
+
+
+
+ + + + + T8 + + + Standard Electronic + + 0.200000 + + 100.000000 + 5.500000 + 32.000000 + 4 + 1.000000 + 43 + false + + + + + + + Programmable + + + + false + +
+ + + + + +
+
+
+ + + + T12 + + + Standard Electronic + 100.000000 + 1.582575 + 316.516000 + 1 + 1.000000 + 5 + true + + + + + + + Programmable + + + + false + +
+ + + + + +
+
+
+ + + + LED + + + Standard Electronic + + 0.100000 + + 100.000000 + 2.752000 + 16.000000 + 4 + 1.000000 + 43 + false + + + + + + + Photocell + Continuous + + + + false + +
+ + + + + +
+
+
+
+ + + + + + + + 40.000000 + 123.000000 + + + Notes + + 1 + 3.600000 + Continuous + 123.000000 + 1.870180 + + Looped + Thermal Efficiency + 1.000000 + 40.000000 + 140.000000 + 1950.520000 + 11722.840000 + W + + + + + + + + + + 2000 + Electricity + Good + + + + +
+ +
+
+ 1 +
+
+ + + 0.536000 + 880.000000 + 880.000000 + Constant Volume + + + + + + 0.536000 + 872.000000 + 872.000000 + Variable Volume + + + + + + 0.536000 + 836.000000 + 836.000000 + Constant Volume + + + + + + 0.536000 + 830.000000 + 830.000000 + Variable Volume + + + + + + 0.536000 + 671.000000 + 671.000000 + Constant Volume + + + + + + 0.536000 + 664.000000 + 664.000000 + Variable Volume + + + + + + 0.536000 + 774.000000 + 774.000000 + Constant Volume + + + + + + 0.536000 + 766.000000 + 766.000000 + Variable Volume + + + + + + 0.536000 + 841.000000 + 841.000000 + Constant Volume + + + + + + 0.536000 + 833.000000 + 833.000000 + Variable Volume + + + + + + + + Wood frame + 0.547000 + + + + + Wood frame + 4.706000 + + + + + + + + Vinyl + Clear uncoated + Single pane + 3.241000 + 0.391000 + 0.391000 + + + + + + Vinyl + Low e + Triple pane + 0.300000 + 0.391000 + 0.391000 + + + + + Insulated metal + 0.500000 + + + Steel + 2.839000 + + + + + + + + 0.345000 + + + + Concrete poured + + + + + Miscellaneous Electric Load + 0.630000 + +
+ + + + + +
+
+
+
+ + + Notes on test + Tight + 0.151000 + ACHnatural + Blower door + +
+ +
+
+
+
+ + + Notes on test + +
+ +
+
+
+
+
+ + + + + Weekday + Occupied + 00:00:00 + 06:00:00 + 0.000000 + + + Weekday + Occupied + 06:00:00 + 07:00:00 + 11.000000 + + + Weekday + Occupied + 07:00:00 + 08:00:00 + 21.000000 + + + Weekday + Occupied + 08:00:00 + 12:00:00 + 100.000000 + + + Weekday + Occupied + 12:00:00 + 13:00:00 + 53.000000 + + + Weekday + Occupied + 13:00:00 + 17:00:00 + 100.000000 + + + Weekday + Occupied + 17:00:00 + 18:00:00 + 32.000000 + + + Weekday + Occupied + 18:00:00 + 22:00:00 + 11.000000 + + + Weekday + Occupied + 22:00:00 + 23:00:00 + 5.000000 + + + Weekday + Occupied + 23:00:00 + 23:59:59 + 0.000000 + + + Weekend + Occupied + 00:00:00 + 23:59:59 + 0.000000 + + + Holiday + Occupied + 00:00:00 + 23:59:59 + 0.000000 + + + + + + +
+ +
+
+
+ + + + Weekday + Lighting + 00:00:00 + 05:00:00 + 18.000000 + + + Weekday + Lighting + 05:00:00 + 07:00:00 + 23.000000 + + + Weekday + Lighting + 07:00:00 + 08:00:00 + 42.000000 + + + Weekday + Lighting + 08:00:00 + 12:00:00 + 90.000000 + + + Weekday + Lighting + 12:00:00 + 13:00:00 + 80.000000 + + + Weekday + Lighting + 13:00:00 + 17:00:00 + 90.000000 + + + Weekday + Lighting + 17:00:00 + 18:00:00 + 61.000000 + + + Weekday + Lighting + 18:00:00 + 20:00:00 + 42.000000 + + + Weekday + Lighting + 20:00:00 + 22:00:00 + 32.000000 + + + Weekday + Lighting + 22:00:00 + 23:00:00 + 23.000000 + + + Weekday + Lighting + 23:00:00 + 23:59:59 + 18.000000 + + + Weekend + Lighting + 00:00:00 + 23:59:59 + 18.000000 + + + Holiday + Lighting + 00:00:00 + 23:59:59 + 18.000000 + + + + + + + + + + + + Weekday + Miscellaneous equipment + 00:00:00 + 08:00:00 + 50.000000 + + + Weekday + Miscellaneous equipment + 08:00:00 + 12:00:00 + 100.000000 + + + Weekday + Miscellaneous equipment + 12:00:00 + 13:00:00 + 94.000000 + + + Weekday + Miscellaneous equipment + 13:00:00 + 17:00:00 + 100.000000 + + + Weekday + Miscellaneous equipment + 17:00:00 + 18:00:00 + 50.000000 + + + Weekday + Miscellaneous equipment + 18:00:00 + 23:59:59 + 20.000000 + + + Weekend + Miscellaneous equipment + 00:00:00 + 23:59:59 + 20.000000 + + + Holiday + Miscellaneous equipment + 00:00:00 + 23:59:59 + 20.000000 + + + + + + + + + + + + Weekday + HVAC equipment + 00:00:00 + 06:00:00 + 0.000000 + + + Weekday + HVAC equipment + 06:00:00 + 19:00:00 + 100.000000 + + + Weekday + HVAC equipment + 19:00:00 + 23:59:59 + 0.000000 + + + Weekend + HVAC equipment + 00:00:00 + 23:59:59 + 0.000000 + + + Holiday + HVAC equipment + 00:00:00 + 23:59:59 + 0.000000 + + + + + + + + + + + + Weekday + HVAC equipment + 00:00:00 + 06:00:00 + 0.000000 + + + Weekday + HVAC equipment + 06:00:00 + 07:00:00 + 60.000000 + + + Weekday + HVAC equipment + 07:00:00 + 12:00:00 + 100.000000 + + + Weekday + HVAC equipment + 12:00:00 + 13:00:00 + 80.000000 + + + Weekday + HVAC equipment + 13:00:00 + 18:00:00 + 100.000000 + + + Weekday + HVAC equipment + 18:00:00 + 20:00:00 + 60.000000 + + + Weekday + HVAC equipment + 20:00:00 + 23:59:59 + 0.000000 + + + Weekend + HVAC equipment + 00:00:00 + 23:59:59 + 0.000000 + + + Holiday + HVAC equipment + 00:00:00 + 23:59:59 + 0.000000 + + + + + + + + +
+ + + + + + + + + + + Lighting + + + + Retrofit with light emitting diode technologies + + + + Individual system + This measure is designed to replace all fluorescent bulbs with LEDs + 1 + 50.000000 + 774.000000 + true + 2021-01-01 + 2021-12-30 + + + + + + + + + + + Fan + + + + Add VSD motor controller + + + + Individual system + This measure is designed to retrofit all RTU fans with a VSD + 1 + 750.000000 + 1250.000000 + true + 2021-01-01 + 2021-12-30 + + + + + + + + + + + + + + + + Electricity + This is required to document irregularities in monthly energy patterns (Std 211 6.1.2.1.j). No irregularities found. + kWh + All end uses + 67334.150000 + 229.753657 + + + + + + + + + + + + + + + kW + 26.040000 + 26.040000 + 4613.820000 + + + + + + Natural gas + No irregularities in monthly energy consumption found. + MMBtu + All end uses + 8.720000 + 8.720000 + + + + + + + + + + + + + + + 540.830000 + + + + + + Electricity + kWh + Interior lighting + 28.705000 + 20062.690000 + 68.453898 + + + + Electricity + kWh + Heating + 6.722000 + 4698.230000 + 16.030361 + + + + Electricity + kWh + Cooling + 8.769000 + 6128.870000 + 20.911704 + + + + Electricity + kWh + Domestic hot water + 10.281000 + 7185.370000 + 24.516482 + + + + Electricity + kWh + Plug load + 21.379000 + 14942.150000 + 50.982616 + + + + + + Total + Energy + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 5933.100000 + + + + Total + Energy + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 5446.100000 + + + + Total + Energy + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 5736.490000 + + + + Total + Energy + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 4980.500000 + + + + Total + Energy + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 5187.210000 + + + + Total + Energy + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 5842.950000 + + + + Total + Energy + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 5801.730000 + + + + Total + Energy + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 6220.160000 + + + + Total + Energy + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 5682.870000 + + + + Total + Energy + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 5571.930000 + + + + Total + Energy + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 5525.150000 + + + + Total + Energy + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 5405.940000 + + + + Total + Energy + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 1.720000 + + + + Total + Energy + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 1.250000 + + + + Total + Energy + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 0.410000 + + + + Total + Energy + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 0.430000 + + + + Total + Energy + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 0.010000 + + + + Total + Energy + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 0.000000 + + + + Total + Energy + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 0.000000 + + + + Total + Energy + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 0.000000 + + + + Total + Energy + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 0.000000 + + + + Total + Energy + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 0.200000 + + + + Total + Energy + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 0.400000 + + + + Total + Energy + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 4.300000 + + + + Peak + On-peak + Power + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 23.580000 + + + + Peak + On-peak + Power + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 25.380000 + + + + Peak + On-peak + Power + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 26.040000 + + + + Peak + On-peak + Power + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 24.450000 + + + + Peak + On-peak + Power + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 17.030000 + + + + Peak + On-peak + Power + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 22.710000 + + + + Peak + On-peak + Power + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 22.010000 + + + + Peak + On-peak + Power + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 21.810000 + + + + Peak + On-peak + Power + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 20.630000 + + + + Peak + On-peak + Power + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 21.870000 + + + + Peak + On-peak + Power + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 21.630000 + + + + Peak + On-peak + Power + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 21.780000 + + + + Load factor + Power + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 0.340000 + + + + Load factor + Power + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 0.320000 + + + + Load factor + Power + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 0.300000 + + + + Load factor + Power + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 0.280000 + + + + Load factor + Power + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 0.410000 + + + + Load factor + Power + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 0.360000 + + + + Load factor + Power + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 0.350000 + + + + Load factor + Power + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 0.380000 + + + + Load factor + Power + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 0.380000 + + + + Load factor + Power + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 0.340000 + + + + Load factor + Power + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 0.350000 + + + + Load factor + Power + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 0.330000 + + + + Cost + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 332.160000 + + + + Cost + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 306.290000 + + + + Cost + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 321.720000 + + + + Cost + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 281.540000 + + + + Cost + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 292.530000 + + + + Cost + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 534.100000 + + + + Cost + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 530.450000 + + + + Cost + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 567.490000 + + + + Cost + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 519.930000 + + + + Cost + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 312.970000 + + + + Cost + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 310.490000 + + + + Cost + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 304.150000 + + + + Cost + Cost + 2019-01-01T00:00:00 + 2019-02-01T00:00:00 + 31 + Day + Month + 46.690000 + + + + Cost + Cost + 2019-02-01T00:00:00 + 2019-03-01T00:00:00 + 28 + Day + Month + 45.930000 + + + + Cost + Cost + 2019-03-01T00:00:00 + 2019-04-01T00:00:00 + 31 + Day + Month + 44.550000 + + + + Cost + Cost + 2019-04-01T00:00:00 + 2019-05-01T00:00:00 + 30 + Day + Month + 44.580000 + + + + Cost + Cost + 2019-05-01T00:00:00 + 2019-06-01T00:00:00 + 31 + Day + Month + 43.900000 + + + + Cost + Cost + 2019-06-01T00:00:00 + 2019-07-01T00:00:00 + 30 + Day + Month + 43.880000 + + + + Cost + Cost + 2019-07-01T00:00:00 + 2019-08-01T00:00:00 + 31 + Day + Month + 43.880000 + + + + Cost + Cost + 2019-08-01T00:00:00 + 2019-09-01T00:00:00 + 31 + Day + Month + 43.880000 + + + + Cost + Cost + 2019-09-01T00:00:00 + 2019-10-01T00:00:00 + 30 + Day + Month + 43.880000 + + + + Cost + Cost + 2019-10-01T00:00:00 + 2019-11-01T00:00:00 + 31 + Day + Month + 44.210000 + + + + Cost + Cost + 2019-11-01T00:00:00 + 2019-12-01T00:00:00 + 30 + Day + Month + 44.530000 + + + + Cost + Cost + 2019-12-01T00:00:00 + 2020-01-01T00:00:00 + 31 + Day + Month + 50.920000 + + + + + + 238473.656550 + 43.358800 + 737088.900000 + 134.000000 + 238473.656550 + 43.358800 + 238.473657 + 0.000000 + 0.000000 + 0.000000 + 4952.480000 + 0.900000 + + + + + + + + + + + + + + 2022-06-01 + + + Portfolio Manager + 2019 + 80.000000 + + + + + 238473.656550 + 43.358800 + 4952.480000 + + + + + + + + + + + + + 39070.530000 + 995 + 89.000000 + + + + + 190348.600000 + 34.600000 + 4846.040000 + 0.881000 + + + + + + + + + + + + + + TMY3 + Finished + + + + + + + Electricity + kWh + All end uses + 67334.150000 + 229.753657 + kW + 26.040000 + 26.040000 + + + Natural gas + MMBtu + All end uses + 8.720000 + 8.720000 + + + + + + + + + + POM-LEDs + + + + + + + Capital + 35.713000 + 772 + + + Electricity + kWh + 11524.540000 + + + Natural gas + MMBtu + 0.000000 + + + 3.220000 + 0 + 0.000000 + 0.000000 + 1 + 824.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0 + 0 + 1.070000 + 0.000000 + + + + + + + + + + POM-VSDs + + + + + + + Capital + 5.175000 + 9 + + + Electricity + kWh + 207.240000 + + + Natural gas + MMBtu + 4.460000 + + + 0.420000 + 0 + 0.000000 + 0.000000 + 1 + 2000.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0 + 0 + 230.150000 + 0.000000 + + + + + + + + + + POM-LEDs-VSDs + + + + + + + + Capital + 41.827000 + 781 + + + Electricity + kWh + 11701.620000 + + + Natural gas + MMBtu + 1.890000 + + + 4.700000 + 0 + 0.000000 + 0.000000 + 1 + 2824.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0.000000 + 0 + 0 + 3.620000 + 0.000000 + + + + + + + + + + Level 2: Energy Survey and Analysis + + + + + + + + + --06-01 + --09-30 + --06-01 + --09-30 + 0.088520 + 0.000000 + + + --01-01 + --05-31 + --01-01 + --05-31 + 0.053140 + 0.000000 + + + --10-01 + --12-31 + --10-01 + --12-31 + 0.053140 + 0.000000 + + + + + https://www.xcelenergy.com/company/rates_and_regulations/rates/rate_books + 16.880000 + + + 12345 + Xcel Energy + + Some-meter-ID + + some-account-number + Building Owner + + + + + + + + + --01-01 + --12-31 + 0.163600 + + + + + https://www.xcelenergy.com/company/rates_and_regulations/rates/rate_books + 43.880000 + + + Xcel Energy + + Some-meter-ID + + some-other-account-number + Building Owner + + + + + + + + + + + + + + Owner + + The dude + Some big company + + + 123-456-7890 + + + + + the.dude@somebigco.net + + + + + + Energy Auditor + + The lady + Auditeers + + + 123-456-7890 + + + + + the.lady@the-three-auditeers.com + + + + + + + diff --git a/spec/tests/translator_sizing_run_spec.rb b/spec/tests/translator_sizing_run_spec.rb index 29167095..15091803 100644 --- a/spec/tests/translator_sizing_run_spec.rb +++ b/spec/tests/translator_sizing_run_spec.rb @@ -105,7 +105,11 @@ # Office_Carolina ['Office_Carolina.xml', ASHRAE90_1, nil, 'v2.4.0'], ['Office_Carolina.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], - ['Office_Carolina.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'] + ['Office_Carolina.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], + + ##################################### + ## Golden File + ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0'], ] tests_to_run.each do |test| it "File: #{test[0]}. Standard: #{test[1]}. EPW_Path: #{test[2]}. File Schema Version: #{test[3]}" do @@ -148,8 +152,7 @@ # Trace/BPT trap: 5 gets hit for following 2 lines # ['Golden Test File.xml', CA_TITLE24, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], # ['Golden Test File.xml', ASHRAE90_1, nil, 'v2.4.0', "Error, cannot find local component for: fa8c9ff0-edc4-0131-a9f8-48e0eb16a403. Please try a different weather file."], - ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24", false], - ['Golden Test File.xml', ASHRAE90_1, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24"], + ['Golden Test File.xml', CA_TITLE24, File.join(SPEC_WEATHER_DIR, 'USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw'), 'v2.4.0', "BuildingSync.Building.determine_open_studio_standard: ERROR: Did not find a class called 'CBES T24 2008_LargeOffice' to create in CaliforniaTitle24"], # ##################################### # L000_OpenStudio_Pre-Simulation-01