From 100e02a40f29672323a1ed832bdd8eb2195a1357 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 7 Nov 2024 20:42:24 -0700 Subject: [PATCH 01/13] added test files, create coil object with placeholders --- BuildResidentialHPXML/measure.rb | 2 +- HPXMLtoOpenStudio/resources/hvac.rb | 114 +++- workflow/hpxml_inputs.json | 33 +- ...shp.xml => base-dhw-desuperheater-ghp.xml} | 1 + ...-hvac-ground-to-air-heat-pump-1-speed.xml} | 1 + ...e-hvac-ground-to-air-heat-pump-2-speed.xml | 546 ++++++++++++++++++ ...und-to-air-heat-pump-backup-integrated.xml | 1 + ...c-ground-to-air-heat-pump-backup-stove.xml | 1 + ...c-ground-to-air-heat-pump-cooling-only.xml | 1 + ...air-heat-pump-detailed-geothermal-loop.xml | 1 + ...c-ground-to-air-heat-pump-heating-only.xml | 1 + ...hvac-ground-to-air-heat-pump-var-speed.xml | 546 ++++++++++++++++++ ...nstall-quality-ground-to-air-heat-pump.xml | 1 + workflow/tests/test_simulations2.rb | 1 + 14 files changed, 1211 insertions(+), 39 deletions(-) rename workflow/sample_files/{base-dhw-desuperheater-gshp.xml => base-dhw-desuperheater-ghp.xml} (99%) rename workflow/sample_files/{base-hvac-ground-to-air-heat-pump.xml => base-hvac-ground-to-air-heat-pump-1-speed.xml} (99%) create mode 100644 workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml create mode 100644 workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml diff --git a/BuildResidentialHPXML/measure.rb b/BuildResidentialHPXML/measure.rb index bd3faca4f7..ce8f943afb 100644 --- a/BuildResidentialHPXML/measure.rb +++ b/BuildResidentialHPXML/measure.rb @@ -5765,7 +5765,7 @@ def self.set_heat_pumps(hpxml_bldg, args) end end - if [HPXML::HVACTypeHeatPumpAirToAir, HPXML::HVACTypeHeatPumpMiniSplit].include? heat_pump_type + if [HPXML::HVACTypeHeatPumpAirToAir, HPXML::HVACTypeHeatPumpMiniSplit, HPXML::HVACTypeHeatPumpGroundToAir].include? heat_pump_type compressor_type = args[:heat_pump_cooling_compressor_type] end diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 7e4554f01f..9a7500e6e6 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -594,34 +594,92 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s geothermal_loop.num_bore_holes *= unit_multiplier # Cooling Coil - clg_total_cap_curve = Model.add_curve_quad_linear( - model, - name: "#{obj_name} clg total cap curve", - coeff: hp_ap.cool_cap_curve_spec[0] - ) - clg_sens_cap_curve = Model.add_curve_quint_linear( - model, - name: "#{obj_name} clg sens cap curve", - coeff: hp_ap.cool_sh_curve_spec[0] - ) - clg_power_curve = Model.add_curve_quad_linear( - model, - name: "#{obj_name} clg power curve", - coeff: hp_ap.cool_power_curve_spec[0] - ) - clg_coil = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit.new(model, clg_total_cap_curve, clg_sens_cap_curve, clg_power_curve) - clg_coil.setName(obj_name + ' clg coil') - clg_coil.setRatedCoolingCoefficientofPerformance(hp_ap.cool_rated_cops[0]) - clg_coil.setNominalTimeforCondensateRemovaltoBegin(1000) - clg_coil.setRatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity(1.5) - clg_coil.setRatedAirFlowRate(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) - clg_coil.setRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) - clg_coil.setRatedEnteringWaterTemperature(UnitConversions.convert(80, 'F', 'C')) - clg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(80, 'F', 'C')) - clg_coil.setRatedEnteringAirWetBulbTemperature(UnitConversions.convert(67, 'F', 'C')) - clg_coil.setRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')) - clg_coil.setRatedSensibleCoolingCapacity(UnitConversions.convert(hp_ap.cooling_capacity_sensible, 'Btu/hr', 'W')) - clg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure + if heat_pump.compressor_type = HPXML::HVACCompressorTypeSingleStage + clg_total_cap_curve = Model.add_curve_quad_linear( + model, + name: "#{obj_name} clg total cap curve", + coeff: hp_ap.cool_cap_curve_spec[0] + ) + clg_sens_cap_curve = Model.add_curve_quint_linear( + model, + name: "#{obj_name} clg sens cap curve", + coeff: hp_ap.cool_sh_curve_spec[0] + ) + clg_power_curve = Model.add_curve_quad_linear( + model, + name: "#{obj_name} clg power curve", + coeff: hp_ap.cool_power_curve_spec[0] + ) + clg_coil = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit.new(model, clg_total_cap_curve, clg_sens_cap_curve, clg_power_curve) + clg_coil.setRatedCoolingCoefficientofPerformance(hp_ap.cool_rated_cops[0]) + clg_coil.setNominalTimeforCondensateRemovaltoBegin(1000) + clg_coil.setRatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity(1.5) + clg_coil.setRatedAirFlowRate(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) + clg_coil.setRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + clg_coil.setRatedEnteringWaterTemperature(UnitConversions.convert(80, 'F', 'C')) + clg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(80, 'F', 'C')) + clg_coil.setRatedEnteringAirWetBulbTemperature(UnitConversions.convert(67, 'F', 'C')) + clg_coil.setRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')) + clg_coil.setRatedSensibleCoolingCapacity(UnitConversions.convert(hp_ap.cooling_capacity_sensible, 'Btu/hr', 'W')) + else + num_speeds = clg_ap.cool_capacity_ratios.size + # TODO: Curve placeholder + plf_fplr_curve = Model.add_curve_quadratic( + model, + name: "Cool-PLF-fPLR#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 1, min_y: 0.7, max_y: 1 + ) + clg_coil = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.new(model, plf_fplr_curve) + for i in 0..(num_speeds - 1) + # TODO: Curve placeholder + cap_ft_curve = Model.add_curve_biquadratic( + model, + name: "Cool-CAP-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + cap_faf_curve = Model.add_curve_quadratic( + model, + name: "Cool-CAP-fAF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + cap_fwf_curve = Model.add_curve_quadratic( + model, + name: "Cool-CAP-fWF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + eir_ft_curve = Model.add_curve_biquadratic( + model, + name: "Cool-EIR-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + eir_faf_curve = Model.add_curve_quadratic( + model, + name: "Cool-EIR-fAF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + eir_fwf_curve = Model.add_curve_quadratic( + model, + name: "Cool-EIR-fWF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + # Recoverable heat modifier as a function of indoor wet-bulb and water entering temperatures. + waste_heat_ft = Model.add_curve_biquadratic( + model, + name: "WastHeat-FT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + speed = OpenStudio::Model::CoilCoolingDXMultiSpeedStageData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) + # TODO: Add speed property inputs + clg_coil.addSpeed(speed) + # TODO: Add coil inputs + end + clg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure + end # Heating Coil htg_cap_curve = Model.add_curve_quad_linear( diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json index 443c200788..9598adf0e7 100644 --- a/workflow/hpxml_inputs.json +++ b/workflow/hpxml_inputs.json @@ -1312,8 +1312,8 @@ "parent_hpxml": "sample_files/base-hvac-central-ac-only-2-speed.xml", "water_heater_uses_desuperheater": true }, - "sample_files/base-dhw-desuperheater-gshp.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "sample_files/base-dhw-desuperheater-ghp.xml": { + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "water_heater_uses_desuperheater": true }, "sample_files/base-dhw-desuperheater-hpwh.xml": { @@ -2554,7 +2554,7 @@ "sample_files/base-hvac-furnace-x3-dse.xml": { "parent_hpxml": "sample_files/base.xml" }, - "sample_files/base-hvac-ground-to-air-heat-pump.xml": { + "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml": { "parent_hpxml": "sample_files/base.xml", "heating_system_type": "none", "heating_system_heating_efficiency": 0, @@ -2563,6 +2563,7 @@ "cooling_system_cooling_efficiency": 0, "cooling_system_fraction_cool_load_served": 0, "heat_pump_type": "ground-to-air", + "heat_pump_cooling_compressor_type": "single stage", "heat_pump_heating_efficiency_type": "COP", "heat_pump_heating_efficiency": 3.6, "heat_pump_cooling_efficiency_type": "EER", @@ -2574,14 +2575,26 @@ "heat_pump_fraction_cool_load_served": 1, "heat_pump_backup_type": "none" }, + "sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml": { + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", + "heat_pump_heating_efficiency": 4.0, + "heat_pump_cooling_efficiency": 18, + "heat_pump_cooling_compressor_type": "two stage" + }, + "sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml": { + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", + "heat_pump_heating_efficiency": 4.5, + "heat_pump_cooling_efficiency": 19, + "heat_pump_cooling_compressor_type": "variable speed" + }, "sample_files/base-hvac-ground-to-air-heat-pump-backup-integrated.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_backup_type": "integrated", "heat_pump_backup_heating_efficiency": 1, "heat_pump_backup_heating_capacity": 36000 }, "sample_files/base-hvac-ground-to-air-heat-pump-backup-stove.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_backup_type": "separate", "heating_system_2_type": "Stove", "heating_system_2_fuel": "fuel oil", @@ -2589,7 +2602,7 @@ "heating_system_2_heating_capacity": 60000 }, "sample_files/base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "geothermal_loop_configuration": "vertical", "geothermal_loop_borefield_configuration": "Lopsided U", "geothermal_loop_loop_flow": 10.0, @@ -2604,14 +2617,14 @@ "site_soil_and_moisture_type": "sand, dry" }, "sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_heating_capacity": 0, "heat_pump_fraction_heat_load_served": 0, "heat_pump_backup_type": "none", "heat_pump_backup_heating_efficiency": 0 }, "sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_cooling_capacity": 0, "heat_pump_fraction_cool_load_served": 0 }, @@ -2666,7 +2679,7 @@ "hvac_blower_fan_watts_per_cfm": 0.365 }, "sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_airflow_defect_ratio": -0.25, "heat_pump_charge_defect_ratio": -0.25, "hvac_blower_fan_watts_per_cfm": 0.365 @@ -2933,7 +2946,7 @@ "cooling_system_integrated_heating_system_fraction_heat_load_served": 1 }, "sample_files/base-hvac-pthp.xml": { - "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump.xml", + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_type": "packaged terminal heat pump", "heat_pump_cooling_efficiency": 11.4, "heat_pump_cooling_sensible_heat_fraction": 0.65, diff --git a/workflow/sample_files/base-dhw-desuperheater-gshp.xml b/workflow/sample_files/base-dhw-desuperheater-ghp.xml similarity index 99% rename from workflow/sample_files/base-dhw-desuperheater-gshp.xml rename to workflow/sample_files/base-dhw-desuperheater-ghp.xml index 863dfa7a2d..856e3f7e9c 100644 --- a/workflow/sample_files/base-dhw-desuperheater-gshp.xml +++ b/workflow/sample_files/base-dhw-desuperheater-ghp.xml @@ -327,6 +327,7 @@ electricity 36000.0 36000.0 + single stage 0.73 1.0 1.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml similarity index 99% rename from workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml rename to workflow/sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml index fc00364173..7aff3b3fb2 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml @@ -327,6 +327,7 @@ electricity 36000.0 36000.0 + single stage 0.73 1.0 1.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml new file mode 100644 index 0000000000..f8485fbffd --- /dev/null +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml @@ -0,0 +1,546 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + ground-to-air + electricity + 36000.0 + 36000.0 + two stage + 0.73 + 1.0 + 1.0 + + EER + 18.0 + + + COP + 4.0 + + + 30.0 + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-integrated.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-integrated.xml index b086c3ac93..bc1e8ca2f7 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-integrated.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-integrated.xml @@ -327,6 +327,7 @@ electricity 36000.0 36000.0 + single stage 0.73 integrated electricity diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-stove.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-stove.xml index fb2d1d918b..5506dbde10 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-stove.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-backup-stove.xml @@ -342,6 +342,7 @@ electricity 36000.0 36000.0 + single stage 0.73 separate diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml index b32f84eac8..ebae965867 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-cooling-only.xml @@ -326,6 +326,7 @@ electricity 0.0 36000.0 + single stage 0.73 0.0 1.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml index e74dc0f229..47ab3ceb7a 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml @@ -334,6 +334,7 @@ electricity 36000.0 36000.0 + single stage 0.73 1.0 1.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml index e83ce5454b..886367e1ea 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-heating-only.xml @@ -326,6 +326,7 @@ electricity 36000.0 0.0 + single stage 0.73 1.0 0.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml new file mode 100644 index 0000000000..3bf7a1860e --- /dev/null +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml @@ -0,0 +1,546 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + ground-to-air + electricity + 36000.0 + 36000.0 + variable speed + 0.73 + 1.0 + 1.0 + + EER + 19.0 + + + COP + 4.5 + + + 30.0 + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml b/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml index 56f1052810..8d19426abd 100644 --- a/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml +++ b/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml @@ -327,6 +327,7 @@ electricity 36000.0 36000.0 + single stage 0.73 1.0 1.0 diff --git a/workflow/tests/test_simulations2.rb b/workflow/tests/test_simulations2.rb index 2a53ccc503..2761b0a0fd 100644 --- a/workflow/tests/test_simulations2.rb +++ b/workflow/tests/test_simulations2.rb @@ -26,6 +26,7 @@ def test_simulations2 xmls = [] [sample_files_dir, real_homes_dir].each do |hpxml_files_dir| Dir["#{hpxml_files_dir}/*.xml"].sort.each do |xml| + next if (xml.include? 'base-hvac-ground-to-air-heat-pump-2-speed') || (xml.include? 'base-hvac-ground-to-air-heat-pump-var-speed') xmls << File.absolute_path(xml) end end From 74e100c817822402e62c786be4e70509c873df22 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 19 Dec 2024 11:28:35 -0700 Subject: [PATCH 02/13] fix issues, add heating coil object --- BuildResidentialHPXML/measure.xml | 6 +- HPXMLtoOpenStudio/measure.xml | 6 +- HPXMLtoOpenStudio/resources/hvac.rb | 121 ++++++++++++++++++++-------- workflow/tests/test_simulations2.rb | 1 + 4 files changed, 95 insertions(+), 39 deletions(-) diff --git a/BuildResidentialHPXML/measure.xml b/BuildResidentialHPXML/measure.xml index 154e205c1e..f25fa1718a 100644 --- a/BuildResidentialHPXML/measure.xml +++ b/BuildResidentialHPXML/measure.xml @@ -3,8 +3,8 @@ 3.1 build_residential_hpxml a13a8983-2b01-4930-8af2-42030b6e4233 - 32bd49ca-09dc-40ec-b676-f01d76e98566 - 2024-12-09T21:40:28Z + aea75781-475e-469a-825d-1292164395f2 + 2024-12-19T18:21:42Z 2C38F48B BuildResidentialHPXML HPXML Builder @@ -7544,7 +7544,7 @@ measure.rb rb script - 612549F4 + 35949896 constants.rb diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 3869fb75a3..8317105b73 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - a96e00a3-319b-4f82-a104-9013094367f5 - 2024-12-09T23:44:23Z + 05350b8b-b0c7-42fb-b3fc-455f89c1bad5 + 2024-12-19T18:21:46Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -387,7 +387,7 @@ hvac.rb rb resource - 0F2DDAA0 + 39F87318 hvac_sizing.rb diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 8b3e18f63c..21a826ad9b 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -603,6 +603,25 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s clg_coil.setRatedEnteringAirWetBulbTemperature(UnitConversions.convert(67, 'F', 'C')) clg_coil.setRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')) clg_coil.setRatedSensibleCoolingCapacity(UnitConversions.convert(hp_ap.cooling_capacity_sensible, 'Btu/hr', 'W')) + # Heating Coil + htg_cap_curve = Model.add_curve_quad_linear( + model, + name: "#{obj_name} htg cap curve", + coeff: hp_ap.heat_cap_curve_spec[0] + ) + htg_power_curve = Model.add_curve_quad_linear( + model, + name: "#{obj_name} htg power curve", + coeff: hp_ap.heat_power_curve_spec[0] + ) + htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit.new(model, htg_cap_curve, htg_power_curve) + htg_coil.setName(obj_name + ' htg coil') + htg_coil.setRatedHeatingCoefficientofPerformance(hp_ap.heat_rated_cops[0]) + htg_coil.setRatedAirFlowRate(UnitConversions.convert(htg_cfm_rated, 'cfm', 'm^3/s')) + htg_coil.setRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + htg_coil.setRatedEnteringWaterTemperature(UnitConversions.convert(60, 'F', 'C')) + htg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(70, 'F', 'C')) + htg_coil.setRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) else num_speeds = clg_ap.cool_capacity_ratios.size # TODO: Curve placeholder @@ -616,10 +635,10 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s for i in 0..(num_speeds - 1) # TODO: Curve placeholder cap_ft_curve = Model.add_curve_biquadratic( - model, - name: "Cool-CAP-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] - ) + model, + name: "Cool-CAP-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) cap_faf_curve = Model.add_curve_quadratic( model, name: "Cool-CAP-fAF#{i + 1}", @@ -633,10 +652,10 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_ft_curve = Model.add_curve_biquadratic( - model, - name: "Cool-EIR-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] - ) + model, + name: "Cool-EIR-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) eir_faf_curve = Model.add_curve_quadratic( model, name: "Cool-EIR-fAF#{i + 1}", @@ -651,39 +670,75 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s ) # Recoverable heat modifier as a function of indoor wet-bulb and water entering temperatures. waste_heat_ft = Model.add_curve_biquadratic( - model, - name: "WastHeat-FT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] - ) + model, + name: "WasteHeat-FT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) speed = OpenStudio::Model::CoilCoolingDXMultiSpeedStageData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) # TODO: Add speed property inputs clg_coil.addSpeed(speed) # TODO: Add coil inputs end - clg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure + # TODO: Curve placeholder + plf_fplr_curve = Model.add_curve_quadratic( + model, + name: "Heat-PLF-fPLR#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 1, min_y: 0.7, max_y: 1 + ) + htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.new(model, plf_fplr_curve) + for i in 0..(num_speeds - 1) + # TODO: Curve placeholder + cap_ft_curve = Model.add_curve_biquadratic( + model, + name: "Heat-CAP-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + cap_faf_curve = Model.add_curve_quadratic( + model, + name: "Heat-CAP-fAF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + cap_fwf_curve = Model.add_curve_quadratic( + model, + name: "Heat-CAP-fWF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + eir_ft_curve = Model.add_curve_biquadratic( + model, + name: "Heat-EIR-fT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + eir_faf_curve = Model.add_curve_quadratic( + model, + name: "Heat-EIR-fAF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + eir_fwf_curve = Model.add_curve_quadratic( + model, + name: "Heat-EIR-fWF#{i + 1}", + coeff: [1, 0, 0], + min_x: 0, max_x: 2, min_y: 0, max_y: 2 + ) + # Recoverable heat modifier as a function of indoor wet-bulb and water entering temperatures. + waste_heat_ft = Model.add_curve_biquadratic( + model, + name: "WasteHeat-FT#{i + 1}", + coeff: [1, 0, 0, 0, 0, 0] + ) + speed = OpenStudio::Model::CoilHeatingDXMultiSpeedStageData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) + # TODO: Add speed property inputs + htg_coil.addSpeed(speed) + # TODO: Add coil inputs + end end - - # Heating Coil - htg_cap_curve = Model.add_curve_quad_linear( - model, - name: "#{obj_name} htg cap curve", - coeff: hp_ap.heat_cap_curve_spec[0] - ) - htg_power_curve = Model.add_curve_quad_linear( - model, - name: "#{obj_name} htg power curve", - coeff: hp_ap.heat_power_curve_spec[0] - ) - htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit.new(model, htg_cap_curve, htg_power_curve) - htg_coil.setName(obj_name + ' htg coil') - htg_coil.setRatedHeatingCoefficientofPerformance(hp_ap.heat_rated_cops[0]) - htg_coil.setRatedAirFlowRate(UnitConversions.convert(htg_cfm_rated, 'cfm', 'm^3/s')) - htg_coil.setRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) - htg_coil.setRatedEnteringWaterTemperature(UnitConversions.convert(60, 'F', 'C')) - htg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(70, 'F', 'C')) - htg_coil.setRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) + clg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure htg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure + # Supplemental Heating Coil htg_supp_coil = create_supp_heating_coil(model, obj_name, heat_pump) diff --git a/workflow/tests/test_simulations2.rb b/workflow/tests/test_simulations2.rb index 2761b0a0fd..404075be04 100644 --- a/workflow/tests/test_simulations2.rb +++ b/workflow/tests/test_simulations2.rb @@ -27,6 +27,7 @@ def test_simulations2 [sample_files_dir, real_homes_dir].each do |hpxml_files_dir| Dir["#{hpxml_files_dir}/*.xml"].sort.each do |xml| next if (xml.include? 'base-hvac-ground-to-air-heat-pump-2-speed') || (xml.include? 'base-hvac-ground-to-air-heat-pump-var-speed') + xmls << File.absolute_path(xml) end end From 346d8c935f650e0db45b4de21df55d46b87eb55f Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 26 Dec 2024 17:32:45 -0700 Subject: [PATCH 03/13] added performance curves for two speed gshp, more assumptions and inputs added. --- HPXMLtoOpenStudio/measure.xml | 8 +- HPXMLtoOpenStudio/resources/defaults.rb | 3 + HPXMLtoOpenStudio/resources/hvac.rb | 245 +++++++++++++++++++----- 3 files changed, 203 insertions(+), 53 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index b62435028e..e01614cd47 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 5fb5c746-f9b6-4c8e-9255-f7caa8fd91c1 - 2024-12-26T18:44:11Z + 19d5093a-f3c0-4bef-90f5-10fde39d6b3c + 2024-12-27T00:31:20Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -327,7 +327,7 @@ defaults.rb rb resource - F2AE9AD3 + A66CFFCE energyplus.rb @@ -387,7 +387,7 @@ hvac.rb rb resource - CCE19DBE + A86AA813 hvac_sizing.rb diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb index 696b614e4d..73efb24289 100644 --- a/HPXMLtoOpenStudio/resources/defaults.rb +++ b/HPXMLtoOpenStudio/resources/defaults.rb @@ -5345,6 +5345,9 @@ def self.get_hvac_compressor_type(hvac_type, seer) when HPXML::HVACTypeMiniSplitAirConditioner, HPXML::HVACTypeHeatPumpMiniSplit return HPXML::HVACCompressorTypeVariableSpeed + when HPXML::HVACTypeHeatPumpGroundToAir + # TODO: default GSHP compressor type based on COP? + return HPXML::HVACCompressorTypeSingleStage when HPXML::HVACTypePTAC, HPXML::HVACTypeHeatPumpPTHP, HPXML::HVACTypeHeatPumpRoom, diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 22c9455497..7d96ade8cc 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -623,49 +623,57 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s htg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(70, 'F', 'C')) htg_coil.setRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) else - num_speeds = clg_ap.cool_capacity_ratios.size + num_speeds = hp_ap.cool_capacity_ratios.size # TODO: Curve placeholder plf_fplr_curve = Model.add_curve_quadratic( model, - name: "Cool-PLF-fPLR#{i + 1}", + name: 'Cool-PLF-fPLR', coeff: [1, 0, 0], min_x: 0, max_x: 1, min_y: 0.7, max_y: 1 ) clg_coil = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.new(model, plf_fplr_curve) + clg_coil.setNominalTimeforCondensatetoBeginLeavingtheCoil(1000) + clg_coil.setInitialMoistureEvaporationRateDividedbySteadyStateACLatentCapacity(1.5) + clg_coil.setNominalSpeedLevel(num_speeds) + # TODO: Calculate airflow and water flow + # clg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) + # clg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + # Check: Net or gross? + clg_coil.setGrossRatedTotalCoolingCapacityAtSelectedNominalSpeedLevel(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')) for i in 0..(num_speeds - 1) # TODO: Curve placeholder cap_ft_curve = Model.add_curve_biquadratic( model, name: "Cool-CAP-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] + coeff: hp_ap.cool_cap_ft_spec[i] ) cap_faf_curve = Model.add_curve_quadratic( model, name: "Cool-CAP-fAF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.cool_cap_faf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) cap_fwf_curve = Model.add_curve_quadratic( model, name: "Cool-CAP-fWF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.cool_cap_fwf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_ft_curve = Model.add_curve_biquadratic( model, name: "Cool-EIR-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] + coeff: hp_ap.cool_eir_ft_spec[i] ) eir_faf_curve = Model.add_curve_quadratic( model, name: "Cool-EIR-fAF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.cool_eir_faf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_fwf_curve = Model.add_curve_quadratic( model, name: "Cool-EIR-fWF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.cool_eir_fwf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) # Recoverable heat modifier as a function of indoor wet-bulb and water entering temperatures. @@ -674,53 +682,65 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s name: "WasteHeat-FT#{i + 1}", coeff: [1, 0, 0, 0, 0, 0] ) - speed = OpenStudio::Model::CoilCoolingDXMultiSpeedStageData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) + speed = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) + # Net or gross? + speed.setReferenceUnitGrossRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W') * hp_ap.cool_capacity_ratios[i]) + # speed.setReferenceUnitGrossRatedSensibleHeatRatio() + # speed.setReferenceUnitGrossRatedCoolingCOP() + # speed.setReferenceUnitRatedAirFlowRate() + # speed.setReferenceUnitRatedWaterFlowRate() + speed.setReferenceUnitWasteHeatFractionofInputPowerAtRatedConditions(0.0) # TODO: Add speed property inputs clg_coil.addSpeed(speed) - # TODO: Add coil inputs end # TODO: Curve placeholder plf_fplr_curve = Model.add_curve_quadratic( model, - name: "Heat-PLF-fPLR#{i + 1}", + name: 'Heat-PLF-fPLR', coeff: [1, 0, 0], min_x: 0, max_x: 1, min_y: 0.7, max_y: 1 ) htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.new(model, plf_fplr_curve) + htg_coil.setNominalSpeedLevel(num_speeds) + # TODO: Calculate airflow and water flow + # htg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) + # htg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + # Check: Net or gross? + htg_coil.setRatedHeatingCapacityAtSelectedNominalSpeedLevel(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) for i in 0..(num_speeds - 1) # TODO: Curve placeholder cap_ft_curve = Model.add_curve_biquadratic( model, name: "Heat-CAP-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] + coeff: hp_ap.heat_cap_ft_spec[i] ) cap_faf_curve = Model.add_curve_quadratic( model, name: "Heat-CAP-fAF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.heat_cap_faf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) cap_fwf_curve = Model.add_curve_quadratic( model, name: "Heat-CAP-fWF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.heat_cap_fwf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_ft_curve = Model.add_curve_biquadratic( model, name: "Heat-EIR-fT#{i + 1}", - coeff: [1, 0, 0, 0, 0, 0] + coeff: hp_ap.heat_eir_ft_spec[i] ) eir_faf_curve = Model.add_curve_quadratic( model, name: "Heat-EIR-fAF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.heat_eir_faf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_fwf_curve = Model.add_curve_quadratic( model, name: "Heat-EIR-fWF#{i + 1}", - coeff: [1, 0, 0], + coeff: hp_ap.heat_eir_fwf_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) # Recoverable heat modifier as a function of indoor wet-bulb and water entering temperatures. @@ -729,8 +749,13 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s name: "WasteHeat-FT#{i + 1}", coeff: [1, 0, 0, 0, 0, 0] ) - speed = OpenStudio::Model::CoilHeatingDXMultiSpeedStageData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) + speed = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) # TODO: Add speed property inputs + speed.setReferenceUnitGrossRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W') * hp_ap.heat_capacity_ratios[i]) + # speed.setReferenceUnitGrossRatedHeatingCOP() + # speed.setReferenceUnitRatedAirFlow() + # speed.setReferenceUnitRatedWaterFlowRate() + speed.setReferenceUnitWasteHeatFractionofInputPowerAtRatedConditions(0.0) htg_coil.addSpeed(speed) # TODO: Add coil inputs end @@ -1842,6 +1867,24 @@ def self.get_cool_capacity_ratios(hvac_system) fail 'Unable to get cooling capacity ratios.' end + # TODO + # + # @param heat_pump [TODO] TODO + # @return [TODO] TODO + def self.get_cool_capacity_ratios_gshp(heat_pump) + # For each speed, ratio of capacity to nominal capacity + case heat_pump.compressor_type + when HPXML::HVACCompressorTypeSingleStage + return [1.0] + when HPXML::HVACCompressorTypeTwoStage + return [0.775, 1.0] + when HPXML::HVACCompressorTypeVariableSpeed + # TODO + end + + fail 'Unable to get cooling capacity ratios.' + end + # TODO # # @param heating_system [TODO] TODO @@ -2019,6 +2062,24 @@ def self.get_heat_capacity_ratios(heat_pump) fail 'Unable to get heating capacity ratios.' end + # TODO + # + # @param heat_pump [TODO] TODO + # @return [TODO] TODO + def self.get_heat_capacity_ratios_gshp(heat_pump) + # For each speed, ratio of capacity to nominal capacity + case heat_pump.compressor_type + when HPXML::HVACCompressorTypeSingleStage + return [1.0] + when HPXML::HVACCompressorTypeTwoStage + return [0.667, 1.0] + when HPXML::HVACCompressorTypeVariableSpeed + # TODO + end + + fail 'Unable to get cooling capacity ratios.' + end + # TODO # # @param hvac_system [TODO] TODO @@ -2095,48 +2156,134 @@ def self.get_heat_cfm_per_ton(compressor_type, use_cop_or_htg_sys = false) end end + # TODO + # + # @param compressor_type [TODO] TODO + # @return [TODO] TODO + def self.get_cool_cfm_per_ton_gshp(compressor_type) + # cfm/ton of rated capacity + if compressor_type == HPXML::HVACCompressorTypeSingleStage + return [400.0] + elsif compressor_type == HPXML::HVACCompressorTypeTwoStage + # Fixeme: Review this, calculated based on rated cfm / rated monimal capacity for ClimateMaster Model SE036 + # 1100CFM - PART LOAD (Speed 1) + # 1200CFM - FULL LOAD (Speed 2) + return [434.05, 366.97] + elsif compressor_type == HPXML::HVACCompressorTypeVariableSpeed + # TODO + else + fail 'Compressor type not supported.' + end + end + + # TODO + # + # @param compressor_type [TODO] TODO + # @return [TODO] TODO + def self.get_heat_cfm_per_ton_gshp(compressor_type) + # cfm/ton of rated capacity + case compressor_type + when HPXML::HVACCompressorTypeSingleStage + return [400.0] + when HPXML::HVACCompressorTypeTwoStage + # Fixeme: Review this, calculated based on rated cfm / rated monimal capacity for ClimateMaster Model SE036 + # 1100CFM - PART LOAD (Speed 1) + # 1200CFM - FULL LOAD (Speed 2) + return [714.456, 519.751] + when HPXML::HVACCompressorTypeVariableSpeed + # TODO + else + fail 'Compressor type not supported.' + end + end + # TODO # # @param heat_pump [TODO] TODO # @return [nil] def self.set_curves_gshp(heat_pump) hp_ap = heat_pump.additional_properties - - # E+ equation fit coil coefficients generated following approach in Tang's thesis: - # See Appendix B of https://shareok.org/bitstream/handle/11244/10075/Tang_okstate_0664M_1318.pdf?sequence=1&isAllowed=y - # Coefficients generated by catalog data: https://files.climatemaster.com/Genesis-GS-Series-Product-Catalog.pdf, p180 - # Data point taken as rated condition: - # EWT: 80F EAT:80/67F, AFR: 1200cfm, WFR: 4.5gpm - - # Cooling Curves - hp_ap.cool_cap_curve_spec = [[-5.45013866666657, 7.42301402824225, -1.43760846638838, 0.249103937703341, 0.0378875477019811]] - hp_ap.cool_power_curve_spec = [[-4.21572180554818, 0.322682268675807, 4.56870615863483, 0.154605773589744, -0.167531037948482]] - hp_ap.cool_sh_curve_spec = [[0.56143829895505, 18.7079597251858, -19.1482655264078, -0.138154731772664, 0.4823357726442, -0.00164644360129174]] - - hp_ap.cool_rated_shrs_gross = [heat_pump.cooling_shr] - - # E+ equation fit coil coefficients following approach from Tang's thesis: - # See Appendix B Figure B.3 of https://shareok.org/bitstream/handle/11244/10075/Tang_okstate_0664M_1318.pdf?sequence=1&isAllowed=y - # Coefficients generated by catalog data: https://www.climatemaster.com/download/18.274be999165850ccd5b5b73/1535543867815/lc377-climatemaster-commercial-tranquility-20-single-stage-ts-series-water-source-heat-pump-submittal-set.pdf - # Data point taken as rated condition: - # EWT: 60F EAT: 70F AFR: 1200 cfm, WFR: 4.5 gpm - - # Heating Curves - hp_ap.heat_cap_curve_spec = [[-3.75031847962047, -2.18062040443483, 6.8363364819032, 0.188376814356582, 0.0869274802923634]] - hp_ap.heat_power_curve_spec = [[-8.4754723813072, 8.10952801956388, 1.38771494628738, -0.33766445915032, 0.0223085217874051]] + hp_ap.cool_capacity_ratios = get_cool_capacity_ratios_gshp(heat_pump) + hp_ap.heat_capacity_ratios = get_heat_capacity_ratios_gshp(heat_pump) + hp_ap.cool_rated_cfm_per_ton = get_cool_cfm_per_ton_gshp(heat_pump.compressor_type) + hp_ap.heat_rated_cfm_per_ton = get_heat_cfm_per_ton_gshp(heat_pump.compressor_type) + + if heat_pump.compressor_type == HPXML::HVACCompressorTypeSingleStage + + # E+ equation fit coil coefficients generated following approach in Tang's thesis: + # See Appendix B of https://shareok.org/bitstream/handle/11244/10075/Tang_okstate_0664M_1318.pdf?sequence=1&isAllowed=y + # Coefficients generated by catalog data: https://files.climatemaster.com/Genesis-GS-Series-Product-Catalog.pdf, p180 + # Data point taken as rated condition: + # EWT: 80F EAT:80/67F, AFR: 1200cfm, WFR: 4.5gpm + + # Cooling Curves + hp_ap.cool_cap_curve_spec = [[-5.45013866666657, 7.42301402824225, -1.43760846638838, 0.249103937703341, 0.0378875477019811]] + hp_ap.cool_power_curve_spec = [[-4.21572180554818, 0.322682268675807, 4.56870615863483, 0.154605773589744, -0.167531037948482]] + hp_ap.cool_sh_curve_spec = [[0.56143829895505, 18.7079597251858, -19.1482655264078, -0.138154731772664, 0.4823357726442, -0.00164644360129174]] + + hp_ap.cool_rated_shrs_gross = [heat_pump.cooling_shr] + + # E+ equation fit coil coefficients following approach from Tang's thesis: + # See Appendix B Figure B.3 of https://shareok.org/bitstream/handle/11244/10075/Tang_okstate_0664M_1318.pdf?sequence=1&isAllowed=y + # Coefficients generated by catalog data: https://www.climatemaster.com/download/18.274be999165850ccd5b5b73/1535543867815/lc377-climatemaster-commercial-tranquility-20-single-stage-ts-series-water-source-heat-pump-submittal-set.pdf + # Data point taken as rated condition: + # EWT: 60F EAT: 70F AFR: 1200 cfm, WFR: 4.5 gpm + + # Heating Curves + hp_ap.heat_cap_curve_spec = [[-3.75031847962047, -2.18062040443483, 6.8363364819032, 0.188376814356582, 0.0869274802923634]] + hp_ap.heat_power_curve_spec = [[-8.4754723813072, 8.10952801956388, 1.38771494628738, -0.33766445915032, 0.0223085217874051]] + + elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeTwoStage + # Cooling Curves + # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool + # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool + # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf + hp_ap.cool_cap_ft_spec = [[0.3913554817, 0.0357482663, -0.0000003221, 0.0036134570, -0.0001198870, -0.0002660012], + [0.4368080786, 0.0337004980, 0.0000042489, 0.0044793870, -0.0001355145, -0.0002252310]] + hp_ap.cool_eir_ft_spec = [[1.3692587333, -0.0735132862, 0.0023709679, 0.0249402014, 0.0011898924, -0.0022690705], + [1.1665580464, -0.0428692744, 0.0011551695, 0.0080232713, 0.0007336873, -0.0009747575]] + hp_ap.cool_cap_faf_spec = [[-0.0000007, 0.0003, 0.1047], + [-0.0238, 0.1688, 0.8551]] + hp_ap.cool_eir_faf_spec = [[0.000001, 0.0008, 0.9064], + [-0.0044, 0.0436, 0.1408]] + hp_ap.cool_cap_fwf_spec = [[-0.129, 0.2903, 0.8387], + [-0.14, 0.325, 0.815]] + hp_ap.cool_eir_fwf_spec = [[0.5924, -1.3055, 1.7131], + [0.4678, -1.055, 1.5872]] + # Heating Curves + # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool + # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool + # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf + hp_ap.heat_cap_ft_spec = [[0.8913558871, -0.0015525603, 0.0000000000, 0.0332697245, -0.0000686348, -0.0000542413], + [1.0849938374, -0.0025704103, 0.0000045000, 0.0307446924, -0.0000605565, -0.0000639625]] + hp_ap.heat_eir_ft_spec = [[0.6069920460, 0.0241877297, 0.0000276573, -0.0226538019, 0.0004618001, -0.0004091202], + [0.6018311243, 0.0173894130, 0.0000280837, -0.0126833669, 0.0002520520, -0.0001764489]] + hp_ap.heat_cap_faf_spec = [[0.000002, 0.0011, 0.8649], + [0.0143, 0.1593, 0.8264]] + hp_ap.heat_eir_faf_spec = [[-0.0000001, -0.0004, 0.2622], + [0.0288, -0.2856, 1.2568]] + hp_ap.heat_cap_fwf_spec = [[-0.2139, 0.5027, 0.7112], + [-0.168, 0.399, 0.769]] + hp_ap.heat_eir_fwf_spec = [[0.3201, -0.6658, 1.3457], + [0.1535, -0.3215, 1.1679]] + + elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeVariableSpeed + # TODO: Add variable speed system performance curves + end # Fan/pump adjustments calculations # Fan power to overcome the static pressure adjustment rated_fan_watts_per_cfm = 0.5 * heat_pump.fan_watts_per_cfm # Calculate rated fan power by assuming the power to overcome the ductwork is approximately 50% of the total fan power (ANSI/RESNET/ICC 301 says 0.2 W/cfm is the fan power associated with ductwork, but we don't know if that was a PSC or BPM fan) - power_f = rated_fan_watts_per_cfm * 400.0 / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # 400 cfm/ton, result is in W per Btu/hr of capacity rated_pump_watts_per_ton = 30.0 # ANSI/RESNET/ICC 301, estimated pump power required to overcome the internal resistance of the ground-water heat exchanger under AHRI test conditions for a closed loop system - power_p = rated_pump_watts_per_ton / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity - - cool_eir = UnitConversions.convert(((1 - UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.cooling_efficiency_eer - power_f - power_p), 'Wh', 'Btu') - heat_eir = (1 + UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.heating_efficiency_cop - UnitConversions.convert(power_f + power_p, 'Wh', 'Btu') - - hp_ap.cool_rated_cops = [1.0 / cool_eir] - hp_ap.heat_rated_cops = [1.0 / heat_eir] + hp_ap.cool_capacity_ratios.each_with_index do |capacity_ratio, i| + power_f = rated_fan_watts_per_cfm * hp_ap.cool_rated_cfm_per_ton[i] / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # 400 cfm/ton, result is in W per Btu/hr of capacity + power_p = rated_pump_watts_per_ton / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity + # Fixme: Need to get eer/cop at each speed + cool_eir = UnitConversions.convert(((capacity_ratio - UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.cooling_efficiency_eer - power_f - power_p), 'Wh', 'Btu') + heat_eir = (capacity_ratio + UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.heating_efficiency_cop - UnitConversions.convert(power_f + power_p, 'Wh', 'Btu') + hp_ap.cool_rated_cops = [1.0 / cool_eir] + hp_ap.heat_rated_cops = [1.0 / heat_eir] + end end # TODO From 2182a8f4890b5e941a9df28a2787327ec65ea5a9 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Fri, 27 Dec 2024 21:10:37 -0700 Subject: [PATCH 04/13] updated performance curves, capacity ratios, cfm/tons based on E+ rated conditions, added more inputs, a few questions, store progress --- HPXMLtoOpenStudio/measure.xml | 8 +- HPXMLtoOpenStudio/resources/hvac.rb | 86 +++++++++++-------- HPXMLtoOpenStudio/resources/hvac_sizing.rb | 56 ++++++++---- ...e-hvac-ground-to-air-heat-pump-2-speed.xml | 2 +- ...hvac-ground-to-air-heat-pump-var-speed.xml | 2 +- 5 files changed, 98 insertions(+), 56 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index e01614cd47..66b8ae9e66 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 19d5093a-f3c0-4bef-90f5-10fde39d6b3c - 2024-12-27T00:31:20Z + 85cc04e3-872b-4676-982a-ed1a19fefec6 + 2024-12-28T04:03:10Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -387,13 +387,13 @@ hvac.rb rb resource - A86AA813 + 5FA19088 hvac_sizing.rb rb resource - A3B81222 + 3501B9C6 internal_gains.rb diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 7d96ade8cc..b83f59dc11 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -635,13 +635,11 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s clg_coil.setNominalTimeforCondensatetoBeginLeavingtheCoil(1000) clg_coil.setInitialMoistureEvaporationRateDividedbySteadyStateACLatentCapacity(1.5) clg_coil.setNominalSpeedLevel(num_speeds) - # TODO: Calculate airflow and water flow - # clg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) - # clg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + clg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) + clg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) # Check: Net or gross? clg_coil.setGrossRatedTotalCoolingCapacityAtSelectedNominalSpeedLevel(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W')) for i in 0..(num_speeds - 1) - # TODO: Curve placeholder cap_ft_curve = Model.add_curve_biquadratic( model, name: "Cool-CAP-fT#{i + 1}", @@ -685,12 +683,13 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s speed = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) # Net or gross? speed.setReferenceUnitGrossRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W') * hp_ap.cool_capacity_ratios[i]) - # speed.setReferenceUnitGrossRatedSensibleHeatRatio() - # speed.setReferenceUnitGrossRatedCoolingCOP() - # speed.setReferenceUnitRatedAirFlowRate() - # speed.setReferenceUnitRatedWaterFlowRate() + speed.setReferenceUnitGrossRatedSensibleHeatRatio(hp_ap.cool_rated_shrs_gross[i]) + speed.setReferenceUnitGrossRatedCoolingCOP(hp_ap.cool_rated_cops[i]) + speed.setReferenceUnitRatedAirFlowRate(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'ton') * hp_ap.cool_capacity_ratios[i] * hp_ap.cool_rated_cfm_per_ton[i]) + # FIXME: Please Review + # The catalog Water flow rates are 6.7GPM and 9.0GPM at each speed, the ratio is close to capacity ratios, and our default loop_flow calculation is based on capacity, so I used capacity ratios here. + speed.setReferenceUnitRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s') * hp_ap.cool_capacity_ratios[i]) speed.setReferenceUnitWasteHeatFractionofInputPowerAtRatedConditions(0.0) - # TODO: Add speed property inputs clg_coil.addSpeed(speed) end # TODO: Curve placeholder @@ -702,13 +701,11 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s ) htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.new(model, plf_fplr_curve) htg_coil.setNominalSpeedLevel(num_speeds) - # TODO: Calculate airflow and water flow - # htg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(clg_cfm_rated, 'cfm', 'm^3/s')) - # htg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) + htg_coil.setRatedAirFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(htg_cfm_rated, 'cfm', 'm^3/s')) + htg_coil.setRatedWaterFlowRateAtSelectedNominalSpeedLevel(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s')) # Check: Net or gross? htg_coil.setRatedHeatingCapacityAtSelectedNominalSpeedLevel(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) for i in 0..(num_speeds - 1) - # TODO: Curve placeholder cap_ft_curve = Model.add_curve_biquadratic( model, name: "Heat-CAP-fT#{i + 1}", @@ -750,14 +747,14 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s coeff: [1, 0, 0, 0, 0, 0] ) speed = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) - # TODO: Add speed property inputs speed.setReferenceUnitGrossRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W') * hp_ap.heat_capacity_ratios[i]) - # speed.setReferenceUnitGrossRatedHeatingCOP() - # speed.setReferenceUnitRatedAirFlow() - # speed.setReferenceUnitRatedWaterFlowRate() + speed.setReferenceUnitGrossRatedHeatingCOP(hp_ap.heat_rated_cops[i]) + speed.setReferenceUnitRatedAirFlow(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'ton') * hp_ap.heat_capacity_ratios[i] * hp_ap.heat_rated_cfm_per_ton[i]) + # FIXME: Please Review + # The catalog Water flow rates are 6.7GPM and 9.0GPM at each speed, the ratio is close to capacity ratios, and our default loop_flow calculation is based on capacity, so I used capacity ratios here. + speed.setReferenceUnitRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s') * hp_ap.heat_capacity_ratios[i]) speed.setReferenceUnitWasteHeatFractionofInputPowerAtRatedConditions(0.0) htg_coil.addSpeed(speed) - # TODO: Add coil inputs end end clg_coil.additionalProperties.setFeature('HPXML_ID', heat_pump.id) # Used by reporting measure @@ -856,7 +853,14 @@ def self.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump, hvac_s demand_outlet_pipe.addToNode(plant_loop.demandOutletNode) # Fan - fan = create_supply_fan(model, obj_name, heat_pump.fan_watts_per_cfm, [htg_cfm, clg_cfm]) + fan_cfms = [] + hp_ap.cool_fan_speed_ratios.each do |r| + fan_cfms << clg_cfm * r + end + hp_ap.heat_fan_speed_ratios.each do |r| + fan_cfms << htg_cfm * r + end + fan = create_supply_fan(model, obj_name, heat_pump.fan_watts_per_cfm, fan_cfms) add_fan_pump_disaggregation_ems_program(model, fan, htg_coil, clg_coil, htg_supp_coil, heat_pump) # Unitary System @@ -1877,7 +1881,7 @@ def self.get_cool_capacity_ratios_gshp(heat_pump) when HPXML::HVACCompressorTypeSingleStage return [1.0] when HPXML::HVACCompressorTypeTwoStage - return [0.775, 1.0] + return [0.7353, 1.0] when HPXML::HVACCompressorTypeVariableSpeed # TODO end @@ -2072,7 +2076,7 @@ def self.get_heat_capacity_ratios_gshp(heat_pump) when HPXML::HVACCompressorTypeSingleStage return [1.0] when HPXML::HVACCompressorTypeTwoStage - return [0.667, 1.0] + return [0.7374, 1.0] when HPXML::HVACCompressorTypeVariableSpeed # TODO end @@ -2168,7 +2172,7 @@ def self.get_cool_cfm_per_ton_gshp(compressor_type) # Fixeme: Review this, calculated based on rated cfm / rated monimal capacity for ClimateMaster Model SE036 # 1100CFM - PART LOAD (Speed 1) # 1200CFM - FULL LOAD (Speed 2) - return [434.05, 366.97] + return [470.4205, 377.3585] elsif compressor_type == HPXML::HVACCompressorTypeVariableSpeed # TODO else @@ -2189,7 +2193,7 @@ def self.get_heat_cfm_per_ton_gshp(compressor_type) # Fixeme: Review this, calculated based on rated cfm / rated monimal capacity for ClimateMaster Model SE036 # 1100CFM - PART LOAD (Speed 1) # 1200CFM - FULL LOAD (Speed 2) - return [714.456, 519.751] + return [397.5904, 319.8465] when HPXML::HVACCompressorTypeVariableSpeed # TODO else @@ -2207,6 +2211,10 @@ def self.set_curves_gshp(heat_pump) hp_ap.heat_capacity_ratios = get_heat_capacity_ratios_gshp(heat_pump) hp_ap.cool_rated_cfm_per_ton = get_cool_cfm_per_ton_gshp(heat_pump.compressor_type) hp_ap.heat_rated_cfm_per_ton = get_heat_cfm_per_ton_gshp(heat_pump.compressor_type) + hp_ap.cool_rated_airflow_rate = hp_ap.cool_rated_cfm_per_ton[-1] + hp_ap.cool_fan_speed_ratios = calc_fan_speed_ratios(hp_ap.cool_capacity_ratios, hp_ap.cool_rated_cfm_per_ton, hp_ap.cool_rated_airflow_rate) + hp_ap.heat_rated_airflow_rate = hp_ap.heat_rated_cfm_per_ton[-1] + hp_ap.heat_fan_speed_ratios = calc_fan_speed_ratios(hp_ap.heat_capacity_ratios, hp_ap.heat_rated_cfm_per_ton, hp_ap.heat_rated_airflow_rate) if heat_pump.compressor_type == HPXML::HVACCompressorTypeSingleStage @@ -2221,6 +2229,7 @@ def self.set_curves_gshp(heat_pump) hp_ap.cool_power_curve_spec = [[-4.21572180554818, 0.322682268675807, 4.56870615863483, 0.154605773589744, -0.167531037948482]] hp_ap.cool_sh_curve_spec = [[0.56143829895505, 18.7079597251858, -19.1482655264078, -0.138154731772664, 0.4823357726442, -0.00164644360129174]] + # TODO: single speed net to gross? The rated condition may be different from method set_cool_rated_shrs_gross hp_ap.cool_rated_shrs_gross = [heat_pump.cooling_shr] # E+ equation fit coil coefficients following approach from Tang's thesis: @@ -2238,10 +2247,12 @@ def self.set_curves_gshp(heat_pump) # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf - hp_ap.cool_cap_ft_spec = [[0.3913554817, 0.0357482663, -0.0000003221, 0.0036134570, -0.0001198870, -0.0002660012], - [0.4368080786, 0.0337004980, 0.0000042489, 0.0044793870, -0.0001355145, -0.0002252310]] - hp_ap.cool_eir_ft_spec = [[1.3692587333, -0.0735132862, 0.0023709679, 0.0249402014, 0.0011898924, -0.0022690705], - [1.1665580464, -0.0428692744, 0.0011551695, 0.0080232713, 0.0007336873, -0.0009747575]] + # Using E+ rated conditions: + # Cooling: Indoor air at 67F WB, 80F DB; Entering water temperature: 85F + hp_ap.cool_cap_ft_spec = [[0.4091067504, 0.0387481208, -0.0000003491, 0.0039166842, -0.0001299475, -0.0002883229], + [0.4423161030, 0.0346534683, 0.0000043691, 0.0046060534, -0.0001393465, -0.0002316000]] + hp_ap.cool_eir_ft_spec = [[1.0242580586, -0.0549907581, 0.0017735749, 0.0186562274, 0.0008900852, -0.0016973518], + [1.0763155558, -0.0396246303, 0.0010677382, 0.0074160145, 0.0006781567, -0.0009009811]] hp_ap.cool_cap_faf_spec = [[-0.0000007, 0.0003, 0.1047], [-0.0238, 0.1688, 0.8551]] hp_ap.cool_eir_faf_spec = [[0.000001, 0.0008, 0.9064], @@ -2254,10 +2265,12 @@ def self.set_curves_gshp(heat_pump) # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf - hp_ap.heat_cap_ft_spec = [[0.8913558871, -0.0015525603, 0.0000000000, 0.0332697245, -0.0000686348, -0.0000542413], - [1.0849938374, -0.0025704103, 0.0000045000, 0.0307446924, -0.0000605565, -0.0000639625]] - hp_ap.heat_eir_ft_spec = [[0.6069920460, 0.0241877297, 0.0000276573, -0.0226538019, 0.0004618001, -0.0004091202], - [0.6018311243, 0.0173894130, 0.0000280837, -0.0126833669, 0.0002520520, -0.0001764489]] + # Using E+ rated conditions: + # Heating: Indoor air at 70F DB; Entering water temperature: 70F + hp_ap.heat_cap_ft_spec = [[0.6523957849, -0.0011387222, 0.0000000000, 0.0191295958, -0.0000411533, -0.0000311030], + [0.6668920089, -0.0015817909, 0.0000027692, 0.0189198107, -0.0000372655, -0.0000393615]] + hp_ap.heat_eir_ft_spec = [[0.8057698794, 0.0316014252, 0.0000380531, -0.0228123504, 0.0004336379, -0.0004522084], + [0.8046419585, 0.0233384227, 0.0000376912, -0.0170224134, 0.0003382804, -0.0002368130]] hp_ap.heat_cap_faf_spec = [[0.000002, 0.0011, 0.8649], [0.0143, 0.1593, 0.8264]] hp_ap.heat_eir_faf_spec = [[-0.0000001, -0.0004, 0.2622], @@ -2266,7 +2279,8 @@ def self.set_curves_gshp(heat_pump) [-0.168, 0.399, 0.769]] hp_ap.heat_eir_fwf_spec = [[0.3201, -0.6658, 1.3457], [0.1535, -0.3215, 1.1679]] - + # FIXME: Rated condition is the same as DX coil E+ conditions, so followed the same approach here, please review + set_cool_rated_shrs_gross(heat_pump) elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeVariableSpeed # TODO: Add variable speed system performance curves end @@ -2275,14 +2289,16 @@ def self.set_curves_gshp(heat_pump) # Fan power to overcome the static pressure adjustment rated_fan_watts_per_cfm = 0.5 * heat_pump.fan_watts_per_cfm # Calculate rated fan power by assuming the power to overcome the ductwork is approximately 50% of the total fan power (ANSI/RESNET/ICC 301 says 0.2 W/cfm is the fan power associated with ductwork, but we don't know if that was a PSC or BPM fan) rated_pump_watts_per_ton = 30.0 # ANSI/RESNET/ICC 301, estimated pump power required to overcome the internal resistance of the ground-water heat exchanger under AHRI test conditions for a closed loop system + hp_ap.cool_rated_cops = [] + hp_ap.heat_rated_cops = [] hp_ap.cool_capacity_ratios.each_with_index do |capacity_ratio, i| - power_f = rated_fan_watts_per_cfm * hp_ap.cool_rated_cfm_per_ton[i] / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # 400 cfm/ton, result is in W per Btu/hr of capacity + power_f = rated_fan_watts_per_cfm * hp_ap.cool_rated_cfm_per_ton[i] / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity power_p = rated_pump_watts_per_ton / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity # Fixme: Need to get eer/cop at each speed cool_eir = UnitConversions.convert(((capacity_ratio - UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.cooling_efficiency_eer - power_f - power_p), 'Wh', 'Btu') heat_eir = (capacity_ratio + UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.heating_efficiency_cop - UnitConversions.convert(power_f + power_p, 'Wh', 'Btu') - hp_ap.cool_rated_cops = [1.0 / cool_eir] - hp_ap.heat_rated_cops = [1.0 / heat_eir] + hp_ap.cool_rated_cops << 1.0 / cool_eir + hp_ap.heat_rated_cops << 1.0 / heat_eir end end diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb index 400c639997..ba1d1b73d0 100644 --- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb +++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb @@ -2807,23 +2807,37 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva gshp_coil_bf = 0.0806 gshp_coil_bf_ft_spec = [1.21005458, -0.00664200, 0.00000000, 0.00348246, 0.00000000, 0.00000000] - - # Calculate an initial air flow rate assuming 400 cfm/ton - hvac_sizings.Cool_Airflow = 400.0 * UnitConversions.convert(hvac_sizings.Cool_Load_Sens, 'Btu/hr', 'ton') - - cool_cap_curve_spec = hvac_cooling_ap.cool_cap_curve_spec[hvac_cooling_speed] - cool_sh_curve_spec = hvac_cooling_ap.cool_sh_curve_spec[hvac_cooling_speed] - total_cap_curve_value, sensible_cap_curve_value = calc_gshp_clg_curve_value(cool_cap_curve_spec, cool_sh_curve_spec, mj.cool_indoor_wetbulb, mj.cool_setpoint, entering_temp, hvac_sizings.Cool_Airflow) - bypass_factor_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, mj.cool_setpoint, gshp_coil_bf_ft_spec) hvac_cooling_shr_rated = hvac_cooling_ap.cool_rated_shrs_gross[hvac_cooling_speed] - hvac_sizings.Cool_Capacity = hvac_sizings.Cool_Load_Tot / total_cap_curve_value # Note: cool_cap_design = hvac_sizings.Cool_Load_Tot - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - - cool_load_sens_cap_design = (hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value / \ - (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * - (80.0 - mj.cool_setpoint) / cooling_delta_t)) + if hvac_cooling.compressor_type == HPXML::HVACCompressorTypeSingleStage + # Calculate an initial air flow rate assuming 400 cfm/ton + # Fixme: Shouldn't this be cfm/ton * total capacity? We're using Cool_Load_Sens before + hvac_sizings.Cool_Airflow = hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] * UnitConversions.convert(hvac_sizings.Cool_Load_Tot, 'Btu/hr', 'ton') + cool_cap_curve_spec = hvac_cooling_ap.cool_cap_curve_spec[hvac_cooling_speed] + cool_sh_curve_spec = hvac_cooling_ap.cool_sh_curve_spec[hvac_cooling_speed] + total_cap_curve_value, sensible_cap_curve_value = calc_gshp_clg_curve_value(cool_cap_curve_spec, cool_sh_curve_spec, mj.cool_indoor_wetbulb, mj.cool_setpoint, entering_temp, hvac_sizings.Cool_Airflow) + + cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value # Note: cool_cap_design = hvac_sizings.Cool_Load_Tot + cool_sens_cap_rated = cool_cap_rated * hvac_cooling_shr_rated + curve_sens_cap_at_design = cool_sens_cap_rated * sensible_cap_curve_value + else + total_cap_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, entering_temp, hvac_cooling_ap.cool_cap_ft_spec[hvac_cooling_speed]) + cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value # Note: cool_cap_design = hvac_sizings.Cool_Load_Tot + cool_cfm_rated = hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] * UnitConversions.convert(cool_cap_rated, 'Btu/hr', 'ton') + hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, hvac_sizings.Cool_Load_Sens, cooling_delta_t, dx_capacity: cool_cap_rated) + # Calculate an estimate of the design SHR, using the same approach as ashp, the same indoor conditions + rated_barometric_pressure_psi = UnitConversions.convert(1, 'atm', 'psi') # assume rated pressure is at sea level + hr_indoor_cooling_rated = Psychrometrics.w_fT_Twb_P(HVAC::AirSourceCoolRatedIDB, HVAC::AirSourceCoolRatedIWB, rated_barometric_pressure_psi) # [lbm/lbm] + hr_indoor_cooling_design = Psychrometrics.w_fT_R_P(mj.cool_setpoint, hpxml_bldg.header.manualj_humidity_setpoint, mj.p_psi) + # Calculate A_o using rated conditions; + a_o_rated = Psychrometrics.CoilAoFactor(HVAC::AirSourceCoolRatedIDB, rated_barometric_pressure_psi, UnitConversions.convert(cool_cap_rated, 'btu/hr', 'kbtu/hr'), cool_cfm_rated, hvac_cooling_shr_rated, hr_indoor_cooling_rated) + design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(hvac_sizings.Cool_Load_Tot, 'btu/hr', 'kbtu/hr'), hvac_sizings.Cool_Airflow, a_o_rated, hr_indoor_cooling_design) + curve_sens_cap_at_design = cool_cap_rated * total_cap_curve_value * design_shr + end + cool_load_sens_cap_design = (curve_sens_cap_at_design / \ + (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * + (80.0 - mj.cool_setpoint) / cooling_delta_t)) cool_load_lat_cap_design = hvac_sizings.Cool_Load_Tot - cool_load_sens_cap_design # Adjust Sizing so that coil sensible at design >= CoolingLoad_Sens, and coil latent at design >= CoolingLoad_Lat, and equipment SHRRated is maintained. @@ -2836,10 +2850,20 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva hvac_sizings.Cool_Capacity = cool_cap_design / total_cap_curve_value hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated + if hvac_cooling.compressor_type == HPXML::HVACCompressorTypeSingleStage + curve_sens_cap_at_design = hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value + else + hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) + design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(cool_cap_design, 'btu/hr', 'kbtu/hr'), hvac_sizings.Cool_Airflow, a_o_rated, hr_indoor_cooling_design) + curve_sens_cap_at_design = hvac_sizings.Cool_Capacity * total_cap_curve_value * design_shr + end # Recalculate the air flow rate in case the oversizing limit has been used - cool_load_sens_cap_design = (hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value / \ + cool_load_sens_cap_design = (curve_sens_cap_at_design / \ (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * (80.0 - mj.cool_setpoint) / cooling_delta_t)) + + # FIXME: Is the airflow calculated here the design air flow? I saw it's using cool_load_sens_cap_design, the Cool_Capacity and Cool_Capacity_Sens are rated, so it's a bit confusing to me. + # FYI, The ashp is calculating Cool_Airflow in the same way. hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) elsif HPXML::HVACTypeEvaporativeCooler == cooling_type @@ -2922,6 +2946,7 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva elsif [HPXML::HVACTypeHeatPumpGroundToAir].include? heating_type if hvac_sizings.Cool_Capacity > 0 + # Fixme: Why there's no heating performance curve adjustment to convert from design to rated? hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load hvac_sizings.Heat_Capacity_Supp = hvac_sizings.Heat_Load_Supp @@ -2938,6 +2963,7 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva cool_load_sens_cap_design = (hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value / \ (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * (80.0 - mj.cool_setpoint) / cooling_delta_t)) + hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) else hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml index f8485fbffd..a8f142e69a 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml @@ -340,7 +340,7 @@ 4.0 - 30.0 + 100.0 diff --git a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml index 3bf7a1860e..dd1a0d6432 100644 --- a/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml +++ b/workflow/sample_files/base-hvac-ground-to-air-heat-pump-var-speed.xml @@ -340,7 +340,7 @@ 4.5 - 30.0 + 100.0 From 4615f89ab3ac83607fd47f19aa77f0609e8d3400 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Wed, 8 Jan 2025 19:59:21 -0700 Subject: [PATCH 05/13] hvac sizing cleanups for two speed GSHP, added rated cop ratios at each speed --- HPXMLtoOpenStudio/measure.xml | 8 +- HPXMLtoOpenStudio/resources/hvac.rb | 36 +- HPXMLtoOpenStudio/resources/hvac_sizing.rb | 372 ++++++++++++--------- workflow/tests/test_simulations2.rb | 2 +- 4 files changed, 233 insertions(+), 185 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 1a0a4bc34c..d2f86ff58f 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - c642c3de-ee8f-462c-9962-401e0689f687 - 2025-01-09T00:35:12Z + 9b8bb400-e214-446b-9799-318d7120b207 + 2025-01-09T02:58:32Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -387,13 +387,13 @@ hvac.rb rb resource - C087E71C + E0D6E06F hvac_sizing.rb rb resource - 6C65C193 + 0059D294 internal_gains.rb diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 9e6e99d423..844f54299b 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -8,6 +8,11 @@ module HVAC AirSourceCoolRatedOWB = 75.0 # degF, Rated outdoor wetbulb for air-source systems, cooling AirSourceCoolRatedIDB = 80.0 # degF, Rated indoor drybulb for air-source systems, cooling AirSourceCoolRatedIWB = 67.0 # degF, Rated indoor wetbulb for air-source systems, cooling + GroundSourceHeatRatedWET = 70.0 # degF, Rated water entering temperature for ground-source systems, heating + GroundSourceHeatRatedIDB = 70.0 # degF, Rated indoor drybulb for ground-source systems, heating + GroundSourceCoolRatedWET = 85.0 # degF, Rated water entering temperature for ground-source systems, cooling + GroundSourceCoolRatedIDB = 80.0 # degF, Rated indoor drybulb for ground-source systems, cooling + GroundSourceCoolRatedIWB = 67.0 # degF, Rated indoor wetbulb for ground-source systems, cooling CrankcaseHeaterTemp = 50.0 # degF # Adds any HVAC Systems to the OpenStudio model. @@ -576,7 +581,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s geothermal_loop.num_bore_holes *= unit_multiplier # Cooling Coil - if heat_pump.compressor_type = HPXML::HVACCompressorTypeSingleStage + if [HPXML::HVACCompressorTypeSingleStage].include? heat_pump.compressor_type clg_total_cap_curve = Model.add_curve_quad_linear( model, name: "#{obj_name} clg total cap curve", @@ -622,7 +627,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s htg_coil.setRatedEnteringWaterTemperature(UnitConversions.convert(60, 'F', 'C')) htg_coil.setRatedEnteringAirDryBulbTemperature(UnitConversions.convert(70, 'F', 'C')) htg_coil.setRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W')) - else + elsif [HPXML::HVACCompressorTypeTwoStage, HPXML::HVACCompressorTypeVariableSpeed].include? heat_pump.compressor_type num_speeds = hp_ap.cool_capacity_ratios.size # TODO: Curve placeholder plf_fplr_curve = Model.add_curve_quadratic( @@ -2216,7 +2221,8 @@ def self.set_curves_gshp(heat_pump) hp_ap.heat_rated_airflow_rate = hp_ap.heat_rated_cfm_per_ton[-1] hp_ap.heat_fan_speed_ratios = calc_fan_speed_ratios(hp_ap.heat_capacity_ratios, hp_ap.heat_rated_cfm_per_ton, hp_ap.heat_rated_airflow_rate) - if heat_pump.compressor_type == HPXML::HVACCompressorTypeSingleStage + case heat_pump.compressor_type + when HPXML::HVACCompressorTypeSingleStage # E+ equation fit coil coefficients generated following approach in Tang's thesis: # See Appendix B of https://shareok.org/bitstream/handle/11244/10075/Tang_okstate_0664M_1318.pdf?sequence=1&isAllowed=y @@ -2241,8 +2247,10 @@ def self.set_curves_gshp(heat_pump) # Heating Curves hp_ap.heat_cap_curve_spec = [[-3.75031847962047, -2.18062040443483, 6.8363364819032, 0.188376814356582, 0.0869274802923634]] hp_ap.heat_power_curve_spec = [[-8.4754723813072, 8.10952801956388, 1.38771494628738, -0.33766445915032, 0.0223085217874051]] + cool_cop_ratios = [1.0] + heat_cop_ratios = [1.0] - elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeTwoStage + when HPXML::HVACCompressorTypeTwoStage # Cooling Curves # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool @@ -2281,7 +2289,10 @@ def self.set_curves_gshp(heat_pump) [0.1535, -0.3215, 1.1679]] # FIXME: Rated condition is the same as DX coil E+ conditions, so followed the same approach here, please review set_cool_rated_shrs_gross(heat_pump) - elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeVariableSpeed + # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf + cool_cop_ratios = [1.102827763, 1.0] + heat_cop_ratios = [1.161791639, 1.0] + when HPXML::HVACCompressorTypeTwoStage # TODO: Add variable speed system performance curves end @@ -2289,16 +2300,15 @@ def self.set_curves_gshp(heat_pump) # Fan power to overcome the static pressure adjustment rated_fan_watts_per_cfm = 0.5 * heat_pump.fan_watts_per_cfm # Calculate rated fan power by assuming the power to overcome the ductwork is approximately 50% of the total fan power (ANSI/RESNET/ICC 301 says 0.2 W/cfm is the fan power associated with ductwork, but we don't know if that was a PSC or BPM fan) rated_pump_watts_per_ton = 30.0 # ANSI/RESNET/ICC 301, estimated pump power required to overcome the internal resistance of the ground-water heat exchanger under AHRI test conditions for a closed loop system + power_f = rated_fan_watts_per_cfm * hp_ap.cool_rated_cfm_per_ton[-1] / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity + power_p = rated_pump_watts_per_ton / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity + cool_eir_rated = UnitConversions.convert(((hp_ap.cool_capacity_ratios[-1] - UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.cooling_efficiency_eer - power_f - power_p), 'Wh', 'Btu') + heat_eir_rated = (hp_ap.heat_capacity_ratios[-1] + UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.heating_efficiency_cop - UnitConversions.convert(power_f + power_p, 'Wh', 'Btu') hp_ap.cool_rated_cops = [] hp_ap.heat_rated_cops = [] - hp_ap.cool_capacity_ratios.each_with_index do |capacity_ratio, i| - power_f = rated_fan_watts_per_cfm * hp_ap.cool_rated_cfm_per_ton[i] / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity - power_p = rated_pump_watts_per_ton / UnitConversions.convert(1.0, 'ton', 'Btu/hr') # result is in W per Btu/hr of capacity - # Fixme: Need to get eer/cop at each speed - cool_eir = UnitConversions.convert(((capacity_ratio - UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.cooling_efficiency_eer - power_f - power_p), 'Wh', 'Btu') - heat_eir = (capacity_ratio + UnitConversions.convert(power_f, 'Wh', 'Btu')) / heat_pump.heating_efficiency_cop - UnitConversions.convert(power_f + power_p, 'Wh', 'Btu') - hp_ap.cool_rated_cops << 1.0 / cool_eir - hp_ap.heat_rated_cops << 1.0 / heat_eir + for i in 0..(cool_cop_ratios.size - 1) + hp_ap.cool_rated_cops << 1.0 / cool_eir_rated * cool_cop_ratios[i] + hp_ap.heat_rated_cops << 1.0 / heat_eir_rated * heat_cop_ratios[i] end end diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb index ecb0bba4dd..3f1a918307 100644 --- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb +++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb @@ -2598,6 +2598,130 @@ def self.apply_hvac_piping_load(hvac_loads, zone_loads, hvac_heating) zone_loads.Heat_Tot += heat_load end + # Iteratively calculate design SHR --> design sensible capacity --> use design sensible capacity to RECALCULATE design airflow using MJ approach + # + # @param mj [MJValues] Object with a collection of misc Manual J values + # @param hvac_cooling_ap [HPXML::AdditionalProperties] AdditionalProperties object for the HVAC cooling system/heat pump + # @param hvac_sizings [HVACSizingValues] Object with sizing values for a given HVAC system + # @param cooling_delta_t [Double] Cooling supply temperature difference (F) + # @param manualj_humidity_setpoint [Double] Manual J input relative humidity setpoint (frac) + # @param total_cap_curve_value [Double] Capacity curve value at design condition + # @param hvac_cooling_speed [Integer] HVAC cooling speed for sizing + # @param undersize_limit [Double] Undersize fraction (frac) + # @param oversize_limit [Double] Oversize fraction (frac) + # @param rated_idb [Double] Indoor air Dry-Bulb temperature at rated conditions (F) + # @param rated_iwb [Double] Indoor air Wet-Bulb temperature at rated conditions (F) + + # @return [Array] Final design airflow, cooling total capacity at rated conditions, sensible capacity at rated conditions, SHR at design condition + def self.adjust_cooling_capacities_by_sizing_at_design(mj, hvac_cooling_ap, hvac_sizings, cooling_delta_t, manualj_humidity_setpoint, total_cap_curve_value, hvac_cooling_speed, undersize_limit, oversize_limit, rated_idb, rated_iwb) + cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value + cool_cfm_rated = UnitConversions.convert(cool_cap_rated, 'btu/hr', 'ton') * hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] + + # rated SHR + hvac_cooling_shr_rated = hvac_cooling_ap.cool_rated_shrs_gross[hvac_cooling_speed] + + rated_barometric_pressure_psi = UnitConversions.convert(1, 'atm', 'psi') # assume rated pressure is at sea level + + hr_indoor_cooling_rated = Psychrometrics.w_fT_Twb_P(rated_idb, rated_iwb, rated_barometric_pressure_psi) # [lbm/lbm] + + # Calculate A_o using rated conditions; used to calculate an initial estimate of the design SHR + a_o_rated = Psychrometrics.CoilAoFactor(rated_idb, rated_barometric_pressure_psi, UnitConversions.convert(cool_cap_rated, 'btu/hr', 'kbtu/hr'), cool_cfm_rated, hvac_cooling_shr_rated, hr_indoor_cooling_rated) + cool_cap_design = hvac_sizings.Cool_Load_Tot + + # initial estimate for design airflow rate [cfm] + airflow = calc_airflow_rate_manual_s(mj, hvac_sizings.Cool_Load_Sens, cooling_delta_t, dx_capacity: cool_cap_rated) + + hr_indoor_cooling_design = Psychrometrics.w_fT_R_P(mj.cool_setpoint, manualj_humidity_setpoint, mj.p_psi) + + # initialize for iteration + delta = 1 + + for _iter in 1..100 + break if delta.abs <= 0.001 + + # calculate design SHR --> design sensible capacity --> use design sensible capacity to RECALCULATE design airflow + # note: using MJ cooling setpoint as EDB in calculateSHR() ignores return duct losses + + cool_airflow_prev = airflow + + # Calculate the coil SHR at the given incoming air state, CFM, total capacity, and coil Ao factor + # CFM changes in the iteration based on current value of design_shr + design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(cool_cap_design, 'btu/hr', 'kbtu/hr'), airflow, a_o_rated, hr_indoor_cooling_design) + + # calculate sensible/latent split at design conditions + cool_sens_cap_design = cool_cap_design * design_shr + cool_lat_cap_design = [cool_cap_design - cool_sens_cap_design, 1.0].max + + # Adjust Sizing + if cool_lat_cap_design < hvac_sizings.Cool_Load_Lat + # Size by MJ8 Latent Load + + # Solve for new sensible and total capacity at design conditions, assuming that latent design capacity = latent load + # Q_design_tot = Q_design_lat + Q_design_sens = Q_load_lat + Q_design_sens (1) + # Design_SHR = Q_design_sens/Q_design_tot (2) + # combining (1) and (2) --> Q_design_tot = Q_load_lat/(1-Design_SHR) (3) + cool_cap_design = hvac_sizings.Cool_Load_Lat / (1 - design_shr) + + # recalculate sensible design capacity using adjusted design total capacity + cool_sens_cap_design = cool_cap_design * design_shr + + # Ensure equipment is not being undersized + cool_sens_cap_design = [cool_sens_cap_design, undersize_limit * hvac_sizings.Cool_Load_Sens].max + + cool_cap_design = cool_sens_cap_design + hvac_sizings.Cool_Load_Lat + + # If the adjusted equipment size is negative (occurs at altitude), use oversize limit (the adjustment + # almost always hits the oversize limit in this case, making this a safe assumption) + if (cool_cap_design < 0) || (cool_sens_cap_design < 0) + cool_cap_design = oversize_limit * hvac_sizings.Cool_Load_Tot + end + + # Limit total capacity to oversize limit + cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min + + # Determine rated capacities + cool_cap_rated = cool_cap_design / total_cap_curve_value + cool_sens_cap_rated = cool_cap_rated * hvac_cooling_shr_rated + + # Determine the final sensible capacity at design using the SHR + cool_sens_cap_design = cool_cap_design * design_shr + + elsif cool_sens_cap_design < undersize_limit * hvac_sizings.Cool_Load_Sens + # Size by MJ8 Sensible Load, return to rated conditions, find rated sensible capacity with SHRRated. Limit total + # capacity to oversizing limit. + + cool_sens_cap_design = undersize_limit * hvac_sizings.Cool_Load_Sens + + # Solve for the new total system capacity at design conditions + cool_cap_design = cool_sens_cap_design / design_shr + + # Limit total capacity to oversize limit + cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min + + # rated capacities + cool_cap_rated = cool_cap_design / total_cap_curve_value + cool_sens_cap_rated = cool_cap_rated * hvac_cooling_shr_rated + + # Recalculate the design sensible capacity in case the oversizing limit on total cap has been used + cool_sens_cap_design = cool_cap_design * design_shr + + else + cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value + cool_sens_cap_rated = cool_cap_rated * hvac_cooling_shr_rated + + cool_sens_cap_design = cool_cap_rated * total_cap_curve_value * design_shr + end + + # Calculate the final air flow rate using final sensible capacity at design + # hp_cooling_cfm argument not provided to calc_airflow_rate_manual_s + # since the function is not being used to calculate a heating airflow + airflow = calc_airflow_rate_manual_s(mj, cool_sens_cap_design, cooling_delta_t, dx_capacity: cool_cap_rated) + + delta = (airflow - cool_airflow_prev) / cool_airflow_prev + end + return airflow, cool_cap_rated, cool_sens_cap_rated, design_shr + end + # Applies Manual S equipment adjustments based on the system type and design loads. # # @param mj [MJValues] Object with a collection of misc Manual J values @@ -2661,112 +2785,7 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva coefficients = hvac_cooling_ap.cool_cap_ft_spec[hvac_cooling_speed] total_cap_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, entering_temp, coefficients) end - - cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value - cool_cfm_rated = UnitConversions.convert(cool_cap_rated, 'btu/hr', 'ton') * hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] - - # rated SHR - hvac_cooling_shr_rated = hvac_cooling_ap.cool_rated_shrs_gross[hvac_cooling_speed] - - rated_barometric_pressure_psi = UnitConversions.convert(1, 'atm', 'psi') # assume rated pressure is at sea level - - hr_indoor_cooling_rated = Psychrometrics.w_fT_Twb_P(HVAC::AirSourceCoolRatedIDB, HVAC::AirSourceCoolRatedIWB, rated_barometric_pressure_psi) # [lbm/lbm] - - # Calculate A_o using rated conditions; used to calculate an initial estimate of the design SHR - a_o_rated = Psychrometrics.CoilAoFactor(HVAC::AirSourceCoolRatedIDB, rated_barometric_pressure_psi, UnitConversions.convert(cool_cap_rated, 'btu/hr', 'kbtu/hr'), cool_cfm_rated, hvac_cooling_shr_rated, hr_indoor_cooling_rated) - cool_cap_design = hvac_sizings.Cool_Load_Tot - - # initial estimate for design airflow rate [cfm] - hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, hvac_sizings.Cool_Load_Sens, cooling_delta_t, dx_capacity: cool_cap_rated) - - hr_indoor_cooling_design = Psychrometrics.w_fT_R_P(mj.cool_setpoint, hpxml_bldg.header.manualj_humidity_setpoint, mj.p_psi) - - # initialize for iteration - delta = 1 - - for _iter in 1..100 - break if delta.abs <= 0.001 - - # calculate design SHR --> design sensible capacity --> use design sensible capacity to RECALCULATE design airflow - # note: using MJ cooling setpoint as EDB in calculateSHR() ignores return duct losses - - cool_airflow_prev = hvac_sizings.Cool_Airflow - - # Calculate the coil SHR at the given incoming air state, CFM, total capacity, and coil Ao factor - # CFM changes in the iteration based on current value of design_shr - design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(cool_cap_design, 'btu/hr', 'kbtu/hr'), hvac_sizings.Cool_Airflow, a_o_rated, hr_indoor_cooling_design) - - # calculate sensible/latent split at design conditions - cool_sens_cap_design = cool_cap_design * design_shr - cool_lat_cap_design = [cool_cap_design - cool_sens_cap_design, 1.0].max - - # Adjust Sizing - if cool_lat_cap_design < hvac_sizings.Cool_Load_Lat - # Size by MJ8 Latent Load - - # Solve for new sensible and total capacity at design conditions, assuming that latent design capacity = latent load - # Q_design_tot = Q_design_lat + Q_design_sens = Q_load_lat + Q_design_sens (1) - # Design_SHR = Q_design_sens/Q_design_tot (2) - # combining (1) and (2) --> Q_design_tot = Q_load_lat/(1-Design_SHR) (3) - cool_cap_design = hvac_sizings.Cool_Load_Lat / (1 - design_shr) - - # recalculate sensible design capacity using adjusted design total capacity - cool_sens_cap_design = cool_cap_design * design_shr - - # Ensure equipment is not being undersized - cool_sens_cap_design = [cool_sens_cap_design, undersize_limit * hvac_sizings.Cool_Load_Sens].max - - cool_cap_design = cool_sens_cap_design + hvac_sizings.Cool_Load_Lat - - # If the adjusted equipment size is negative (occurs at altitude), use oversize limit (the adjustment - # almost always hits the oversize limit in this case, making this a safe assumption) - if (cool_cap_design < 0) || (cool_sens_cap_design < 0) - cool_cap_design = oversize_limit * hvac_sizings.Cool_Load_Tot - end - - # Limit total capacity to oversize limit - cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min - - # Determine rated capacities - hvac_sizings.Cool_Capacity = cool_cap_design / total_cap_curve_value - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - - # Determine the final sensible capacity at design using the SHR - cool_sens_cap_design = cool_cap_design * design_shr - - elsif cool_sens_cap_design < undersize_limit * hvac_sizings.Cool_Load_Sens - # Size by MJ8 Sensible Load, return to rated conditions, find rated sensible capacity with SHRRated. Limit total - # capacity to oversizing limit. - - cool_sens_cap_design = undersize_limit * hvac_sizings.Cool_Load_Sens - - # Solve for the new total system capacity at design conditions - cool_cap_design = cool_sens_cap_design / design_shr - - # Limit total capacity to oversize limit - cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min - - # rated capacities - hvac_sizings.Cool_Capacity = cool_cap_design / total_cap_curve_value - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - - # Recalculate the design sensible capacity in case the oversizing limit on total cap has been used - cool_sens_cap_design = cool_cap_design * design_shr - - else - hvac_sizings.Cool_Capacity = hvac_sizings.Cool_Load_Tot / total_cap_curve_value - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - - cool_sens_cap_design = hvac_sizings.Cool_Capacity * total_cap_curve_value * design_shr - end - - # Calculate the final air flow rate using final sensible capacity at design - # hp_cooling_cfm argument not provided to calc_airflow_rate_manual_s - # since the function is not being used to calculate a heating airflow - hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) - - delta = (hvac_sizings.Cool_Airflow - cool_airflow_prev) / cool_airflow_prev - end + hvac_sizings.Cool_Airflow, hvac_sizings.Cool_Capacity, hvac_sizings.Cool_Capacity_Sens, _design_shr = adjust_cooling_capacities_by_sizing_at_design(mj, hvac_cooling_ap, hvac_sizings, cooling_delta_t, hpxml_bldg.header.manualj_humidity_setpoint, total_cap_curve_value, hvac_cooling_speed, undersize_limit, oversize_limit, HVAC::AirSourceCoolRatedIDB, HVAC::AirSourceCoolRatedIWB) elsif [HPXML::HVACTypeHeatPumpMiniSplit, HPXML::HVACTypeMiniSplitAirConditioner].include?(cooling_type) && !is_ducted @@ -2805,14 +2824,13 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva entering_temp = hvac_cooling_ap.design_chw hvac_cooling_speed = get_nominal_speed(hvac_cooling_ap, true) - gshp_coil_bf = 0.0806 - gshp_coil_bf_ft_spec = [1.21005458, -0.00664200, 0.00000000, 0.00348246, 0.00000000, 0.00000000] - bypass_factor_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, mj.cool_setpoint, gshp_coil_bf_ft_spec) - hvac_cooling_shr_rated = hvac_cooling_ap.cool_rated_shrs_gross[hvac_cooling_speed] - - if hvac_cooling.compressor_type == HPXML::HVACCompressorTypeSingleStage + if [HPXML::HVACCompressorTypeSingleStage].include? hvac_cooling.compressor_type + # TODO: replace hardcoded bypass factor and curve? + gshp_coil_bf = 0.0806 + gshp_coil_bf_ft_spec = [1.21005458, -0.00664200, 0.00000000, 0.00348246, 0.00000000, 0.00000000] + bypass_factor_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, mj.cool_setpoint, gshp_coil_bf_ft_spec) + hvac_cooling_shr_rated = hvac_cooling_ap.cool_rated_shrs_gross[hvac_cooling_speed] # Calculate an initial air flow rate assuming 400 cfm/ton - # Fixme: Shouldn't this be cfm/ton * total capacity? We're using Cool_Load_Sens before hvac_sizings.Cool_Airflow = hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] * UnitConversions.convert(hvac_sizings.Cool_Load_Tot, 'Btu/hr', 'ton') cool_cap_curve_spec = hvac_cooling_ap.cool_cap_curve_spec[hvac_cooling_speed] cool_sh_curve_spec = hvac_cooling_ap.cool_sh_curve_spec[hvac_cooling_speed] @@ -2821,50 +2839,32 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value # Note: cool_cap_design = hvac_sizings.Cool_Load_Tot cool_sens_cap_rated = cool_cap_rated * hvac_cooling_shr_rated curve_sens_cap_at_design = cool_sens_cap_rated * sensible_cap_curve_value - else - total_cap_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, entering_temp, hvac_cooling_ap.cool_cap_ft_spec[hvac_cooling_speed]) - cool_cap_rated = hvac_sizings.Cool_Load_Tot / total_cap_curve_value # Note: cool_cap_design = hvac_sizings.Cool_Load_Tot - cool_cfm_rated = hvac_cooling_ap.cool_rated_cfm_per_ton[hvac_cooling_speed] * UnitConversions.convert(cool_cap_rated, 'Btu/hr', 'ton') - hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, hvac_sizings.Cool_Load_Sens, cooling_delta_t, dx_capacity: cool_cap_rated) - # Calculate an estimate of the design SHR, using the same approach as ashp, the same indoor conditions - rated_barometric_pressure_psi = UnitConversions.convert(1, 'atm', 'psi') # assume rated pressure is at sea level - hr_indoor_cooling_rated = Psychrometrics.w_fT_Twb_P(HVAC::AirSourceCoolRatedIDB, HVAC::AirSourceCoolRatedIWB, rated_barometric_pressure_psi) # [lbm/lbm] - hr_indoor_cooling_design = Psychrometrics.w_fT_R_P(mj.cool_setpoint, hpxml_bldg.header.manualj_humidity_setpoint, mj.p_psi) - # Calculate A_o using rated conditions; - a_o_rated = Psychrometrics.CoilAoFactor(HVAC::AirSourceCoolRatedIDB, rated_barometric_pressure_psi, UnitConversions.convert(cool_cap_rated, 'btu/hr', 'kbtu/hr'), cool_cfm_rated, hvac_cooling_shr_rated, hr_indoor_cooling_rated) - design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(hvac_sizings.Cool_Load_Tot, 'btu/hr', 'kbtu/hr'), hvac_sizings.Cool_Airflow, a_o_rated, hr_indoor_cooling_design) - curve_sens_cap_at_design = cool_cap_rated * total_cap_curve_value * design_shr - end - cool_load_sens_cap_design = (curve_sens_cap_at_design / \ - (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * - (80.0 - mj.cool_setpoint) / cooling_delta_t)) - cool_load_lat_cap_design = hvac_sizings.Cool_Load_Tot - cool_load_sens_cap_design - - # Adjust Sizing so that coil sensible at design >= CoolingLoad_Sens, and coil latent at design >= CoolingLoad_Lat, and equipment SHRRated is maintained. - cool_load_sens_cap_design = [cool_load_sens_cap_design, hvac_sizings.Cool_Load_Sens].max - cool_load_lat_cap_design = [cool_load_lat_cap_design, hvac_sizings.Cool_Load_Lat].max - cool_cap_design = cool_load_sens_cap_design + cool_load_lat_cap_design - - # Limit total capacity via oversizing limit - cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min - hvac_sizings.Cool_Capacity = cool_cap_design / total_cap_curve_value - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated + cool_load_sens_cap_design = (curve_sens_cap_at_design / \ + (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * + (80.0 - mj.cool_setpoint) / cooling_delta_t)) + cool_load_lat_cap_design = hvac_sizings.Cool_Load_Tot - cool_load_sens_cap_design + + # Adjust Sizing so that coil sensible at design >= CoolingLoad_Sens, and coil latent at design >= CoolingLoad_Lat, and equipment SHRRated is maintained. + cool_load_sens_cap_design = [cool_load_sens_cap_design, hvac_sizings.Cool_Load_Sens].max + cool_load_lat_cap_design = [cool_load_lat_cap_design, hvac_sizings.Cool_Load_Lat].max + cool_cap_design = cool_load_sens_cap_design + cool_load_lat_cap_design + + # Limit total capacity via oversizing limit + cool_cap_design = [cool_cap_design, oversize_limit * hvac_sizings.Cool_Load_Tot].min + hvac_sizings.Cool_Capacity = cool_cap_design / total_cap_curve_value + hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - if hvac_cooling.compressor_type == HPXML::HVACCompressorTypeSingleStage curve_sens_cap_at_design = hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value - else + # Recalculate the air flow rate in case the oversizing limit has been used + cool_load_sens_cap_design = (curve_sens_cap_at_design / \ + (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * + (80.0 - mj.cool_setpoint) / cooling_delta_t)) hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) - design_shr = Psychrometrics.CalculateSHR(mj.cool_setpoint, mj.p_psi, UnitConversions.convert(cool_cap_design, 'btu/hr', 'kbtu/hr'), hvac_sizings.Cool_Airflow, a_o_rated, hr_indoor_cooling_design) - curve_sens_cap_at_design = hvac_sizings.Cool_Capacity * total_cap_curve_value * design_shr + elsif [HPXML::HVACCompressorTypeTwoStage, HPXML::HVACCompressorTypeVariableSpeed].include? hvac_cooling.compressor_type + total_cap_curve_value = MathTools.biquadratic(mj.cool_indoor_wetbulb, entering_temp, hvac_cooling_ap.cool_cap_ft_spec[hvac_cooling_speed]) + # Fixme: should we also calculate airflow and water flow curve values and multiply them altogether with FT curve value? + hvac_sizings.Cool_Airflow, hvac_sizings.Cool_Capacity, hvac_sizings.Cool_Capacity_Sens, design_shr = adjust_cooling_capacities_by_sizing_at_design(mj, hvac_cooling_ap, hvac_sizings, cooling_delta_t, hpxml_bldg.header.manualj_humidity_setpoint, total_cap_curve_value, hvac_cooling_speed, undersize_limit, oversize_limit, HVAC::GroundSourceCoolRatedIDB, HVAC::GroundSourceCoolRatedIWB) end - # Recalculate the air flow rate in case the oversizing limit has been used - cool_load_sens_cap_design = (curve_sens_cap_at_design / \ - (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * - (80.0 - mj.cool_setpoint) / cooling_delta_t)) - - # FIXME: Is the airflow calculated here the design air flow? I saw it's using cool_load_sens_cap_design, the Cool_Capacity and Cool_Capacity_Sens are rated, so it's a bit confusing to me. - # FYI, The ashp is calculating Cool_Airflow in the same way. - hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) elsif HPXML::HVACTypeEvaporativeCooler == cooling_type @@ -2944,30 +2944,37 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva end elsif [HPXML::HVACTypeHeatPumpGroundToAir].include? heating_type - - if hvac_sizings.Cool_Capacity > 0 - # Fixme: Why there's no heating performance curve adjustment to convert from design to rated? - hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load - hvac_sizings.Heat_Capacity_Supp = hvac_sizings.Heat_Load_Supp - + entering_temp = hvac_heating_ap.design_hw + hvac_heating_speed = get_nominal_speed(hvac_heating_ap, false) + if [HPXML::HVACCompressorTypeSingleStage].include? hvac_heating.compressor_type + hvac_sizings.Heat_Airflow = hvac_heating_ap.heat_rated_cfm_per_ton[hvac_heating_speed] * UnitConversions.convert(hvac_sizings.Heat_Load_Tot, 'Btu/hr', 'ton') + htg_cap_curve_value = calc_gshp_htg_curve_value(hvac_heating_ap.heat_cap_curve_spec[hvac_heating_speed], mj.heat_setpoint, entering_temp, hvac_sizings.Heat_Airflow) + hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load / htg_cap_curve_value # For single stage compressor, when heating capacity is much larger than cooling capacity, # in order to avoid frequent cycling in cooling mode, heating capacity is derated to 75%. + # Fixme: Assume this shouldn't be applied to var speed system, but should this apply to two speed? if hvac_sizings.Heat_Capacity >= 1.5 * hvac_sizings.Cool_Capacity hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load * 0.75 end - + elsif [HPXML::HVACCompressorTypeTwoStage, HPXML::HVACCompressorTypeVariableSpeed].include? hvac_heating.compressor_type + htg_cap_curve_value = MathTools.biquadratic(mj.heat_setpoint, entering_temp, hvac_heating_ap.heat_cap_ft_spec[hvac_heating_speed]) + hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load / htg_cap_curve_value + end + hvac_sizings.Heat_Capacity_Supp = hvac_sizings.Heat_Load_Supp + if hvac_sizings.Cool_Capacity > 0 hvac_sizings.Cool_Capacity = [hvac_sizings.Cool_Capacity, hvac_sizings.Heat_Capacity].max hvac_sizings.Heat_Capacity = hvac_sizings.Cool_Capacity - hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated - cool_load_sens_cap_design = (hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value / \ - (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * - (80.0 - mj.cool_setpoint) / cooling_delta_t)) + if [HPXML::HVACCompressorTypeSingleStage].include? hvac_heating.compressor_type + hvac_sizings.Cool_Capacity_Sens = hvac_sizings.Cool_Capacity * hvac_cooling_shr_rated + cool_load_sens_cap_design = (hvac_sizings.Cool_Capacity_Sens * sensible_cap_curve_value / \ + (1.0 + (1.0 - gshp_coil_bf * bypass_factor_curve_value) * + (80.0 - mj.cool_setpoint) / cooling_delta_t)) + elsif [HPXML::HVACCompressorTypeTwoStage, HPXML::HVACCompressorTypeVariableSpeed].include? hvac_heating.compressor_type + cool_load_sens_cap_design = hvac_sizings.Cool_Capacity * total_cap_curve_value * design_shr + end hvac_sizings.Cool_Airflow = calc_airflow_rate_manual_s(mj, cool_load_sens_cap_design, cooling_delta_t, dx_capacity: hvac_sizings.Cool_Capacity) - else - hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load - hvac_sizings.Heat_Capacity_Supp = hvac_sizings.Heat_Load_Supp end hvac_sizings.Heat_Airflow = calc_airflow_rate_manual_s(mj, hvac_sizings.Heat_Capacity, heating_delta_t, dx_capacity: hvac_sizings.Heat_Capacity, hp_cooling_cfm: hvac_sizings.Cool_Airflow) @@ -3948,6 +3955,37 @@ def self.calc_gshp_clg_curve_value(cool_cap_curve_spec, cool_sh_curve_spec, wb_t return total_cap_curve_value, sensible_cap_curve_value end + # Calculates the ground source heat pump's heating capacities at the design conditions as a fraction of the nominal heating capacity. + # + # @param heat_cap_curve_spec [Array] Heating capacity performance curve coefficients + # @param db_temp [Double] Indoor design drybulb temperature (F) + # @param w_temp [Double] Temperature of water entering indoor coil (F) + # @param vfr_air [Double] Cooling design airflow rate (cfm) + # @return [Double] Heating capacity fraction of nominal + def self.calc_gshp_htg_curve_value(heat_cap_curve_spec, db_temp, w_temp, vfr_air) + # Reference conditions in thesis with largest capacity: + # See Appendix B Figure B.3 of https://hvac.okstate.edu/sites/default/files/pubs/theses/MS/27-Tang_Thesis_05.pdf + ref_temp = 283 # K + ref_vfr_air = UnitConversions.convert(1200, 'cfm', 'm^3/s') # rated volume flow rate used to fit the curve + ref_vfr_water = 0.000284 + + a_1 = heat_cap_curve_spec[0] + a_2 = heat_cap_curve_spec[1] + a_3 = heat_cap_curve_spec[2] + a_4 = heat_cap_curve_spec[3] + a_5 = heat_cap_curve_spec[4] + + loop_flow = 0.0 # Neglecting the water flow rate for now because it's not available yet + + db_temp = UnitConversions.convert(db_temp, 'F', 'K') + w_temp = UnitConversions.convert(w_temp, 'F', 'K') + vfr_air = UnitConversions.convert(vfr_air, 'cfm', 'm^3/s') + + htg_cap_curve_value = a_1 + db_temp / ref_temp * a_2 + w_temp / ref_temp * a_3 + vfr_air / ref_vfr_air * a_4 + loop_flow / ref_vfr_water * a_5 + + return htg_cap_curve_value + end + # Calculates the effectiveness of the air distribution system during heating. # # Source: ASHRAE Standard 152 "Method of Test for Determining the Design and Seasonal Efficiencies diff --git a/workflow/tests/test_simulations2.rb b/workflow/tests/test_simulations2.rb index 404075be04..d0aa9eba7d 100644 --- a/workflow/tests/test_simulations2.rb +++ b/workflow/tests/test_simulations2.rb @@ -26,7 +26,7 @@ def test_simulations2 xmls = [] [sample_files_dir, real_homes_dir].each do |hpxml_files_dir| Dir["#{hpxml_files_dir}/*.xml"].sort.each do |xml| - next if (xml.include? 'base-hvac-ground-to-air-heat-pump-2-speed') || (xml.include? 'base-hvac-ground-to-air-heat-pump-var-speed') + next if (xml.include? 'base-hvac-ground-to-air-heat-pump-var-speed') xmls << File.absolute_path(xml) end From c883e62211936d88fb5f3f9b68482818e5c82bdd Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 9 Jan 2025 11:40:59 -0700 Subject: [PATCH 06/13] bugfix --- HPXMLtoOpenStudio/measure.xml | 6 +++--- HPXMLtoOpenStudio/resources/hvac_sizing.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index d2f86ff58f..bb3a2cdba9 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 9b8bb400-e214-446b-9799-318d7120b207 - 2025-01-09T02:58:32Z + 24c2e03f-1a44-4219-8bc4-be4a5e376032 + 2025-01-09T18:40:38Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -393,7 +393,7 @@ hvac_sizing.rb rb resource - 0059D294 + 6F414A89 internal_gains.rb diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb index 3f1a918307..5c8a63f91a 100644 --- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb +++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb @@ -2947,7 +2947,7 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva entering_temp = hvac_heating_ap.design_hw hvac_heating_speed = get_nominal_speed(hvac_heating_ap, false) if [HPXML::HVACCompressorTypeSingleStage].include? hvac_heating.compressor_type - hvac_sizings.Heat_Airflow = hvac_heating_ap.heat_rated_cfm_per_ton[hvac_heating_speed] * UnitConversions.convert(hvac_sizings.Heat_Load_Tot, 'Btu/hr', 'ton') + hvac_sizings.Heat_Airflow = hvac_heating_ap.heat_rated_cfm_per_ton[hvac_heating_speed] * UnitConversions.convert(hvac_sizings.Heat_Load, 'Btu/hr', 'ton') htg_cap_curve_value = calc_gshp_htg_curve_value(hvac_heating_ap.heat_cap_curve_spec[hvac_heating_speed], mj.heat_setpoint, entering_temp, hvac_sizings.Heat_Airflow) hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load / htg_cap_curve_value # For single stage compressor, when heating capacity is much larger than cooling capacity, From ed642d8914605229a071dcb99b6c2b2422c259fc Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 9 Jan 2025 14:52:28 -0700 Subject: [PATCH 07/13] Added temperature max/min values to curves, fixed airflow and water flow quadratic curves (fixed coefficients orders, and fixed some curves that are not normalized). --- HPXMLtoOpenStudio/measure.xml | 6 ++-- HPXMLtoOpenStudio/resources/hvac.rb | 44 ++++++++++++++++------------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index bb3a2cdba9..58c490b1c5 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 24c2e03f-1a44-4219-8bc4-be4a5e376032 - 2025-01-09T18:40:38Z + 6f3b5f4c-ebd8-4fc8-a4d8-039219d24809 + 2025-01-09T21:47:45Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -387,7 +387,7 @@ hvac.rb rb resource - E0D6E06F + 56F9B7C7 hvac_sizing.rb diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 844f54299b..3628ae509e 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -648,7 +648,8 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s cap_ft_curve = Model.add_curve_biquadratic( model, name: "Cool-CAP-fT#{i + 1}", - coeff: hp_ap.cool_cap_ft_spec[i] + coeff: hp_ap.cool_cap_ft_spec[i], + min_x: -100, max_x: 100, min_y: -100, max_y: 100 ) cap_faf_curve = Model.add_curve_quadratic( model, @@ -665,7 +666,8 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s eir_ft_curve = Model.add_curve_biquadratic( model, name: "Cool-EIR-fT#{i + 1}", - coeff: hp_ap.cool_eir_ft_spec[i] + coeff: hp_ap.cool_eir_ft_spec[i], + min_x: -100, max_x: 100, min_y: -100, max_y: 100 ) eir_faf_curve = Model.add_curve_quadratic( model, @@ -714,7 +716,8 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s cap_ft_curve = Model.add_curve_biquadratic( model, name: "Heat-CAP-fT#{i + 1}", - coeff: hp_ap.heat_cap_ft_spec[i] + coeff: hp_ap.heat_cap_ft_spec[i], + min_x: -100, max_x: 100, min_y: -100, max_y: 100 ) cap_faf_curve = Model.add_curve_quadratic( model, @@ -731,7 +734,8 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s eir_ft_curve = Model.add_curve_biquadratic( model, name: "Heat-EIR-fT#{i + 1}", - coeff: hp_ap.heat_eir_ft_spec[i] + coeff: hp_ap.heat_eir_ft_spec[i], + min_x: -100, max_x: 100, min_y: -100, max_y: 100 ) eir_faf_curve = Model.add_curve_quadratic( model, @@ -2261,14 +2265,14 @@ def self.set_curves_gshp(heat_pump) [0.4423161030, 0.0346534683, 0.0000043691, 0.0046060534, -0.0001393465, -0.0002316000]] hp_ap.cool_eir_ft_spec = [[1.0242580586, -0.0549907581, 0.0017735749, 0.0186562274, 0.0008900852, -0.0016973518], [1.0763155558, -0.0396246303, 0.0010677382, 0.0074160145, 0.0006781567, -0.0009009811]] - hp_ap.cool_cap_faf_spec = [[-0.0000007, 0.0003, 0.1047], - [-0.0238, 0.1688, 0.8551]] - hp_ap.cool_eir_faf_spec = [[0.000001, 0.0008, 0.9064], - [-0.0044, 0.0436, 0.1408]] - hp_ap.cool_cap_fwf_spec = [[-0.129, 0.2903, 0.8387], - [-0.14, 0.325, 0.815]] - hp_ap.cool_eir_fwf_spec = [[0.5924, -1.3055, 1.7131], - [0.4678, -1.055, 1.5872]] + hp_ap.cool_cap_faf_spec = [[0.9064, 0.0793, 0.0143], + [0.8551, 0.1688, -0.0238]] + hp_ap.cool_eir_faf_spec = [[0.7931, 0.2623, -0.0552], + [0.8241, 0.1523, 0.0234]] + hp_ap.cool_cap_fwf_spec = [[0.8387, 0.2903, -0.129], + [0.815, 0.325, -0.14]] + hp_ap.cool_eir_fwf_spec = [[1.7131, -1.3055, 0.5924], + [1.5872, -1.055, 0.4678]] # Heating Curves # E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool # See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool @@ -2279,14 +2283,14 @@ def self.set_curves_gshp(heat_pump) [0.6668920089, -0.0015817909, 0.0000027692, 0.0189198107, -0.0000372655, -0.0000393615]] hp_ap.heat_eir_ft_spec = [[0.8057698794, 0.0316014252, 0.0000380531, -0.0228123504, 0.0004336379, -0.0004522084], [0.8046419585, 0.0233384227, 0.0000376912, -0.0170224134, 0.0003382804, -0.0002368130]] - hp_ap.heat_cap_faf_spec = [[0.000002, 0.0011, 0.8649], - [0.0143, 0.1593, 0.8264]] - hp_ap.heat_eir_faf_spec = [[-0.0000001, -0.0004, 0.2622], - [0.0288, -0.2856, 1.2568]] - hp_ap.heat_cap_fwf_spec = [[-0.2139, 0.5027, 0.7112], - [-0.168, 0.399, 0.769]] - hp_ap.heat_eir_fwf_spec = [[0.3201, -0.6658, 1.3457], - [0.1535, -0.3215, 1.1679]] + hp_ap.heat_cap_faf_spec = [[0.8649, 0.1112, 0.0238], + [0.8264, 0.1593, 0.0143]] + hp_ap.heat_eir_faf_spec = [[1.2006, -0.1943, -0.0062], + [1.2568, -0.2856, 0.0288]] + hp_ap.heat_cap_fwf_spec = [[0.7112, 0.5027, -0.2139], + [0.769, 0.399, -0.168]] + hp_ap.heat_eir_fwf_spec = [[1.3457, -0.6658, 0.3201], + [1.1679, -0.3215, 0.1535]] # FIXME: Rated condition is the same as DX coil E+ conditions, so followed the same approach here, please review set_cool_rated_shrs_gross(heat_pump) # Catalog data from ClimateMaster residential tranquility 30 premier two-stage series Model SE036: https://files.climatemaster.com/RP3001-Residential-SE-Product-Catalog.pdf From 7facd8860d9c83b3ec1d326234ebf1ee28a97cf7 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Fri, 10 Jan 2025 13:24:31 -0700 Subject: [PATCH 08/13] bugfixes, installation quality program(haven't finished yet) --- HPXMLtoOpenStudio/measure.xml | 6 +++--- HPXMLtoOpenStudio/resources/hvac.rb | 12 ++++++++++-- ReportSimulationOutput/measure.rb | 4 ++-- ReportSimulationOutput/measure.xml | 6 +++--- workflow/tests/util.rb | 3 ++- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 73583c3c03..1558e95f1f 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - ee6be70b-f86e-40dc-b2d7-b6f3785692dd - 2025-01-09T21:55:33Z + 2923f17a-1485-4128-903f-cf3ea4a903d5 + 2025-01-10T20:23:40Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -387,7 +387,7 @@ hvac.rb rb resource - 56F9B7C7 + B338E6CD hvac_sizing.rb diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 3628ae509e..3fcc7dc77a 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -692,7 +692,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s speed.setReferenceUnitGrossRatedTotalCoolingCapacity(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W') * hp_ap.cool_capacity_ratios[i]) speed.setReferenceUnitGrossRatedSensibleHeatRatio(hp_ap.cool_rated_shrs_gross[i]) speed.setReferenceUnitGrossRatedCoolingCOP(hp_ap.cool_rated_cops[i]) - speed.setReferenceUnitRatedAirFlowRate(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'ton') * hp_ap.cool_capacity_ratios[i] * hp_ap.cool_rated_cfm_per_ton[i]) + speed.setReferenceUnitRatedAirFlowRate(UnitConversions.convert(UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'ton') * hp_ap.cool_capacity_ratios[i] * hp_ap.cool_rated_cfm_per_ton[i], 'cfm', 'm^3/s')) # FIXME: Please Review # The catalog Water flow rates are 6.7GPM and 9.0GPM at each speed, the ratio is close to capacity ratios, and our default loop_flow calculation is based on capacity, so I used capacity ratios here. speed.setReferenceUnitRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s') * hp_ap.cool_capacity_ratios[i]) @@ -758,7 +758,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s speed = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft) speed.setReferenceUnitGrossRatedHeatingCapacity(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'W') * hp_ap.heat_capacity_ratios[i]) speed.setReferenceUnitGrossRatedHeatingCOP(hp_ap.heat_rated_cops[i]) - speed.setReferenceUnitRatedAirFlow(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'ton') * hp_ap.heat_capacity_ratios[i] * hp_ap.heat_rated_cfm_per_ton[i]) + speed.setReferenceUnitRatedAirFlow(UnitConversions.convert(UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'ton') * hp_ap.heat_capacity_ratios[i] * hp_ap.heat_rated_cfm_per_ton[i], 'cfm', 'm^3/s')) # FIXME: Please Review # The catalog Water flow rates are 6.7GPM and 9.0GPM at each speed, the ratio is close to capacity ratios, and our default loop_flow calculation is based on capacity, so I used capacity ratios here. speed.setReferenceUnitRatedWaterFlowRate(UnitConversions.convert(geothermal_loop.loop_flow, 'gal/min', 'm^3/s') * hp_ap.heat_capacity_ratios[i]) @@ -5069,6 +5069,10 @@ def self.add_installation_quality_program(fault_program, tin_sensor, tout_sensor cap_fff_curves = clg_or_htg_coil.stages.map { |stage| stage.totalCoolingCapacityFunctionofFlowFractionCurve.to_TableLookup.get } eir_pow_fff_curves = clg_or_htg_coil.stages.map { |stage| stage.energyInputRatioFunctionofFlowFractionCurve.to_TableLookup.get } end + elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit + num_speeds = clg_or_htg_coil.speeds.size + cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.totalCoolingCapacityFunctionofFlowFractionCurve.to_CurveQuadratic.get } + eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofFlowFractionCurve.to_CurveQuadratic.get } elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit num_speeds = 1 cap_fff_curves = [clg_or_htg_coil.totalCoolingCapacityCurve.to_CurveQuadLinear.get] # quadlinear curve, only forth term is for airflow @@ -5112,6 +5116,10 @@ def self.add_installation_quality_program(fault_program, tin_sensor, tout_sensor cap_fff_curves = clg_or_htg_coil.stages.map { |stage| stage.heatingCapacityFunctionofFlowFractionCurve.to_TableLookup.get } eir_pow_fff_curves = clg_or_htg_coil.stages.map { |stage| stage.energyInputRatioFunctionofFlowFractionCurve.to_TableLookup.get } end + elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit + num_speeds = clg_or_htg_coil.speeds.size + cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.heatingCapacityFunctionofFlowFractionCurve.to_CurveQuadratic.get } + eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofFlowFractionCurve.to_CurveQuadratic.get } elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit num_speeds = 1 cap_fff_curves = [clg_or_htg_coil.heatingCapacityCurve.to_CurveQuadLinear.get] # quadlinear curve, only forth term is for airflow diff --git a/ReportSimulationOutput/measure.rb b/ReportSimulationOutput/measure.rb index fcec01b1bd..f040e8a7c8 100644 --- a/ReportSimulationOutput/measure.rb +++ b/ReportSimulationOutput/measure.rb @@ -2857,7 +2857,7 @@ def get_object_outputs_by_key(model, object, class_name) return { [to_ft[fuel], EUT::Heating] => ["Heating Coil #{fuel} Energy", "Heating Coil Ancillary #{fuel} Energy"] } end - elsif object.to_CoilHeatingWaterToAirHeatPumpEquationFit.is_initialized + elsif object.to_CoilHeatingWaterToAirHeatPumpEquationFit.is_initialized || object.to_CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.is_initialized return { [FT::Elec, EUT::Heating] => ["Heating Coil #{EPlus::FuelTypeElectricity} Energy"] } elsif object.to_ZoneHVACBaseboardConvectiveElectric.is_initialized @@ -2906,7 +2906,7 @@ def get_object_outputs_by_key(model, object, class_name) end return vars - elsif object.to_CoilCoolingWaterToAirHeatPumpEquationFit.is_initialized + elsif object.to_CoilCoolingWaterToAirHeatPumpEquationFit.is_initialized || object.to_CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.is_initialized return { [FT::Elec, EUT::Cooling] => ["Cooling Coil #{EPlus::FuelTypeElectricity} Energy"] } elsif object.to_EvaporativeCoolerDirectResearchSpecial.is_initialized diff --git a/ReportSimulationOutput/measure.xml b/ReportSimulationOutput/measure.xml index 3d43e4ede3..26a2bed604 100644 --- a/ReportSimulationOutput/measure.xml +++ b/ReportSimulationOutput/measure.xml @@ -3,8 +3,8 @@ 3.1 report_simulation_output df9d170c-c21a-4130-866d-0d46b06073fd - 5e609cb1-8e83-479b-afda-c1de10cd62ea - 2024-11-27T02:33:41Z + 615f4066-7143-42fb-a5df-3e75c61d42da + 2025-01-10T20:23:42Z 9BF1E6AC ReportSimulationOutput HPXML Simulation Output Report @@ -1929,7 +1929,7 @@ measure.rb rb script - 4C7478A8 + 8265E27A test_report_sim_output.rb diff --git a/workflow/tests/util.rb b/workflow/tests/util.rb index bd2bacdb97..2465b54c83 100644 --- a/workflow/tests/util.rb +++ b/workflow/tests/util.rb @@ -8,6 +8,7 @@ def run_simulation_tests(xmls) all_annual_results = {} Parallel.map(xmls, in_threads: Parallel.processor_count) do |xml| next if xml.end_with? '-10x.xml' + next unless xml.include? 'base-hvac-ground-to-air-heat-pump-2-speed.xml' xml_name = File.basename(xml) results = _run_xml(xml, Parallel.worker_number) @@ -18,7 +19,7 @@ def run_simulation_tests(xmls) # Also run with a 10x unit multiplier (2 identical dwelling units each with a 5x # unit multiplier) and check how the results compare to the original run - _run_xml(xml, Parallel.worker_number, true, all_annual_results[xml_name], monthly_results) + _run_xml(xml, Parallel.worker_number + 1, true, all_annual_results[xml_name], monthly_results) end return all_annual_results From d1d0cc8ba6e0bc088d407ae131c484a55da35327 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Fri, 10 Jan 2025 13:28:52 -0700 Subject: [PATCH 09/13] oops, remove debugging statements --- workflow/tests/util.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workflow/tests/util.rb b/workflow/tests/util.rb index 2465b54c83..bd2bacdb97 100644 --- a/workflow/tests/util.rb +++ b/workflow/tests/util.rb @@ -8,7 +8,6 @@ def run_simulation_tests(xmls) all_annual_results = {} Parallel.map(xmls, in_threads: Parallel.processor_count) do |xml| next if xml.end_with? '-10x.xml' - next unless xml.include? 'base-hvac-ground-to-air-heat-pump-2-speed.xml' xml_name = File.basename(xml) results = _run_xml(xml, Parallel.worker_number) @@ -19,7 +18,7 @@ def run_simulation_tests(xmls) # Also run with a 10x unit multiplier (2 identical dwelling units each with a 5x # unit multiplier) and check how the results compare to the original run - _run_xml(xml, Parallel.worker_number + 1, true, all_annual_results[xml_name], monthly_results) + _run_xml(xml, Parallel.worker_number, true, all_annual_results[xml_name], monthly_results) end return all_annual_results From 1010b16a2939bce55bff1ca328524a68cd785c00 Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Thu, 16 Jan 2025 17:01:12 -0700 Subject: [PATCH 10/13] fix sizing unit test --- HPXMLtoOpenStudio/measure.xml | 8 ++++---- HPXMLtoOpenStudio/resources/hvac_sizing.rb | 12 ++++++------ HPXMLtoOpenStudio/tests/test_hvac_sizing.rb | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index ca8a93bf2b..514c7983c9 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - d18a84bf-1334-4af0-b413-afcb12d9ef73 - 2025-01-16T23:01:25Z + 55ea0c31-266c-4062-8097-5a51404cc8c7 + 2025-01-17T00:00:15Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -393,7 +393,7 @@ hvac_sizing.rb rb resource - 6F414A89 + 59065A65 internal_gains.rb @@ -699,7 +699,7 @@ test_hvac_sizing.rb rb test - E018D108 + 7219DD82 test_lighting.rb diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb index 5c8a63f91a..f57ef49be9 100644 --- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb +++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb @@ -2950,18 +2950,18 @@ def self.apply_hvac_equipment_adjustments(mj, runner, hvac_sizings, weather, hva hvac_sizings.Heat_Airflow = hvac_heating_ap.heat_rated_cfm_per_ton[hvac_heating_speed] * UnitConversions.convert(hvac_sizings.Heat_Load, 'Btu/hr', 'ton') htg_cap_curve_value = calc_gshp_htg_curve_value(hvac_heating_ap.heat_cap_curve_spec[hvac_heating_speed], mj.heat_setpoint, entering_temp, hvac_sizings.Heat_Airflow) hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load / htg_cap_curve_value - # For single stage compressor, when heating capacity is much larger than cooling capacity, - # in order to avoid frequent cycling in cooling mode, heating capacity is derated to 75%. - # Fixme: Assume this shouldn't be applied to var speed system, but should this apply to two speed? - if hvac_sizings.Heat_Capacity >= 1.5 * hvac_sizings.Cool_Capacity - hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load * 0.75 - end elsif [HPXML::HVACCompressorTypeTwoStage, HPXML::HVACCompressorTypeVariableSpeed].include? hvac_heating.compressor_type htg_cap_curve_value = MathTools.biquadratic(mj.heat_setpoint, entering_temp, hvac_heating_ap.heat_cap_ft_spec[hvac_heating_speed]) hvac_sizings.Heat_Capacity = hvac_sizings.Heat_Load / htg_cap_curve_value end hvac_sizings.Heat_Capacity_Supp = hvac_sizings.Heat_Load_Supp if hvac_sizings.Cool_Capacity > 0 + # For single stage compressor, when heating capacity is much larger than cooling capacity, + # in order to avoid frequent cycling in cooling mode, heating capacity is derated to 75%. + # Fixme: Assume this shouldn't be applied to var speed system, but should this apply to two speed? + if hvac_sizings.Heat_Capacity >= 1.5 * hvac_sizings.Cool_Capacity && ([HPXML::HVACCompressorTypeSingleStage].include? hvac_heating.compressor_type) + hvac_sizings.Heat_Capacity *= 0.75 + end hvac_sizings.Cool_Capacity = [hvac_sizings.Cool_Capacity, hvac_sizings.Heat_Capacity].max hvac_sizings.Heat_Capacity = hvac_sizings.Cool_Capacity diff --git a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb index 3460baeb1d..703751c4c4 100644 --- a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +++ b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb @@ -41,7 +41,7 @@ def test_hvac_configurations args_hash = { 'hpxml_path' => File.absolute_path(@tmp_hpxml_path), 'skip_validation' => true } Dir["#{@sample_files_path}/base-hvac*.xml"].each do |hvac_hpxml| - next unless hvac_hpxml.include? 'ground-to-air' + next if hvac_hpxml.include? 'ground-to-air-heat-pump-var-speed' next if (hvac_hpxml.include? 'autosize') next if hvac_hpxml.include? 'detailed-performance' # Autosizing not allowed From 7cabcbc9a7efef207f392af2cc9b058c7129022f Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Fri, 17 Jan 2025 15:20:02 -0700 Subject: [PATCH 11/13] iq ems --- HPXMLtoOpenStudio/measure.xml | 14 +- HPXMLtoOpenStudio/resources/defaults.rb | 1 + HPXMLtoOpenStudio/resources/hvac.rb | 40 +- HPXMLtoOpenStudio/tests/test_hvac.rb | 4 +- HPXMLtoOpenStudio/tests/test_hvac_sizing.rb | 8 +- HPXMLtoOpenStudio/tests/test_water_heater.rb | 2 +- workflow/hpxml_inputs.json | 8 +- ...ality-ground-to-air-heat-pump-1-speed.xml} | 0 ...uality-ground-to-air-heat-pump-2-speed.xml | 549 ++++++++++++++++++ 9 files changed, 593 insertions(+), 33 deletions(-) rename workflow/sample_files/{base-hvac-install-quality-ground-to-air-heat-pump.xml => base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml} (100%) create mode 100644 workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 514c7983c9..9b16823c19 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 55ea0c31-266c-4062-8097-5a51404cc8c7 - 2025-01-17T00:00:15Z + 73c9cb1b-0673-4001-a005-df29d99cfc77 + 2025-01-17T22:19:51Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -327,7 +327,7 @@ defaults.rb rb resource - 7E660038 + EE5FDB35 energyplus.rb @@ -387,7 +387,7 @@ hvac.rb rb resource - 7B9BE6BF + 0F7B3014 hvac_sizing.rb @@ -693,13 +693,13 @@ test_hvac.rb rb test - 7954392A + 01F47953 test_hvac_sizing.rb rb test - 7219DD82 + E2A21B6A test_lighting.rb @@ -747,7 +747,7 @@ test_water_heater.rb rb test - 60CD4A1F + 906475AB test_weather.rb diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb index 0a82c4651e..33b48a5dca 100644 --- a/HPXMLtoOpenStudio/resources/defaults.rb +++ b/HPXMLtoOpenStudio/resources/defaults.rb @@ -5350,6 +5350,7 @@ def self.get_hvac_compressor_type(hvac_type, seer) return HPXML::HVACCompressorTypeVariableSpeed when HPXML::HVACTypeHeatPumpGroundToAir # TODO: default GSHP compressor type based on COP? + # TODO: Leave it for now to avoid impacting desuperheater capability, update when var speed desuperheater is allowed in E+ return HPXML::HVACCompressorTypeSingleStage when HPXML::HVACTypePTAC, HPXML::HVACTypeHeatPumpPTHP, diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 783f161edd..397bc511ad 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -568,8 +568,8 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s htg_cfm = heat_pump.heating_airflow_cfm clg_cfm = heat_pump.cooling_airflow_cfm - htg_cfm_rated = heat_pump.airflow_defect_ratio.nil? ? htg_cfm : (htg_cfm / (1.0 + heat_pump.airflow_defect_ratio)) - clg_cfm_rated = heat_pump.airflow_defect_ratio.nil? ? clg_cfm : (clg_cfm / (1.0 + heat_pump.airflow_defect_ratio)) + htg_cfm_rated = UnitConversions.convert(heat_pump.heating_capacity, 'Btu/hr', 'ton') * hp_ap.heat_capacity_ratios[-1] * hp_ap.heat_rated_cfm_per_ton[-1] + clg_cfm_rated = UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'ton') * hp_ap.cool_capacity_ratios[-1] * hp_ap.cool_rated_cfm_per_ton[-1] if hp_ap.frac_glycol == 0 hp_ap.fluid_type = EPlus::FluidWater @@ -654,7 +654,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s cap_faf_curve = Model.add_curve_quadratic( model, name: "Cool-CAP-fAF#{i + 1}", - coeff: hp_ap.cool_cap_faf_spec[i], + coeff: hp_ap.cool_cap_fflow_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) cap_fwf_curve = Model.add_curve_quadratic( @@ -672,7 +672,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s eir_faf_curve = Model.add_curve_quadratic( model, name: "Cool-EIR-fAF#{i + 1}", - coeff: hp_ap.cool_eir_faf_spec[i], + coeff: hp_ap.cool_eir_fflow_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_fwf_curve = Model.add_curve_quadratic( @@ -722,7 +722,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s cap_faf_curve = Model.add_curve_quadratic( model, name: "Heat-CAP-fAF#{i + 1}", - coeff: hp_ap.heat_cap_faf_spec[i], + coeff: hp_ap.heat_cap_fflow_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) cap_fwf_curve = Model.add_curve_quadratic( @@ -740,7 +740,7 @@ def self.apply_ground_to_air_heat_pump(runner, model, weather, heat_pump, hvac_s eir_faf_curve = Model.add_curve_quadratic( model, name: "Heat-EIR-fAF#{i + 1}", - coeff: hp_ap.heat_eir_faf_spec[i], + coeff: hp_ap.heat_eir_fflow_spec[i], min_x: 0, max_x: 2, min_y: 0, max_y: 2 ) eir_fwf_curve = Model.add_curve_quadratic( @@ -2265,10 +2265,10 @@ def self.set_curves_gshp(heat_pump) [0.4423161030, 0.0346534683, 0.0000043691, 0.0046060534, -0.0001393465, -0.0002316000]] hp_ap.cool_eir_ft_spec = [[1.0242580586, -0.0549907581, 0.0017735749, 0.0186562274, 0.0008900852, -0.0016973518], [1.0763155558, -0.0396246303, 0.0010677382, 0.0074160145, 0.0006781567, -0.0009009811]] - hp_ap.cool_cap_faf_spec = [[0.9064, 0.0793, 0.0143], - [0.8551, 0.1688, -0.0238]] - hp_ap.cool_eir_faf_spec = [[0.7931, 0.2623, -0.0552], - [0.8241, 0.1523, 0.0234]] + hp_ap.cool_cap_fflow_spec = [[0.9064, 0.0793, 0.0143], + [0.8551, 0.1688, -0.0238]] + hp_ap.cool_eir_fflow_spec = [[0.7931, 0.2623, -0.0552], + [0.8241, 0.1523, 0.0234]] hp_ap.cool_cap_fwf_spec = [[0.8387, 0.2903, -0.129], [0.815, 0.325, -0.14]] hp_ap.cool_eir_fwf_spec = [[1.7131, -1.3055, 0.5924], @@ -2283,10 +2283,10 @@ def self.set_curves_gshp(heat_pump) [0.6668920089, -0.0015817909, 0.0000027692, 0.0189198107, -0.0000372655, -0.0000393615]] hp_ap.heat_eir_ft_spec = [[0.8057698794, 0.0316014252, 0.0000380531, -0.0228123504, 0.0004336379, -0.0004522084], [0.8046419585, 0.0233384227, 0.0000376912, -0.0170224134, 0.0003382804, -0.0002368130]] - hp_ap.heat_cap_faf_spec = [[0.8649, 0.1112, 0.0238], - [0.8264, 0.1593, 0.0143]] - hp_ap.heat_eir_faf_spec = [[1.2006, -0.1943, -0.0062], - [1.2568, -0.2856, 0.0288]] + hp_ap.heat_cap_fflow_spec = [[0.8649, 0.1112, 0.0238], + [0.8264, 0.1593, 0.0143]] + hp_ap.heat_eir_fflow_spec = [[1.2006, -0.1943, -0.0062], + [1.2568, -0.2856, 0.0288]] hp_ap.heat_cap_fwf_spec = [[0.7112, 0.5027, -0.2139], [0.769, 0.399, -0.168]] hp_ap.heat_eir_fwf_spec = [[1.3457, -0.6658, 0.3201], @@ -5072,8 +5072,8 @@ def self.add_installation_quality_program(fault_program, tin_sensor, tout_sensor end elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit num_speeds = clg_or_htg_coil.speeds.size - cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.totalCoolingCapacityFunctionofFlowFractionCurve.to_CurveQuadratic.get } - eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofFlowFractionCurve.to_CurveQuadratic.get } + cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.totalCoolingCapacityFunctionofAirFlowFractionCurve.to_CurveQuadratic.get } + eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofAirFlowFractionCurve.to_CurveQuadratic.get } elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilCoolingWaterToAirHeatPumpEquationFit num_speeds = 1 cap_fff_curves = [clg_or_htg_coil.totalCoolingCapacityCurve.to_CurveQuadLinear.get] # quadlinear curve, only forth term is for airflow @@ -5119,8 +5119,8 @@ def self.add_installation_quality_program(fault_program, tin_sensor, tout_sensor end elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit num_speeds = clg_or_htg_coil.speeds.size - cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.heatingCapacityFunctionofFlowFractionCurve.to_CurveQuadratic.get } - eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofFlowFractionCurve.to_CurveQuadratic.get } + cap_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.totalHeatingCapacityFunctionofAirFlowFractionCurve.to_CurveQuadratic.get } + eir_pow_fff_curves = clg_or_htg_coil.speeds.map { |speed| speed.energyInputRatioFunctionofAirFlowFractionCurve.to_CurveQuadratic.get } elsif clg_or_htg_coil.is_a? OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit num_speeds = 1 cap_fff_curves = [clg_or_htg_coil.heatingCapacityCurve.to_CurveQuadLinear.get] # quadlinear curve, only forth term is for airflow @@ -5293,6 +5293,8 @@ def self.apply_installation_quality(model, heating_system, cooling_system, unita clg_cfm = cooling_system.cooling_airflow_cfm if clg_coil.to_CoilCoolingDXSingleSpeed.is_initialized || clg_coil.to_CoilCoolingWaterToAirHeatPumpEquationFit.is_initialized cool_airflow_rated_defect_ratio = [UnitConversions.convert(clg_cfm, 'cfm', 'm^3/s') / clg_coil.ratedAirFlowRate.get - 1.0] + elsif clg_coil.to_CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.is_initialized + cool_airflow_rated_defect_ratio = clg_coil.speeds.zip(clg_ap.cool_fan_speed_ratios).map { |speed, speed_ratio| UnitConversions.convert(clg_cfm * speed_ratio, 'cfm', 'm^3/s') / speed.referenceUnitRatedAirFlowRate - 1.0 } elsif clg_coil.to_CoilCoolingDXMultiSpeed.is_initialized cool_airflow_rated_defect_ratio = clg_coil.stages.zip(clg_ap.cool_fan_speed_ratios).map { |stage, speed_ratio| UnitConversions.convert(clg_cfm * speed_ratio, 'cfm', 'm^3/s') / stage.ratedAirFlowRate.get - 1.0 } end @@ -5304,6 +5306,8 @@ def self.apply_installation_quality(model, heating_system, cooling_system, unita htg_cfm = heating_system.heating_airflow_cfm if htg_coil.to_CoilHeatingDXSingleSpeed.is_initialized || htg_coil.to_CoilHeatingWaterToAirHeatPumpEquationFit.is_initialized heat_airflow_rated_defect_ratio = [UnitConversions.convert(htg_cfm, 'cfm', 'm^3/s') / htg_coil.ratedAirFlowRate.get - 1.0] + elsif htg_coil.to_CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.is_initialized + heat_airflow_rated_defect_ratio = htg_coil.speeds.zip(htg_ap.heat_fan_speed_ratios).map { |speed, speed_ratio| UnitConversions.convert(htg_cfm * speed_ratio, 'cfm', 'm^3/s') / speed.referenceUnitRatedAirFlow - 1.0 } elsif htg_coil.to_CoilHeatingDXMultiSpeed.is_initialized heat_airflow_rated_defect_ratio = htg_coil.stages.zip(htg_ap.heat_fan_speed_ratios).map { |stage, speed_ratio| UnitConversions.convert(htg_cfm * speed_ratio, 'cfm', 'm^3/s') / stage.ratedAirFlowRate.get - 1.0 } end diff --git a/HPXMLtoOpenStudio/tests/test_hvac.rb b/HPXMLtoOpenStudio/tests/test_hvac.rb index 12b41f8837..d078a3cc61 100644 --- a/HPXMLtoOpenStudio/tests/test_hvac.rb +++ b/HPXMLtoOpenStudio/tests/test_hvac.rb @@ -1041,7 +1041,7 @@ def test_mini_split_air_conditioner def test_ground_to_air_heat_pump args_hash = {} - args_hash['hpxml_path'] = File.absolute_path(File.join(@sample_files_path, 'base-hvac-ground-to-air-heat-pump.xml')) + args_hash['hpxml_path'] = File.absolute_path(File.join(@sample_files_path, 'base-hvac-ground-to-air-heat-pump-1-speed.xml')) model, _hpxml, hpxml_bldg = _test_measure(args_hash) # Get HPXML values @@ -1495,7 +1495,7 @@ def test_install_quality_furnace_gas def test_install_quality_ground_to_air_heat_pump args_hash = {} - args_hash['hpxml_path'] = File.absolute_path(File.join(@sample_files_path, 'base-hvac-install-quality-ground-to-air-heat-pump.xml')) + args_hash['hpxml_path'] = File.absolute_path(File.join(@sample_files_path, 'base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml')) model, _hpxml, hpxml_bldg = _test_measure(args_hash) # Get HPXML values diff --git a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb index 703751c4c4..9434610237 100644 --- a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb +++ b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb @@ -1778,14 +1778,14 @@ def test_gshp_geothermal_loop args_hash['hpxml_path'] = File.absolute_path(@tmp_hpxml_path) # Base case - hpxml, _hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, _hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _model, _test_hpxml, test_hpxml_bldg = _test_measure(args_hash) assert_equal(3, test_hpxml_bldg.geothermal_loops[0].num_bore_holes) assert_in_epsilon(192.0, test_hpxml_bldg.geothermal_loops[0].bore_length, 0.01) # Bore depth greater than the max -> increase number of boreholes - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.site.ground_conductivity = 0.18 XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _model, _test_hpxml, test_hpxml_bldg = _test_measure(args_hash) @@ -1793,7 +1793,7 @@ def test_gshp_geothermal_loop assert_in_epsilon(439.0, test_hpxml_bldg.geothermal_loops[0].bore_length, 0.01) # Bore depth greater than the max -> increase number of boreholes until the max, set depth to the max, and issue warning - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.site.ground_conductivity = 0.07 XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _model, _test_hpxml, test_hpxml_bldg = _test_measure(args_hash) @@ -1801,7 +1801,7 @@ def test_gshp_geothermal_loop assert_in_epsilon(500.0, test_hpxml_bldg.geothermal_loops[0].bore_length, 0.01) # Boreholes greater than the max -> decrease the number of boreholes until the max - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.heat_pumps[0].cooling_capacity *= 5 XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _model, _test_hpxml, test_hpxml_bldg = _test_measure(args_hash) diff --git a/HPXMLtoOpenStudio/tests/test_water_heater.rb b/HPXMLtoOpenStudio/tests/test_water_heater.rb index 734e3e410f..43bf14ab82 100644 --- a/HPXMLtoOpenStudio/tests/test_water_heater.rb +++ b/HPXMLtoOpenStudio/tests/test_water_heater.rb @@ -436,7 +436,7 @@ def test_dsh_var_speed def test_dsh_gshp args_hash = {} - args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-dhw-desuperheater-gshp.xml')) + args_hash['hpxml_path'] = File.absolute_path(File.join(sample_files_dir, 'base-dhw-desuperheater-ghp.xml')) model, _hpxml, hpxml_bldg = _test_measure(args_hash) # Get HPXML values diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json index f1006190f7..9b09b844b5 100644 --- a/workflow/hpxml_inputs.json +++ b/workflow/hpxml_inputs.json @@ -2678,12 +2678,18 @@ "heating_system_airflow_defect_ratio": -0.25, "hvac_blower_fan_watts_per_cfm": 0.365 }, - "sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml": { + "sample_files/base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml": { "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-1-speed.xml", "heat_pump_airflow_defect_ratio": -0.25, "heat_pump_charge_defect_ratio": -0.25, "hvac_blower_fan_watts_per_cfm": 0.365 }, + "sample_files/base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml": { + "parent_hpxml": "sample_files/base-hvac-ground-to-air-heat-pump-2-speed.xml", + "heat_pump_airflow_defect_ratio": -0.25, + "heat_pump_charge_defect_ratio": -0.25, + "hvac_blower_fan_watts_per_cfm": 0.365 + }, "sample_files/base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml": { "parent_hpxml": "sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml", "cooling_system_airflow_defect_ratio": -0.25, diff --git a/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml b/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml similarity index 100% rename from workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump.xml rename to workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml diff --git a/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml b/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml new file mode 100644 index 0000000000..eeb03b915b --- /dev/null +++ b/workflow/sample_files/base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml @@ -0,0 +1,549 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + ground-to-air + electricity + 36000.0 + 36000.0 + two stage + 0.73 + 1.0 + 1.0 + + EER + 18.0 + + + COP + 4.0 + + + -0.25 + -0.25 + 0.365 + 100.0 + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file From ec12831b72fb00da45e5ed057350132e6f652e0e Mon Sep 17 00:00:00 2001 From: Yueyue Zhou Date: Wed, 29 Jan 2025 21:59:13 -0700 Subject: [PATCH 12/13] fix test validation --- HPXMLtoOpenStudio/measure.xml | 6 +++--- HPXMLtoOpenStudio/tests/test_validation.rb | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index 9b16823c19..ca25d5c3df 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 73c9cb1b-0673-4001-a005-df29d99cfc77 - 2025-01-17T22:19:51Z + 3ea49029-4568-4711-a340-03037e25c017 + 2025-01-30T04:54:11Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -741,7 +741,7 @@ test_validation.rb rb test - 86EC5703 + 55A49170
test_water_heater.rb diff --git a/HPXMLtoOpenStudio/tests/test_validation.rb b/HPXMLtoOpenStudio/tests/test_validation.rb index 1f9f807f1d..187a44efe4 100644 --- a/HPXMLtoOpenStudio/tests/test_validation.rb +++ b/HPXMLtoOpenStudio/tests/test_validation.rb @@ -1345,13 +1345,13 @@ def test_ruby_error_messages hpxml, hpxml_bldg = _create_hpxml('base-hvac-air-to-air-heat-pump-1-speed-research-features.xml') hpxml_bldg.building_construction.number_of_units = 2 when 'hvac-gshp-invalid-bore-depth-autosized' - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.site.ground_conductivity = 0.1 when 'hvac-gshp-invalid-num-bore-holes' hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml') hpxml_bldg.geothermal_loops[0].num_bore_holes = 5 when 'hvac-gshp-invalid-num-bore-holes-autosized' - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.heat_pumps[0].cooling_capacity *= 2 hpxml_bldg.site.ground_conductivity = 0.08 when 'hvac-inconsistent-fan-powers' @@ -1714,7 +1714,7 @@ def test_ruby_error_messages hpxml, hpxml_bldg = _create_hpxml('base-appliances-dehumidifier.xml') hpxml_bldg.building_construction.number_of_units = 2 when 'whole-mf-building-gshps-unit-multiplier' - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.building_construction.number_of_units = 2 else fail "Unhandled case: #{error_case}." @@ -1915,7 +1915,7 @@ def test_ruby_warning_messages hpxml, hpxml_bldg = _create_hpxml('base-foundation-unvented-crawlspace.xml') hpxml_bldg.floors[0].floor_or_ceiling = HPXML::FloorOrCeilingCeiling when 'hvac-gshp-bore-depth-autosized-high' - hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump.xml') + hpxml, hpxml_bldg = _create_hpxml('base-hvac-ground-to-air-heat-pump-1-speed.xml') hpxml_bldg.site.ground_conductivity = 0.07 when 'hvac-seasons' hpxml, hpxml_bldg = _create_hpxml('base-hvac-seasons.xml') From f7b74a3969bba3904b5616023aac71e1714e2d17 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 30 Jan 2025 05:48:29 +0000 Subject: [PATCH 13/13] Latest results. --- .../results_simulations_bills.csv | 22 +-- .../results_simulations_energy.csv | 22 +-- .../base_results/results_simulations_hvac.csv | 8 +- .../results_simulations_loads.csv | 20 +-- .../base_results/results_simulations_misc.csv | 22 +-- .../tests/base_results/results_sizing.csv | 144 ++++++++++-------- 6 files changed, 130 insertions(+), 108 deletions(-) diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv index b0c9027fa2..7da10fa5bc 100644 --- a/workflow/tests/base_results/results_simulations_bills.csv +++ b/workflow/tests/base_results/results_simulations_bills.csv @@ -49,7 +49,7 @@ base-bldgtype-mf-unit-shared-chiller-only-fan-coil.xml,1112.4,144.0,968.4,0.0,11 base-bldgtype-mf-unit-shared-chiller-only-water-loop-heat-pump.xml,1268.79,144.0,1124.79,0.0,1268.79,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-unit-shared-cooling-tower-only-water-loop-heat-pump.xml,1124.91,144.0,980.91,0.0,1124.91,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-unit-shared-generator.xml,1370.43,144.0,695.62,0.0,839.62,144.0,9.41,153.41,0.0,0.0,0.0,0.0,377.4,377.4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,1159.84,144.0,1015.84,0.0,1159.84,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,1164.07,144.0,1020.07,0.0,1164.07,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-unit-shared-laundry-room-multiple-water-heaters.xml,1047.06,144.0,599.35,0.0,743.35,144.0,159.71,303.71,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-unit-shared-laundry-room.xml,1020.26,144.0,592.42,0.0,736.42,144.0,139.84,283.84,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-unit-shared-mechvent-multiple.xml,1616.87,144.0,1108.71,0.0,1252.71,144.0,220.16,364.16,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @@ -71,7 +71,7 @@ base-bldgtype-sfa-unit.xml,1513.28,144.0,1082.92,0.0,1226.92,144.0,142.36,286.36 base-dhw-combi-tankless-outside.xml,1389.22,144.0,777.72,0.0,921.72,144.0,323.5,467.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-dhw-combi-tankless.xml,1389.22,144.0,777.72,0.0,921.72,144.0,323.5,467.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-dhw-desuperheater-2-speed.xml,1292.56,144.0,1148.56,0.0,1292.56,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -base-dhw-desuperheater-gshp.xml,1524.77,144.0,1380.77,0.0,1524.77,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +base-dhw-desuperheater-ghp.xml,1532.19,144.0,1388.19,0.0,1532.19,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-dhw-desuperheater-hpwh.xml,1666.17,144.0,1082.08,0.0,1226.08,144.0,296.09,440.09,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-dhw-desuperheater-tankless.xml,1352.69,144.0,1208.69,0.0,1352.69,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-dhw-desuperheater-var-speed.xml,1266.27,144.0,1122.27,0.0,1266.27,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @@ -277,12 +277,13 @@ base-hvac-furnace-oil-only.xml,1933.61,144.0,1121.55,0.0,1265.55,0.0,0.0,0.0,0.0 base-hvac-furnace-propane-only.xml,1895.97,144.0,1121.55,0.0,1265.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,630.42,630.42,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-wood-only.xml,1535.33,144.0,1121.55,0.0,1265.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,269.78,269.78,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-x3-dse.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-backup-integrated.xml,1602.25,144.0,1458.25,0.0,1602.25,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-backup-stove.xml,1616.19,144.0,1472.18,0.0,1616.18,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-cooling-only.xml,1357.82,144.0,1213.82,0.0,1357.82,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,1626.46,144.0,1482.46,0.0,1626.46,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-heating-only.xml,1482.9,144.0,1338.9,0.0,1482.9,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump.xml,1602.25,144.0,1458.25,0.0,1602.25,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-1-speed.xml,1609.45,144.0,1465.45,0.0,1609.45,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-2-speed.xml,1582.77,144.0,1438.77,0.0,1582.77,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-backup-integrated.xml,1609.45,144.0,1465.45,0.0,1609.45,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-backup-stove.xml,1623.82,144.0,1479.81,0.0,1623.81,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-cooling-only.xml,1361.94,144.0,1217.94,0.0,1361.94,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,1634.19,144.0,1490.19,0.0,1634.19,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-heating-only.xml,1489.99,144.0,1345.99,0.0,1489.99,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml,1952.54,144.0,1808.54,0.0,1952.54,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml,1770.1,144.0,1626.1,0.0,1770.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-var-speed-detailed-performance.xml,1837.45,144.0,1693.45,0.0,1837.45,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -291,7 +292,8 @@ base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml,1886.25,144.0,1332. base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml,1829.05,144.0,1275.66,0.0,1419.66,144.0,265.39,409.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml,1803.99,144.0,1250.6,0.0,1394.6,144.0,265.39,409.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-furnace-gas-only.xml,1668.65,144.0,1116.62,0.0,1260.62,144.0,264.03,408.03,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-install-quality-ground-to-air-heat-pump.xml,1687.58,144.0,1543.58,0.0,1687.58,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml,1697.17,144.0,1553.17,0.0,1697.17,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml,1688.51,144.0,1544.51,0.0,1688.51,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,1365.03,144.0,1221.03,0.0,1365.03,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,1663.55,144.0,1519.55,0.0,1663.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,1340.97,144.0,1196.97,0.0,1340.97,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -316,7 +318,7 @@ base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,1559.4 base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,1566.92,144.0,1422.92,0.0,1566.92,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,1537.55,144.0,1393.55,0.0,1537.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless.xml,1537.55,144.0,1393.55,0.0,1537.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-multiple.xml,2584.95,144.0,1977.0,0.0,2121.0,144.0,86.69,230.69,0.0,118.75,118.75,0.0,114.51,114.51,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-multiple.xml,2589.03,144.0,1980.74,0.0,2124.74,144.0,86.78,230.78,0.0,118.88,118.88,0.0,114.63,114.63,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-none.xml,2608.44,144.0,2464.44,0.0,2608.44,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-ptac-cfis.xml,1413.38,144.0,1269.38,0.0,1413.38,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-ptac-with-heating-electricity.xml,2022.1,144.0,1878.1,0.0,2022.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_simulations_energy.csv b/workflow/tests/base_results/results_simulations_energy.csv index ff2b0f0f42..cf063caf75 100644 --- a/workflow/tests/base_results/results_simulations_energy.csv +++ b/workflow/tests/base_results/results_simulations_energy.csv @@ -49,7 +49,7 @@ base-bldgtype-mf-unit-shared-chiller-only-fan-coil.xml,26.605,26.605,26.605,26.6 base-bldgtype-mf-unit-shared-chiller-only-water-loop-heat-pump.xml,30.901,30.901,30.901,30.901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.633,0.719,9.539,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.144,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-cooling-tower-only-water-loop-heat-pump.xml,26.949,26.949,26.949,26.949,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.68,0.719,9.539,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.144,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-generator.xml,41.001,34.177,25.935,19.111,0.899,0.0,14.167,0.0,0.0,0.0,0.0,0.01,0.0,0.0,2.931,0.415,9.526,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.186,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-6.824,0.0,0.899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,27.908,27.908,27.908,27.908,0.0,0.0,0.0,0.0,0.0,0.0,0.222,0.369,0.0,0.0,1.853,2.885,9.526,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.186,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,28.024,28.024,28.024,28.024,0.0,0.0,0.0,0.0,0.0,0.0,0.23,0.347,0.0,0.0,1.94,2.929,9.526,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.186,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-laundry-room-multiple-water-heaters.xml,31.723,31.723,16.466,16.466,15.257,0.0,0.0,0.0,0.0,0.0,0.0,0.009,0.0,0.0,2.976,0.425,0.0,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.189,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.831,0.0,14.426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-laundry-room.xml,29.634,29.634,16.276,16.276,13.358,0.0,0.0,0.0,0.0,0.0,0.0,0.012,0.0,0.0,2.825,0.393,0.0,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.179,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.048,0.0,12.31,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-mechvent-multiple.xml,51.491,51.491,30.46,30.46,21.032,0.0,0.0,0.0,0.0,0.0,0.0,0.098,0.0,0.0,2.806,0.241,9.563,0.0,0.0,2.025,0.0,0.206,3.708,0.951,0.165,0.0,2.061,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.845,0.0,0.0,0.0,0.0,12.187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -71,7 +71,7 @@ base-bldgtype-sfa-unit.xml,43.35,43.35,29.751,29.751,13.599,0.0,0.0,0.0,0.0,0.0, base-dhw-combi-tankless-outside.xml,52.27,52.27,21.366,21.366,30.903,0.0,0.0,0.0,0.0,0.0,0.0,0.156,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.145,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.616,0.0,10.288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-combi-tankless.xml,52.27,52.27,21.366,21.366,30.903,0.0,0.0,0.0,0.0,0.0,0.0,0.156,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.145,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.616,0.0,10.288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-desuperheater-2-speed.xml,31.554,31.554,31.554,31.554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.168,0.581,6.839,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.901,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-dhw-desuperheater-gshp.xml,37.934,37.934,37.934,37.934,0.0,0.0,0.0,0.0,0.0,0.0,5.442,1.295,0.0,0.0,2.453,0.98,6.626,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.071,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-dhw-desuperheater-ghp.xml,38.138,38.138,38.138,38.138,0.0,0.0,0.0,0.0,0.0,0.0,5.628,1.311,0.0,0.0,2.478,0.956,6.629,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.071,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-desuperheater-hpwh.xml,58.013,58.013,29.728,29.728,28.285,0.0,0.0,0.0,0.0,0.0,0.0,0.702,0.0,0.0,4.506,0.683,2.707,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.064,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,28.285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-desuperheater-tankless.xml,33.206,33.206,33.206,33.206,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.479,0.939,6.826,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.896,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-desuperheater-var-speed.xml,30.832,30.832,30.832,30.832,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.817,0.246,6.802,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.901,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -277,12 +277,13 @@ base-hvac-furnace-oil-only.xml,54.477,54.477,30.812,30.812,0.0,23.665,0.0,0.0,0. base-hvac-furnace-propane-only.xml,54.477,54.477,30.812,30.812,0.0,0.0,23.665,0.0,0.0,0.0,0.0,0.608,0.0,0.0,0.0,0.0,8.992,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.147,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.665,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-wood-only.xml,54.477,54.477,30.812,30.812,0.0,0.0,0.0,23.665,0.0,0.0,0.0,0.608,0.0,0.0,0.0,0.0,8.992,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.147,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.665,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-x3-dse.xml,59.548,59.548,36.532,36.532,23.015,0.0,0.0,0.0,0.0,0.0,0.0,0.414,0.0,0.0,5.214,0.753,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-backup-integrated.xml,40.063,40.063,40.063,40.063,0.0,0.0,0.0,0.0,0.0,0.0,5.348,1.273,0.0,0.0,2.358,0.934,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-backup-stove.xml,40.446,40.446,40.445,40.445,0.0,0.0,0.0,0.0,0.0,0.0,5.675,1.353,0.0,0.0,2.34,0.928,9.014,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.07,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-cooling-only.xml,33.347,33.347,33.347,33.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.382,0.936,9.061,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.903,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,40.728,40.728,40.728,40.728,0.0,0.0,0.0,0.0,0.0,0.0,6.026,1.41,0.0,0.0,2.191,0.952,9.014,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.069,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump-heating-only.xml,36.783,36.783,36.783,36.783,0.0,0.0,0.0,0.0,0.0,0.0,5.314,1.265,0.0,0.0,0.0,0.0,8.992,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.147,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump.xml,40.063,40.063,40.063,40.063,0.0,0.0,0.0,0.0,0.0,0.0,5.348,1.273,0.0,0.0,2.358,0.934,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-1-speed.xml,40.26,40.26,40.26,40.26,0.0,0.0,0.0,0.0,0.0,0.0,5.53,1.288,0.0,0.0,2.383,0.91,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-2-speed.xml,39.527,39.527,39.527,39.527,0.0,0.0,0.0,0.0,0.0,0.0,4.955,1.861,0.0,0.0,1.484,1.077,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-backup-integrated.xml,40.26,40.26,40.26,40.26,0.0,0.0,0.0,0.0,0.0,0.0,5.53,1.288,0.0,0.0,2.383,0.91,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-backup-stove.xml,40.655,40.655,40.655,40.655,0.0,0.0,0.0,0.0,0.0,0.0,5.868,1.369,0.0,0.0,2.365,0.904,9.014,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.07,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-cooling-only.xml,33.461,33.461,33.461,33.461,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.443,0.989,9.061,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.903,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,40.94,40.94,40.94,40.94,0.0,0.0,0.0,0.0,0.0,0.0,6.228,1.427,0.0,0.0,2.209,0.928,9.014,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.069,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-ground-to-air-heat-pump-heating-only.xml,36.978,36.978,36.978,36.978,0.0,0.0,0.0,0.0,0.0,0.0,5.494,1.28,0.0,0.0,0.0,0.0,8.992,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.147,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml,49.686,49.686,49.686,49.686,0.0,0.0,0.0,0.0,0.0,0.0,12.812,1.151,0.685,0.032,4.288,0.568,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml,44.674,44.674,44.674,44.674,0.0,0.0,0.0,0.0,0.0,0.0,9.701,0.873,0.614,0.029,2.841,0.465,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-var-speed-detailed-performance.xml,46.524,46.524,46.524,46.524,0.0,0.0,0.0,0.0,0.0,0.0,11.539,0.839,0.305,0.014,3.523,0.155,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -291,7 +292,8 @@ base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml,61.97,61.97,36.618, base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml,60.398,60.398,35.046,35.046,25.352,0.0,0.0,0.0,0.0,0.0,0.0,0.458,0.0,0.0,3.886,0.552,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml,59.71,59.71,34.358,34.358,25.352,0.0,0.0,0.0,0.0,0.0,0.0,0.458,0.0,0.0,3.42,0.33,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-furnace-gas-only.xml,55.899,55.899,30.677,30.677,25.222,0.0,0.0,0.0,0.0,0.0,0.0,0.473,0.0,0.0,0.0,0.0,8.992,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.147,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.222,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-install-quality-ground-to-air-heat-pump.xml,42.407,42.407,42.407,42.407,0.0,0.0,0.0,0.0,0.0,0.0,6.988,1.382,0.0,0.0,2.893,0.993,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml,42.67,42.67,42.67,42.67,0.0,0.0,0.0,0.0,0.0,0.0,7.24,1.399,0.0,0.0,2.902,0.979,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml,42.432,42.432,42.432,42.432,0.0,0.0,0.0,0.0,0.0,0.0,6.393,2.594,0.0,0.0,1.869,1.426,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,33.545,33.545,33.545,33.545,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.341,0.175,9.061,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.903,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,41.746,41.746,41.746,41.746,0.0,0.0,0.0,0.0,0.0,0.0,8.463,0.329,0.12,0.007,2.595,0.082,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,32.884,32.884,32.884,32.884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.795,0.06,9.061,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,1.903,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -316,7 +318,7 @@ base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,38.888 base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,39.092,39.092,39.092,39.092,0.0,0.0,0.0,0.0,0.0,0.0,7.037,0.04,0.0,0.0,1.862,0.003,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,38.285,38.285,38.285,38.285,0.0,0.0,0.0,0.0,0.0,0.0,5.974,0.057,0.0,0.0,2.098,0.006,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless.xml,38.285,38.285,38.285,38.285,0.0,0.0,0.0,0.0,0.0,0.0,5.974,0.057,0.0,0.0,2.098,0.006,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-multiple.xml,71.101,71.101,54.314,54.314,8.282,4.206,4.298,0.0,0.0,0.0,15.692,1.216,0.444,0.024,6.24,0.549,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.07,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.282,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.206,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-multiple.xml,71.221,71.221,54.417,54.417,8.29,4.211,4.303,0.0,0.0,0.0,15.742,1.22,0.447,0.024,6.268,0.566,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.07,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.29,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.211,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.303,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-none.xml,20.45,20.45,20.45,20.45,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.542,0.0,0.0,2.646,0.0,0.238,0.0,0.0,0.0,0.0,2.991,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,4.192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-ptac-cfis.xml,34.874,34.874,34.874,34.874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.032,0.0,9.064,0.0,0.0,4.507,0.0,0.334,0.822,0.0,0.0,0.0,1.89,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-ptac-with-heating-electricity.xml,51.597,51.597,51.597,51.597,0.0,0.0,0.0,0.0,0.0,0.0,17.271,0.0,0.0,0.0,4.176,0.0,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_simulations_hvac.csv b/workflow/tests/base_results/results_simulations_hvac.csv index fc3b1c3d02..6d98e19b2d 100644 --- a/workflow/tests/base_results/results_simulations_hvac.csv +++ b/workflow/tests/base_results/results_simulations_hvac.csv @@ -71,7 +71,7 @@ base-bldgtype-sfa-unit.xml,6.8,91.76,24000.0,24000.0,0.0,20728.0,8190.0,2576.0,0 base-dhw-combi-tankless-outside.xml,6.8,91.76,36000.0,0.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-dhw-combi-tankless.xml,6.8,91.76,36000.0,0.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-dhw-desuperheater-2-speed.xml,6.8,91.76,0.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 -base-dhw-desuperheater-gshp.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 +base-dhw-desuperheater-ghp.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-dhw-desuperheater-hpwh.xml,6.8,91.76,36000.0,24000.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-dhw-desuperheater-tankless.xml,6.8,91.76,0.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-dhw-desuperheater-var-speed.xml,6.8,91.76,0.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 @@ -277,12 +277,13 @@ base-hvac-furnace-oil-only.xml,6.8,91.76,36000.0,0.0,0.0,32239.0,8709.0,7508.0,0 base-hvac-furnace-propane-only.xml,6.8,91.76,36000.0,0.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-furnace-wood-only.xml,6.8,91.76,36000.0,0.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-furnace-x3-dse.xml,6.8,91.76,36000.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 +base-hvac-ground-to-air-heat-pump-1-speed.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 +base-hvac-ground-to-air-heat-pump-2-speed.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-ground-to-air-heat-pump-backup-integrated.xml,6.8,91.76,36000.0,36000.0,36000.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-ground-to-air-heat-pump-backup-stove.xml,6.8,91.76,36000.0,36000.0,60000.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-ground-to-air-heat-pump-cooling-only.xml,6.8,91.76,0.0,36000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,6.8,91.76,36000.0,36000.0,0.0,28170.0,7541.0,7508.0,0.0,575.0,5305.0,0.0,0.0,450.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-ground-to-air-heat-pump-heating-only.xml,6.8,91.76,36000.0,0.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 -base-hvac-ground-to-air-heat-pump.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml,6.8,91.76,36000.0,36000.0,36000.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml,6.8,91.76,36000.0,36000.0,36000.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-air-to-air-heat-pump-var-speed-detailed-performance.xml,6.8,91.76,36000.0,36000.0,36000.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 @@ -291,7 +292,8 @@ base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml,6.8,91.76,36000.0,2 base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml,6.8,91.76,36000.0,24000.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml,6.8,91.76,36000.0,24000.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-furnace-gas-only.xml,6.8,91.76,36000.0,0.0,0.0,32239.0,8709.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,13927.0,0.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 -base-hvac-install-quality-ground-to-air-heat-pump.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 +base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 +base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml,6.8,91.76,36000.0,36000.0,0.0,31131.0,7600.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,20039.0,6112.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,6.8,91.76,0.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,16010.0,2083.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,6.8,91.76,36000.0,36000.0,36000.0,26082.0,2552.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,16010.0,2083.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,6.8,91.76,0.0,24000.0,0.0,23530.0,0.0,7508.0,0.0,575.0,6918.0,0.0,0.0,1738.0,2171.0,4620.0,0.0,0.0,16010.0,2083.0,7037.0,0.0,207.0,448.0,0.0,0.0,0.0,2293.0,622.0,0.0,3320.0,0.0,0.0,139.0,0.0,-661.0,0.0,800.0 diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv index 0dcbc7804b..93fe659945 100644 --- a/workflow/tests/base_results/results_simulations_loads.csv +++ b/workflow/tests/base_results/results_simulations_loads.csv @@ -71,7 +71,7 @@ base-bldgtype-sfa-unit.xml,12.662,0.0,7.979,9.22,0.614,0.0,0.0,0.0,2.44,2.457,0. base-dhw-combi-tankless-outside.xml,17.43,0.0,0.0,9.172,0.0,0.0,0.0,0.0,4.078,3.855,0.542,7.534,0.677,10.68,-13.493,0.0,0.0,0.0,8.201,-0.109,5.051,0.0,0.766,0.0,0.0,-8.06,-2.648,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-combi-tankless.xml,17.43,0.0,0.0,9.172,0.0,0.0,0.0,0.0,4.078,3.855,0.542,7.534,0.677,10.68,-13.493,0.0,0.0,0.0,8.201,-0.109,5.051,0.0,0.766,0.0,0.0,-8.06,-2.648,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-dhw-desuperheater-2-speed.xml,0.0,0.0,14.46,9.069,0.666,2.8,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054,-0.145,-0.008,2.769,0.048,-0.499,10.568,0.0,0.0,0.0,-6.334,-0.132,-0.793,-3.787,-0.108,0.0,3.598,7.54,1.801 -base-dhw-desuperheater-gshp.xml,21.642,0.0,13.533,9.069,0.614,2.813,0.0,0.0,3.878,3.884,0.546,7.565,0.683,10.77,-13.599,0.0,0.0,0.0,8.365,-0.118,5.233,0.0,0.77,0.0,4.143,-8.163,-2.669,0.0,0.061,-0.184,-0.013,2.832,0.036,-0.613,10.809,0.0,0.0,0.0,-6.125,-0.114,-0.849,-3.91,-0.115,0.0,2.31,7.695,1.838 +base-dhw-desuperheater-ghp.xml,21.667,0.0,13.441,9.069,0.615,2.81,0.0,0.0,3.877,3.884,0.546,7.565,0.683,10.77,-13.599,0.0,0.0,0.0,8.366,-0.118,5.235,0.0,0.77,0.0,4.167,-8.163,-2.669,0.0,0.064,-0.184,-0.013,2.832,0.036,-0.613,10.809,0.0,0.0,0.0,-6.125,-0.114,-0.848,-3.909,-0.115,0.0,2.214,7.695,1.838 base-dhw-desuperheater-hpwh.xml,26.723,0.0,14.224,9.087,1.792,2.917,0.0,0.0,3.829,3.932,0.552,7.521,0.689,10.897,-14.004,0.0,0.0,0.0,8.398,-0.127,5.354,0.0,0.781,0.0,6.195,-4.928,-2.747,0.0,0.129,-0.091,-0.001,2.936,0.054,-0.347,10.404,0.0,0.0,0.0,-5.911,-0.123,-0.734,-3.689,-0.094,0.0,3.182,6.859,1.76 base-dhw-desuperheater-tankless.xml,0.0,0.0,13.89,9.075,0.0,2.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.083,-0.133,-0.007,2.776,0.05,-0.463,10.506,0.0,0.0,0.0,-6.293,-0.135,-0.781,-3.747,-0.106,0.0,3.187,7.276,1.791 base-dhw-desuperheater-var-speed.xml,0.0,0.0,15.433,9.068,0.666,2.855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021,-0.144,-0.008,2.769,0.048,-0.499,10.568,0.0,0.0,0.0,-6.334,-0.132,-0.797,-3.795,-0.108,0.0,4.605,7.556,1.801 @@ -277,12 +277,13 @@ base-hvac-furnace-oil-only.xml,22.38,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.785,3.854, base-hvac-furnace-propane-only.xml,22.38,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.785,3.854,0.542,7.546,0.677,10.678,-13.456,0.0,0.0,0.0,8.212,-0.109,5.23,0.0,0.765,0.0,5.341,-8.398,-2.641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-wood-only.xml,22.38,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.785,3.854,0.542,7.546,0.677,10.678,-13.456,0.0,0.0,0.0,8.212,-0.109,5.23,0.0,0.765,0.0,5.341,-8.398,-2.641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-furnace-x3-dse.xml,17.43,0.0,10.74,9.07,0.615,0.0,0.0,0.0,4.149,3.919,0.55,7.638,0.689,10.861,-13.707,0.0,0.0,0.0,8.432,-0.117,5.131,0.0,0.778,0.0,0.0,-8.56,-2.689,0.0,0.18,-0.189,-0.014,2.824,0.035,-0.635,10.837,0.0,0.0,0.0,-6.145,-0.112,-0.865,-3.879,-0.116,0.0,0.0,7.106,1.845 -base-hvac-ground-to-air-heat-pump-backup-integrated.xml,21.281,0.0,12.868,9.07,0.615,0.0,0.0,0.0,3.88,3.882,0.545,7.569,0.682,10.759,-13.571,0.0,0.0,0.0,8.36,-0.116,5.226,0.0,0.77,0.0,4.08,-8.475,-2.662,0.0,0.06,-0.188,-0.014,2.826,0.035,-0.633,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.856,-3.882,-0.117,0.0,2.224,7.106,1.845 -base-hvac-ground-to-air-heat-pump-backup-stove.xml,22.55,0.0,12.777,9.07,0.616,0.0,0.0,0.0,3.884,3.897,0.547,7.552,0.686,10.82,-13.633,0.0,0.0,0.0,8.329,-0.13,6.387,0.0,0.773,0.0,4.31,-8.536,-2.682,0.0,0.086,-0.163,-0.011,2.842,0.041,-0.542,10.775,0.0,0.0,0.0,-6.133,-0.126,-1.027,-3.815,-0.111,0.0,2.219,7.044,1.825 -base-hvac-ground-to-air-heat-pump-cooling-only.xml,0.0,0.0,12.459,9.07,0.666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.102,-0.151,-0.009,2.77,0.045,-0.539,10.589,0.0,0.0,0.0,-6.351,-0.119,-0.818,-3.756,-0.11,0.0,2.151,6.958,1.811 -base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,25.196,0.0,13.373,9.07,0.616,0.0,0.0,0.0,3.821,3.848,0.54,7.86,0.678,10.67,-13.656,0.0,0.0,0.0,11.821,-0.127,5.242,0.0,0.769,0.0,4.596,-8.541,-2.679,0.0,0.076,-0.173,-0.012,3.233,0.042,-0.579,10.752,0.0,0.0,0.0,-6.041,-0.124,-0.835,-3.867,-0.113,0.0,2.272,7.038,1.828 -base-hvac-ground-to-air-heat-pump-heating-only.xml,21.108,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.849,3.854,0.542,7.545,0.677,10.677,-13.456,0.0,0.0,0.0,8.209,-0.109,5.192,0.0,0.765,0.0,4.05,-8.398,-2.641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-ground-to-air-heat-pump.xml,21.281,0.0,12.868,9.07,0.615,0.0,0.0,0.0,3.88,3.882,0.545,7.569,0.682,10.759,-13.571,0.0,0.0,0.0,8.36,-0.116,5.226,0.0,0.77,0.0,4.08,-8.475,-2.662,0.0,0.06,-0.188,-0.014,2.826,0.035,-0.633,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.856,-3.882,-0.117,0.0,2.224,7.106,1.845 +base-hvac-ground-to-air-heat-pump-1-speed.xml,21.305,0.0,12.778,9.07,0.615,0.0,0.0,0.0,3.879,3.882,0.545,7.569,0.682,10.759,-13.571,0.0,0.0,0.0,8.36,-0.116,5.228,0.0,0.77,0.0,4.104,-8.475,-2.662,0.0,0.063,-0.188,-0.014,2.826,0.035,-0.633,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.856,-3.882,-0.117,0.0,2.13,7.106,1.845 +base-hvac-ground-to-air-heat-pump-2-speed.xml,22.394,0.0,12.92,9.07,0.615,0.0,0.0,0.0,3.823,3.882,0.545,7.57,0.682,10.761,-13.571,0.0,0.0,0.0,8.364,-0.116,5.31,0.0,0.77,0.0,5.156,-8.475,-2.662,0.0,0.059,-0.188,-0.014,2.827,0.035,-0.633,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.853,-3.881,-0.117,0.0,2.268,7.106,1.845 +base-hvac-ground-to-air-heat-pump-backup-integrated.xml,21.305,0.0,12.778,9.07,0.615,0.0,0.0,0.0,3.879,3.882,0.545,7.569,0.682,10.759,-13.571,0.0,0.0,0.0,8.36,-0.116,5.228,0.0,0.77,0.0,4.104,-8.475,-2.662,0.0,0.063,-0.188,-0.014,2.826,0.035,-0.633,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.856,-3.882,-0.117,0.0,2.13,7.106,1.845 +base-hvac-ground-to-air-heat-pump-backup-stove.xml,22.576,0.0,12.688,9.07,0.616,0.0,0.0,0.0,3.883,3.897,0.547,7.552,0.686,10.82,-13.633,0.0,0.0,0.0,8.329,-0.13,6.389,0.0,0.773,0.0,4.335,-8.536,-2.682,0.0,0.088,-0.163,-0.011,2.842,0.041,-0.542,10.775,0.0,0.0,0.0,-6.133,-0.126,-1.026,-3.814,-0.111,0.0,2.125,7.044,1.825 +base-hvac-ground-to-air-heat-pump-cooling-only.xml,0.0,0.0,12.503,9.07,0.666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1,-0.151,-0.009,2.77,0.045,-0.539,10.589,0.0,0.0,0.0,-6.351,-0.119,-0.817,-3.756,-0.11,0.0,2.195,6.958,1.811 +base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,25.222,0.0,13.281,9.07,0.616,0.0,0.0,0.0,3.82,3.848,0.54,7.86,0.678,10.67,-13.656,0.0,0.0,0.0,11.821,-0.127,5.245,0.0,0.769,0.0,4.621,-8.541,-2.679,0.0,0.078,-0.173,-0.012,3.233,0.042,-0.579,10.752,0.0,0.0,0.0,-6.041,-0.124,-0.834,-3.867,-0.113,0.0,2.176,7.038,1.828 +base-hvac-ground-to-air-heat-pump-heating-only.xml,21.132,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.847,3.854,0.542,7.545,0.677,10.677,-13.456,0.0,0.0,0.0,8.209,-0.109,5.194,0.0,0.765,0.0,4.073,-8.398,-2.641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml,24.751,0.717,13.255,9.07,0.615,0.0,0.0,0.0,3.716,3.883,0.546,7.574,0.683,10.763,-13.571,0.0,0.0,0.0,8.369,-0.116,5.518,0.0,0.77,0.0,7.398,-8.475,-2.662,0.0,0.047,-0.188,-0.014,2.827,0.035,-0.633,10.837,0.0,0.0,0.0,-6.138,-0.112,-0.852,-3.884,-0.117,0.0,2.617,7.106,1.845 base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml,25.721,0.642,13.573,9.07,0.615,0.0,0.0,0.0,3.671,3.884,0.546,7.575,0.683,10.764,-13.571,0.0,0.0,0.0,8.372,-0.116,5.575,0.0,0.77,0.0,8.346,-8.475,-2.662,0.0,0.037,-0.188,-0.014,2.827,0.035,-0.632,10.837,0.0,0.0,0.0,-6.138,-0.112,-0.849,-3.884,-0.117,0.0,2.937,7.106,1.845 base-hvac-install-quality-air-to-air-heat-pump-var-speed-detailed-performance.xml,28.206,0.318,14.983,9.07,0.615,0.0,0.0,0.0,3.545,3.885,0.546,7.577,0.683,10.766,-13.571,0.0,0.0,0.0,8.377,-0.116,5.577,0.0,0.769,0.0,10.948,-8.475,-2.662,0.0,-0.011,-0.188,-0.014,2.828,0.035,-0.632,10.837,0.0,0.0,0.0,-6.136,-0.112,-0.851,-3.891,-0.117,0.0,4.403,7.106,1.845 @@ -291,7 +292,8 @@ base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml,23.78,0.0,14.745,9. base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml,23.78,0.0,15.197,9.07,0.615,0.0,0.0,0.0,3.757,3.883,0.545,7.572,0.683,10.762,-13.571,0.0,0.0,0.0,8.367,-0.116,5.282,0.0,0.77,0.0,6.632,-8.475,-2.662,0.0,-0.029,-0.188,-0.014,2.828,0.035,-0.632,10.837,0.0,0.0,0.0,-6.137,-0.112,-0.838,-3.888,-0.117,0.0,4.604,7.106,1.845 base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml,23.78,0.0,15.982,9.07,0.615,0.0,0.0,0.0,3.757,3.883,0.545,7.572,0.683,10.762,-13.571,0.0,0.0,0.0,8.367,-0.116,5.282,0.0,0.77,0.0,6.632,-8.475,-2.662,0.0,-0.059,-0.187,-0.014,2.828,0.035,-0.631,10.837,0.0,0.0,0.0,-6.136,-0.112,-0.841,-3.897,-0.117,0.0,5.432,7.106,1.845 base-hvac-install-quality-furnace-gas-only.xml,23.675,0.0,0.0,9.07,0.592,0.0,0.0,0.0,3.723,3.855,0.542,7.548,0.677,10.679,-13.456,0.0,0.0,0.0,8.215,-0.109,5.254,0.0,0.765,0.0,6.667,-8.398,-2.641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -base-hvac-install-quality-ground-to-air-heat-pump.xml,22.578,0.0,13.532,9.07,0.615,0.0,0.0,0.0,3.815,3.882,0.545,7.571,0.682,10.761,-13.571,0.0,0.0,0.0,8.364,-0.116,5.285,0.0,0.77,0.0,5.375,-8.475,-2.662,0.0,0.039,-0.188,-0.014,2.827,0.035,-0.632,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.854,-3.885,-0.117,0.0,2.905,7.106,1.845 +base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml,22.61,0.0,13.427,9.07,0.615,0.0,0.0,0.0,3.813,3.883,0.545,7.571,0.682,10.761,-13.571,0.0,0.0,0.0,8.364,-0.116,5.288,0.0,0.77,0.0,5.405,-8.475,-2.662,0.0,0.042,-0.188,-0.014,2.827,0.035,-0.632,10.837,0.0,0.0,0.0,-6.139,-0.112,-0.853,-3.885,-0.117,0.0,2.795,7.106,1.845 +base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml,24.707,0.0,13.586,9.07,0.615,0.0,0.0,0.0,3.715,3.883,0.546,7.573,0.683,10.763,-13.571,0.0,0.0,0.0,8.369,-0.116,5.543,0.0,0.77,0.0,7.322,-8.475,-2.662,0.0,0.033,-0.188,-0.014,2.827,0.035,-0.632,10.837,0.0,0.0,0.0,-6.138,-0.112,-0.843,-3.882,-0.117,0.0,2.937,7.106,1.845 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,0.0,0.0,12.159,9.07,0.666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.111,-0.151,-0.009,2.77,0.045,-0.54,10.589,0.0,0.0,0.0,-6.351,-0.119,-0.825,-3.757,-0.11,0.0,1.859,6.958,1.811 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,20.652,0.128,12.079,9.07,0.615,0.0,0.0,0.0,3.915,3.882,0.545,7.568,0.682,10.758,-13.571,0.0,0.0,0.0,8.359,-0.116,5.115,0.0,0.77,0.0,3.534,-8.475,-2.662,0.0,0.096,-0.188,-0.014,2.825,0.035,-0.634,10.837,0.0,0.0,0.0,-6.141,-0.112,-0.863,-3.881,-0.116,0.0,1.416,7.106,1.845 base-hvac-mini-split-air-conditioner-only-ducted.xml,0.0,0.0,11.907,9.07,0.666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.125,-0.151,-0.009,2.77,0.045,-0.54,10.589,0.0,0.0,0.0,-6.352,-0.119,-0.825,-3.756,-0.11,0.0,1.594,6.958,1.811 @@ -316,7 +318,7 @@ base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,17.258 base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,17.258,0.0,10.739,9.07,0.615,0.0,0.0,0.0,4.108,3.88,0.545,7.563,0.682,10.754,-13.571,0.0,0.0,0.0,8.349,-0.116,5.08,0.0,0.77,0.0,0.0,-8.475,-2.662,0.0,0.18,-0.189,-0.014,2.823,0.035,-0.635,10.837,0.0,0.0,0.0,-6.145,-0.112,-0.865,-3.88,-0.116,0.0,0.0,7.106,1.845 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,17.258,0.0,10.74,9.07,0.615,0.0,0.0,0.0,4.108,3.88,0.545,7.563,0.682,10.754,-13.571,0.0,0.0,0.0,8.349,-0.116,5.08,0.0,0.77,0.0,0.0,-8.475,-2.662,0.0,0.18,-0.189,-0.014,2.824,0.035,-0.635,10.837,0.0,0.0,0.0,-6.144,-0.112,-0.865,-3.88,-0.117,0.0,0.0,7.106,1.845 base-hvac-mini-split-heat-pump-ductless.xml,17.258,0.0,10.74,9.07,0.615,0.0,0.0,0.0,4.108,3.88,0.545,7.563,0.682,10.754,-13.571,0.0,0.0,0.0,8.349,-0.116,5.08,0.0,0.77,0.0,0.0,-8.475,-2.662,0.0,0.18,-0.189,-0.014,2.824,0.035,-0.635,10.837,0.0,0.0,0.0,-6.144,-0.112,-0.865,-3.88,-0.117,0.0,0.0,7.106,1.845 -base-hvac-multiple.xml,38.426,0.468,18.669,9.07,0.616,0.0,0.0,0.0,3.658,3.898,0.548,7.556,0.686,10.823,-13.633,0.0,0.0,0.0,8.337,-0.13,9.461,0.0,0.772,0.0,17.313,-8.536,-2.682,0.0,-0.015,-0.164,-0.011,2.84,0.041,-0.543,10.774,0.0,0.0,0.0,-6.134,-0.126,-0.924,-3.844,-0.111,0.0,8.123,7.044,1.825 +base-hvac-multiple.xml,38.479,0.471,18.666,9.07,0.616,0.0,0.0,0.0,3.658,3.898,0.548,7.556,0.686,10.823,-13.633,0.0,0.0,0.0,8.337,-0.13,9.477,0.0,0.772,0.0,17.351,-8.536,-2.682,0.0,-0.017,-0.164,-0.011,2.84,0.041,-0.544,10.774,0.0,0.0,0.0,-6.134,-0.126,-0.922,-3.844,-0.111,0.0,8.121,7.044,1.825 base-hvac-none.xml,0.0,0.0,0.0,4.496,0.336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-ptac-cfis.xml,0.0,0.0,10.265,9.07,0.67,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.264,-0.108,-0.003,2.776,0.057,-0.372,10.462,0.0,0.0,0.0,-6.339,-0.155,-0.429,-3.647,-0.717,0.0,0.0,6.833,1.775 base-hvac-ptac-with-heating-electricity.xml,17.257,0.0,10.74,9.07,0.615,0.0,0.0,0.0,4.108,3.88,0.545,7.563,0.682,10.754,-13.571,0.0,0.0,0.0,8.349,-0.116,5.08,0.0,0.77,0.0,0.0,-8.475,-2.662,0.0,0.18,-0.189,-0.014,2.824,0.035,-0.635,10.837,0.0,0.0,0.0,-6.144,-0.112,-0.865,-3.879,-0.116,0.0,0.0,7.106,1.845 diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv index 1d16c5a629..9f3e1868db 100644 --- a/workflow/tests/base_results/results_simulations_misc.csv +++ b/workflow/tests/base_results/results_simulations_misc.csv @@ -49,7 +49,7 @@ base-bldgtype-mf-unit-shared-chiller-only-fan-coil.xml,0.0,0.0,1354.7,998.0,1117 base-bldgtype-mf-unit-shared-chiller-only-water-loop-heat-pump.xml,0.0,2.0,1354.7,998.0,11171.5,3093.4,1848.9,3612.8,3612.8,0.0,8.741,0.0 base-bldgtype-mf-unit-shared-cooling-tower-only-water-loop-heat-pump.xml,0.0,2.0,1354.7,998.0,11171.5,3093.4,1625.0,2357.7,2357.7,0.0,8.741,0.0 base-bldgtype-mf-unit-shared-generator.xml,0.0,0.0,1354.7,998.0,11171.6,3093.4,1600.1,2147.8,2147.8,3.848,7.747,0.0 -base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,0.0,0.0,1354.7,998.0,11171.6,3093.4,1682.2,1983.4,1983.4,3.848,7.747,0.0 +base-bldgtype-mf-unit-shared-ground-loop-ground-to-air-heat-pump.xml,0.0,0.0,1354.7,998.0,11171.6,3093.4,1687.2,2014.0,2014.0,3.848,7.748,0.0 base-bldgtype-mf-unit-shared-laundry-room-multiple-water-heaters.xml,0.0,0.0,1354.7,998.0,11171.8,3093.4,926.6,1620.4,1620.4,3.894,7.784,0.0 base-bldgtype-mf-unit-shared-laundry-room.xml,0.0,0.0,1354.7,998.0,11171.6,3093.4,914.1,1609.2,1609.2,4.046,7.661,0.0 base-bldgtype-mf-unit-shared-mechvent-multiple.xml,0.0,0.0,1354.7,998.0,11171.5,3093.4,1809.0,2321.0,2321.0,7.92,9.027,0.0 @@ -71,7 +71,7 @@ base-bldgtype-sfa-unit.xml,0.0,0.0,1354.7,998.0,11171.6,2829.7,1763.3,2575.9,257 base-dhw-combi-tankless-outside.xml,0.0,0.0,1070.0,776.7,8411.1,1930.1,1295.7,1162.9,1295.7,16.826,0.0,0.0 base-dhw-combi-tankless.xml,0.0,0.0,1070.0,776.7,8411.1,1930.1,1295.7,1162.9,1295.7,16.826,0.0,0.0 base-dhw-desuperheater-2-speed.xml,0.0,0.0,1354.7,998.0,11182.6,2566.1,1971.9,2834.7,2834.7,0.0,19.338,0.0 -base-dhw-desuperheater-gshp.xml,0.0,0.0,1354.7,998.0,11183.6,2566.3,3488.5,2290.7,3488.5,22.915,16.701,0.0 +base-dhw-desuperheater-ghp.xml,0.0,0.0,1354.7,998.0,11181.7,2565.9,3536.9,2311.9,3536.9,22.958,16.614,0.0 base-dhw-desuperheater-hpwh.xml,0.0,0.0,1354.6,997.9,11091.0,2545.1,1847.6,3240.4,3240.4,26.483,19.348,0.0 base-dhw-desuperheater-tankless.xml,0.0,0.0,1354.7,998.0,11132.7,2554.6,1833.8,3314.1,3314.1,0.0,18.88,0.0 base-dhw-desuperheater-var-speed.xml,0.0,0.0,1354.7,998.0,11185.6,2566.8,1972.7,2618.2,2618.2,0.0,19.141,0.0 @@ -277,12 +277,13 @@ base-hvac-furnace-oil-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2041.7,1785.3 base-hvac-furnace-propane-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2041.7,1785.3,2041.7,23.792,0.0,0.0 base-hvac-furnace-wood-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2041.7,1785.3,2041.7,23.792,0.0,0.0 base-hvac-furnace-x3-dse.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2028.7,3006.4,3006.4,16.915,12.045,0.0 -base-hvac-ground-to-air-heat-pump-backup-integrated.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3480.4,2854.9,3480.4,22.798,16.315,0.0 -base-hvac-ground-to-air-heat-pump-backup-stove.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,3545.5,2935.3,3545.5,23.512,16.51,0.0 -base-hvac-ground-to-air-heat-pump-cooling-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,1925.2,2832.7,2832.7,0.0,16.056,0.0 -base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3437.1,2712.3,3437.1,23.78,16.291,0.0 -base-hvac-ground-to-air-heat-pump-heating-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3457.1,1785.3,3457.1,22.63,0.0,0.0 -base-hvac-ground-to-air-heat-pump.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3480.4,2854.9,3480.4,22.798,16.315,0.0 +base-hvac-ground-to-air-heat-pump-1-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3528.5,2858.6,3528.5,22.842,16.224,0.0 +base-hvac-ground-to-air-heat-pump-2-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3599.7,2685.0,3599.7,24.025,16.931,0.0 +base-hvac-ground-to-air-heat-pump-backup-integrated.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3528.5,2858.6,3528.5,22.842,16.224,0.0 +base-hvac-ground-to-air-heat-pump-backup-stove.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3595.4,2956.9,3595.4,23.553,16.42,0.0 +base-hvac-ground-to-air-heat-pump-cooling-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,1925.2,2866.9,2866.9,0.0,16.204,0.0 +base-hvac-ground-to-air-heat-pump-detailed-geothermal-loop.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3482.9,2726.0,3482.9,23.824,16.192,0.0 +base-hvac-ground-to-air-heat-pump-heating-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3501.4,1785.3,3501.4,22.677,0.0,0.0 base-hvac-install-quality-air-to-air-heat-pump-1-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,7224.8,3762.6,7224.8,25.334,17.381,0.0 base-hvac-install-quality-air-to-air-heat-pump-2-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,7211.6,3322.9,7211.6,25.331,18.691,0.0 base-hvac-install-quality-air-to-air-heat-pump-var-speed-detailed-performance.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,5994.9,4187.9,5994.9,25.329,18.649,0.0 @@ -291,7 +292,8 @@ base-hvac-install-quality-furnace-gas-central-ac-1-speed.xml,0.0,3.0,1354.7,998. base-hvac-install-quality-furnace-gas-central-ac-2-speed.xml,0.0,4.0,1354.7,998.0,11171.5,2563.5,2051.9,3522.3,3522.3,25.045,17.916,0.0 base-hvac-install-quality-furnace-gas-central-ac-var-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2051.9,3354.2,3354.2,25.045,19.163,0.0 base-hvac-install-quality-furnace-gas-only.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,2016.9,1785.3,2016.9,25.159,0.0,0.0 -base-hvac-install-quality-ground-to-air-heat-pump.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3776.8,3093.9,3776.8,24.108,17.55,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-1-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3837.5,3106.2,3837.5,24.154,17.516,0.0 +base-hvac-install-quality-ground-to-air-heat-pump-2-speed.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3931.1,3041.7,3931.1,25.023,18.767,0.0 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,1975.2,3070.1,3070.1,0.0,14.273,0.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,4924.5,2976.3,4924.5,19.461,14.289,0.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,1975.2,2697.5,2697.5,0.0,14.091,0.0 @@ -316,7 +318,7 @@ base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,0.0,0. base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3946.1,2770.9,3946.1,16.748,12.043,0.0 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3629.4,2679.8,3629.4,16.748,12.043,0.0 base-hvac-mini-split-heat-pump-ductless.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,3629.4,2679.8,3629.4,16.748,12.043,0.0 -base-hvac-multiple.xml,0.0,9.0,1354.7,998.0,11171.6,2563.5,7910.3,4290.6,7910.3,46.212,23.117,0.0 +base-hvac-multiple.xml,0.0,10.0,1354.7,998.0,11171.6,2563.5,7928.9,4278.7,7928.9,46.21,22.811,0.0 base-hvac-none.xml,0.0,0.0,1354.7,998.0,8369.9,2062.4,1266.6,1193.6,1266.6,0.0,0.0,0.0 base-hvac-ptac-cfis.xml,0.0,0.0,1354.7,998.0,11171.5,2563.5,1956.9,3058.1,3058.1,0.0,12.136,0.0 base-hvac-ptac-with-heating-electricity.xml,0.0,0.0,1354.7,998.0,11171.6,2563.5,5887.1,3231.5,5887.1,16.748,12.045,0.0 diff --git a/workflow/tests/base_results/results_sizing.csv b/workflow/tests/base_results/results_sizing.csv index 49eb865056..1a9fab34c9 100644 --- a/workflow/tests/base_results/results_sizing.csv +++ b/workflow/tests/base_results/results_sizing.csv @@ -193,30 +193,33 @@ denver-hvac-autosize-furnace-oil-only.xml,32239.0,0.0,0.0,703.0,0.0 denver-hvac-autosize-furnace-propane-only.xml,32239.0,0.0,0.0,703.0,0.0 denver-hvac-autosize-furnace-wood-only.xml,32239.0,0.0,0.0,703.0,0.0 denver-hvac-autosize-furnace-x3-dse.xml,23766.0,17335.0,0.0,518.0,578.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-emergency.xml,31859.0,31859.0,31131.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-supplemental.xml,31859.0,31859.0,31131.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-emergency.xml,31859.0,31859.0,31131.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-supplemental.xml,31859.0,31859.0,31131.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-emergency.xml,44549.0,44549.0,31131.0,1389.0,1485.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-supplemental.xml,44549.0,44549.0,31131.0,1389.0,1485.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-emergency.xml,31859.0,31859.0,23530.0,1679.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-supplemental.xml,31859.0,31859.0,23530.0,1679.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-emergency.xml,31859.0,31859.0,23530.0,1679.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-supplemental.xml,31859.0,31859.0,23530.0,1679.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-emergency.xml,44549.0,44549.0,23530.0,2075.0,1485.0 -denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-supplemental.xml,44549.0,44549.0,23530.0,2075.0,1485.0 -denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-ACCA.xml,0.0,31859.0,0.0,0.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-HERS.xml,0.0,31859.0,0.0,0.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-MaxLoad.xml,0.0,31859.0,0.0,0.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-ACCA.xml,31859.0,31859.0,0.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-HERS.xml,31859.0,31859.0,0.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-MaxLoad.xml,41359.0,41359.0,0.0,1289.0,1343.0 -denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-ACCA.xml,31131.0,0.0,0.0,970.0,0.0 -denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-HERS.xml,31131.0,0.0,0.0,970.0,0.0 -denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-MaxLoad.xml,31131.0,0.0,0.0,970.0,0.0 -denver-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-ACCA.xml,31859.0,31859.0,0.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-HERS.xml,31859.0,31859.0,0.0,993.0,909.0 -denver-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-MaxLoad.xml,44549.0,44549.0,0.0,1389.0,1485.0 +denver-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-ACCA.xml,39716.0,39716.0,0.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-HERS.xml,39716.0,39716.0,0.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-MaxLoad.xml,44467.0,44467.0,0.0,1386.0,1482.0 +denver-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-ACCA.xml,28565.0,28565.0,0.0,890.0,952.0 +denver-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-HERS.xml,31131.0,31131.0,0.0,970.0,1038.0 +denver-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-MaxLoad.xml,43138.0,43138.0,0.0,1345.0,1438.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-emergency.xml,39716.0,39716.0,31131.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-supplemental.xml,39716.0,39716.0,31131.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-emergency.xml,39716.0,39716.0,31131.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-supplemental.xml,39716.0,39716.0,31131.0,1238.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-emergency.xml,44467.0,44467.0,31131.0,1386.0,1482.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-supplemental.xml,44467.0,44467.0,31131.0,1386.0,1482.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-emergency.xml,39716.0,39716.0,23530.0,1924.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-supplemental.xml,39716.0,39716.0,23530.0,1924.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-emergency.xml,39716.0,39716.0,23530.0,1924.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-supplemental.xml,39716.0,39716.0,23530.0,1924.0,1136.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-emergency.xml,44467.0,44467.0,23530.0,2072.0,1482.0 +denver-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-supplemental.xml,44467.0,44467.0,23530.0,2072.0,1482.0 +denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-ACCA.xml,0.0,31817.0,0.0,0.0,910.0 +denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-HERS.xml,0.0,31817.0,0.0,0.0,910.0 +denver-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-MaxLoad.xml,0.0,31817.0,0.0,0.0,910.0 +denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-ACCA.xml,36663.0,36663.0,0.0,1143.0,1049.0 +denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-HERS.xml,36663.0,36663.0,0.0,1143.0,1049.0 +denver-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-MaxLoad.xml,41288.0,41288.0,0.0,1287.0,1344.0 +denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-ACCA.xml,39716.0,0.0,0.0,1238.0,0.0 +denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-HERS.xml,39716.0,0.0,0.0,1238.0,0.0 +denver-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-MaxLoad.xml,39716.0,0.0,0.0,1238.0,0.0 denver-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-ACCA-backup-emergency.xml,28090.0,29405.0,31131.0,657.0,735.0 denver-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-ACCA-backup-supplemental.xml,28090.0,29405.0,19379.0,657.0,735.0 denver-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-HERS-backup-emergency.xml,35166.0,36811.0,31131.0,822.0,920.0 @@ -239,9 +242,12 @@ denver-hvac-autosize-install-quality-furnace-gas-central-ac-1-speed.xml,32239.0, denver-hvac-autosize-install-quality-furnace-gas-central-ac-2-speed.xml,32239.0,29166.0,0.0,528.0,729.0 denver-hvac-autosize-install-quality-furnace-gas-central-ac-var-speed.xml,32239.0,28760.0,0.0,528.0,719.0 denver-hvac-autosize-install-quality-furnace-gas-only.xml,32239.0,0.0,0.0,528.0,0.0 -denver-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-ACCA.xml,35973.0,37679.0,0.0,841.0,806.0 -denver-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-HERS.xml,35973.0,37679.0,0.0,841.0,806.0 -denver-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-MaxLoad.xml,50302.0,52687.0,0.0,1176.0,1317.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-ACCA.xml,44844.0,46971.0,0.0,1048.0,1008.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-HERS.xml,44844.0,46971.0,0.0,1048.0,1008.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-MaxLoad.xml,50209.0,52590.0,0.0,1174.0,1315.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-ACCA.xml,32253.0,33782.0,0.0,754.0,845.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-HERS.xml,35151.0,36817.0,0.0,822.0,920.0 +denver-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-MaxLoad.xml,48709.0,51018.0,0.0,1139.0,1275.0 denver-hvac-autosize-install-quality-mini-split-air-conditioner-only-ducted.xml,0.0,24670.0,0.0,0.0,617.0 denver-hvac-autosize-install-quality-mini-split-heat-pump-ducted-sizing-methodology-ACCA-backup-emergency.xml,25441.0,26626.0,26082.0,595.0,666.0 denver-hvac-autosize-install-quality-mini-split-heat-pump-ducted-sizing-methodology-ACCA-backup-supplemental.xml,25441.0,26626.0,11749.0,595.0,666.0 @@ -317,12 +323,12 @@ denver-hvac-autosize-mini-split-heat-pump-ductless-heating-capacity-17f-sizing-m denver-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-ACCA.xml,19609.0,19609.0,0.0,654.0,654.0 denver-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-HERS.xml,23530.0,23530.0,0.0,784.0,784.0 denver-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-MaxLoad.xml,36959.0,36959.0,0.0,1232.0,1232.0 -denver-hvac-autosize-multiple-sizing-methodology-ACCA-backup-emergency.xml,44704.0,34006.0,12593.0,1059.0,1019.0 -denver-hvac-autosize-multiple-sizing-methodology-ACCA-backup-supplemental.xml,44704.0,34006.0,6998.0,1059.0,1019.0 -denver-hvac-autosize-multiple-sizing-methodology-HERS-backup-emergency.xml,44704.0,34006.0,12593.0,1059.0,1019.0 -denver-hvac-autosize-multiple-sizing-methodology-HERS-backup-supplemental.xml,44704.0,34006.0,6998.0,1059.0,1019.0 -denver-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-emergency.xml,50345.0,39647.0,12593.0,1236.0,1207.0 -denver-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-supplemental.xml,50345.0,39647.0,5120.0,1236.0,1207.0 +denver-hvac-autosize-multiple-sizing-methodology-ACCA-backup-emergency.xml,44701.0,34003.0,12593.0,1059.0,1019.0 +denver-hvac-autosize-multiple-sizing-methodology-ACCA-backup-supplemental.xml,44701.0,34003.0,6998.0,1059.0,1019.0 +denver-hvac-autosize-multiple-sizing-methodology-HERS-backup-emergency.xml,44701.0,34003.0,12593.0,1059.0,1019.0 +denver-hvac-autosize-multiple-sizing-methodology-HERS-backup-supplemental.xml,44701.0,34003.0,6998.0,1059.0,1019.0 +denver-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-emergency.xml,50342.0,39644.0,12593.0,1236.0,1207.0 +denver-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-supplemental.xml,50342.0,39644.0,5120.0,1236.0,1207.0 denver-hvac-autosize-none.xml,0.0,0.0,0.0,0.0,0.0 denver-hvac-autosize-ptac-cfis.xml,0.0,15064.0,0.0,0.0,392.0 denver-hvac-autosize-ptac-with-heating-electricity.xml,23530.0,15074.0,0.0,513.0,392.0 @@ -561,30 +567,33 @@ houston-hvac-autosize-furnace-oil-only.xml,21201.0,0.0,0.0,387.0,0.0 houston-hvac-autosize-furnace-propane-only.xml,21201.0,0.0,0.0,387.0,0.0 houston-hvac-autosize-furnace-wood-only.xml,21201.0,0.0,0.0,387.0,0.0 houston-hvac-autosize-furnace-x3-dse.xml,14113.0,19057.0,0.0,257.0,635.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-emergency.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-supplemental.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-emergency.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-supplemental.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-emergency.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-supplemental.xml,37725.0,37725.0,19975.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-emergency.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-supplemental.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-emergency.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-supplemental.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-emergency.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-supplemental.xml,37725.0,37725.0,13974.0,1391.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-ACCA.xml,0.0,37725.0,0.0,0.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-HERS.xml,0.0,37725.0,0.0,0.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-MaxLoad.xml,0.0,37725.0,0.0,0.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-ACCA.xml,37725.0,37725.0,0.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-HERS.xml,37725.0,37725.0,0.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-MaxLoad.xml,37725.0,37725.0,0.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-ACCA.xml,19975.0,0.0,0.0,520.0,0.0 -houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-HERS.xml,19975.0,0.0,0.0,520.0,0.0 -houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-MaxLoad.xml,19975.0,0.0,0.0,520.0,0.0 -houston-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-ACCA.xml,37725.0,37725.0,0.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-HERS.xml,37725.0,37725.0,0.0,983.0,943.0 -houston-hvac-autosize-ground-to-air-heat-pump-sizing-methodology-MaxLoad.xml,37725.0,37725.0,0.0,983.0,943.0 +houston-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-ACCA.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-HERS.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-1-speed-sizing-methodology-MaxLoad.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-ACCA.xml,32829.0,32829.0,0.0,855.0,1094.0 +houston-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-HERS.xml,32829.0,32829.0,0.0,855.0,1094.0 +houston-hvac-autosize-ground-to-air-heat-pump-2-speed-sizing-methodology-MaxLoad.xml,32829.0,32829.0,0.0,855.0,1094.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-emergency.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-ACCA-backup-supplemental.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-emergency.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-HERS-backup-supplemental.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-emergency.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-integrated-sizing-methodology-MaxLoad-backup-supplemental.xml,36821.0,36821.0,19975.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-emergency.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-ACCA-backup-supplemental.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-emergency.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-HERS-backup-supplemental.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-emergency.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-backup-stove-sizing-methodology-MaxLoad-backup-supplemental.xml,36821.0,36821.0,13974.0,1367.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-ACCA.xml,0.0,36821.0,0.0,0.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-HERS.xml,0.0,36821.0,0.0,0.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-cooling-only-sizing-methodology-MaxLoad.xml,0.0,36821.0,0.0,0.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-ACCA.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-HERS.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-detailed-geothermal-loop-sizing-methodology-MaxLoad.xml,36821.0,36821.0,0.0,959.0,921.0 +houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-ACCA.xml,27534.0,0.0,0.0,717.0,0.0 +houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-HERS.xml,27534.0,0.0,0.0,717.0,0.0 +houston-hvac-autosize-ground-to-air-heat-pump-heating-only-sizing-methodology-MaxLoad.xml,27534.0,0.0,0.0,717.0,0.0 houston-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-ACCA-backup-emergency.xml,35466.0,34072.0,19975.0,693.0,852.0 houston-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-ACCA-backup-supplemental.xml,35466.0,34072.0,0.0,693.0,852.0 houston-hvac-autosize-install-quality-air-to-air-heat-pump-1-speed-sizing-methodology-HERS-backup-emergency.xml,35466.0,34072.0,19975.0,693.0,852.0 @@ -607,9 +616,12 @@ houston-hvac-autosize-install-quality-furnace-gas-central-ac-1-speed.xml,21201.0 houston-hvac-autosize-install-quality-furnace-gas-central-ac-2-speed.xml,21201.0,32676.0,0.0,290.0,817.0 houston-hvac-autosize-install-quality-furnace-gas-central-ac-var-speed.xml,21201.0,32208.0,0.0,290.0,805.0 houston-hvac-autosize-install-quality-furnace-gas-only.xml,21201.0,0.0,0.0,290.0,0.0 -houston-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-ACCA.xml,46316.0,44589.0,0.0,905.0,836.0 -houston-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-HERS.xml,46316.0,44589.0,0.0,905.0,836.0 -houston-hvac-autosize-install-quality-ground-to-air-heat-pump-sizing-methodology-MaxLoad.xml,46316.0,44589.0,0.0,905.0,836.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-ACCA.xml,45206.0,43521.0,0.0,883.0,816.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-HERS.xml,45206.0,43521.0,0.0,883.0,816.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-1-speed-sizing-methodology-MaxLoad.xml,45206.0,43521.0,0.0,883.0,816.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-ACCA.xml,40305.0,38802.0,0.0,787.0,970.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-HERS.xml,40305.0,38802.0,0.0,787.0,970.0 +houston-hvac-autosize-install-quality-ground-to-air-heat-pump-2-speed-sizing-methodology-MaxLoad.xml,40305.0,38802.0,0.0,787.0,970.0 houston-hvac-autosize-install-quality-mini-split-air-conditioner-only-ducted.xml,0.0,26342.0,0.0,0.0,659.0 houston-hvac-autosize-install-quality-mini-split-heat-pump-ducted-sizing-methodology-ACCA-backup-emergency.xml,27420.0,26342.0,15951.0,536.0,659.0 houston-hvac-autosize-install-quality-mini-split-heat-pump-ducted-sizing-methodology-ACCA-backup-supplemental.xml,27420.0,26342.0,0.0,536.0,659.0 @@ -685,12 +697,12 @@ houston-hvac-autosize-mini-split-heat-pump-ductless-heating-capacity-17f-sizing- houston-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-ACCA.xml,18277.0,18277.0,0.0,609.0,609.0 houston-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-HERS.xml,18277.0,18277.0,0.0,609.0,609.0 houston-hvac-autosize-mini-split-heat-pump-ductless-sizing-methodology-MaxLoad.xml,19748.0,19748.0,0.0,658.0,658.0 -houston-hvac-autosize-multiple-sizing-methodology-ACCA-backup-emergency.xml,60091.0,57134.0,12577.0,1405.0,1684.0 -houston-hvac-autosize-multiple-sizing-methodology-ACCA-backup-supplemental.xml,60091.0,57134.0,5590.0,1405.0,1684.0 -houston-hvac-autosize-multiple-sizing-methodology-HERS-backup-emergency.xml,60091.0,57134.0,12577.0,1405.0,1684.0 -houston-hvac-autosize-multiple-sizing-methodology-HERS-backup-supplemental.xml,60091.0,57134.0,5590.0,1405.0,1684.0 -houston-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-emergency.xml,60989.0,58032.0,12577.0,1431.0,1714.0 -houston-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-supplemental.xml,60989.0,58032.0,5590.0,1431.0,1714.0 +houston-hvac-autosize-multiple-sizing-methodology-ACCA-backup-emergency.xml,59847.0,56890.0,12577.0,1399.0,1677.0 +houston-hvac-autosize-multiple-sizing-methodology-ACCA-backup-supplemental.xml,59847.0,56890.0,5590.0,1399.0,1677.0 +houston-hvac-autosize-multiple-sizing-methodology-HERS-backup-emergency.xml,59847.0,56890.0,12577.0,1399.0,1677.0 +houston-hvac-autosize-multiple-sizing-methodology-HERS-backup-supplemental.xml,59847.0,56890.0,5590.0,1399.0,1677.0 +houston-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-emergency.xml,60745.0,57788.0,12577.0,1425.0,1707.0 +houston-hvac-autosize-multiple-sizing-methodology-MaxLoad-backup-supplemental.xml,60745.0,57788.0,5590.0,1425.0,1707.0 houston-hvac-autosize-none.xml,0.0,0.0,0.0,0.0,0.0 houston-hvac-autosize-ptac-cfis.xml,0.0,19004.0,0.0,0.0,494.0 houston-hvac-autosize-ptac-with-heating-electricity.xml,13974.0,18433.0,0.0,255.0,479.0