Skip to content

Commit

Permalink
Merge commit '7315de818bd5bbbec1698e63028340c64fb87449' into duct-lto…
Browse files Browse the repository at this point in the history
…-warning
  • Loading branch information
joseph-robertson committed Jul 18, 2023
2 parents 0892507 + 7315de8 commit 5cf3a33
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 18 deletions.
26 changes: 26 additions & 0 deletions resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1676,6 +1676,32 @@ def self.add_airflow(runner, model, weather, spaces, airloop_map)
end
end

# Duct leakage to outside warnings?
# Need to check here instead of in schematron in case duct locations are defaulted
@hpxml.hvac_distributions.each do |hvac_distribution|
next unless hvac_distribution.distribution_system_type == HPXML::HVACDistributionTypeAir
next if hvac_distribution.duct_leakage_measurements.empty?

# Skip if there's a duct outside conditioned space
next if hvac_distribution.ducts.select { |d| !HPXML::conditioned_locations_this_unit.include?(d.duct_location) }.size > 0

# Issue warning if duct leakage to outside above a certain threshold and ducts completely in conditioned space
issue_warning = false
units = hvac_distribution.duct_leakage_measurements[0].duct_leakage_units
lto_measurements = hvac_distribution.duct_leakage_measurements.select { |dlm| dlm.duct_leakage_total_or_to_outside == HPXML::DuctLeakageToOutside }
sum_lto = lto_measurements.map { |dlm| dlm.duct_leakage_value }.sum(0.0)
if units == HPXML::UnitsCFM25
issue_warning = true if sum_lto > 0.04 * @cfa
elsif units == HPXML::UnitsCFM50
issue_warning = true if sum_lto > 0.06 * @cfa
elsif units == HPXML::UnitsPercent
issue_warning = true if sum_lto > 0.05
end
next unless issue_warning

runner.registerWarning('Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.')
end

# Create HVAC availability sensor
@hvac_availability_sensor = nil
if not @hvac_unavailable_periods.empty?
Expand Down
10 changes: 5 additions & 5 deletions resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>hpxm_lto_openstudio</name>
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
<version_id>9fce494a-3cea-4587-9ae5-dc36998cc01f</version_id>
<version_modified>2023-07-14T21:39:19Z</version_modified>
<version_id>6e25a3e5-f445-46f5-99c0-1aebcfb68c5e</version_id>
<version_modified>2023-07-17T18:38:57Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -130,7 +130,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>DC90C49F</checksum>
<checksum>9F4FD400</checksum>
</file>
<file>
<filename>airflow.rb</filename>
Expand Down Expand Up @@ -262,7 +262,7 @@
<filename>hpxml_schematron/EPvalidator.xml</filename>
<filetype>xml</filetype>
<usage_type>resource</usage_type>
<checksum>2C4F878F</checksum>
<checksum>1DE8759B</checksum>
</file>
<file>
<filename>hpxml_schematron/iso-schematron.xsd</filename>
Expand Down Expand Up @@ -568,7 +568,7 @@
<filename>test_validation.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>0B975B0D</checksum>
<checksum>47AE7DEF</checksum>
</file>
<file>
<filename>test_water_heater.rb</filename>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1367,10 +1367,6 @@
<!-- Sum Checks -->
<sch:assert role='ERROR' test='(sum(h:Ducts[h:DuctType="supply"]/h:FractionDuctArea) &gt;= 0.99 and sum(h:Ducts[h:DuctType="supply"]/h:FractionDuctArea) &lt;= 1.01) or count(h:Ducts[h:DuctType="supply"]/h:FractionDuctArea) = 0'>Expected sum(Ducts/FractionDuctArea) for DuctType="supply" to be 1</sch:assert>
<sch:assert role='ERROR' test='(sum(h:Ducts[h:DuctType="return"]/h:FractionDuctArea) &gt;= 0.99 and sum(h:Ducts[h:DuctType="return"]/h:FractionDuctArea) &lt;= 1.01) or count(h:Ducts[h:DuctType="return"]/h:FractionDuctArea) = 0'>Expected sum(Ducts/FractionDuctArea) for DuctType="return" to be 1</sch:assert>
<!-- Warnings -->
<sch:report role='WARN' test='sum(h:DuctLeakageMeasurement/h:DuctLeakage[h:Units="CFM25" and h:TotalOrToOutside="to outside"]/h:Value) &gt; 0.04 * number(../../../../../h:BuildingSummary/h:BuildingConstruction/h:ConditionedFloorArea) and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:FractionDuctArea) = 0 and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:DuctSurfaceArea) = 0 and count(h:Ducts[h:FractionDuctArea | h:DuctSurfaceArea]) &gt; 0'>Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.</sch:report>
<sch:report role='WARN' test='sum(h:DuctLeakageMeasurement/h:DuctLeakage[h:Units="CFM50" and h:TotalOrToOutside="to outside"]/h:Value) &gt; 0.06 * number(../../../../../h:BuildingSummary/h:BuildingConstruction/h:ConditionedFloorArea) and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:FractionDuctArea) = 0 and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:DuctSurfaceArea) = 0 and count(h:Ducts[h:FractionDuctArea | h:DuctSurfaceArea]) &gt; 0'>Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.</sch:report>
<sch:report role='WARN' test='sum(h:DuctLeakageMeasurement/h:DuctLeakage[h:Units="Percent" and h:TotalOrToOutside="to outside"]/h:Value) &gt; 0.05 and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:FractionDuctArea) = 0 and sum(h:Ducts[h:DuctLocation[text()!="living space" and text()!="basement - conditioned" and text()!="crawlspace - conditioned"]]/h:DuctSurfaceArea) = 0 and count(h:Ducts[h:FractionDuctArea | h:DuctSurfaceArea]) &gt; 0'>Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.</sch:report>
</sch:rule>
</sch:pattern>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1270,6 +1270,9 @@ def test_ruby_error_messages
def test_ruby_warning_messages
# Test case => Error message
all_expected_warnings = { 'cfis-undersized-supplemental-fan' => ["CFIS supplemental fan 'VentilationFan2' is undersized (90.0 cfm) compared to the target hourly ventilation rate (110.0 cfm)."],
'duct-lto-cfm25' => ['Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.'],
'duct-lto-cfm50' => ['Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.'],
'duct-lto-percent' => ['Ducts are entirely within conditioned space but there is moderate leakage to the outside. Leakage to the outside is typically zero or near-zero in these situations, consider revising leakage values. Leakage will be modeled as heat lost to the ambient environment.'],
'hvac-setpoint-adjustments' => ['HVAC setpoints have been automatically adjusted to prevent periods where the heating setpoint is greater than the cooling setpoint.'],
'hvac-setpoint-adjustments-daily-setbacks' => ['HVAC setpoints have been automatically adjusted to prevent periods where the heating setpoint is greater than the cooling setpoint.'],
'hvac-setpoint-adjustments-daily-schedules' => ['HVAC setpoints have been automatically adjusted to prevent periods where the heating setpoint is greater than the cooling setpoint.'],
Expand Down Expand Up @@ -1353,6 +1356,39 @@ def test_ruby_warning_messages
hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-mechvent-cfis-supplemental-fan-exhaust.xml'))
suppl_fan = hpxml.ventilation_fans.find { |f| f.is_cfis_supplemental_fan? }
suppl_fan.tested_flow_rate = 90.0
elsif ['duct-lto-cfm25'].include? warning_case
hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-atticroof-conditioned.xml'))
hpxml.hvac_distributions[0].conditioned_floor_area_served = hpxml.building_construction.conditioned_floor_area
hpxml.hvac_distributions[0].duct_leakage_measurements.each do |dlm|
dlm.duct_leakage_units = HPXML::UnitsCFM25
dlm.duct_leakage_value = 100.0
end
hpxml.hvac_distributions[0].ducts.each do |duct|
duct.duct_surface_area = nil
duct.duct_location = nil
end
elsif ['duct-lto-cfm50'].include? warning_case
hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-atticroof-conditioned.xml'))
hpxml.hvac_distributions[0].conditioned_floor_area_served = hpxml.building_construction.conditioned_floor_area
hpxml.hvac_distributions[0].duct_leakage_measurements.each do |dlm|
dlm.duct_leakage_units = HPXML::UnitsCFM50
dlm.duct_leakage_value = 200.0
end
hpxml.hvac_distributions[0].ducts.each do |duct|
duct.duct_surface_area = nil
duct.duct_location = nil
end
elsif ['duct-lto-percent'].include? warning_case
hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-atticroof-conditioned.xml'))
hpxml.hvac_distributions[0].conditioned_floor_area_served = hpxml.building_construction.conditioned_floor_area
hpxml.hvac_distributions[0].duct_leakage_measurements.each do |dlm|
dlm.duct_leakage_units = HPXML::UnitsPercent
dlm.duct_leakage_value = 0.2
end
hpxml.hvac_distributions[0].ducts.each do |duct|
duct.duct_surface_area = nil
duct.duct_location = nil
end
elsif ['hvac-setpoint-adjustments'].include? warning_case
hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base.xml'))
hpxml.hvac_controls[0].heating_setpoint_temp = 76.0
Expand Down
4 changes: 2 additions & 2 deletions resources/hpxml-measures/workflow/hpxml_inputs.json
Original file line number Diff line number Diff line change
Expand Up @@ -711,8 +711,8 @@
"geometry_unit_num_floors_above_grade": 2,
"geometry_unit_cfa": 3600,
"geometry_attic_type": "ConditionedAttic",
"ducts_supply_leakage_to_outside_value": 50,
"ducts_return_leakage_to_outside_value": 100,
"ducts_supply_leakage_to_outside_value": 5,
"ducts_return_leakage_to_outside_value": 10,
"ducts_supply_location": "living space",
"ducts_return_location": "living space",
"water_heater_location": "basement - conditioned",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -443,15 +443,15 @@
<DuctType>supply</DuctType>
<DuctLeakage>
<Units>CFM25</Units>
<Value>50.0</Value>
<Value>5.0</Value>
<TotalOrToOutside>to outside</TotalOrToOutside>
</DuctLeakage>
</DuctLeakageMeasurement>
<DuctLeakageMeasurement>
<DuctType>return</DuctType>
<DuctLeakage>
<Units>CFM25</Units>
<Value>100.0</Value>
<Value>10.0</Value>
<TotalOrToOutside>to outside</TotalOrToOutside>
</DuctLeakage>
</DuctLeakageMeasurement>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ base-appliances-propane-location-portland-or.xml,55.136,55.136,29.779,29.779,20.
base-appliances-propane.xml,60.283,60.283,33.25,33.25,22.167,0.0,4.866,0.0,0.0,0.0,0.0,0.366,0.0,0.0,4.392,0.853,9.163,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,0.135,0.105,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.797,3.069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.759,0.0,14.344,9.233,0.614,0.0,0.0,0.0,0.0,1987.8,3146.8,3146.8,22.994,18.213,0.0,3.552,3.64,0.512,7.517,0.63,10.524,-12.551,0.0,0.0,0.0,8.295,-0.065,4.983,0.0,0.487,0.0,4.815,-9.423,-2.499,0.0,-0.057,-0.465,-0.052,2.676,-0.027,-1.946,11.732,0.0,0.0,0.0,-6.361,-0.061,-1.213,-3.111,-0.111,0.0,3.177,8.334,2.011,1354.8,997.6,11399.5,2615.8,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18786.0,5328.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0
base-appliances-wood.xml,60.283,60.283,33.25,33.25,22.167,0.0,0.0,4.866,0.0,0.0,0.0,0.366,0.0,0.0,4.392,0.853,9.163,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,0.135,0.105,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.797,3.069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.759,0.0,14.344,9.233,0.614,0.0,0.0,0.0,0.0,1987.8,3146.8,3146.8,22.994,18.213,0.0,3.552,3.64,0.512,7.517,0.63,10.524,-12.551,0.0,0.0,0.0,8.295,-0.065,4.983,0.0,0.487,0.0,4.815,-9.423,-2.499,0.0,-0.057,-0.465,-0.052,2.676,-0.027,-1.946,11.732,0.0,0.0,0.0,-6.361,-0.061,-1.213,-3.111,-0.111,0.0,3.177,8.334,2.011,1354.8,997.6,11399.5,2615.8,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18786.0,5328.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0
base-atticroof-cathedral.xml,62.108,62.108,35.78,35.78,26.327,0.0,0.0,0.0,0.0,0.0,0.0,0.434,0.0,0.0,4.116,0.788,9.165,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,26.327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.636,0.0,13.096,9.233,0.616,0.0,0.0,0.0,0.0,2144.9,2994.5,2994.5,22.741,15.269,6.752,0.0,4.218,0.511,7.47,0.631,13.357,-15.479,0.0,0.0,0.0,8.316,-0.088,9.307,0.0,0.728,0.0,0.0,-8.943,-2.507,0.15,0.0,-0.5,-0.047,2.763,-0.016,-2.011,15.663,0.0,0.0,0.0,-6.322,-0.063,-2.08,-3.866,-0.157,0.0,0.0,7.837,2.003,1354.8,997.6,11399.5,2615.8,0.0,36000.0,24000.0,0.0,6.8,91.76,29821.0,0.0,9510.0,0.0,575.0,7194.0,3697.0,0.0,1949.0,0.0,6896.0,15704.0,0.0,9971.0,0.0,207.0,302.0,975.0,0.0,0.0,0.0,929.0,3320.0,0.0,0.0,0.0,0.0
base-atticroof-conditioned.xml,67.293,67.293,40.782,40.782,26.511,0.0,0.0,0.0,0.0,0.0,0.0,0.437,0.0,0.0,4.921,0.983,9.068,0.0,0.0,5.751,0.0,0.398,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,11.166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,26.511,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.831,0.0,16.409,9.18,0.614,0.0,0.0,0.0,0.0,2378.3,3719.8,3719.8,26.547,20.758,4.552,1.164,5.544,0.518,7.651,0.635,15.399,-16.987,0.0,0.0,0.0,8.521,-0.082,7.083,0.0,0.73,0.0,3.11,-10.232,-3.183,0.005,0.021,-0.566,-0.053,2.687,-0.029,-3.027,17.676,0.0,0.0,0.0,-6.349,-0.075,-1.69,-4.153,-0.166,0.0,0.937,8.933,2.568,1354.8,997.6,11399.6,2521.8,0.0,36000.0,24000.0,0.0,6.8,91.76,38184.0,7494.0,10436.0,0.0,575.0,7982.0,2464.0,0.0,1949.0,724.0,6561.0,18712.0,182.0,11700.0,0.0,207.0,1098.0,650.0,0.0,0.0,670.0,886.0,3320.0,0.0,0.0,0.0,0.0
base-atticroof-conditioned.xml,63.998,63.998,40.48,40.48,23.519,0.0,0.0,0.0,0.0,0.0,0.0,0.388,0.0,0.0,4.716,0.934,9.068,0.0,0.0,5.751,0.0,0.398,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,11.166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.009,0.0,15.57,9.18,0.614,0.0,0.0,0.0,0.0,2372.9,3431.1,3431.1,22.556,17.978,4.552,1.164,5.544,0.518,7.652,0.634,15.396,-16.987,0.0,0.0,0.0,8.521,-0.079,7.082,0.0,0.73,0.0,0.283,-10.23,-3.183,0.006,0.021,-0.566,-0.053,2.688,-0.03,-3.03,17.676,0.0,0.0,0.0,-6.349,-0.073,-1.691,-4.146,-0.166,0.0,0.089,8.934,2.568,1354.8,997.6,11399.6,2521.8,0.0,36000.0,24000.0,0.0,6.8,91.76,31467.0,777.0,10436.0,0.0,575.0,7982.0,2464.0,0.0,1949.0,724.0,6561.0,18531.0,0.0,11700.0,0.0,207.0,1098.0,650.0,0.0,0.0,670.0,886.0,3320.0,0.0,0.0,0.0,0.0
base-atticroof-flat.xml,55.025,55.025,35.109,35.109,19.917,0.0,0.0,0.0,0.0,0.0,0.0,0.329,0.0,0.0,3.657,0.683,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.917,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,18.638,0.0,11.332,9.233,0.615,0.0,0.0,0.0,0.0,2122.7,2676.8,2676.8,17.665,11.983,6.031,0.0,3.609,0.508,7.438,0.623,10.437,-12.555,0.0,0.0,0.0,8.179,-0.074,4.797,0.0,0.727,0.0,0.0,-8.909,-2.5,0.306,0.0,-0.447,-0.049,2.732,-0.023,-1.898,11.723,0.0,0.0,0.0,-6.268,-0.048,-1.153,-3.026,-0.163,0.0,0.0,7.87,2.01,1354.8,997.6,11399.5,2615.8,0.0,36000.0,24000.0,0.0,6.8,91.76,24776.0,0.0,7508.0,0.0,575.0,6840.0,3307.0,0.0,1949.0,0.0,4597.0,12320.0,0.0,7037.0,0.0,207.0,265.0,872.0,0.0,0.0,0.0,619.0,3320.0,0.0,0.0,0.0,0.0
base-atticroof-radiant-barrier.xml,37.385,37.385,33.168,33.168,4.217,0.0,0.0,0.0,0.0,0.0,0.0,0.018,0.0,0.0,9.236,1.963,6.821,0.0,0.0,2.647,0.0,0.238,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,4.187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.893,0.0,31.745,6.675,0.58,0.0,0.0,0.0,0.0,1819.0,3190.7,3190.7,13.54,17.969,0.0,6.125,1.589,0.0,0.0,0.33,4.482,-5.968,0.0,0.0,0.0,0.856,-0.331,0.992,0.0,0.4,0.0,0.104,-4.05,-0.858,0.0,2.477,0.172,0.0,0.0,0.203,2.089,16.047,0.0,0.0,0.0,2.125,-0.323,-0.274,-1.707,-0.047,0.0,0.366,9.113,1.789,1354.8,997.6,9989.0,2461.3,0.0,24000.0,24000.0,0.0,25.88,98.42,25739.0,1416.0,5241.0,0.0,401.0,1535.0,0.0,0.0,8539.0,6846.0,1760.0,22162.0,65.0,7662.0,0.0,313.0,637.0,0.0,0.0,0.0,9596.0,568.0,3320.0,1629.0,437.0,392.0,800.0
base-atticroof-unvented-insulated-roof.xml,57.557,57.557,35.266,35.266,22.291,0.0,0.0,0.0,0.0,0.0,0.0,0.368,0.0,0.0,3.755,0.701,9.166,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.291,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.862,0.0,11.601,9.233,0.615,0.0,0.0,0.0,0.0,2113.8,2770.7,2770.7,19.263,13.198,0.0,5.41,3.618,0.509,7.459,0.625,10.466,-12.56,0.0,0.0,0.0,8.254,-0.063,4.802,0.0,0.728,0.0,2.71,-8.917,-2.501,0.0,-1.422,-0.414,-0.045,2.832,-0.014,-1.793,11.723,0.0,0.0,0.0,-6.09,-0.054,-1.129,-2.881,-0.16,0.0,1.401,7.863,2.008,1354.8,997.6,11399.5,2615.8,0.0,36000.0,24000.0,0.0,6.8,91.76,30483.0,4824.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,4190.0,4597.0,19417.0,1771.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,6198.0,619.0,3320.0,0.0,0.0,0.0,0.0
Expand Down
Loading

0 comments on commit 5cf3a33

Please sign in to comment.