diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml
index 053b1961d9..1bb6f0d014 100644
--- a/HPXMLtoOpenStudio/measure.xml
+++ b/HPXMLtoOpenStudio/measure.xml
@@ -3,8 +3,8 @@
3.1
hpxm_lto_openstudio
b1543b30-9465-45ff-ba04-1d1f85e763bc
- 79878ab5-be52-4e56-abbc-d28c1646481c
- 2025-04-29T19:46:58Z
+ bd7fe7dc-e703-4ab4-8874-a4d8c37a4793
+ 2025-05-01T17:05:31Z
D8922A73
HPXMLtoOpenStudio
HPXML to OpenStudio Translator
@@ -363,7 +363,7 @@
hpxml.rb
rb
resource
- 0592752B
+ 7B5F51E7
hpxml_schema/HPXML.xsd
@@ -381,7 +381,7 @@
hpxml_schematron/EPvalidator.xml
xml
resource
- D1524BD7
+ 7F7AF7A3
hpxml_schematron/iso-schematron.xsd
@@ -399,7 +399,7 @@
hvac_sizing.rb
rb
resource
- 3751780D
+ 5D7932F0
internal_gains.rb
@@ -783,7 +783,7 @@
test_validation.rb
rb
test
- 45E2B557
+ 6137E46B
test_vehicle.rb
diff --git a/HPXMLtoOpenStudio/resources/hpxml.rb b/HPXMLtoOpenStudio/resources/hpxml.rb
index 5950c95524..2b59fd20b6 100644
--- a/HPXMLtoOpenStudio/resources/hpxml.rb
+++ b/HPXMLtoOpenStudio/resources/hpxml.rb
@@ -11784,7 +11784,14 @@ def self.is_floor_a_ceiling(hpxml_floor, force_decision)
if (ceiling_locations.include? hpxml_floor.interior_adjacent_to) || (ceiling_locations.include? hpxml_floor.exterior_adjacent_to)
return true
elsif (floor_locations.include? hpxml_floor.interior_adjacent_to) || (floor_locations.include? hpxml_floor.exterior_adjacent_to)
- return false
+ if ((floor_locations.include? hpxml_floor.interior_adjacent_to) &&
+ (HPXML::conditioned_locations_this_unit.include? hpxml_floor.interior_adjacent_to) &&
+ (not HPXML::conditioned_locations_this_unit.include? hpxml_floor.exterior_adjacent_to))
+ # E.g., conditioned basement w/ other housing unit above it
+ return true
+ else
+ return false
+ end
elsif force_decision
# If we don't explicitly know, assume a floor
return false
diff --git a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml
index 1ed68c67d4..288b1b3530 100644
--- a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml
+++ b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml
@@ -248,8 +248,7 @@
Expected 1 element(s) for xpath: Enclosure/AirInfiltration/AirInfiltrationMeasurement[BuildingAirLeakage/AirLeakage | EffectiveLeakageArea | LeakinessDescription]
Expected 0 or more element(s) for xpath: Enclosure/Roofs/Roof
Expected 0 or more element(s) for xpath: Enclosure/RimJoists/RimJoist
- Expected 1 or more element(s) for xpath: Enclosure/Walls/Wall
- Expected 0 or more element(s) for xpath: Enclosure/FoundationWalls/FoundationWall
+ Expected 1 or more element(s) for xpath: Enclosure/Walls/Wall | Enclosure/FoundationWalls/FoundationWall
Expected 0 or more element(s) for xpath: Enclosure/Floors/Floor
Expected 0 or more element(s) for xpath: Enclosure/Slabs/Slab
Expected 0 or more element(s) for xpath: Enclosure/Windows/Window
@@ -834,7 +833,7 @@
Expected extension/CarpetFraction to be less than or equal to 1
Expected 0 or 1 element(s) for xpath: extension/CarpetRValue
- Slab has zero exposed perimeter, this may indicate an input error.
+ Slab has zero exposed perimeter which is very uncommon, this may indicate an input error.
Slab exposed perimeter is more than twice the slab area, this may indicate an input error.
Thickness is less than 1 inch; this may indicate incorrect units.
Thickness is greater than 12 inches; this may indicate incorrect units.
@@ -2959,18 +2958,10 @@
[AdjacentSurfaces=ConditionedSpace]
-
- There must be at least one ceiling or roof adjacent to conditioned space.
- There must be at least one exterior wall adjacent to conditioned space.
- There must be at least one floor or slab adjacent to conditioned space.
-
-
-
-
- [AdjacentSurfaces=ConditionedBasement]
-
- There must be at least one exterior wall or foundation wall adjacent to "basement - conditioned".
- There must be at least one slab adjacent to "basement - conditioned".
+
+ There must be at least one ceiling or roof adjacent to conditioned space.
+ There must be at least one exterior wall or foundation wall adjacent to conditioned space.
+ There must be at least one floor or slab adjacent to conditioned space.
@@ -3001,14 +2992,6 @@
-
- [AdjacentSurfaces=ConditionedCrawlspace]
-
- There must be at least one exterior wall or foundation wall adjacent to "crawlspace - conditioned".
- There must be at least one slab adjacent to "crawlspace - conditioned".
-
-
-
[AdjacentSurfaces=Garage]
@@ -3037,9 +3020,9 @@
- [LocationCheck=ConditionedBasement]
-
- A location is specified as "basement - conditioned" but no surfaces were found adjacent to this space type.
+ [LocationCheck=ConditionedSpace]
+
+ A location is specified as conditioned space but no surfaces were found adjacent to this space type.
@@ -3064,13 +3047,6 @@
-
- [LocationCheck=ConditionedCrawlspace]
-
- A location is specified as "crawlspace - conditioned" but no surfaces were found adjacent to this space type.
-
-
-
[LocationCheck=Garage]
diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
index 27c931f6d3..3c6e5b5d6c 100644
--- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb
+++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
@@ -247,7 +247,7 @@ def self.process_site_calcs_and_design_temps(mj, weather, hpxml_bldg)
mj.cool_design_temps = {}
mj.heat_design_temps = {}
- locations = []
+ locations = [HPXML::LocationOutside]
hpxml_bldg.surfaces.each do |surface|
locations << surface.interior_adjacent_to
locations << surface.exterior_adjacent_to
diff --git a/HPXMLtoOpenStudio/tests/test_validation.rb b/HPXMLtoOpenStudio/tests/test_validation.rb
index 2fc5ce60ee..95eadf4b09 100644
--- a/HPXMLtoOpenStudio/tests/test_validation.rb
+++ b/HPXMLtoOpenStudio/tests/test_validation.rb
@@ -94,17 +94,16 @@ def test_schema_schematron_error_messages
'emissions-electricity-schedule' => ['Expected NumberofHeaderRows to be greater than or equal to 0',
'Expected ColumnNumber to be greater than or equal to 1'],
'enclosure-attic-missing-roof' => ['There must be at least one roof adjacent to "attic - unvented". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="attic - unvented" or ExteriorAdjacentTo="attic - unvented"]], id: "MyBuilding"]'],
- 'enclosure-basement-missing-exterior-foundation-wall' => ['There must be at least one exterior wall or foundation wall adjacent to "basement - unconditioned". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="basement - unconditioned" or ExteriorAdjacentTo="basement - unconditioned"]], id: "MyBuilding"]'],
'enclosure-basement-missing-slab' => ['There must be at least one slab adjacent to "basement - unconditioned". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="basement - unconditioned" or ExteriorAdjacentTo="basement - unconditioned"]], id: "MyBuilding"]'],
'enclosure-floor-area-exceeds-cfa' => ['Expected ConditionedFloorArea to be greater than or equal to the sum of conditioned slab/floor areas. [context: /HPXML/Building/BuildingDetails/BuildingSummary/BuildingConstruction, id: "MyBuilding"]'],
'enclosure-floor-area-exceeds-cfa2' => ['Expected ConditionedFloorArea to be greater than or equal to the sum of conditioned slab/floor areas. [context: /HPXML/Building/BuildingDetails/BuildingSummary/BuildingConstruction, id: "MyBuilding"]'],
'enclosure-garage-missing-exterior-wall' => ['There must be at least one exterior wall or foundation wall adjacent to "garage". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="garage" or ExteriorAdjacentTo="garage"]], id: "MyBuilding"]'],
'enclosure-garage-missing-roof-ceiling' => ['There must be at least one roof or ceiling adjacent to "garage". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="garage" or ExteriorAdjacentTo="garage"]], id: "MyBuilding"]'],
'enclosure-garage-missing-slab' => ['There must be at least one slab adjacent to "garage". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="garage" or ExteriorAdjacentTo="garage"]], id: "MyBuilding"]'],
- 'enclosure-conditioned-missing-ceiling-roof' => ['There must be at least one ceiling or roof adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="conditioned space"]], id: "MyBuilding"]',
+ 'enclosure-conditioned-missing-ceiling-roof' => ['There must be at least one ceiling or roof adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[contains(InteriorAdjacentTo, "conditioned")]], id: "MyBuilding"]',
'There must be at least one floor adjacent to "attic - unvented". [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="attic - unvented" or ExteriorAdjacentTo="attic - unvented"]], id: "MyBuilding"]'],
- 'enclosure-conditioned-missing-exterior-wall' => ['There must be at least one exterior wall adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="conditioned space"]], id: "MyBuilding"]'],
- 'enclosure-conditioned-missing-floor-slab' => ['There must be at least one floor or slab adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[InteriorAdjacentTo="conditioned space"]], id: "MyBuilding"]'],
+ 'enclosure-conditioned-missing-exterior-wall' => ['There must be at least one exterior wall or foundation wall adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[contains(InteriorAdjacentTo, "conditioned")]], id: "MyBuilding"]'],
+ 'enclosure-conditioned-missing-floor-slab' => ['There must be at least one floor or slab adjacent to conditioned space. [context: /HPXML/Building/BuildingDetails/Enclosure[*/*[contains(InteriorAdjacentTo, "conditioned")]], id: "MyBuilding"]'],
'frac-sensible-latent-fuel-load-values' => ['Expected extension/FracSensible to be greater than or equal to 0 [context: /HPXML/Building/BuildingDetails/MiscLoads/FuelLoad[FuelLoadType="grill" or FuelLoadType="lighting" or FuelLoadType="fireplace"], id: "FuelLoad1"]',
'Expected extension/FracLatent to be greater than or equal to 0 [context: /HPXML/Building/BuildingDetails/MiscLoads/FuelLoad[FuelLoadType="grill" or FuelLoadType="lighting" or FuelLoadType="fireplace"], id: "FuelLoad1"]'],
'frac-sensible-latent-fuel-load-presence' => ['Expected 0 or 2 element(s) for xpath: extension/FracSensible | extension/FracLatent'],
@@ -374,8 +373,8 @@ def test_schema_schematron_error_messages
end
when 'enclosure-conditioned-missing-exterior-wall'
hpxml, hpxml_bldg = _create_hpxml('base.xml')
- hpxml_bldg.walls.reverse_each do |wall|
- next unless wall.interior_adjacent_to == HPXML::LocationConditionedSpace
+ (hpxml_bldg.walls + hpxml_bldg.foundation_walls).reverse_each do |wall|
+ next unless HPXML::conditioned_locations.include?(wall.interior_adjacent_to)
wall.delete
end
@@ -910,7 +909,7 @@ def test_schema_schematron_warning_messages
'portable-spa' => ['Portable spa is not currently handled, the portable spa will not be modeled.'],
'slab-ext-horiz-insul-without-perim-insul' => ['There is ExteriorHorizontalInsulation but no PerimeterInsulation, this may indicate an input error.'],
'slab-large-exposed-perimeter' => ['Slab exposed perimeter is more than twice the slab area, this may indicate an input error.'],
- 'slab-zero-exposed-perimeter' => ['Slab has zero exposed perimeter, this may indicate an input error.'],
+ 'slab-zero-exposed-perimeter' => ['Slab has zero exposed perimeter which is very uncommon, this may indicate an input error.'],
'unit-multiplier' => ['NumberofUnits is greater than 1, indicating that the HPXML Building represents multiple dwelling units; simulation outputs will reflect this unit multiplier.'],
'vehicle-phev' => ["Vehicle type 'PlugInHybridElectricVehicle' is not currently handled, the vehicle will not be modeled."],
'window-exterior-shading-types' => ["Exterior shading type is 'external overhangs', but overhangs are explicitly defined; exterior shading type will be ignored.",
diff --git a/workflow/real_homes/house051.xml b/workflow/real_homes/house051.xml
new file mode 100644
index 0000000000..13f21f0452
--- /dev/null
+++ b/workflow/real_homes/house051.xml
@@ -0,0 +1,472 @@
+
+
+
+ HPXML
+ redacted
+ 2000-01-01T00:00:00-07:00
+ create
+
+
+
+
+
+ Bills
+
+
+
+
+
+
+
+ audit
+
+
+
+
+
+ electricity
+
+
+
+ 2025
+ apartment unit
+ 1
+ 1.0
+ 1.0
+ 1
+ 1172.0
+ 9571.0
+
+
+
+
+ 2006
+ 5A
+
+
+
+ Cape May, NJ
+
+ USA_NJ_Cape.May.County.AP.745966_TMY3.epw
+
+
+
+
+
+
+
+ unit exterior only
+ 50.0
+
+ ACH
+ 3.0
+
+ 9571.0
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+ ground
+ basement - conditioned
+ 8.2
+ 498.15
+ 10.0
+ 7.2
+
+
+
+ continuous - exterior
+ 0.0
+ 0.0
+ 1.0
+
+
+ continuous - interior
+ 24.0
+ 0.0
+ 8.2
+
+
+
+
+
+ other multifamily buffer space
+ basement - conditioned
+ 8.2
+ 169.41
+ 10.0
+ 7.2
+
+
+
+ continuous - exterior
+ 0.0
+ 0.0
+ 1.0
+
+
+ continuous - interior
+ 24.0
+ 0.0
+ 8.2
+
+
+
+
+
+
+
+ other housing unit
+ conditioned space
+ ceiling
+
+
+
+ 1172.0
+
+
+ 1.67
+
+
+
+
+
+
+ basement - conditioned
+ 1172.0
+ 4.0
+ 121.4
+
+
+
+ 20.0
+ 0.3
+
+
+
+
+
+ 10.0
+ 24.0
+
+
+
+ 0.0
+ 0.0
+
+
+
+
+
+
+ 22.0
+ 180
+ 0.29
+ 0.3
+ 1.0
+ residential
+
+
+
+
+ 53.0
+ 270
+ 0.29
+ 0.3
+ 1.0
+ residential
+
+
+
+
+ 38.0
+ 0
+ 0.29
+ 0.3
+ 1.0
+ residential
+
+
+
+
+
+
+
+ 21.0
+ 0
+ 5.0
+
+
+
+
+ 15.0
+ 0
+ 5.0
+
+
+
+
+
+
+
+
+
+ false
+ ground-to-air
+ electricity
+ 30000.0
+ 36000.0
+ single stage
+ 0.7
+ integrated
+ electricity
+
+ Percent
+ 1.0
+
+ 17065.0
+ 1.0
+ 1.0
+
+ EER
+ 15.0
+
+
+ COP
+ 3.5
+
+
+ -0.25
+ 0.0
+ 0.58
+ 66.7
+
+
+
+
+
+ programmable thermostat
+ 68.0
+ 78.0
+
+
+
+
+
+ regular velocity
+
+ supply
+
+ CFM25
+ 0.0
+ to outside
+
+
+
+ return
+
+ CFM25
+ 0.01
+ to outside
+
+
+
+
+ supply
+ 0.0
+ conditioned space
+ 316.4
+
+
+
+ return
+ 0.0
+ conditioned space
+ 293.0
+
+ 1
+
+
+ 1172.0
+
+
+
+
+
+ electricity
+ heat pump water heater
+ basement - conditioned
+ false
+ 40.0
+ 1.0
+ 2.33
+
+
+
+
+
+ 78.47
+
+
+
+ 0.0
+
+
+
+
+ shower head
+ false
+
+
+
+ faucet
+ false
+
+
+
+
+
+
+ false
+ conditioned space
+ 2.06
+ 152.0
+ 0.12
+ 1.09
+ 12.0
+ 6.0
+ 4.2
+
+
+
+ false
+ conditioned space
+ electricity
+ 3.73
+ timer
+
+
+
+ false
+ conditioned space
+ 270.0
+ 12
+ 0.12
+ 1.09
+ 22.23
+ 4.0
+
+
+
+ conditioned space
+ 550.0
+
+
+
+ conditioned space
+ electricity
+ false
+
+
+
+ false
+
+
+
+
+
+ interior
+ 0.0
+
+
+
+
+
+
+ exterior
+ 0.0
+
+
+
+
+
+
+ garage
+ 1.0
+
+
+
+
+
+
+ garage
+ 0.0
+
+
+
+
+
+
+ interior
+ 1.0
+
+
+
+
+
+
+ exterior
+ 1.0
+
+
+
+
+
+
+ interior
+ 0.0
+
+
+
+
+
+
+ exterior
+ 0.0
+
+
+
+
+
+
+ garage
+ 0.0
+
+
+
+
+
+
+
+
+ other
+
+
+
+ TV 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 4057b272d0..a7d68edbbe 100644
--- a/workflow/tests/base_results/results_simulations_bills.csv
+++ b/workflow/tests/base_results/results_simulations_bills.csv
@@ -514,3 +514,4 @@ house047.xml,1060.55,144.0,706.07,0.0,850.07,144.0,66.48,210.48,0.0,0.0,0.0,0.0,
house048.xml,2459.12,144.0,1488.73,0.0,1632.73,144.0,682.39,826.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
house049.xml,1508.81,144.0,1187.83,0.0,1331.83,144.0,32.98,176.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,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
house050.xml,1238.79,144.0,655.59,0.0,799.59,144.0,295.2,439.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+house051.xml,842.71,144.0,698.71,0.0,842.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,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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 a08356fb64..f4bbb16669 100644
--- a/workflow/tests/base_results/results_simulations_energy.csv
+++ b/workflow/tests/base_results/results_simulations_energy.csv
@@ -514,3 +514,4 @@ house047.xml,22.371,22.371,16.008,16.008,6.363,0.0,0.0,0.0,0.0,0.0,0.0,0.141,0.0
house048.xml,91.325,91.325,39.998,39.998,51.327,0.0,0.0,0.0,0.0,0.0,0.0,0.507,0.0,0.0,13.761,3.367,0.0,0.0,0.0,3.689,0.085,0.499,2.958,0.0,0.0,0.0,2.322,0.0,0.0,0.392,1.017,0.614,0.114,0.0,2.351,8.322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,35.501,0.0,12.486,0.0,3.34,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
house049.xml,35.866,35.866,32.373,32.373,3.493,0.0,0.0,0.0,0.0,0.0,7.417,0.046,0.0,0.0,8.141,0.211,2.636,0.249,0.0,1.473,0.057,0.099,2.092,0.0,0.0,0.0,2.964,0.0,0.0,0.324,0.006,0.052,0.096,0.0,1.88,4.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.693,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.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
house050.xml,51.944,51.944,21.824,21.824,30.12,0.0,0.0,0.0,0.0,0.0,0.0,0.364,0.0,0.0,2.261,0.285,0.0,0.0,0.0,1.781,0.057,0.111,2.23,0.0,0.0,0.0,2.185,0.0,0.0,0.42,0.472,3.469,0.105,0.0,2.116,5.968,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.291,0.0,10.759,0.0,3.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,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+house051.xml,15.841,15.841,15.841,15.841,0.0,0.0,0.0,0.0,0.0,0.0,1.469,0.209,0.0,0.0,0.704,0.26,2.271,0.0,0.0,1.245,0.0,0.09,0.0,0.0,0.0,0.0,1.767,0.0,0.0,0.307,0.127,0.846,1.262,0.0,1.645,3.639,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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 272fdb0faf..e742fa769d 100644
--- a/workflow/tests/base_results/results_simulations_hvac.csv
+++ b/workflow/tests/base_results/results_simulations_hvac.csv
@@ -514,3 +514,4 @@ house047.xml,19.22,86.72,20000.0,18000.0,0.0,7271.0,1053.0,1216.0,0.0,0.0,630.0,
house048.xml,25.88,98.42,63000.0,46500.0,0.0,51897.0,11933.0,4499.0,0.0,694.0,9939.0,828.0,63.0,10750.0,2249.0,7887.0,3053.0,0.0,31390.0,8097.0,4822.0,0.0,589.0,7960.0,547.0,57.0,0.0,1959.0,2188.0,1621.0,3550.0,0.0,0.0,4760.0,1126.0,1513.0,1121.0,1000.0
house049.xml,33.26,106.16,39000.0,16000.0,0.0,19031.0,0.0,5635.0,0.0,0.0,5319.0,0.0,0.0,2258.0,1357.0,3370.0,1091.0,0.0,21783.0,0.0,7246.0,0.0,0.0,6460.0,0.0,0.0,0.0,2075.0,1986.0,926.0,3090.0,0.0,0.0,-351.0,0.0,-717.0,-233.0,600.0
house050.xml,28.58,87.08,58000.0,29000.0,0.0,22123.0,7611.0,3277.0,0.0,949.0,3299.0,0.0,2075.0,0.0,1771.0,2150.0,991.0,0.0,20197.0,5096.0,5613.0,0.0,572.0,1304.0,0.0,605.0,0.0,1585.0,324.0,289.0,3320.0,0.0,1488.0,1243.0,110.0,88.0,245.0,800.0
+house051.xml,19.22,86.72,30000.0,36000.0,17065.0,5272.0,1.0,1664.0,0.0,366.0,631.0,0.0,0.0,1125.0,0.0,1485.0,0.0,0.0,5664.0,0.0,1782.0,0.0,192.0,-34.0,0.0,0.0,0.0,0.0,166.0,0.0,2860.0,0.0,698.0,735.0,0.0,335.0,0.0,400.0
diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv
index e37f9abbad..ec72e7cf3c 100644
--- a/workflow/tests/base_results/results_simulations_loads.csv
+++ b/workflow/tests/base_results/results_simulations_loads.csv
@@ -514,3 +514,4 @@ house047.xml,6.185,0.0,1.671,5.082,0.0,0.0,0.0,0.0,-0.001,0.814,0.132,0.0,0.0,1.
house048.xml,28.901,0.0,55.4,7.179,2.644,0.0,0.0,1.024,2.52,12.057,0.0,0.0,0.796,4.235,-2.931,0.0,0.0,0.056,1.939,-0.635,7.169,0.0,4.159,0.0,6.152,-6.299,-1.452,1.351,1.299,9.889,0.0,0.0,0.559,4.453,5.042,0.0,0.0,0.075,9.833,-0.623,0.648,-0.683,1.832,0.0,8.568,11.139,2.237
house049.xml,6.629,0.0,32.76,4.263,1.296,0.0,0.0,0.0,1.558,4.693,0.0,0.0,0.0,5.029,-7.559,0.0,0.0,0.0,1.134,-0.169,3.015,0.0,2.209,0.0,0.0,-2.85,-0.602,0.0,2.153,7.98,0.0,0.0,0.0,4.598,10.306,0.0,0.0,0.0,3.128,-0.169,0.332,-3.56,1.006,0.0,0.0,6.31,0.871
house050.xml,15.998,0.0,6.214,8.503,0.0,0.0,0.0,0.0,3.94,6.202,0.0,0.0,1.856,4.812,-3.524,0.0,0.0,4.445,0.0,-0.13,2.12,0.0,3.365,0.0,1.966,-8.038,-1.098,0.0,-0.441,-0.61,0.0,0.0,-0.559,0.545,5.604,0.0,0.0,-1.358,0.0,-0.129,-0.646,-2.878,-1.044,0.0,0.894,6.23,0.683
+house051.xml,4.493,0.0,3.182,5.837,1.283,0.0,0.0,0.0,-0.002,0.0,0.0,0.861,0.677,2.098,-1.8,0.0,0.0,0.0,3.521,-0.013,1.304,0.0,0.468,0.0,0.0,-1.997,-0.662,0.0,0.001,0.0,0.0,0.317,-0.208,0.086,2.469,0.0,0.0,0.0,-1.222,-0.011,-0.341,-1.143,-0.134,0.0,0.0,2.86,0.583
diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv
index ae2d5fcc44..63aeef863b 100644
--- a/workflow/tests/base_results/results_simulations_misc.csv
+++ b/workflow/tests/base_results/results_simulations_misc.csv
@@ -514,3 +514,4 @@ house047.xml,0.0,0.0,0.0,288.7,535.3,7089.0,1752.8,940.6,1046.1,1046.1,940.6,104
house048.xml,0.0,2.0,0.0,119.5,676.3,11711.2,3399.3,1501.0,5400.4,5400.4,1501.0,5400.4,5400.4,42.648,34.539,0.0
house049.xml,0.0,231.0,0.0,723.8,560.1,7461.0,916.8,4325.3,2852.2,4325.3,4325.3,2852.2,4325.3,12.097,15.835,0.0
house050.xml,0.0,0.0,0.0,1603.7,390.1,10739.6,2938.2,1101.9,3121.7,3121.7,1101.9,3121.7,3121.7,11.128,19.853,0.0
+house051.xml,0.0,0.0,0.0,288.7,540.1,7249.2,2704.4,1158.4,1182.3,1182.3,1158.4,1182.3,1182.3,5.206,4.022,0.0