diff --git a/Changelog.md b/Changelog.md
index c46e9dbd3a..a39f7a0f5c 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,6 +1,9 @@
## OpenStudio-HPXML v1.12.0
__New Features__
+- Updates to HPXML v5.0-rc2.
+ - **Breaking change**: `Roof/RoofType="cool roof"` replaced by `Roof/CoolRoof="true"`.
+ - `Roof/RoofColor` now has an additional option of "white".
- HVAC updates:
- Dual-fuel heat pumps with switchover temperatures > 25F are now autosized based on 25F to allow some additional heating capacity buffer.
- Improves handling of duct leakage specified using cfm25/cfm50.
diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml
index 5431067704..0e5c40eb37 100644
--- a/HPXMLtoOpenStudio/measure.xml
+++ b/HPXMLtoOpenStudio/measure.xml
@@ -3,8 +3,8 @@
3.1
hpxm_lto_openstudio
b1543b30-9465-45ff-ba04-1d1f85e763bc
- 15c39750-5947-45ef-887d-47606442ed57
- 2026-04-02T19:46:00Z
+ 0eb36f3b-095d-44c1-b223-a2abdfb1e7a2
+ 2026-04-03T21:12:44Z
D8922A73
HPXMLtoOpenStudio
HPXML to OpenStudio Translator
@@ -241,7 +241,7 @@
constructions.rb
rb
resource
- 207A61E6
+ 0B4F1601
data/Xing_okstate_0664D_13659_Table_A-3.csv
@@ -367,7 +367,7 @@
defaults.rb
rb
resource
- F91B9101
+ 7EBD07FE
electric_panel.rb
@@ -403,13 +403,13 @@
hpxml.rb
rb
resource
- BF5902DA
+ D01D8E1A
hpxml_schema/HPXML.xsd
xsd
resource
- 4EDBC273
+ B5E0E168
hpxml_schema/README.md
@@ -421,7 +421,7 @@
hpxml_schematron/EPvalidator.sch
sch
resource
- 9B5934A8
+ 032D5D78
hpxml_schematron/iso-schematron.xsd
@@ -439,7 +439,7 @@
hvac_sizing.rb
rb
resource
- A5C3D289
+ 8CC5697F
internal_gains.rb
@@ -463,7 +463,7 @@
materials.rb
rb
resource
- 115DAF4E
+ B45CDB03
math.rb
@@ -751,7 +751,7 @@
test_defaults.rb
rb
test
- 989C355A
+ 37E48E05
test_electric_panel.rb
@@ -763,7 +763,7 @@
test_enclosure.rb
rb
test
- B2041953
+ 15BD27C4
test_generator.rb
@@ -787,7 +787,7 @@
test_hvac_sizing.rb
rb
test
- 7481E2FB
+ 7AFE53B0
test_lighting.rb
diff --git a/HPXMLtoOpenStudio/resources/constructions.rb b/HPXMLtoOpenStudio/resources/constructions.rb
index 027ac6da35..33423485fb 100644
--- a/HPXMLtoOpenStudio/resources/constructions.rb
+++ b/HPXMLtoOpenStudio/resources/constructions.rb
@@ -1916,83 +1916,50 @@ def self.create_os_int_mass_and_def(model, object_name, space, area)
#
# @return [TODO] TODO
def self.get_roof_color_and_solar_absorptance_map
- return { # asphalt or fiberglass shingles
- [HPXML::ColorDark, HPXML::RoofTypeAsphaltShingles] => 0.92,
- [HPXML::ColorMediumDark, HPXML::RoofTypeAsphaltShingles] => 0.89,
- [HPXML::ColorMedium, HPXML::RoofTypeAsphaltShingles] => 0.85,
- [HPXML::ColorMediumLight, HPXML::RoofTypeAsphaltShingles] => 0.80,
- [HPXML::ColorLight, HPXML::RoofTypeAsphaltShingles] => 0.75,
- [HPXML::ColorReflective, HPXML::RoofTypeAsphaltShingles] => 0.50,
- # wood shingles or shakes
- [HPXML::ColorDark, HPXML::RoofTypeWoodShingles] => 0.92,
- [HPXML::ColorMediumDark, HPXML::RoofTypeWoodShingles] => 0.89,
- [HPXML::ColorMedium, HPXML::RoofTypeWoodShingles] => 0.85,
- [HPXML::ColorMediumLight, HPXML::RoofTypeWoodShingles] => 0.80,
- [HPXML::ColorLight, HPXML::RoofTypeWoodShingles] => 0.75,
- [HPXML::ColorReflective, HPXML::RoofTypeWoodShingles] => 0.50,
- # shingles
- [HPXML::ColorDark, HPXML::RoofTypeShingles] => 0.92,
- [HPXML::ColorMediumDark, HPXML::RoofTypeShingles] => 0.89,
- [HPXML::ColorMedium, HPXML::RoofTypeShingles] => 0.85,
- [HPXML::ColorMediumLight, HPXML::RoofTypeShingles] => 0.80,
- [HPXML::ColorLight, HPXML::RoofTypeShingles] => 0.75,
- [HPXML::ColorReflective, HPXML::RoofTypeShingles] => 0.50,
- # slate or tile shingles
- [HPXML::ColorDark, HPXML::RoofTypeClayTile] => 0.90,
- [HPXML::ColorMediumDark, HPXML::RoofTypeClayTile] => 0.83,
- [HPXML::ColorMedium, HPXML::RoofTypeClayTile] => 0.75,
- [HPXML::ColorMediumLight, HPXML::RoofTypeClayTile] => 0.67,
- [HPXML::ColorLight, HPXML::RoofTypeClayTile] => 0.60,
- [HPXML::ColorReflective, HPXML::RoofTypeClayTile] => 0.30,
- # metal surfacing
- [HPXML::ColorDark, HPXML::RoofTypeMetal] => 0.90,
- [HPXML::ColorMediumDark, HPXML::RoofTypeMetal] => 0.83,
- [HPXML::ColorMedium, HPXML::RoofTypeMetal] => 0.75,
- [HPXML::ColorMediumLight, HPXML::RoofTypeMetal] => 0.67,
- [HPXML::ColorLight, HPXML::RoofTypeMetal] => 0.60,
- [HPXML::ColorReflective, HPXML::RoofTypeMetal] => 0.30,
- # plastic/rubber/synthetic sheeting
- [HPXML::ColorDark, HPXML::RoofTypePlasticRubber] => 0.90,
- [HPXML::ColorMediumDark, HPXML::RoofTypePlasticRubber] => 0.83,
- [HPXML::ColorMedium, HPXML::RoofTypePlasticRubber] => 0.75,
- [HPXML::ColorMediumLight, HPXML::RoofTypePlasticRubber] => 0.67,
- [HPXML::ColorLight, HPXML::RoofTypePlasticRubber] => 0.60,
- [HPXML::ColorReflective, HPXML::RoofTypePlasticRubber] => 0.30,
- # expanded polystyrene sheathing
- [HPXML::ColorDark, HPXML::RoofTypeEPS] => 0.92,
- [HPXML::ColorMediumDark, HPXML::RoofTypeEPS] => 0.89,
- [HPXML::ColorMedium, HPXML::RoofTypeEPS] => 0.85,
- [HPXML::ColorMediumLight, HPXML::RoofTypeEPS] => 0.80,
- [HPXML::ColorLight, HPXML::RoofTypeEPS] => 0.75,
- [HPXML::ColorReflective, HPXML::RoofTypeEPS] => 0.50,
- # concrete
- [HPXML::ColorDark, HPXML::RoofTypeConcrete] => 0.90,
- [HPXML::ColorMediumDark, HPXML::RoofTypeConcrete] => 0.83,
- [HPXML::ColorMedium, HPXML::RoofTypeConcrete] => 0.75,
- [HPXML::ColorMediumLight, HPXML::RoofTypeConcrete] => 0.67,
- [HPXML::ColorLight, HPXML::RoofTypeConcrete] => 0.65,
- [HPXML::ColorReflective, HPXML::RoofTypeConcrete] => 0.50,
- # cool roof
- [HPXML::ColorDark, HPXML::RoofTypeCool] => 0.30,
- [HPXML::ColorMediumDark, HPXML::RoofTypeCool] => 0.30,
- [HPXML::ColorMedium, HPXML::RoofTypeCool] => 0.30,
- [HPXML::ColorMediumLight, HPXML::RoofTypeCool] => 0.30,
- [HPXML::ColorLight, HPXML::RoofTypeCool] => 0.30,
- [HPXML::ColorReflective, HPXML::RoofTypeCool] => 0.30,
- }
+ map = {}
+ # Values partially informed by CRRC Rated Roof Products
+ # https://coolroofs.org/directory/roof
+ [HPXML::RoofTypeAsphaltShingles,
+ HPXML::RoofTypeWoodShingles,
+ HPXML::RoofTypeShingles,
+ HPXML::RoofTypeEPS].each do |roof_type|
+ map[[HPXML::ColorDark, roof_type]] = 0.92
+ map[[HPXML::ColorMediumDark, roof_type]] = 0.89
+ map[[HPXML::ColorMedium, roof_type]] = 0.85
+ map[[HPXML::ColorMediumLight, roof_type]] = 0.80
+ map[[HPXML::ColorLight, roof_type]] = 0.75
+ map[[HPXML::ColorWhite, roof_type]] = 0.70
+ map[[HPXML::ColorReflective, roof_type]] = 0.50
+ end
+ [HPXML::RoofTypeClayTile,
+ HPXML::RoofTypeMetal,
+ HPXML::RoofTypePlasticRubber,
+ HPXML::RoofTypeConcrete].each do |roof_type|
+ map[[HPXML::ColorDark, roof_type]] = 0.90
+ map[[HPXML::ColorMediumDark, roof_type]] = 0.80
+ map[[HPXML::ColorMedium, roof_type]] = 0.70
+ map[[HPXML::ColorMediumLight, roof_type]] = 0.60
+ map[[HPXML::ColorLight, roof_type]] = 0.45
+ map[[HPXML::ColorWhite, roof_type]] = 0.35
+ map[[HPXML::ColorReflective, roof_type]] = 0.25
+ end
+ return map
end
# TODO
#
# @return [TODO] TODO
def self.get_wall_color_and_solar_absorptance_map
+ # Values partially informed by CRRC Rated Wall Products
+ # https://coolroofs.org/directory/wall
return {
HPXML::ColorDark => 0.95,
HPXML::ColorMediumDark => 0.85,
HPXML::ColorMedium => 0.70,
HPXML::ColorMediumLight => 0.60,
HPXML::ColorLight => 0.50,
- HPXML::ColorReflective => 0.30
+ HPXML::ColorWhite => 0.35,
+ HPXML::ColorReflective => 0.25
}
end
diff --git a/HPXMLtoOpenStudio/resources/defaults.rb b/HPXMLtoOpenStudio/resources/defaults.rb
index f61654e997..1e1b948abc 100644
--- a/HPXMLtoOpenStudio/resources/defaults.rb
+++ b/HPXMLtoOpenStudio/resources/defaults.rb
@@ -1274,7 +1274,11 @@ def self.apply_roofs(hpxml_bldg)
roof.radiant_barrier_grade_isdefaulted = true
end
if roof.roof_color.nil? && roof.solar_absorptance.nil?
- roof.roof_color = HPXML::ColorMedium
+ if roof.cool_roof
+ roof.roof_color = HPXML::ColorWhite
+ else
+ roof.roof_color = HPXML::ColorMedium
+ end
roof.roof_color_isdefaulted = true
end
if roof.roof_color.nil?
diff --git a/HPXMLtoOpenStudio/resources/hpxml.rb b/HPXMLtoOpenStudio/resources/hpxml.rb
index 1b1634b35c..5e2d3ee510 100644
--- a/HPXMLtoOpenStudio/resources/hpxml.rb
+++ b/HPXMLtoOpenStudio/resources/hpxml.rb
@@ -87,6 +87,7 @@ class HPXML < Object
ColorMediumDark = 'medium dark'
ColorMediumLight = 'medium light'
ColorReflective = 'reflective'
+ ColorWhite = 'white'
DehumidifierTypePortable = 'portable'
DehumidifierTypeWholeHome = 'whole-home'
DryingMethodConventional = 'conventional'
@@ -379,7 +380,6 @@ class HPXML < Object
ResidentialTypeSFD = 'single-family detached'
RoofTypeAsphaltShingles = 'asphalt or fiberglass shingles'
RoofTypeConcrete = 'concrete'
- RoofTypeCool = 'cool roof'
RoofTypeClayTile = 'slate or tile shingles'
RoofTypeEPS = 'expanded polystyrene sheathing'
RoofTypeMetal = 'metal surfacing'
@@ -3912,6 +3912,7 @@ class Roof < BaseElement
:orientation, # [String] Orientation (HPXML::OrientationXXX)
:azimuth, # [Integer] Azimuth (deg)
:roof_type, # [String] RoofType (HPXML::RoofTypeXXX)
+ :cool_roof, # [Boolean] CoolRoof
:roof_color, # [String] RoofColor (HPXML::ColorXXX)
:solar_absorptance, # [Double] SolarAbsorptance
:emittance, # [Double] Emittance
@@ -4053,6 +4054,7 @@ def to_doc(building)
XMLHelper.add_element(roof, 'Orientation', @orientation, :string, @orientation_isdefaulted) unless @orientation.nil?
XMLHelper.add_element(roof, 'Azimuth', @azimuth, :integer, @azimuth_isdefaulted) unless @azimuth.nil?
XMLHelper.add_element(roof, 'RoofType', @roof_type, :string, @roof_type_isdefaulted) unless @roof_type.nil?
+ XMLHelper.add_element(roof, 'CoolRoof', @cool_roof, :boolean, @cool_roof_isdefaulted) unless @cool_roof.nil?
XMLHelper.add_element(roof, 'RoofColor', @roof_color, :string, @roof_color_isdefaulted) unless @roof_color.nil?
XMLHelper.add_element(roof, 'SolarAbsorptance', @solar_absorptance, :float, @solar_absorptance_isdefaulted) unless @solar_absorptance.nil?
XMLHelper.add_element(roof, 'Emittance', @emittance, :float, @emittance_isdefaulted) unless @emittance.nil?
@@ -4104,6 +4106,7 @@ def from_doc(roof)
@orientation = XMLHelper.get_value(roof, 'Orientation', :string)
@azimuth = XMLHelper.get_value(roof, 'Azimuth', :integer)
@roof_type = XMLHelper.get_value(roof, 'RoofType', :string)
+ @cool_roof = XMLHelper.get_value(roof, 'CoolRoof', :boolean)
@roof_color = XMLHelper.get_value(roof, 'RoofColor', :string)
@solar_absorptance = XMLHelper.get_value(roof, 'SolarAbsorptance', :float)
@emittance = XMLHelper.get_value(roof, 'Emittance', :float)
diff --git a/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd b/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd
index bf4fdfbb42..8a2e6b4427 100644
--- a/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd
+++ b/HPXMLtoOpenStudio/resources/hpxml_schema/HPXML.xsd
@@ -1035,6 +1035,11 @@
+
+
+ A cool roof has a material or coating that lowers the roof surface temperature, by having a low solar absorptance and/or high thermal emittance.
+
+
@@ -2073,6 +2078,7 @@
+
Number of similar water fixtures.
@@ -2517,8 +2523,8 @@
-
-
+
+
@@ -2526,8 +2532,8 @@
-
-
+
+
@@ -2535,8 +2541,8 @@
-
-
+
+
@@ -5264,12 +5270,12 @@
-
+
For Percent enter values as a fractional number, i.e. 30% = 0.3
-
+
@@ -6006,8 +6012,8 @@
-
-
+
+
@@ -6798,8 +6804,8 @@
-
-
+
+
@@ -10693,6 +10699,7 @@
+
@@ -10718,7 +10725,6 @@
-
@@ -11611,6 +11617,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -12495,11 +12519,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -12511,11 +12535,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
index 1bff796892..10e84a3e9f 100644
--- a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
+++ b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.sch
@@ -254,7 +254,7 @@
Expected at most one ClimateandRiskZones/ClimateZoneIECC
Expected at most one Enclosure/AirInfiltration/extension/HasFlueOrChimneyInConditionedSpace
Expected Enclosure/AirInfiltration/extension/HasFlueOrChimneyInConditionedSpace to be 'true' or 'false'
- Expected one Enclosure/AirInfiltration/AirInfiltrationMeasurement[BuildingAirLeakage/AirLeakage | EffectiveLeakageArea | SpecificLeakageArea | LeakinessDescription]
+ Expected one Enclosure/AirInfiltration/AirInfiltrationMeasurement[BuildingAirLeakage | EffectiveLeakageArea | SpecificLeakageArea | LeakinessDescription]
Expected Enclosure/Walls/Wall or Enclosure/FoundationWalls/FoundationWall
Expected at most one Enclosure/extension/PartitionWallMass
Expected at most one Enclosure/extension/FurnitureMass
@@ -375,7 +375,7 @@
[ManualJInfiltrationMethod=BlowerDoor]
- Expected Enclosure/AirInfiltration/AirInfiltrationMeasurement[BuildingAirLeakage/AirLeakage | EffectiveLeakageArea | SpecificLeakageArea] if ManualJInputs/InfiltrationMethod="blower door"
+ Expected Enclosure/AirInfiltration/AirInfiltrationMeasurement[BuildingAirLeakage/AirLeakage | EffectiveLeakageArea | SpecificLeakageArea] if ManualJInputs/InfiltrationMethod="blower door"
@@ -541,7 +541,7 @@
[AirInfiltrationMeasurement=SFAorMultifamily]
-
+
Expected TypeOfInfiltrationLeakage to be 'unit total' or 'unit exterior only' if ResidentialFacilityType is "single-family attached" or "apartment unit"
Expected at most one extension/Aext
Expected extension/Aext to be greater than 0
@@ -566,7 +566,6 @@
[VentedAttic=VentilationRate]
Expected UnitofMeasure to be 'SLA' or 'ACHnatural'
- Expected Value
@@ -574,7 +573,6 @@
[VentedCrawl=VentilationRate]
Expected UnitofMeasure to be 'SLA'
- Expected Value
@@ -590,7 +588,7 @@
Expected InteriorAdjacentTo to be 'attic - vented' or 'attic - unvented' or 'conditioned space' or 'garage'
Expected Area
- Expected RoofType to be 'asphalt or fiberglass shingles' or 'wood shingles or shakes' or 'shingles' or 'slate or tile shingles' or 'metal surfacing' or 'plastic/rubber/synthetic sheeting' or 'expanded polystyrene sheathing' or 'concrete' or 'cool roof'
+ Expected RoofType to be 'asphalt or fiberglass shingles' or 'wood shingles or shakes' or 'shingles' or 'slate or tile shingles' or 'metal surfacing' or 'plastic/rubber/synthetic sheeting' or 'expanded polystyrene sheathing' or 'concrete'
Expected InteriorFinish/Type to be 'gypsum board' or 'gypsum composite board' or 'plaster' or 'wood' or 'not present'
Expected Pitch
Expected Insulation/AssemblyEffectiveRValue
@@ -1846,17 +1844,9 @@
-
- [DuctLeakage=CFM]
-
- Expected Value
-
-
-
[DuctLeakage=Percent]
- Expected Value
Expected Value to be less than 1
@@ -2400,7 +2390,7 @@
Expected at most one extension/WeekdayScheduleFractions
Expected at most one extension/WeekendScheduleFractions
Expected at most one extension/MonthlyScheduleMultipliers
- Expected ../../FuelEconomyCombined/Units to be 'kWh/mile' or 'mile/kWh' or 'mpge'
+ Expected ../../FuelEconomyCombined/Units to be 'kWh/mile' or 'mile/kWh' or 'mpge'
Electric vehicle charging was specified as both a PlugLoad and a Vehicle, the latter will be ignored.
Electric vehicle specified with no charger provided; home EV charging will not be modeled.
diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
index 727204e2c1..0c57d1fdbf 100644
--- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb
+++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb
@@ -444,16 +444,16 @@ def self.get_design_temp_cooling(mj, weather, location, hpxml_bldg)
cool_temp += 130.0 * roof.net_area
when HPXML::ColorMedium, HPXML::ColorMediumLight, HPXML::ColorLight
cool_temp += 120.0 * roof.net_area
- when HPXML::ColorReflective
+ when HPXML::ColorWhite, HPXML::ColorReflective
cool_temp += 95.0 * roof.net_area
end
- when HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete, HPXML::RoofTypeCool
+ when HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete
case roof.roof_color
when HPXML::ColorDark, HPXML::ColorMediumDark
cool_temp += 110.0 * roof.net_area
when HPXML::ColorMedium, HPXML::ColorMediumLight, HPXML::ColorLight
cool_temp += 105.0 * roof.net_area
- when HPXML::ColorReflective
+ when HPXML::ColorWhite, HPXML::ColorReflective
cool_temp += 95.0 * roof.net_area
end
else
@@ -476,16 +476,16 @@ def self.get_design_temp_cooling(mj, weather, location, hpxml_bldg)
cool_temp += 120.0 * roof.net_area
when HPXML::ColorMedium, HPXML::ColorMediumLight, HPXML::ColorLight
cool_temp += 110.0 * roof.net_area
- when HPXML::ColorReflective
+ when HPXML::ColorWhite, HPXML::ColorReflective
cool_temp += 95.0 * roof.net_area
end
- when HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete, HPXML::RoofTypeCool
+ when HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete
case roof.roof_color
when HPXML::ColorDark, HPXML::ColorMediumDark
cool_temp += 105.0 * roof.net_area
when HPXML::ColorMedium, HPXML::ColorMediumLight, HPXML::ColorLight
cool_temp += 100.0 * roof.net_area
- when HPXML::ColorReflective
+ when HPXML::ColorWhite, HPXML::ColorReflective
cool_temp += 95.0 * roof.net_area
end
else
@@ -1175,16 +1175,16 @@ def self.process_load_roofs(mj, hpxml_bldg, all_zone_loads, all_space_loads)
# Base CLTD color adjustment based on notes in MJ8 Figure A12-16
case roof.roof_color
when HPXML::ColorDark, HPXML::ColorMediumDark
- if [HPXML::RoofTypeClayTile, HPXML::RoofTypeWoodShingles, HPXML::RoofTypeConcrete, HPXML::RoofTypeCool].include? roof.roof_type
+ if [HPXML::RoofTypeClayTile, HPXML::RoofTypeWoodShingles, HPXML::RoofTypeConcrete].include? roof.roof_type
cltd *= 0.83
end
when HPXML::ColorMedium, HPXML::ColorMediumLight, HPXML::ColorLight
- if [HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete, HPXML::RoofTypeCool].include? roof.roof_type
+ if [HPXML::RoofTypeClayTile, HPXML::RoofTypeConcrete].include? roof.roof_type
cltd *= 0.65
else
cltd *= 0.83
end
- when HPXML::ColorReflective
+ when HPXML::ColorWhite, HPXML::ColorReflective
if [HPXML::RoofTypeAsphaltShingles, HPXML::RoofTypeWoodShingles, HPXML::RoofTypeShingles].include? roof.roof_type
cltd *= 0.83
else
diff --git a/HPXMLtoOpenStudio/resources/materials.rb b/HPXMLtoOpenStudio/resources/materials.rb
index 8efa68dfd7..c204f3b8b3 100644
--- a/HPXMLtoOpenStudio/resources/materials.rb
+++ b/HPXMLtoOpenStudio/resources/materials.rb
@@ -377,7 +377,7 @@ def self.RoofMaterialAndSheathing(roof_type, osb_thick_in = 0.625)
case roof_type
when HPXML::RoofTypeMetal
mat_roof = new(name: roof_type, thick_in: 0.02, k_in: 346.9, rho: 487.0, cp: 0.11)
- when HPXML::RoofTypeAsphaltShingles, HPXML::RoofTypeWoodShingles, HPXML::RoofTypeShingles, HPXML::RoofTypeCool
+ when HPXML::RoofTypeAsphaltShingles, HPXML::RoofTypeWoodShingles, HPXML::RoofTypeShingles
mat_roof = new(name: roof_type, thick_in: 0.25, k_in: 1.128, rho: 70.0, cp: 0.35)
when HPXML::RoofTypeConcrete
mat_roof = new(name: roof_type, thick_in: 0.75, k_in: 7.63, rho: 131.1, cp: 0.199)
diff --git a/HPXMLtoOpenStudio/tests/test_defaults.rb b/HPXMLtoOpenStudio/tests/test_defaults.rb
index b993752f7b..07350b09ab 100644
--- a/HPXMLtoOpenStudio/tests/test_defaults.rb
+++ b/HPXMLtoOpenStudio/tests/test_defaults.rb
@@ -947,7 +947,7 @@ def test_roofs
hpxml_bldg.roofs[0].radiant_barrier_grade = 3
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_default_hpxml, default_hpxml_bldg = _test_measure()
- _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeMetal, 0.77, HPXML::ColorDark, 0.88, true, 3, HPXML::InteriorFinishPlaster, 0.25, 123)
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeMetal, 0.77, HPXML::ColorDark, nil, 0.88, true, 3, HPXML::InteriorFinishPlaster, 0.25, 123)
# Test defaults w/ RoofColor
hpxml_bldg.roofs[0].roof_type = nil
@@ -960,22 +960,29 @@ def test_roofs
hpxml_bldg.roofs[0].radiant_barrier_grade = nil
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_default_hpxml, default_hpxml_bldg = _test_measure()
- _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.75, HPXML::ColorLight, 0.90, true, 1, HPXML::InteriorFinishPlaster, 0.5, 45)
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.75, HPXML::ColorLight, nil, 0.90, true, 1, HPXML::InteriorFinishPlaster, 0.5, 45)
+
+ # Test defaults w/ CoolRoof
+ hpxml_bldg.roofs[0].cool_roof = true
+ hpxml_bldg.roofs[0].roof_color = nil
+ XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
+ _default_hpxml, default_hpxml_bldg = _test_measure()
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.70, HPXML::ColorWhite, true, 0.90, true, 1, HPXML::InteriorFinishPlaster, 0.5, 45)
# Test defaults w/ SolarAbsorptance
hpxml_bldg.roofs[0].solar_absorptance = 0.99
- hpxml_bldg.roofs[0].roof_color = nil
+ hpxml_bldg.roofs[0].cool_roof = nil
hpxml_bldg.roofs[0].interior_finish_type = nil
hpxml_bldg.roofs[0].radiant_barrier = nil
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_default_hpxml, default_hpxml_bldg = _test_measure()
- _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.99, HPXML::ColorDark, 0.90, false, nil, HPXML::InteriorFinishNotPresent, nil, 45)
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.99, HPXML::ColorDark, nil, 0.90, false, nil, HPXML::InteriorFinishNotPresent, nil, 45)
# Test defaults w/o RoofColor & SolarAbsorptance
hpxml_bldg.roofs[0].solar_absorptance = nil
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_default_hpxml, default_hpxml_bldg = _test_measure()
- _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.85, HPXML::ColorMedium, 0.90, false, nil, HPXML::InteriorFinishNotPresent, nil, 45)
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.85, HPXML::ColorMedium, nil, 0.90, false, nil, HPXML::InteriorFinishNotPresent, nil, 45)
# Test defaults w/ conditioned space
hpxml, hpxml_bldg = _create_hpxml('base-atticroof-cathedral.xml')
@@ -989,7 +996,7 @@ def test_roofs
hpxml_bldg.roofs[0].azimuth = nil
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_default_hpxml, default_hpxml_bldg = _test_measure()
- _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.75, HPXML::ColorLight, 0.90, nil, nil, HPXML::InteriorFinishGypsumBoard, 0.5, 45)
+ _test_default_roof_values(default_hpxml_bldg.roofs[0], HPXML::RoofTypeAsphaltShingles, 0.75, HPXML::ColorLight, nil, 0.90, nil, nil, HPXML::InteriorFinishGypsumBoard, 0.5, 45)
end
def test_rim_joists
@@ -5536,11 +5543,16 @@ def _test_default_foundation_values(foundation, sla)
assert_in_epsilon(sla, foundation.vented_crawlspace_sla, 0.001)
end
- def _test_default_roof_values(roof, roof_type, solar_absorptance, roof_color, emittance, radiant_barrier,
+ def _test_default_roof_values(roof, roof_type, solar_absorptance, roof_color, cool_roof, emittance, radiant_barrier,
radiant_barrier_grade, int_finish_type, int_finish_thickness, azimuth)
assert_equal(roof_type, roof.roof_type)
assert_equal(solar_absorptance, roof.solar_absorptance)
assert_equal(roof_color, roof.roof_color)
+ if cool_roof.nil?
+ assert_nil(roof.cool_roof)
+ else
+ assert_equal(cool_roof, roof.cool_roof)
+ end
assert_equal(emittance, roof.emittance)
if not radiant_barrier.nil?
assert_equal(radiant_barrier, roof.radiant_barrier)
diff --git a/HPXMLtoOpenStudio/tests/test_enclosure.rb b/HPXMLtoOpenStudio/tests/test_enclosure.rb
index 755df18b00..5f4f067fe7 100644
--- a/HPXMLtoOpenStudio/tests/test_enclosure.rb
+++ b/HPXMLtoOpenStudio/tests/test_enclosure.rb
@@ -87,11 +87,6 @@ def test_roofs
[{ assembly_r: 0.1, layer_names: ['concrete + osb', 'roof stud and cavity', 'gypsum board'] },
{ assembly_r: 5.0, layer_names: ['concrete + osb', 'roof stud and cavity', 'gypsum board'] },
{ assembly_r: 20.0, layer_names: ['concrete + osb', 'roof rigid ins', 'roof stud and cavity', 'gypsum board'] }],
- # Cool
- [{ assembly_r: 0.1, layer_names: ['cool roof + osb', 'roof stud and cavity', 'plaster'] },
- { assembly_r: 5.0, layer_names: ['cool roof + osb', 'roof stud and cavity', 'plaster'] },
- { assembly_r: 20.0, layer_names: ['cool roof + osb', 'roof rigid ins', 'roof stud and cavity', 'plaster'] }],
-
]
hpxml, hpxml_bldg = _create_hpxml('base-enclosure-rooftypes.xml')
diff --git a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb
index 63ae298980..29f437e989 100644
--- a/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb
+++ b/HPXMLtoOpenStudio/tests/test_hvac_sizing.rb
@@ -1788,15 +1788,11 @@ def test_vented_attic_roof_types
hpxml_bldg.roofs[0].roof_type = HPXML::RoofTypeClayTile
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
_model_mult, _base_hpxml, test_hpxml_bldg_1 = _test_measure(args_hash)
- hpxml_bldg.roofs[0].roof_type = HPXML::RoofTypeCool
- XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
- _model_mult, _base_hpxml, test_hpxml_bldg_2 = _test_measure(args_hash)
hpxml_bldg.roofs[0].roof_type = HPXML::RoofTypeConcrete
XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path)
- _model_mult, _base_hpxml, test_hpxml_bldg_3 = _test_measure(args_hash)
+ _model_mult, _base_hpxml, test_hpxml_bldg_2 = _test_measure(args_hash)
# Added roof type in the same category is sized the same as existing roof type in the same category
assert_equal(test_hpxml_bldg_1.cooling_systems[0].cooling_capacity, test_hpxml_bldg_2.cooling_systems[0].cooling_capacity)
- assert_equal(test_hpxml_bldg_1.cooling_systems[0].cooling_capacity, test_hpxml_bldg_3.cooling_systems[0].cooling_capacity)
# Metal, PlasticRubber, EPS
hpxml_bldg.roofs[0].roof_type = HPXML::RoofTypeMetal
diff --git a/docs/source/workflow_inputs.rst b/docs/source/workflow_inputs.rst
index a01068eed1..bc1bfe7bc7 100644
--- a/docs/source/workflow_inputs.rst
+++ b/docs/source/workflow_inputs.rst
@@ -1261,7 +1261,8 @@ For a multifamily building where the dwelling unit has another dwelling unit abo
``Area`` double ft2 > 0 Yes Gross area (including skylights)
``Azimuth`` or ``Orientation`` integer or string deg or direction >= 0, <= 359 or See [#]_ No See [#]_ Direction (clockwise from North)
``RoofType`` string See [#]_ No asphalt or fiberglass shingles Roof type
- ``RoofColor`` or ``SolarAbsorptance`` string or double See [#]_ or >= 0, <= 1 No medium Roof color or solar absorptance of outermost material [#]_
+ ``CoolRoof`` boolean No Only used to default roof color
+ ``RoofColor`` or ``SolarAbsorptance`` string or double See [#]_ or >= 0, <= 1 No medium (or white if cool roof) Roof color or solar absorptance of outermost material [#]_
``Emittance`` double >= 0, <= 1 No 0.90 Emittance of outermost material
``InteriorFinish/Type`` string See [#]_ No See [#]_ Interior finish material
``InteriorFinish/Thickness`` double in >= 0 No 0.5 Interior finish thickness
@@ -1279,27 +1280,40 @@ For a multifamily building where the dwelling unit has another dwelling unit abo
.. [#] Orientation choices are "northeast", "east", "southeast", "south", "southwest", "west", "northwest", or "north"
.. [#] If neither Azimuth nor Orientation provided, and it's a *pitched* roof, modeled as four surfaces of equal area facing every direction.
Azimuth/Orientation is irrelevant for *flat* roofs.
- .. [#] RoofType choices are "asphalt or fiberglass shingles", "wood shingles or shakes", "shingles", "slate or tile shingles", "metal surfacing", "plastic/rubber/synthetic sheeting", "expanded polystyrene sheathing", "concrete", or "cool roof".
- .. [#] RoofColor choices are "dark", "medium dark", "medium", "medium light", "light", or "reflective".
- .. [#] If SolarAbsorptance not provided, defaults based on RoofType and RoofColor:
+ .. [#] RoofType choices are "asphalt or fiberglass shingles", "wood shingles or shakes", "shingles", "slate or tile shingles", "metal surfacing", "plastic/rubber/synthetic sheeting", "expanded polystyrene sheathing", or "concrete".
+ .. [#] RoofColor choices are "dark", "medium dark", "medium", "medium light", "light", "white", or "reflective".
+ .. [#] If SolarAbsorptance not provided, defaults based on RoofType and RoofColor.
+ For **asphalt or fiberglass shingles**, **wood shingles or shakes**, **shingles**, and **expanded polystyrene sheathing**:
- \- **asphalt or fiberglass shingles**: dark=0.92, medium dark=0.89, medium=0.85, medium light=0.8, light=0.75, reflective=0.50
+ \- **dark**: 0.92
- \- **wood shingles or shakes**: dark=0.92, medium dark=0.89, medium=0.85, medium light=0.8, light=0.75, reflective=0.50
+ \- **medium dark**: 0.89
- \- **shingles**: dark=0.92, medium dark=0.89, medium=0.85, medium light=0.8, light=0.75, reflective=0.50
+ \- **medium**: 0.85
- \- **slate or tile shingles**: dark=0.90, medium dark=0.83, medium=0.75, medium light=0.67, light=0.60, reflective=0.30
+ \- **medium light**: 0.80
- \- **metal surfacing**: dark=0.90, medium dark=0.83, medium=0.75, medium light=0.67, light=0.60, reflective=0.30
+ \- **light**: 0.75
- \- **plastic/rubber/synthetic sheeting**: dark=0.90, medium dark=0.83, medium=0.75, medium light=0.67, light=0.60, reflective=0.30
+ \- **white**: 0.70
- \- **expanded polystyrene sheathing**: dark=0.92, medium dark=0.89, medium=0.85, medium light=0.8, light=0.75, reflective=0.50
+ \- **reflective**: 0.50
- \- **concrete**: dark=0.90, medium dark=0.83, medium=0.75, medium light=0.7, light=0.65, reflective=0.50
+ For **slate or tile shingles**, **metal surfacing**, **plastic/rubber/synthetic sheeting**, and **concrete**:
- \- **cool roof**: 0.30
+ \- **dark**: 0.90
+
+ \- **medium dark**: 0.80
+
+ \- **medium**: 0.70
+
+ \- **medium light**: 0.60
+
+ \- **light**: 0.45
+
+ \- **white**: 0.35
+
+ \- **reflective**: 0.25
.. [#] InteriorFinish/Type choices are "gypsum board", "gypsum composite board", "plaster", "wood", "other", or "not present".
.. [#] InteriorFinish/Type defaults to "gypsum board" if InteriorAdjacentTo is conditioned space, otherwise "not present".
@@ -1340,24 +1354,13 @@ Each rim joist surface (i.e., the perimeter of floor joists typically found betw
.. [#] If neither Azimuth nor Orientation provided, and it's an *exterior* rim joist, modeled as four surfaces of equal area facing every direction.
Azimuth/Orientation is irrelevant for *interior* rim joists.
.. [#] Siding choices are "wood siding", "vinyl siding", "stucco", "fiber cement siding", "brick veneer", "stone veneer", "aluminum siding", "masonite siding", "composite shingle siding", "asbestos siding", "synthetic stucco", or "not present".
- .. [#] Color choices are "dark", "medium dark", "medium", "medium light", "light", or "reflective".
- .. [#] If SolarAbsorptance not provided, defaults based on Color:
-
- \- **dark**: 0.95
-
- \- **medium dark**: 0.85
-
- \- **medium**: 0.70
-
- \- **medium light**: 0.60
-
- \- **light**: 0.50
-
- \- **reflective**: 0.30
-
+ .. [#] Color choices are "dark", "medium dark", "medium", "medium light", "light", "white", or "reflective".
+ .. [#] If SolarAbsorptance not provided, defaults the same as :ref:`hpxml_walls`.
.. [#] AssemblyEffectiveRValue includes all material layers and interior/exterior air films.
It should also include the effects of insulation gaps (installation grading) and/or compressed insulation in cavities per `ANSI/RESNET/ICC 301-2022 `_.
+.. _hpxml_walls:
+
HPXML Walls
***********
@@ -1395,7 +1398,7 @@ Each wall surface is entered as a ``/HPXML/Building/BuildingDetails/Enclosure/Wa
.. [#] If neither Azimuth nor Orientation provided, and it's an *exterior* wall, modeled as four surfaces of equal area facing every direction.
Azimuth/Orientation is irrelevant for *interior* walls (e.g., between conditioned space and garage).
.. [#] Siding choices are "wood siding", "vinyl siding", "stucco", "fiber cement siding", "brick veneer", "stone veneer", "aluminum siding", "masonite siding", "composite shingle siding", "asbestos siding", "synthetic stucco", or "not present".
- .. [#] Color choices are "dark", "medium dark", "medium", "medium light", "light", or "reflective".
+ .. [#] Color choices are "dark", "medium dark", "medium", "medium light", "light", "white, or "reflective".
.. [#] If SolarAbsorptance not provided, defaults based on Color:
\- **dark**: 0.95
@@ -1408,7 +1411,9 @@ Each wall surface is entered as a ``/HPXML/Building/BuildingDetails/Enclosure/Wa
\- **light**: 0.50
- \- **reflective**: 0.30
+ \- **white**: 0.35
+
+ \- **reflective**: 0.25
.. [#] InteriorFinish/Type choices are "gypsum board", "gypsum composite board", "plaster", "wood", "other", or "not present".
.. [#] InteriorFinish/Type defaults to "gypsum board" if InteriorAdjacentTo is conditioned space or basement - conditioned, otherwise "not present".
diff --git a/tasks.rb b/tasks.rb
index 71b473be1b..d52c65ef62 100644
--- a/tasks.rb
+++ b/tasks.rb
@@ -1528,7 +1528,7 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml)
siding_types = [[HPXML::SidingTypeAluminum, HPXML::ColorReflective],
[HPXML::SidingTypeAsbestos, HPXML::ColorLight],
[HPXML::SidingTypeBrick, HPXML::ColorMediumDark],
- [HPXML::SidingTypeCompositeShingle, HPXML::ColorReflective],
+ [HPXML::SidingTypeCompositeShingle, HPXML::ColorWhite],
[HPXML::SidingTypeFiberCement, HPXML::ColorMedium],
[HPXML::SidingTypeMasonite, HPXML::ColorDark],
[HPXML::SidingTypeStucco, HPXML::ColorLight],
@@ -1614,8 +1614,7 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml)
[HPXML::RoofTypeShingles, HPXML::ColorMediumDark],
[HPXML::RoofTypePlasticRubber, HPXML::ColorMediumLight],
[HPXML::RoofTypeEPS, HPXML::ColorMedium],
- [HPXML::RoofTypeConcrete, HPXML::ColorLight],
- [HPXML::RoofTypeCool, HPXML::ColorReflective]]
+ [HPXML::RoofTypeConcrete, HPXML::ColorWhite]]
int_finish_types = [[HPXML::InteriorFinishGypsumBoard, 0.5],
[HPXML::InteriorFinishPlaster, 0.5],
[HPXML::InteriorFinishWood, 0.5]]
diff --git a/workflow/sample_files/base-enclosure-rooftypes.xml b/workflow/sample_files/base-enclosure-rooftypes.xml
index 91a4e9231c..903a9ddc3e 100644
--- a/workflow/sample_files/base-enclosure-rooftypes.xml
+++ b/workflow/sample_files/base-enclosure-rooftypes.xml
@@ -87,7 +87,6 @@
-
@@ -109,7 +108,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
slate or tile shingles
light
@@ -126,7 +125,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
metal surfacing
reflective
@@ -143,7 +142,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
wood shingles or shakes
dark
@@ -160,7 +159,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
shingles
medium dark
@@ -177,7 +176,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
plastic/rubber/synthetic sheeting
medium light
@@ -194,7 +193,7 @@
attic - unvented
- 188.6625
+ 215.6142857142857
expanded polystyrene sheathing
medium
@@ -211,9 +210,9 @@
attic - unvented
- 188.6625
+ 215.6142857142857
concrete
- light
+ white
gypsum board
0.5
@@ -225,23 +224,6 @@
2.3
-
-
- attic - unvented
- 188.6625
- cool roof
- reflective
-
- plaster
- 0.5
-
- 6.0
- false
-
-
- 2.3
-
-
diff --git a/workflow/sample_files/base-enclosure-walltypes.xml b/workflow/sample_files/base-enclosure-walltypes.xml
index 4d06402624..311f2dc6c0 100644
--- a/workflow/sample_files/base-enclosure-walltypes.xml
+++ b/workflow/sample_files/base-enclosure-walltypes.xml
@@ -323,7 +323,7 @@
109.0
composite shingle siding
- reflective
+ white
plaster
0.5
diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv
index 3147c089a2..4bf37f1f27 100644
--- a/workflow/tests/base_results/results_simulations_bills.csv
+++ b/workflow/tests/base_results/results_simulations_bills.csv
@@ -164,7 +164,7 @@ base-enclosure-infil-natural-cfm.xml,2137.3,144.0,1446.02,0.0,1590.02,144.0,403.
base-enclosure-infil-sla.xml,2144.19,144.0,1446.46,0.0,1590.46,144.0,409.73,553.73,0.0,0.0,0.0,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-orientations.xml,2046.6,144.0,1439.34,0.0,1583.34,144.0,319.26,463.26,0.0,0.0,0.0,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-overhangs.xml,2041.68,144.0,1435.42,0.0,1579.42,144.0,318.26,462.26,0.0,0.0,0.0,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-rooftypes.xml,2031.83,144.0,1426.52,0.0,1570.52,144.0,317.31,461.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+base-enclosure-rooftypes.xml,2028.83,144.0,1422.5,0.0,1566.5,144.0,318.33,462.33,0.0,0.0,0.0,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-skylights-cathedral.xml,2199.81,144.0,1652.99,0.0,1796.99,144.0,258.82,402.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
base-enclosure-skylights-physical-properties.xml,2126.57,144.0,1485.67,0.0,1629.67,144.0,352.9,496.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
base-enclosure-skylights-shading.xml,2076.81,144.0,1443.58,0.0,1587.58,144.0,345.23,489.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
@@ -172,7 +172,7 @@ base-enclosure-skylights-storms.xml,2096.82,144.0,1487.48,0.0,1631.48,144.0,321.
base-enclosure-skylights.xml,2103.72,144.0,1481.87,0.0,1625.87,144.0,333.85,477.85,0.0,0.0,0.0,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-split-level.xml,1530.82,144.0,1122.25,0.0,1266.25,144.0,120.57,264.57,0.0,0.0,0.0,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-thermal-mass.xml,2039.65,144.0,1437.47,0.0,1581.47,144.0,314.18,458.18,0.0,0.0,0.0,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-walltypes.xml,2166.72,144.0,1374.74,0.0,1518.74,144.0,503.98,647.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-walltypes.xml,2166.64,144.0,1374.88,0.0,1518.88,144.0,503.76,647.76,0.0,0.0,0.0,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-windows-exterior-shading-solar-film.xml,2063.13,144.0,1395.69,0.0,1539.69,144.0,379.44,523.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
base-enclosure-windows-exterior-shading-solar-screens.xml,2092.64,144.0,1336.42,0.0,1480.42,144.0,468.22,612.22,0.0,0.0,0.0,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-windows-insect-screens-exterior.xml,2059.19,144.0,1404.41,0.0,1548.41,144.0,366.78,510.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
diff --git a/workflow/tests/base_results/results_simulations_energy.csv b/workflow/tests/base_results/results_simulations_energy.csv
index 6164884ead..5a5ee9f628 100644
--- a/workflow/tests/base_results/results_simulations_energy.csv
+++ b/workflow/tests/base_results/results_simulations_energy.csv
@@ -164,7 +164,7 @@ base-enclosure-infil-natural-cfm.xml,81.004,81.004,39.378,39.378,41.626,0.0,0.0,
base-enclosure-infil-sla.xml,81.682,81.682,39.39,39.39,42.292,0.0,0.0,0.0,0.0,0.0,0.0,1.317,0.0,0.0,5.123,1.174,10.772,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.068,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,42.292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-orientations.xml,72.15,72.15,39.196,39.196,32.954,0.0,0.0,0.0,0.0,0.0,0.0,1.026,0.0,0.0,5.191,1.198,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.074,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,32.954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-overhangs.xml,71.94,71.94,39.089,39.089,32.851,0.0,0.0,0.0,0.0,0.0,0.0,1.023,0.0,0.0,5.109,1.177,10.771,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.074,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,32.851,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-rooftypes.xml,71.6,71.6,38.847,38.847,32.753,0.0,0.0,0.0,0.0,0.0,0.0,1.02,0.0,0.0,4.918,1.128,10.771,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.074,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,32.753,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-rooftypes.xml,71.596,71.596,38.737,38.737,32.858,0.0,0.0,0.0,0.0,0.0,0.0,1.023,0.0,0.0,4.829,1.105,10.771,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,32.858,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-skylights-cathedral.xml,71.729,71.729,45.014,45.014,26.715,0.0,0.0,0.0,0.0,0.0,0.0,0.832,0.0,0.0,5.087,1.165,10.769,0.0,0.0,6.369,0.0,0.43,0.0,0.0,0.0,0.0,2.076,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,26.715,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-skylights-physical-properties.xml,76.884,76.884,40.457,40.457,36.427,0.0,0.0,0.0,0.0,0.0,0.0,1.134,0.0,0.0,6.105,1.436,10.769,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.077,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,36.427,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-skylights-shading.xml,74.946,74.946,39.311,39.311,35.635,0.0,0.0,0.0,0.0,0.0,0.0,1.109,0.0,0.0,5.221,1.201,10.771,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.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,35.635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
@@ -172,7 +172,7 @@ base-enclosure-skylights-storms.xml,73.676,73.676,40.507,40.507,33.169,0.0,0.0,0
base-enclosure-skylights.xml,74.814,74.814,40.354,40.354,34.46,0.0,0.0,0.0,0.0,0.0,0.0,1.073,0.0,0.0,6.07,1.429,10.767,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.079,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,34.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
base-enclosure-split-level.xml,43.006,43.006,30.561,30.561,12.445,0.0,0.0,0.0,0.0,0.0,0.0,0.387,0.0,0.0,3.707,0.824,10.76,0.0,0.0,2.646,0.0,0.238,0.0,0.0,0.0,0.0,2.095,0.0,0.0,0.284,0.347,1.436,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,12.445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-thermal-mass.xml,71.575,71.575,39.145,39.145,32.43,0.0,0.0,0.0,0.0,0.0,0.0,1.01,0.0,0.0,5.163,1.193,10.769,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.074,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,32.43,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-walltypes.xml,89.457,89.457,37.437,37.437,52.021,0.0,0.0,0.0,0.0,0.0,0.0,1.619,0.0,0.0,3.304,0.746,10.78,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.051,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,52.021,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-walltypes.xml,89.439,89.439,37.44,37.44,51.998,0.0,0.0,0.0,0.0,0.0,0.0,1.619,0.0,0.0,3.307,0.747,10.78,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.051,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,51.998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-windows-exterior-shading-solar-film.xml,77.173,77.173,38.007,38.007,39.166,0.0,0.0,0.0,0.0,0.0,0.0,1.219,0.0,0.0,4.099,0.915,10.776,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.062,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,39.166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-windows-exterior-shading-solar-screens.xml,84.723,84.723,36.393,36.393,48.33,0.0,0.0,0.0,0.0,0.0,0.0,1.505,0.0,0.0,2.586,0.541,10.782,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.044,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,48.33,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-windows-insect-screens-exterior.xml,76.104,76.104,38.245,38.245,37.859,0.0,0.0,0.0,0.0,0.0,0.0,1.179,0.0,0.0,4.32,0.971,10.774,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.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,37.859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv
index 580288427e..93badeed01 100644
--- a/workflow/tests/base_results/results_simulations_loads.csv
+++ b/workflow/tests/base_results/results_simulations_loads.csv
@@ -164,7 +164,7 @@ base-enclosure-infil-natural-cfm.xml,39.595,0.0,19.957,9.917,0.851,0.0,0.0,0.0,3
base-enclosure-infil-sla.xml,40.228,0.0,19.92,9.917,0.851,0.0,0.0,0.0,3.168,3.951,0.904,6.987,0.696,11.812,-13.174,0.0,0.0,0.0,8.165,-0.192,11.851,0.0,0.518,0.0,16.981,-8.744,-2.706,0.0,0.05,-0.129,0.011,2.484,0.049,0.028,12.324,0.0,0.0,0.0,-6.397,-0.187,-1.733,-3.857,-0.069,0.0,8.478,7.044,1.801
base-enclosure-orientations.xml,31.346,0.0,20.393,9.917,0.849,0.0,0.0,0.0,3.235,3.872,0.881,7.062,0.917,11.533,-12.828,0.0,0.0,0.0,8.288,-0.113,5.504,0.0,0.509,0.0,13.578,-8.484,-2.635,0.0,-0.067,-0.243,-0.021,2.452,-0.104,-0.368,12.67,0.0,0.0,0.0,-6.421,-0.109,-0.928,-4.162,-0.084,0.0,8.572,7.308,1.872
base-enclosure-overhangs.xml,31.248,0.0,20.02,9.917,0.849,0.0,0.0,0.0,3.236,3.873,0.881,7.057,0.675,11.54,-12.647,0.0,0.0,0.0,8.288,-0.113,5.503,0.0,0.509,0.0,13.54,-8.487,-2.635,0.0,-0.056,-0.239,-0.02,2.462,0.02,-0.467,12.326,0.0,0.0,0.0,-6.388,-0.109,-0.927,-4.14,-0.084,0.0,8.437,7.304,1.872
-base-enclosure-rooftypes.xml,31.153,0.0,19.076,9.917,0.849,0.0,0.0,0.0,3.405,3.874,0.882,7.06,0.676,11.538,-12.835,0.0,0.0,0.0,8.291,-0.113,5.503,0.0,0.509,0.0,13.463,-8.489,-2.636,0.0,-0.388,-0.236,-0.019,2.463,0.021,-0.349,12.663,0.0,0.0,0.0,-6.399,-0.109,-0.925,-4.138,-0.084,0.0,7.391,7.303,1.872
+base-enclosure-rooftypes.xml,31.252,0.0,18.639,9.917,0.849,0.0,0.0,0.0,3.476,3.875,0.882,7.054,0.676,11.544,-12.84,0.0,0.0,0.0,8.285,-0.116,5.506,0.0,0.509,0.0,13.511,-8.495,-2.637,0.0,-0.494,-0.232,-0.018,2.466,0.022,-0.332,12.657,0.0,0.0,0.0,-6.391,-0.113,-0.921,-4.122,-0.083,0.0,7.023,7.296,1.87
base-enclosure-skylights-cathedral.xml,25.387,0.0,19.31,9.917,0.848,0.0,0.0,6.109,0.0,4.698,0.915,7.183,0.706,15.36,-15.94,2.374,-2.4,0.0,8.296,-0.345,12.061,0.0,0.517,0.0,0.0,-10.479,-3.742,0.701,0.0,-0.297,-0.005,2.327,0.031,-0.163,16.969,-0.045,3.7,0.0,-6.847,-0.299,-1.956,-6.223,-0.078,0.0,0.0,8.897,2.627
base-enclosure-skylights-physical-properties.xml,34.647,0.0,24.584,9.917,0.847,0.0,0.0,0.0,3.061,3.917,0.894,7.057,0.687,11.677,-12.821,4.395,-2.113,0.0,8.267,-0.148,5.596,0.0,0.514,0.0,14.786,-8.523,-2.647,0.0,-0.128,-0.25,-0.02,2.323,0.019,-0.357,12.602,0.089,3.38,0.0,-6.814,-0.143,-0.898,-4.251,-0.083,0.0,9.961,7.271,1.86
base-enclosure-skylights-shading.xml,33.894,0.0,20.434,9.917,0.85,0.0,0.0,0.0,3.082,3.931,0.897,7.05,0.688,11.711,-13.042,3.583,-1.499,0.0,8.307,-0.148,5.61,0.0,0.516,0.0,14.486,-8.638,-2.678,0.0,0.009,-0.163,0.0,2.481,0.037,-0.126,12.434,-0.751,0.351,0.0,-6.403,-0.143,-0.836,-3.974,-0.075,0.0,8.586,7.153,1.829
@@ -172,7 +172,7 @@ base-enclosure-skylights-storms.xml,31.548,0.0,25.212,9.917,0.846,0.0,0.0,0.0,3.
base-enclosure-skylights.xml,32.776,0.0,24.461,9.917,0.847,0.0,0.0,0.0,3.085,3.91,0.892,7.083,0.685,11.639,-12.762,3.351,-2.393,0.0,8.334,-0.13,5.557,0.0,0.512,0.0,14.064,-8.47,-2.63,0.0,-0.146,-0.273,-0.026,2.324,0.013,-0.439,12.653,-0.176,3.692,0.0,-6.816,-0.125,-0.929,-4.325,-0.086,0.0,9.9,7.324,1.877
base-enclosure-split-level.xml,11.828,0.0,13.636,9.917,0.84,0.0,0.0,0.0,3.922,3.812,0.0,0.0,0.758,11.025,-10.653,0.0,0.0,0.0,6.558,-0.456,2.876,0.0,0.493,0.0,0.507,-5.765,-1.344,0.0,0.016,-0.618,0.0,0.0,0.052,-0.13,14.679,0.0,0.0,0.0,-3.083,-0.453,-0.617,-3.917,-0.126,0.0,0.162,6.454,1.301
base-enclosure-thermal-mass.xml,30.847,0.0,20.311,9.917,0.849,0.0,0.0,0.0,3.234,3.865,0.878,7.069,0.672,11.528,-12.825,0.0,0.0,0.0,8.315,-0.17,5.485,0.0,0.507,0.0,13.359,-8.468,-2.631,0.0,-0.073,-0.251,-0.024,2.484,0.016,-0.429,12.688,0.0,0.0,0.0,-6.372,-0.165,-0.945,-4.25,-0.085,0.0,8.491,7.324,1.876
-base-enclosure-walltypes.xml,49.465,0.0,12.721,9.917,0.858,0.0,0.0,0.0,2.919,17.753,0.509,6.622,0.898,1.476,-1.91,0.0,0.0,0.0,7.895,-0.091,5.842,0.0,0.528,0.0,19.691,-9.715,-2.974,0.0,0.433,1.013,0.025,2.975,-0.029,-0.021,1.246,0.0,0.0,0.0,-4.56,-0.085,-0.612,-0.508,-0.041,0.0,5.256,6.063,1.533
+base-enclosure-walltypes.xml,49.443,0.0,12.738,9.917,0.858,0.0,0.0,0.0,2.92,17.735,0.511,6.623,0.898,1.476,-1.91,0.0,0.0,0.0,7.896,-0.091,5.842,0.0,0.528,0.0,19.684,-9.715,-2.974,0.0,0.433,1.028,0.024,2.975,-0.029,-0.021,1.246,0.0,0.0,0.0,-4.561,-0.086,-0.612,-0.508,-0.041,0.0,5.262,6.063,1.533
base-enclosure-windows-exterior-shading-solar-film.xml,37.257,0.0,15.446,9.917,0.854,0.0,0.0,0.0,3.171,3.907,0.892,6.878,0.678,13.047,-9.48,0.0,0.0,0.0,8.019,-0.146,5.653,0.0,0.518,0.0,15.727,-8.876,-2.737,0.0,0.223,-0.028,0.032,2.704,0.064,-1.17,8.361,0.0,0.0,0.0,-5.767,-0.141,-0.738,-3.563,-0.063,0.0,6.815,6.908,1.77
base-enclosure-windows-exterior-shading-solar-screens.xml,45.97,0.0,8.979,9.917,0.862,0.0,0.0,0.0,2.987,3.89,0.878,6.612,0.637,15.263,-4.651,0.0,0.0,0.0,8.27,-0.088,5.844,0.0,0.533,0.0,18.648,-9.856,-3.008,0.0,0.533,0.21,0.076,3.059,0.084,-1.975,2.982,0.0,0.0,0.0,-4.191,-0.083,-0.507,-2.859,-0.031,0.0,4.219,5.918,1.499
base-enclosure-windows-insect-screens-exterior.xml,36.015,0.0,16.423,9.917,0.853,0.0,0.0,0.0,3.187,3.903,0.89,6.915,0.678,12.736,-10.144,0.0,0.0,0.0,8.051,-0.137,5.622,0.0,0.516,0.0,15.287,-8.788,-2.715,0.0,0.168,-0.069,0.021,2.652,0.056,-1.033,9.198,0.0,0.0,0.0,-5.922,-0.133,-0.777,-3.682,-0.067,0.0,7.178,6.998,1.792
diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv
index ad6f534372..62ab86067d 100644
--- a/workflow/tests/base_results/results_simulations_misc.csv
+++ b/workflow/tests/base_results/results_simulations_misc.csv
@@ -164,7 +164,7 @@ base-enclosure-infil-natural-cfm.xml,1.0,100.0,0.0,1286.4,890.5,11468.6,3942.3,2
base-enclosure-infil-sla.xml,3.0,101.0,0.0,1286.4,890.5,11468.6,3942.3,2328.7,3776.5,3776.5,2328.7,3776.5,3776.5,36357.0,23007.0,0.0
base-enclosure-orientations.xml,0.0,82.0,0.0,1286.4,890.5,11468.5,3942.3,2315.7,3776.5,3776.5,2315.7,3776.5,3776.5,33319.0,23002.0,0.0
base-enclosure-overhangs.xml,0.0,75.0,0.0,1286.4,890.5,11468.5,3942.3,2315.0,3908.4,3908.4,2315.0,3908.4,3908.4,33289.0,23008.0,0.0
-base-enclosure-rooftypes.xml,0.0,29.0,0.0,1286.4,890.5,11468.5,3942.3,2315.1,3835.9,3835.9,2315.1,3835.9,3835.9,32794.0,22405.0,0.0
+base-enclosure-rooftypes.xml,0.0,20.0,0.0,1286.4,890.5,11468.5,3942.3,2315.9,3950.3,3950.3,2315.9,3950.3,3950.3,32723.0,22302.0,0.0
base-enclosure-skylights-cathedral.xml,0.0,1.0,0.0,1286.4,890.5,11468.6,3942.3,2642.1,4050.5,4050.5,2642.1,4050.5,4050.5,25459.0,20572.0,0.0
base-enclosure-skylights-physical-properties.xml,0.0,279.0,0.0,1286.4,890.5,11468.6,3942.3,2339.2,3778.6,3778.6,2339.2,3778.6,3778.6,36097.0,23286.0,0.0
base-enclosure-skylights-shading.xml,0.0,115.0,0.0,1286.4,890.5,11468.5,3942.3,2297.7,3776.8,3776.8,2297.7,3776.8,3776.8,35212.0,23010.0,0.0
@@ -172,7 +172,7 @@ base-enclosure-skylights-storms.xml,0.0,281.0,0.0,1286.4,890.5,11468.5,3942.3,23
base-enclosure-skylights.xml,0.0,260.0,0.0,1286.4,890.5,11468.6,3942.3,2348.6,3778.2,3778.2,2348.6,3778.2,3778.2,35152.0,23227.0,0.0
base-enclosure-split-level.xml,0.0,0.0,0.0,1286.4,890.5,11468.6,3942.3,1867.9,2870.0,2870.0,1867.9,2870.0,2870.0,13954.0,14513.0,0.0
base-enclosure-thermal-mass.xml,0.0,72.0,0.0,1286.4,890.5,11468.5,3942.3,2284.5,3776.3,3776.3,2284.5,3776.3,3776.3,33141.0,22805.0,0.0
-base-enclosure-walltypes.xml,0.0,0.0,0.0,1286.4,890.5,11468.6,3942.3,2340.8,3775.3,3775.3,2340.8,3775.3,3775.3,35749.0,21077.0,0.0
+base-enclosure-walltypes.xml,0.0,0.0,0.0,1286.4,890.5,11468.6,3942.3,2340.6,3775.3,3775.3,2340.6,3775.3,3775.3,35751.0,21082.0,0.0
base-enclosure-windows-exterior-shading-solar-film.xml,0.0,17.0,0.0,1286.4,890.5,11468.5,3942.3,2325.6,3775.8,3775.8,2325.6,3775.8,3775.8,33701.0,21678.0,0.0
base-enclosure-windows-exterior-shading-solar-screens.xml,0.0,0.0,0.0,1286.4,890.5,11468.6,3942.3,2318.7,3775.7,3775.7,2318.7,3775.7,3775.7,34207.0,20873.0,0.0
base-enclosure-windows-insect-screens-exterior.xml,0.0,22.0,0.0,1286.4,890.5,11468.6,3942.3,2297.4,3778.3,3778.3,2297.4,3778.3,3778.3,33625.0,21930.0,0.0