Skip to content

Commit

Permalink
Merge pull request #758 from NREL/hers_outputs
Browse files Browse the repository at this point in the history
Updates HERS test outputs
  • Loading branch information
shorowit authored Dec 16, 2024
2 parents 88435a1 + b021624 commit 3b531c0
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 59 deletions.
5 changes: 5 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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__
Expand Down
35 changes: 11 additions & 24 deletions hpxml-measures/workflow/tests/util.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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}."
Expand All @@ -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}."
Expand All @@ -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
Expand All @@ -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)
Expand Down
16 changes: 8 additions & 8 deletions workflow/tests/base_results/RESNET_Test_4.4_HVAC.csv
Original file line number Diff line number Diff line change
@@ -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
18 changes: 9 additions & 9 deletions workflow/tests/base_results/RESNET_Test_4.5_DSE.csv
Original file line number Diff line number Diff line change
@@ -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
30 changes: 15 additions & 15 deletions workflow/tests/base_results/RESNET_Test_4.6_Hot_Water.csv
Original file line number Diff line number Diff line change
@@ -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
6 changes: 3 additions & 3 deletions workflow/tests/util.rb
Original file line number Diff line number Diff line change
Expand Up @@ -457,16 +457,16 @@ 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
sla, _ach50 = _get_infiltration(hpxml_bldg)
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)

Expand Down

0 comments on commit 3b531c0

Please sign in to comment.