diff --git a/Changelog.md b/Changelog.md index fe87ffebf..baf909fbf 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,11 @@ __New Features__ __Bugfixes__ +## OpenStudio-ERI v1.9.2 + +__New Features__ +- Updates HERS test outputs to match the latest RESNET accreditation forms. + ## OpenStudio-ERI v1.9.1 __Bugfixes__ diff --git a/hpxml-measures/workflow/tests/util.rb b/hpxml-measures/workflow/tests/util.rb index ef1aa1857..bd2bacdb9 100644 --- a/hpxml-measures/workflow/tests/util.rb +++ b/hpxml-measures/workflow/tests/util.rb @@ -1288,15 +1288,11 @@ def _write_hers_hvac_results(all_results, test_results_csv) all_results = all_results.sort_by { |k, _v| k.downcase }.to_h hvac_energy = {} CSV.open(test_results_csv, 'w') do |csv| - csv << ['Test Case', 'HVAC (kWh or therm)', 'HVAC Fan (kWh)'] + csv << ['Test Case', 'Heat/Cool Energy (MBtu)', 'Fan Energy (MBtu)'] all_results.each do |xml, results| csv << [xml, results[0], results[1]] test_name = File.basename(xml, File.extname(xml)) - if xml.include?('HVAC2a') || xml.include?('HVAC2b') - hvac_energy[test_name] = results[0] / 10.0 + results[1] / 293.08 - else - hvac_energy[test_name] = results[0] + results[1] - end + hvac_energy[test_name] = results[0] + results[1] end end puts "Wrote results to #{test_results_csv}." @@ -1309,20 +1305,11 @@ def _write_hers_dse_results(all_results, test_results_csv) all_results = all_results.sort_by { |k, _v| k.downcase }.to_h dhw_energy = {} CSV.open(test_results_csv, 'w') do |csv| - csv << ['Test Case', 'Heat/Cool (kWh or therm)', 'HVAC Fan (kWh)'] - all_results.each do |xml, results| - next unless ['HVAC3a.xml', 'HVAC3e.xml'].include? xml - - csv << [xml, results[0], results[1]] - test_name = File.basename(xml, File.extname(xml)) - dhw_energy[test_name] = results[0] / 10.0 + results[1] / 293.08 - end + csv << ['Test Case', 'Heat/Cool Energy (MBtu)', 'Fan Energy (MBtu)'] all_results.each do |xml, results| - next if ['HVAC3a.xml', 'HVAC3e.xml'].include? xml - csv << [xml, results[0], results[1]] test_name = File.basename(xml, File.extname(xml)) - dhw_energy[test_name] = results[0] / 10.0 + results[1] / 293.08 + dhw_energy[test_name] = results[0] + results[1] end end puts "Wrote results to #{test_results_csv}." @@ -1335,10 +1322,10 @@ def _write_hers_hot_water_results(all_results, test_results_csv) all_results = all_results.sort_by { |k, _v| k.downcase }.to_h dhw_energy = {} CSV.open(test_results_csv, 'w') do |csv| - csv << ['Test Case', 'DHW Energy (therms)', 'Recirc Pump (kWh)'] + csv << ['Test Case', 'DHW Energy (MBtu)', 'Pump Energy (MBtu)'] all_results.each do |xml, result| wh_energy, recirc_energy = result - csv << [xml, (wh_energy * 10.0).round(1), (recirc_energy * 293.08).round(1)] + csv << [xml, wh_energy, recirc_energy] test_name = File.basename(xml, File.extname(xml)) dhw_energy[test_name] = wh_energy + recirc_energy end @@ -1357,15 +1344,15 @@ def _get_simulation_load_results(results) def _get_simulation_hvac_energy_results(results, is_heat, is_electric_heat) if not is_heat - hvac = UnitConversions.convert(results["End Use: #{FT::Elec}: #{EUT::Cooling} (MBtu)"], 'MBtu', 'kwh').round(2) - hvac_fan = UnitConversions.convert(results["End Use: #{FT::Elec}: #{EUT::CoolingFanPump} (MBtu)"], 'MBtu', 'kwh').round(2) + hvac = results["End Use: #{FT::Elec}: #{EUT::Cooling} (MBtu)"].round(2) + hvac_fan = results["End Use: #{FT::Elec}: #{EUT::CoolingFanPump} (MBtu)"].round(2) else if is_electric_heat - hvac = UnitConversions.convert(results["End Use: #{FT::Elec}: #{EUT::Heating} (MBtu)"], 'MBtu', 'kwh').round(2) + hvac = results["End Use: #{FT::Elec}: #{EUT::Heating} (MBtu)"].round(2) else - hvac = UnitConversions.convert(results["End Use: #{FT::Gas}: #{EUT::Heating} (MBtu)"], 'MBtu', 'therm').round(2) + hvac = results["End Use: #{FT::Gas}: #{EUT::Heating} (MBtu)"].round(2) end - hvac_fan = UnitConversions.convert(results["End Use: #{FT::Elec}: #{EUT::HeatingFanPump} (MBtu)"], 'MBtu', 'kwh').round(2) + hvac_fan = results["End Use: #{FT::Elec}: #{EUT::HeatingFanPump} (MBtu)"].round(2) end assert_operator(hvac, :>, 0) diff --git a/workflow/tests/base_results/RESNET_Test_4.4_HVAC.csv b/workflow/tests/base_results/RESNET_Test_4.4_HVAC.csv index f97057845..22f077b32 100644 --- a/workflow/tests/base_results/RESNET_Test_4.4_HVAC.csv +++ b/workflow/tests/base_results/RESNET_Test_4.4_HVAC.csv @@ -1,8 +1,8 @@ -Test Case,HVAC (kWh or therm),HVAC Fan (kWh) -HVAC1a.xml,6215.45,958.05 -HVAC1b.xml,4618.8,958.05 -HVAC2a.xml,639.31,542.47 -HVAC2b.xml,554.07,542.47 -HVAC2c.xml,7658.24,1129.2 -HVAC2d.xml,4642.54,1129.2 -HVAC2e.xml,14614.58,542.47 +Test Case,Heat/Cool Energy (MBtu),Fan Energy (MBtu) +HVAC1a.xml,21.21,3.27 +HVAC1b.xml,15.76,3.27 +HVAC2a.xml,63.93,1.85 +HVAC2b.xml,55.41,1.85 +HVAC2c.xml,26.13,3.85 +HVAC2d.xml,15.84,3.85 +HVAC2e.xml,49.87,1.85 diff --git a/workflow/tests/base_results/RESNET_Test_4.5_DSE.csv b/workflow/tests/base_results/RESNET_Test_4.5_DSE.csv index 28bf46a62..38d424873 100644 --- a/workflow/tests/base_results/RESNET_Test_4.5_DSE.csv +++ b/workflow/tests/base_results/RESNET_Test_4.5_DSE.csv @@ -1,9 +1,9 @@ -Test Case,Heat/Cool (kWh or therm),HVAC Fan (kWh) -HVAC3a.xml,562.71,327.95 -HVAC3e.xml,6217.5,957.76 -HVAC3b.xml,687.53,579.11 -HVAC3c.xml,593.94,383.04 -HVAC3d.xml,648.15,566.8 -HVAC3f.xml,7859.87,1211.85 -HVAC3g.xml,6633.66,1019.3 -HVAC3h.xml,7389.79,1113.96 +Test Case,Heat/Cool Energy (MBtu),Fan Energy (MBtu) +HVAC3a.xml,56.27,1.12 +HVAC3b.xml,68.75,1.98 +HVAC3c.xml,59.39,1.31 +HVAC3d.xml,64.82,1.93 +HVAC3e.xml,21.22,3.27 +HVAC3f.xml,26.82,4.14 +HVAC3g.xml,22.64,3.48 +HVAC3h.xml,25.22,3.8 diff --git a/workflow/tests/base_results/RESNET_Test_4.6_Hot_Water.csv b/workflow/tests/base_results/RESNET_Test_4.6_Hot_Water.csv index 11828790b..9749cd2f4 100644 --- a/workflow/tests/base_results/RESNET_Test_4.6_Hot_Water.csv +++ b/workflow/tests/base_results/RESNET_Test_4.6_Hot_Water.csv @@ -1,15 +1,15 @@ -Test Case,DHW Energy (therms),Recirc Pump (kWh) -L100AD-HW-01.xml,194.9,0.0 -L100AD-HW-02.xml,259.5,0.0 -L100AD-HW-03.xml,174.1,0.0 -L100AD-HW-04.xml,251.2,0.0 -L100AD-HW-05.xml,548.5,439.6 -L100AD-HW-06.xml,227.5,5.9 -L100AD-HW-07.xml,206.5,0.0 -L100AM-HW-01.xml,110.3,0.0 -L100AM-HW-02.xml,135.6,0.0 -L100AM-HW-03.xml,90.8,0.0 -L100AM-HW-04.xml,132.5,0.0 -L100AM-HW-05.xml,295.7,439.6 -L100AM-HW-06.xml,122.7,5.9 -L100AM-HW-07.xml,120.4,0.0 +Test Case,DHW Energy (MBtu),Pump Energy (MBtu) +L100AD-HW-01.xml,19.49,0.0 +L100AD-HW-02.xml,25.95,0.0 +L100AD-HW-03.xml,17.41,0.0 +L100AD-HW-04.xml,25.12,0.0 +L100AD-HW-05.xml,54.85,1.5 +L100AD-HW-06.xml,22.75,0.02 +L100AD-HW-07.xml,20.65,0.0 +L100AM-HW-01.xml,11.03,0.0 +L100AM-HW-02.xml,13.56,0.0 +L100AM-HW-03.xml,9.08,0.0 +L100AM-HW-04.xml,13.25,0.0 +L100AM-HW-05.xml,29.57,1.5 +L100AM-HW-06.xml,12.27,0.02 +L100AM-HW-07.xml,12.04,0.0 diff --git a/workflow/tests/util.rb b/workflow/tests/util.rb index bc19a2a41..f8ff3d8d8 100644 --- a/workflow/tests/util.rb +++ b/workflow/tests/util.rb @@ -457,8 +457,8 @@ def _get_reference_home_components(hpxml, test_num, version) results['Window SHGCo'] = win_shgc_htg.round(2) assert_equal(win_shgc_htg, win_shgc_clg) else - results['Window SHGCo (heating)'] = win_shgc_htg.round(2) - results['Window SHGCo (cooling)'] = win_shgc_clg.round(2) + results['Window SHGCo (heating)'] = win_shgc_htg.round(2) + results['Window SHGCo (cooling)'] = win_shgc_clg.round(2) end # Infiltration @@ -466,7 +466,7 @@ def _get_reference_home_components(hpxml, test_num, version) results['SLAo (ft2/ft2)'] = sla.round(5) # Internal gains - xml_it_sens, xml_it_lat = _get_internal_gains(hpxml_bldg, hpxml.header.eri_calculation_version) + xml_it_sens, xml_it_lat = _get_internal_gains(hpxml_bldg, eri_version) results['Sensible Internal gains (Btu/day)'] = xml_it_sens.round(0) results['Latent Internal gains (Btu/day)'] = xml_it_lat.round(0)