diff --git a/lib/measures/nze_hvac/measure.rb b/lib/measures/nze_hvac/measure.rb index a06d9d6..180c89e 100644 --- a/lib/measures/nze_hvac/measure.rb +++ b/lib/measures/nze_hvac/measure.rb @@ -356,7 +356,7 @@ def run(model, runner, user_arguments) when 'Automatic Partition' # group zones by occupancy type (residential/nonresidential) # split non-dominant groups if their total area exceeds 20,000 ft2. - sys_groups = std.model_group_zones_by_type(model, OpenStudio.convert(20000, 'ft^2', 'm^2').get) + sys_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_occupancy_type(model, OpenStudio.convert(20000, 'ft^2', 'm^2').get) # assume secondary system type is PSZ-AC for VAV Reheat otherwise assume same hvac system type sec_sys_type = hvac_system_type # same as primary system type @@ -381,13 +381,13 @@ def run(model, runner, user_arguments) add_system_to_zones(model, runner, hvac_system_type, conditioned_zones, std, doas_dcv: doas_dcv) when 'One System Per Building Story' - story_groups = std.model_group_zones_by_story(model, conditioned_zones) + story_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_building_story(model, conditioned_zones) story_groups.each do |story_zones| add_system_to_zones(model, runner, hvac_system_type, story_zones, std, doas_dcv: doas_dcv) end when 'One System Per Building Type' - system_groups = std.model_group_zones_by_building_type(model, 0.0) + system_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_building_type(model, 0.0) system_groups.each do |system_group| add_system_to_zones(model, runner, hvac_system_type, system_group['zones'], std, doas_dcv: doas_dcv) end diff --git a/lib/measures/nze_hvac/measure.xml b/lib/measures/nze_hvac/measure.xml index cfd3fe0..54e8d03 100644 --- a/lib/measures/nze_hvac/measure.xml +++ b/lib/measures/nze_hvac/measure.xml @@ -3,8 +3,8 @@ 3.1 nze_hvac f060dff2-b28d-4194-a6af-e66d88ddb33c - a2ad7907-8083-482b-a970-f891362eb561 - 2024-05-07T22:07:52Z + fb498bc9-7394-45d8-a884-9fe5b872176d + 2024-05-09T17:21:18Z 0E5E4776 NzeHvac NZEHVAC @@ -258,13 +258,13 @@ measure.rb rb script - C8C36771 + 7538C55C NZEHVAC_Test.rb rb test - B2D92497 + 90B2A846 USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw diff --git a/lib/measures/nze_hvac/tests/NZEHVAC_Test.rb b/lib/measures/nze_hvac/tests/NZEHVAC_Test.rb index c67720f..3816dfa 100644 --- a/lib/measures/nze_hvac/tests/NZEHVAC_Test.rb +++ b/lib/measures/nze_hvac/tests/NZEHVAC_Test.rb @@ -146,9 +146,9 @@ def run_nze_hvac_measure_test(test_name, osm_path, epw_path, # test for unmet hours errs = [] - unmet_heating_hrs = std.model_annual_occupied_unmet_heating_hours(model) - unmet_cooling_hrs = std.model_annual_occupied_unmet_cooling_hours(model) - unmet_hrs = std.model_annual_occupied_unmet_hours(model) + unmet_heating_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_heating_hours(model) + unmet_cooling_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_cooling_hours(model) + unmet_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_hours(model) if unmet_hrs if unmet_hrs > max_unmet_hrs errs << "For #{test_name} there were #{unmet_heating_hrs.round(1)} unmet occupied heating hours and #{unmet_cooling_hrs.round(1)} unmet occupied cooling hours (total: #{unmet_hrs.round(1)}), more than the limit of #{max_unmet_hrs}." if unmet_hrs > max_unmet_hrs @@ -160,21 +160,21 @@ def run_nze_hvac_measure_test(test_name, osm_path, epw_path, end # calculate EUIs to determine if HVAC EUI is appropriate - annual_eui = std.model_annual_eui_kbtu_per_ft2(model) - int_lighting_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Lighting').round(1) - ext_lighting_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Exterior Lighting').round(1) - int_equipment_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Equipment').round(1) - int_equipment_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Interior Equipment').round(1) + annual_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2(model) + int_lighting_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Lighting').round(1) + ext_lighting_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Exterior Lighting').round(1) + int_equipment_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Equipment').round(1) + int_equipment_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Interior Equipment').round(1) int_equipment_eui = (int_equipment_elec_eui + int_equipment_gas_eui).round(1) - refrigeration_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Refrigeration').round(1) - shw_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Water Systems').round(1) - shw_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Water Systems').round(1) + refrigeration_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Refrigeration').round(1) + shw_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Water Systems').round(1) + shw_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Water Systems').round(1) shw_eui = (shw_elec_eui + shw_gas_eui).round(1) - fan_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Fans').round(1) - pump_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Pumps').round(1) - cooling_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Cooling').round(1) - heating_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Heating').round(1) - heating_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Heating').round(1) + fan_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Fans').round(1) + pump_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Pumps').round(1) + cooling_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Cooling').round(1) + heating_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Heating').round(1) + heating_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Heating').round(1) heating_eui = (heating_elec_eui + heating_gas_eui).round(1) hvac_eui = (fan_eui + pump_eui + cooling_eui + heating_eui).round(1) puts "Annual EUI (kBtu/ft^2): #{annual_eui.round(1)}, split:"