diff --git a/BuildResidentialHPXML/README.md b/BuildResidentialHPXML/README.md
index 2cf4935a0d..398f429503 100644
--- a/BuildResidentialHPXML/README.md
+++ b/BuildResidentialHPXML/README.md
@@ -76,7 +76,7 @@ Path to the EPW file. Either this or the Zip Code input above must be provided.
**Location: Site Type**
-The terrain/shielding of the home, for the infiltration model. Defaults to 'Suburban, Normal' for single-family detached and manufactured home and 'Suburban, Well-Shielded' for single-family attached and apartment units.
+The terrain/shielding of the home, for the infiltration model.
- **Name:** ``location_site_type``
- **Type:** ``Choice``
@@ -209,7 +209,7 @@ The number of bedrooms in the unit.
**Geometry: Unit Number of Bathrooms**
-The number of bathrooms in the unit. Defaults to NumberofBedrooms/2 + 0.5.
+The number of bathrooms in the unit.
- **Name:** ``geometry_unit_num_bathrooms``
- **Type:** ``Choice``
diff --git a/BuildResidentialHPXML/measure.rb b/BuildResidentialHPXML/measure.rb
index 3f431878be..888f9a2756 100644
--- a/BuildResidentialHPXML/measure.rb
+++ b/BuildResidentialHPXML/measure.rb
@@ -80,7 +80,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
arg = OpenStudio::Measure::OSArgument.makeChoiceArgument('location_site_type', choices[:location_site_type], false)
arg.setDisplayName('Location: Site Type')
- arg.setDescription("The terrain/shielding of the home, for the infiltration model. Defaults to 'Suburban, Normal' for single-family detached and manufactured home and 'Suburban, Well-Shielded' for single-family attached and apartment units.")
+ arg.setDescription('The terrain/shielding of the home, for the infiltration model.')
arg.setDefaultValue('Default')
args << arg
@@ -136,7 +136,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
arg = OpenStudio::Measure::OSArgument.makeChoiceArgument('geometry_unit_num_bathrooms', choices[:geometry_unit_num_bathrooms], false)
arg.setDisplayName('Geometry: Unit Number of Bathrooms')
- arg.setDescription('The number of bathrooms in the unit. Defaults to NumberofBedrooms/2 + 0.5.')
+ arg.setDescription('The number of bathrooms in the unit.')
arg.setDefaultValue('Default')
args << arg
diff --git a/BuildResidentialHPXML/measure.xml b/BuildResidentialHPXML/measure.xml
index 21f06ea744..18053a87ed 100644
--- a/BuildResidentialHPXML/measure.xml
+++ b/BuildResidentialHPXML/measure.xml
@@ -3,8 +3,8 @@
3.1
build_residential_hpxml
a13a8983-2b01-4930-8af2-42030b6e4233
- f4f37f65-5e30-41a0-b3dc-7a4a1fa57f44
- 2026-05-22T21:28:29Z
+ 8c6a6855-95e8-491e-8fb6-6820b622531e
+ 2026-07-17T21:33:32Z
2C38F48B
BuildResidentialHPXML
HPXML Builder
@@ -108,7 +108,7 @@
location_site_type
Location: Site Type
- The terrain/shielding of the home, for the infiltration model. Defaults to 'Suburban, Normal' for single-family detached and manufactured home and 'Suburban, Well-Shielded' for single-family attached and apartment units.
+ The terrain/shielding of the home, for the infiltration model.
Choice
false
false
@@ -595,7 +595,7 @@
geometry_unit_num_bathrooms
Geometry: Unit Number of Bathrooms
- The number of bathrooms in the unit. Defaults to NumberofBedrooms/2 + 0.5.
+ The number of bathrooms in the unit.
Choice
false
false
@@ -11433,7 +11433,7 @@
README.md
md
readme
- 40789597
+ E343E87E
README.md.erb
@@ -11450,7 +11450,7 @@
measure.rb
rb
script
- E3E200DA
+ 93E3B4F6
constants.rb
diff --git a/Changelog.md b/Changelog.md
index d0e42dd881..8fa3ad99b5 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -10,6 +10,7 @@ __Bugfixes__
- **Breaking change**: HPWH `EnergyFactor`/`UniformEnergyFactor` must now be >= 1.45 (previously > 1).
- Fixes ERV supply outlet enthalpy calculation used to calculate latent effectiveness.
- Removes duplicated ceiling/floor internal mass surfaces between conditioned stories.
+- Fixes error if `NumberofBedrooms=0` and `NumberofBathrooms` is omitted.
## OpenStudio-HPXML v1.12.0
diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml
index 9799256f7b..bfefb1dc88 100644
--- a/HPXMLtoOpenStudio/measure.xml
+++ b/HPXMLtoOpenStudio/measure.xml
@@ -3,8 +3,8 @@
3.1
hpxml_to_openstudio
b1543b30-9465-45ff-ba04-1d1f85e763bc
- b5a80774-bddd-4161-b29c-68607900018d
- 2026-07-16T19:57:35Z
+ 4cdd2955-f813-462c-8e3a-0a9db87b2626
+ 2026-07-17T21:51:12Z
D8922A73
HPXMLToOpenStudio
HPXML to OpenStudio Translator
@@ -367,7 +367,7 @@
defaults.rb
rb
resource
- 4350A1B4
+ 41261A50
electric_panel.rb
@@ -751,7 +751,7 @@
test_defaults.rb
rb
test
- 2C65B351
+ F470D66D
test_electric_panel.rb
diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb
index 9166dc062d..b75703e4e9 100644
--- a/HPXMLtoOpenStudio/resources/defaults.rb
+++ b/HPXMLtoOpenStudio/resources/defaults.rb
@@ -922,7 +922,7 @@ def self.apply_building_construction(hpxml_header, hpxml_bldg)
hpxml_bldg.building_construction.conditioned_building_volume_isdefaulted = true
end
if hpxml_bldg.building_construction.number_of_bathrooms.nil?
- hpxml_bldg.building_construction.number_of_bathrooms = Float(get_num_bathrooms(nbeds)).to_i
+ hpxml_bldg.building_construction.number_of_bathrooms = get_num_bathrooms(nbeds)
hpxml_bldg.building_construction.number_of_bathrooms_isdefaulted = true
end
if hpxml_bldg.building_construction.number_of_units.nil?
@@ -2820,7 +2820,7 @@ def self.apply_hvac_control(hpxml_bldg, schedules_file, eri_version)
schedules_file_includes_cooling_setpoint_temp = (schedules_file.nil? ? false : schedules_file.includes_col_name(SchedulesFile::Columns[:CoolingSetpoint].name))
if hvac_control.cooling_setpoint_temp.nil? && hvac_control.weekday_cooling_setpoints.nil? && !schedules_file_includes_cooling_setpoint_temp
# No cooling setpoints; set a default cooling setpoint for, e.g., natural ventilation
- clg_weekday_setpoints, clg_weekend_setpoints = Defaults.get_cooling_setpoint(HPXML::HVACControlTypeManual, eri_version)
+ clg_weekday_setpoints, clg_weekend_setpoints = get_cooling_setpoint(HPXML::HVACControlTypeManual, eri_version)
if clg_weekday_setpoints.split(', ').uniq.size == 1 && clg_weekend_setpoints.split(', ').uniq.size == 1 && clg_weekday_setpoints.split(', ').uniq == clg_weekend_setpoints.split(', ').uniq
hvac_control.cooling_setpoint_temp = clg_weekend_setpoints.split(', ').uniq[0].to_f
else
@@ -4603,7 +4603,7 @@ def self.apply_ceiling_fans(hpxml_bldg, weather, schedules_file)
ceiling_fan.weekend_fractions_isdefaulted = true
end
if ceiling_fan.monthly_multipliers.nil? && !schedules_file_includes_ceiling_fan
- ceiling_fan.monthly_multipliers = Defaults.get_ceiling_fan_months(weather).join(', ')
+ ceiling_fan.monthly_multipliers = get_ceiling_fan_months(weather).join(', ')
ceiling_fan.monthly_multipliers_isdefaulted = true
end
end
@@ -5483,10 +5483,15 @@ def self.lookup_weather_data_from_wmo(wmo)
# Gets the default number of bathrooms in the dwelling unit.
#
# @param nbeds [Integer] Number of bedrooms in the dwelling unit
- # @return [Double] Number of bathrooms
+ # @return [Integer] Number of bathrooms
def self.get_num_bathrooms(nbeds)
nbaths = nbeds / 2.0 + 0.5 # From BA HSP
- return nbaths
+
+ # Ensure at least 1 bathroom (which the HPXML schema requires).
+ # Even a studio apartment w/ zero bedrooms would have a bathroom.
+ nbaths = [nbaths, 1].max
+
+ return nbaths.to_i
end
# Gets the default properties for cooking ranges/ovens.
@@ -6145,7 +6150,7 @@ def self.get_water_heater_performance_adjustment(water_heating_system)
# @return [Double] Water heater heating capacity (Btu/hr)
def self.get_water_heater_heating_capacity(fuel, nbeds, num_water_heaters, nbaths = nil)
if nbaths.nil?
- nbaths = Defaults.get_num_bathrooms(nbeds)
+ nbaths = get_num_bathrooms(nbeds)
end
# Adjust the heating capacity if there are multiple water heaters in the home
@@ -6196,7 +6201,7 @@ def self.get_water_heater_tank_volume(fuel, is_hpwh, nbeds, nbaths, n_occ)
# FUTURE: Incorporate number of occupants for conventional elec/gas storage WHs.
if nbaths.nil?
- nbaths = Defaults.get_num_bathrooms(nbeds)
+ nbaths = get_num_bathrooms(nbeds)
end
if is_hpwh && !n_occ.nil? # Heat pump water heater
@@ -7555,7 +7560,7 @@ def self.get_pool_pump_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 158.6 / 0.070 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0)
end
@@ -7569,7 +7574,7 @@ def self.get_pool_pump_annual_energy(cfa, nbeds, n_occ, unit_type)
# @param type [String] Type of heater (HPXML::HeaterTypeXXX)
# @return [Array] Energy units (HPXML::UnitsXXX), annual energy use (kWh/yr or therm/yr)
def self.get_pool_heater_annual_energy(cfa, nbeds, n_occ, unit_type, type)
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
load_units = nil
load_value = nil
@@ -7609,7 +7614,7 @@ def self.get_permanent_spa_pump_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 59.5 / 0.059 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0) # kWh/yr
end
@@ -7623,7 +7628,7 @@ def self.get_permanent_spa_pump_annual_energy(cfa, nbeds, n_occ, unit_type)
# @param type [String] Type of heater (HPXML::HeaterTypeXXX)
# @return [Array] Energy units (HPXML::UnitsXXX), annual energy use (kWh/yr or therm/yr)
def self.get_permanent_spa_heater_annual_energy(cfa, nbeds, n_occ, unit_type, type)
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
load_units = nil
load_value = nil
@@ -7683,7 +7688,7 @@ def self.get_default_well_pump_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 50.8 / 0.127 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0)
end
@@ -7701,7 +7706,7 @@ def self.get_gas_grill_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 0.87 / 0.029 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0)
end
@@ -7719,7 +7724,7 @@ def self.get_default_gas_lighting_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 0.22 / 0.012 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0)
end
@@ -7737,7 +7742,7 @@ def self.get_gas_fireplace_annual_energy(cfa, nbeds, n_occ, unit_type)
return 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
return 1.95 / 0.032 * (0.5 + 0.25 * nbeds_eq / 3.0 + 0.25 * cfa / 1920.0)
end
@@ -7755,7 +7760,7 @@ def self.get_water_use_internal_gains(nbeds, n_occ, unit_type, general_water_use
return 0.0, 0.0
end
- nbeds_eq = Defaults.get_equivalent_nbeds(nbeds, n_occ, unit_type)
+ nbeds_eq = get_equivalent_nbeds(nbeds, n_occ, unit_type)
# ANSI/RESNET/ICC 301 - Table 4.2.2(3). Internal Gains for Reference Homes
sens_gains = (-1227.0 - 409.0 * nbeds_eq) * general_water_use_usage_multiplier # Btu/day
diff --git a/HPXMLtoOpenStudio/tests/test_defaults.rb b/HPXMLtoOpenStudio/tests/test_defaults.rb
index e6cee7e0f6..7e841bf720 100644
--- a/HPXMLtoOpenStudio/tests/test_defaults.rb
+++ b/HPXMLtoOpenStudio/tests/test_defaults.rb
@@ -530,6 +530,12 @@ def test_building_construction
_default_hpxml, default_hpxml_bldg = _test_measure()
_test_default_building_construction_values(default_hpxml_bldg, 21600, 8.0, 2, 1, -7)
+ # Test defaults w/ zero bedrooms
+ hpxml_bldg.building_construction.number_of_bedrooms = 0
+ XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
+ _default_hpxml, default_hpxml_bldg = _test_measure()
+ _test_default_building_construction_values(default_hpxml_bldg, 21600, 8.0, 1, 1, -7)
+
# Test defaults w/ belly-and-wing foundation
hpxml, hpxml_bldg = _create_hpxml('base-foundation-belly-wing-skirt.xml')
hpxml_bldg.building_construction.conditioned_building_volume = nil
diff --git a/docs/source/workflow_inputs.rst b/docs/source/workflow_inputs.rst
index 0bff88401d..4e12e27d10 100644
--- a/docs/source/workflow_inputs.rst
+++ b/docs/source/workflow_inputs.rst
@@ -651,7 +651,7 @@ Building construction is entered in ``/HPXML/Building/BuildingDetails/BuildingSu
.. [#] If AverageCeilingHeight not provided, defaults to (ConditionedBuildingVolume - ConditionedCrawlspaceVolume) / ConditionedFloorArea if ConditionedBuildingVolume is provided.
If ConditionedBuildingVolume not provided, AverageCeilingHeight defaults to 8.0 ft (unless there is a cathedral ceiling, in which case the value is adjusted).
- .. [#] If NumberofBathrooms not provided, calculated as NumberofBedrooms/2 + 0.5 based on the `2010 BAHSP `_.
+ .. [#] If NumberofBathrooms not provided, calculated as NumberofBedrooms/2 + 0.5 (rounded down, with a minimum of 1) based on the `2010 BAHSP `_.
.. [#] If ConditionedBuildingVolume not provided, defaults to ConditionedFloorArea * AverageCeilingHeight + ConditionedCrawlspaceVolume.
HPXML Schedules
diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json
index d496719188..15f4d21afd 100644
--- a/workflow/hpxml_inputs.json
+++ b/workflow/hpxml_inputs.json
@@ -1092,6 +1092,11 @@
"enclosure_floor_over_garage": "Wood Frame, R-38",
"enclosure_carpet": "80% Carpet"
},
+ "sample_files/base-enclosure-beds-0.xml": {
+ "parent_hpxml": "sample_files/base.xml",
+ "geometry_unit_num_bedrooms": "0",
+ "geometry_unit_num_bathrooms": "Default"
+ },
"sample_files/base-enclosure-beds-1.xml": {
"parent_hpxml": "sample_files/base.xml",
"geometry_unit_num_bedrooms": "1",
diff --git a/workflow/sample_files/base-enclosure-beds-0.xml b/workflow/sample_files/base-enclosure-beds-0.xml
new file mode 100644
index 0000000000..50605561e6
--- /dev/null
+++ b/workflow/sample_files/base-enclosure-beds-0.xml
@@ -0,0 +1,515 @@
+
+
+
+ HPXML
+ tasks.rb
+ 2000-01-01T00:00:00-07:00
+ create
+
+
+
+
+
+ Default
+
+
+
+
+
+
+
+
+
+ CO
+
+
+
+ proposed workscope
+
+
+
+
+ stand-alone
+ no units above or below
+ 180
+
+ electricity
+ natural gas
+
+
+
+ single-family detached
+ 2.0
+ 1.0
+ 8.0
+ 0
+ 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
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+ attic - unvented
+ 1509.3
+ asphalt or fiberglass shingles
+ light
+ 6.0
+
+
+ 2.3
+
+
+
+
+
+
+ outside
+ basement - conditioned
+ 115.6
+ wood siding
+ medium
+
+
+ 13.9
+
+
+
+
+
+
+ outside
+ conditioned space
+
+
+
+ 1200.0
+ wood siding
+ medium
+
+
+ 22.7
+
+
+
+
+ outside
+ attic - unvented
+ gable
+
+
+
+ 225.0
+ wood siding
+ medium
+
+
+ 4.0
+
+
+
+
+
+
+ ground
+ basement - conditioned
+ solid concrete
+ 8.0
+ 1200.0
+ 7.0
+
+
+
+ continuous - exterior
+ 10.0
+
+
+ continuous - interior
+ 0.0
+
+
+
+
+
+
+
+ attic - unvented
+ conditioned space
+ ceiling
+
+
+
+ 1350.0
+
+
+ 39.6
+
+
+
+
+
+
+ basement - conditioned
+ 1350.0
+ 150.0
+
+
+
+ 0.0
+ 0.0
+
+
+
+
+
+ 0.0
+ 0.0
+
+
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 108.0
+ 0
+ 0.35
+ 0.44
+
+
+ light curtains
+
+ 0.67
+
+
+
+
+ 72.0
+ 90
+ 0.35
+ 0.44
+
+
+ light curtains
+
+ 0.67
+
+
+
+
+ 108.0
+ 180
+ 0.35
+ 0.44
+
+
+ light curtains
+
+ 0.67
+
+
+
+
+ 72.0
+ 270
+ 0.35
+ 0.44
+
+
+ light curtains
+
+ 0.67
+
+
+
+
+
+
+
+ 40.0
+ 180
+ 4.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ natural gas
+ 35000.0
+
+ AFUE
+ 0.92
+
+ 1.0
+
+
+
+
+ central air conditioner
+ electricity
+ 24000.0
+ single stage
+ 1.0
+
+ SEER2
+ 13.4
+
+
+
+
+
+ 68.0
+ 78.0
+
+
+
+
+
+ regular velocity
+
+ supply
+
+ CFM25
+ 81.0
+ to outside
+
+
+
+ return
+
+ CFM25
+ 27.0
+ to outside
+
+
+
+
+ supply
+ 4.0
+ attic - unvented
+ 0.75
+
+
+
+ return
+ 4.0
+ attic - unvented
+ 0.75
+
+
+
+ supply
+ 0.0
+ conditioned space
+ 0.25
+
+
+
+ return
+ 0.0
+ conditioned space
+ 0.25
+
+
+
+ 2700.0
+
+
+
+
+
+ electricity
+ storage water heater
+ conditioned space
+ 1.0
+ 0.94
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+ shower head
+ false
+
+
+
+ faucet
+ false
+
+
+
+
+
+
+ 1.21
+ 380.0
+ 0.12
+ 1.09
+ 27.0
+ 6.0
+ 3.2
+
+
+
+ electricity
+ conventional
+ 3.73
+
+
+
+ 307.0
+ 12
+ 0.12
+ 1.09
+ 22.32
+ 4.0
+
+
+
+ 650.0
+
+
+
+ electricity
+ false
+
+
+
+ false
+
+
+
+
+
+ interior
+ 0.4
+
+
+
+
+
+
+ interior
+ 0.1
+
+
+
+
+
+
+ interior
+ 0.25
+
+
+
+
+
+
+ exterior
+ 0.4
+
+
+
+
+
+
+ exterior
+ 0.1
+
+
+
+
+
+
+ exterior
+ 0.25
+
+
+
+
+
+
+
+
+ TV other
+
+
+
+ other
+
+
+
+
+
\ No newline at end of file
diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv
index f64f602e47..c944a5d571 100644
--- a/workflow/tests/base_results/results_simulations_bills.csv
+++ b/workflow/tests/base_results/results_simulations_bills.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.xml,1767.9,144.0,1092.74,0.0,1236.74,144.0,387.16,531.16,0
base-dhw-tankless-propane.xml,1970.79,144.0,1092.74,0.0,1236.74,144.0,279.07,423.07,0.0,0.0,0.0,0.0,310.98,310.98,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
base-enclosure-2stories-garage.xml,2419.2,144.0,1784.8,0.0,1928.8,144.0,346.4,490.4,0.0,0.0,0.0,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-enclosure-2stories.xml,2660.47,144.0,1939.84,0.0,2083.84,144.0,432.63,576.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+base-enclosure-beds-0.xml,1739.98,144.0,1155.0,0.0,1299.0,144.0,296.98,440.98,0.0,0.0,0.0,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-enclosure-beds-1.xml,1877.06,144.0,1300.18,0.0,1444.18,144.0,288.88,432.88,0.0,0.0,0.0,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-enclosure-beds-2.xml,1976.57,144.0,1407.73,0.0,1551.73,144.0,280.84,424.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-enclosure-beds-4.xml,2163.78,144.0,1610.95,0.0,1754.95,144.0,264.83,408.83,0.0,0.0,0.0,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 19098acd16..7ae90692dd 100644
--- a/workflow/tests/base_results/results_simulations_energy.csv
+++ b/workflow/tests/base_results/results_simulations_energy.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.xml,74.456,74.456,28.354,28.354,46.101,0.0,0.0,0.0,0.0,0.0
base-dhw-tankless-propane.xml,74.456,74.456,28.354,28.354,33.23,0.0,12.871,0.0,0.0,0.0,0.0,1.034,0.0,0.0,5.129,1.181,0.0,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.073,0.0,0.0,0.284,0.347,1.436,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,33.23,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.871,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-2stories-garage.xml,87.56,87.56,46.312,46.312,41.248,0.0,0.0,0.0,0.0,0.0,0.0,1.266,0.0,0.0,8.621,1.989,10.765,0.0,0.0,5.266,0.142,0.373,0.0,0.0,0.0,0.0,2.086,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,10.091,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,41.248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-2stories.xml,101.851,101.851,50.335,50.335,51.516,0.0,0.0,0.0,0.0,0.0,0.0,1.581,0.0,0.0,8.782,2.039,10.768,0.0,0.0,6.369,0.0,0.43,0.0,0.0,0.0,0.0,2.078,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,12.575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,51.516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-beds-0.xml,65.332,65.332,29.97,29.97,35.363,0.0,0.0,0.0,0.0,0.0,0.0,1.101,0.0,0.0,4.808,1.094,3.757,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.204,0.228,0.944,1.129,0.0,1.409,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,35.363,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-beds-1.xml,68.136,68.136,33.737,33.737,34.399,0.0,0.0,0.0,0.0,0.0,0.0,1.071,0.0,0.0,4.939,1.129,6.788,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.231,0.268,1.108,1.262,0.0,1.645,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,34.399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-beds-2.xml,69.968,69.968,36.527,36.527,33.441,0.0,0.0,0.0,0.0,0.0,0.0,1.041,0.0,0.0,5.07,1.165,8.841,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.073,0.0,0.0,0.258,0.307,1.272,1.396,0.0,1.88,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,33.441,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-enclosure-beds-4.xml,73.336,73.336,41.801,41.801,31.535,0.0,0.0,0.0,0.0,0.0,0.0,0.982,0.0,0.0,5.334,1.237,12.637,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.076,0.0,0.0,0.311,0.386,1.6,1.662,0.0,2.351,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,31.535,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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 a533902709..e4aa735d64 100644
--- a/workflow/tests/base_results/results_simulations_hvac.csv
+++ b/workflow/tests/base_results/results_simulations_hvac.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0
base-dhw-tankless-propane.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0.0,575.0,6833.0,0.0,0.0,1738.0,2155.0,4620.0,0.0,0.0,27993.0,13311.0,7750.0,0.0,207.0,507.0,0.0,0.0,0.0,2276.0,622.0,0.0,3320.0,0.0,0.0,265.0,126.0,-661.0,0.0,800.0
base-enclosure-2stories-garage.xml,6.8,91.76,50000.0,36000.0,0.0,61070.0,23549.0,15926.0,0.0,575.0,9738.0,0.0,696.0,1211.0,2176.0,7199.0,0.0,0.0,40896.0,17299.0,15501.0,0.0,207.0,1086.0,0.0,213.0,0.0,2298.0,972.0,0.0,3320.0,0.0,0.0,-404.0,-171.0,-1033.0,0.0,800.0
base-enclosure-2stories.xml,6.8,91.76,50000.0,36000.0,0.0,67811.0,28747.0,15926.0,0.0,575.0,9699.0,0.0,0.0,1738.0,2155.0,8971.0,0.0,0.0,44797.0,21358.0,15501.0,0.0,207.0,924.0,0.0,0.0,0.0,2276.0,1212.0,0.0,3320.0,0.0,0.0,-931.0,-444.0,-1287.0,0.0,800.0
+base-enclosure-beds-0.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0.0,575.0,6833.0,0.0,0.0,1738.0,2155.0,4620.0,0.0,0.0,27780.0,13787.0,7750.0,0.0,207.0,507.0,0.0,0.0,0.0,2276.0,622.0,0.0,2630.0,0.0,0.0,-915.0,-454.0,-661.0,0.0,200.0
base-enclosure-beds-1.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0.0,575.0,6833.0,0.0,0.0,1738.0,2155.0,4620.0,0.0,0.0,27841.0,13618.0,7750.0,0.0,207.0,507.0,0.0,0.0,0.0,2276.0,622.0,0.0,2860.0,0.0,0.0,-511.0,-250.0,-661.0,0.0,400.0
base-enclosure-beds-2.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0.0,575.0,6833.0,0.0,0.0,1738.0,2155.0,4620.0,0.0,0.0,27913.0,13460.0,7750.0,0.0,207.0,507.0,0.0,0.0,0.0,2276.0,622.0,0.0,3090.0,0.0,0.0,-118.0,-57.0,-661.0,0.0,600.0
base-enclosure-beds-4.xml,6.8,91.76,35000.0,24000.0,0.0,41543.0,17659.0,7963.0,0.0,575.0,6833.0,0.0,0.0,1738.0,2155.0,4620.0,0.0,0.0,28083.0,13170.0,7750.0,0.0,207.0,507.0,0.0,0.0,0.0,2276.0,622.0,0.0,3550.0,0.0,0.0,638.0,299.0,-661.0,0.0,1000.0
diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv
index 71ca14ba82..0ed06f452f 100644
--- a/workflow/tests/base_results/results_simulations_loads.csv
+++ b/workflow/tests/base_results/results_simulations_loads.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.xml,31.609,0.0,20.092,9.917,0.0,0.0,0.0,0.0,3.232,3.875,0.
base-dhw-tankless-propane.xml,31.609,0.0,20.092,9.917,0.0,0.0,0.0,0.0,3.232,3.875,0.883,7.082,0.676,11.448,-12.851,0.0,0.0,0.0,8.285,-0.099,5.518,0.0,0.51,0.0,13.675,-8.019,-2.642,0.0,-0.054,-0.236,-0.019,2.407,0.021,-0.263,12.596,0.0,0.0,0.0,-6.483,-0.096,-0.909,-4.086,-0.083,0.0,8.486,6.923,1.865
base-enclosure-2stories-garage.xml,39.202,0.0,34.033,9.917,0.844,0.0,0.0,0.0,3.467,8.171,1.916,4.54,0.785,23.041,-22.225,0.0,0.0,1.296,4.641,-1.096,9.786,0.0,0.506,0.0,15.653,-8.626,-2.819,0.0,-0.28,-1.333,-0.001,0.2,0.075,0.82,28.173,0.0,0.0,-0.419,-5.511,-1.087,-1.687,-7.849,-0.104,0.0,12.149,8.633,2.446
base-enclosure-2stories.xml,48.968,0.0,34.839,9.917,0.847,0.0,0.0,0.0,3.212,8.352,1.872,6.98,0.735,23.32,-24.761,0.0,0.0,0.0,8.016,-0.47,12.473,0.0,0.52,0.0,22.579,-10.336,-3.675,0.0,-0.233,-0.588,0.001,1.863,0.047,0.559,25.77,0.0,0.0,0.0,-7.68,-0.461,-1.87,-8.463,-0.08,0.0,14.263,9.042,2.694
+base-enclosure-beds-0.xml,33.639,0.0,18.841,2.905,0.851,0.0,0.0,0.0,3.214,3.892,0.888,7.026,0.681,11.512,-12.981,0.0,0.0,0.0,8.208,-0.115,5.569,0.0,0.512,0.0,14.475,-6.601,-2.67,0.0,0.016,-0.181,-0.004,2.458,0.035,-0.08,12.465,0.0,0.0,0.0,-6.396,-0.111,-0.845,-3.889,-0.077,0.0,8.087,5.512,1.837
base-enclosure-beds-1.xml,32.721,0.0,19.371,5.936,0.85,0.0,0.0,0.0,3.225,3.886,0.886,7.045,0.679,11.476,-12.931,0.0,0.0,0.0,8.241,-0.104,5.545,0.0,0.511,0.0,14.118,-7.238,-2.659,0.0,-0.011,-0.202,-0.01,2.434,0.029,-0.164,12.516,0.0,0.0,0.0,-6.427,-0.1,-0.874,-3.974,-0.079,0.0,8.257,6.102,1.848
base-enclosure-beds-2.xml,31.809,0.0,19.906,7.989,0.849,0.0,0.0,0.0,3.228,3.874,0.882,7.068,0.676,11.443,-12.859,0.0,0.0,0.0,8.271,-0.1,5.521,0.0,0.51,0.0,13.761,-7.859,-2.643,0.0,-0.045,-0.229,-0.017,2.415,0.022,-0.245,12.587,0.0,0.0,0.0,-6.462,-0.096,-0.903,-4.059,-0.082,0.0,8.426,6.706,1.864
base-enclosure-beds-4.xml,29.996,0.0,20.988,11.784,0.848,0.0,0.0,0.0,3.249,3.864,0.879,7.112,0.673,11.415,-12.769,0.0,0.0,0.0,8.326,-0.088,5.49,0.0,0.51,0.0,13.046,-9.12,-2.63,0.0,-0.098,-0.269,-0.027,2.375,0.013,-0.367,12.677,0.0,0.0,0.0,-6.536,-0.084,-0.946,-4.228,-0.086,0.0,8.761,7.898,1.877
diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv
index 9ea85b60b8..511d769000 100644
--- a/workflow/tests/base_results/results_simulations_misc.csv
+++ b/workflow/tests/base_results/results_simulations_misc.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.xml,0.0,56.0,0.0,1286.4,890.5,11466.0,3941.4,1477.1,3351.7
base-dhw-tankless-propane.xml,0.0,56.0,0.0,1286.4,890.5,11466.0,3941.4,1477.1,3351.7,3351.7,1477.1,3351.7,3351.7,33144.0,22995.0,0.0
base-enclosure-2stories-garage.xml,0.0,172.0,0.0,1286.4,890.5,11468.6,3942.3,2611.6,5044.0,5044.0,2611.6,5044.0,5044.0,47553.0,34756.0,0.0
base-enclosure-2stories.xml,2.0,213.0,0.0,1286.4,890.5,11468.6,3942.3,2769.5,5202.6,5202.6,2769.5,5202.6,5202.6,51896.0,34974.0,0.0
+base-enclosure-beds-0.xml,0.0,34.0,0.0,845.9,639.3,3670.4,0.0,1623.4,3488.0,3488.0,1623.4,3488.0,3488.0,33598.0,22748.0,0.0
base-enclosure-beds-1.xml,0.0,40.0,0.0,992.7,723.0,6269.7,2543.2,1901.4,3539.8,3539.8,1901.4,3539.8,3539.8,33392.0,22786.0,0.0
base-enclosure-beds-2.xml,0.0,50.0,0.0,1139.6,806.8,8869.1,3353.4,1980.9,3733.8,3733.8,1980.9,3733.8,3733.8,33179.0,22922.0,0.0
base-enclosure-beds-4.xml,0.0,72.0,0.0,1433.3,974.2,14067.8,4421.8,2394.6,4252.4,4252.4,2394.6,4252.4,4252.4,32759.0,23014.0,0.0
diff --git a/workflow/tests/base_results/results_simulations_panel.csv b/workflow/tests/base_results/results_simulations_panel.csv
index 827a452298..971e494625 100644
--- a/workflow/tests/base_results/results_simulations_panel.csv
+++ b/workflow/tests/base_results/results_simulations_panel.csv
@@ -150,6 +150,7 @@ base-dhw-tankless-gas.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.
base-dhw-tankless-propane.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
base-enclosure-2stories-garage.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
base-enclosure-2stories.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
+base-enclosure-beds-0.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
base-enclosure-beds-1.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
base-enclosure-beds-2.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
base-enclosure-beds-4.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