Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manual J foundation wall bugfix #1887

Merged
merged 2 commits into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions 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>b20ae61b-bf29-4be9-8e25-a44b3b12c232</version_id>
<version_modified>2024-11-16T00:20:48Z</version_modified>
<version_id>531c1027-0d75-4343-a8ce-6717ad2b9924</version_id>
<version_modified>2024-11-16T04:46:12Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -393,7 +393,7 @@
<filename>hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>FEB17D7B</checksum>
<checksum>C6F9CE12</checksum>
</file>
<file>
<filename>internal_gains.rb</filename>
Expand Down Expand Up @@ -423,7 +423,7 @@
<filename>math.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>FEB72476</checksum>
<checksum>CE6D107B</checksum>
</file>
<file>
<filename>meta_measure.rb</filename>
Expand Down Expand Up @@ -693,7 +693,7 @@
<filename>test_hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>561E6631</checksum>
<checksum>E1BC3865</checksum>
</file>
<file>
<filename>test_lighting.rb</filename>
Expand Down
66 changes: 46 additions & 20 deletions HPXMLtoOpenStudio/resources/hvac_sizing.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4795,15 +4795,36 @@ def self.get_foundation_wall_above_grade_ufactor(foundation_wall, include_insula

assembly_r = Material.FoundationWallMaterial(foundation_wall.type, foundation_wall.thickness).rvalue
assembly_r += Material.AirFilmVertical.rvalue + Material.AirFilmOutside.rvalue
if include_insulation_layers
if foundation_wall.insulation_interior_distance_to_top == 0 && foundation_wall.insulation_interior_distance_to_bottom > 0
assembly_r += foundation_wall.insulation_interior_r_value
end
if foundation_wall.insulation_exterior_distance_to_top == 0 && foundation_wall.insulation_exterior_distance_to_bottom > 0
assembly_r += foundation_wall.insulation_exterior_r_value
end
if not include_insulation_layers
return 1.0 / assembly_r
end

ag_depth = foundation_wall.height - foundation_wall.depth_below_grade
wall_ins_dist_bottom_to_grade_int = ag_depth - foundation_wall.insulation_interior_distance_to_bottom
wall_ins_dist_top_to_grade_int = ag_depth - foundation_wall.insulation_interior_distance_to_top
wall_ins_dist_bottom_to_grade_ext = ag_depth - foundation_wall.insulation_exterior_distance_to_bottom
wall_ins_dist_top_to_grade_ext = ag_depth - foundation_wall.insulation_exterior_distance_to_top
# Perform calculation for each 1ft bin of above grade depth
sum_u_wall = 0.0
for distance_to_grade in 1..ag_depth.ceil
r_wall = assembly_r

bin_dist_top_to_grade = [distance_to_grade, ag_depth].min
bin_dist_bottom_to_grade = distance_to_grade - 1
bin_size = bin_dist_top_to_grade - bin_dist_bottom_to_grade # Last bin may be less than 1 ft

# Add interior insulation R-value at this depth?
bin_frac_insulated_int = MathTools.overlap(bin_dist_bottom_to_grade, bin_dist_top_to_grade, wall_ins_dist_bottom_to_grade_int, wall_ins_dist_top_to_grade_int) / bin_size
r_wall += foundation_wall.insulation_interior_r_value * bin_frac_insulated_int # Interior insulation at this depth, add R-value

# Add exterior insulation R-value at this depth?
bin_frac_insulated_ext = MathTools.overlap(bin_dist_bottom_to_grade, bin_dist_top_to_grade, wall_ins_dist_bottom_to_grade_ext, wall_ins_dist_top_to_grade_ext) / bin_size
r_wall += foundation_wall.insulation_exterior_r_value * bin_frac_insulated_ext # Exterior insulation at this depth, add R-value

sum_u_wall += (1.0 / r_wall) * bin_size
end
return 1.0 / assembly_r
u_wall = sum_u_wall / ag_depth
return u_wall
end

# Calculates the foundation wall below grade effective U-factor according to Manual J Section A12-4.
Expand Down Expand Up @@ -4832,22 +4853,27 @@ def self.get_foundation_wall_below_grade_ufactor(foundation_wall, include_soil,

# Perform calculation for each 1ft bin of below grade depth
sum_u_wall = 0.0
wall_depth_above_grade = foundation_wall.depth_below_grade.ceil
for distance_to_grade in 1..wall_depth_above_grade
for distance_to_grade in 1..foundation_wall.depth_below_grade.ceil
# Calculate R-wall at this depth
r_wall = wall_constr_rvalue - Material.AirFilmOutside.rvalue
bin_distance_to_grade = distance_to_grade - 0.5 # Use e.g. 2.5 ft for the 2ft-3ft bin
r_soil = (Math::PI * bin_distance_to_grade / 2.0) / ground_conductivity
if (distance_to_grade > wall_ins_dist_top_to_grade_int) && (distance_to_grade <= wall_ins_dist_bottom_to_grade_int)
r_wall += wall_ins_rvalue_int # Interior insulation at this depth, add R-value
end
if (distance_to_grade > wall_ins_dist_top_to_grade_ext) && (distance_to_grade <= wall_ins_dist_bottom_to_grade_ext)
r_wall += wall_ins_rvalue_ext # Exterior insulation at this depth, add R-value
end
bin_dist_top_to_grade = distance_to_grade - 1
bin_dist_bottom_to_grade = [distance_to_grade, foundation_wall.depth_below_grade].min
bin_size = bin_dist_bottom_to_grade - bin_dist_top_to_grade # Last bin may be less than 1 ft
bin_avg_dist_to_grade = (bin_dist_top_to_grade + bin_dist_bottom_to_grade) / 2.0

# Add interior insulation R-value at this depth?
bin_frac_insulated_int = MathTools.overlap(bin_dist_top_to_grade, bin_dist_bottom_to_grade, wall_ins_dist_top_to_grade_int, wall_ins_dist_bottom_to_grade_int) / bin_size
r_wall += wall_ins_rvalue_int * bin_frac_insulated_int

# Add exterior insulation R-value at this depth?
bin_frac_insulated_ext = MathTools.overlap(bin_dist_top_to_grade, bin_dist_bottom_to_grade, wall_ins_dist_top_to_grade_ext, wall_ins_dist_bottom_to_grade_ext) / bin_size
r_wall += wall_ins_rvalue_ext * bin_frac_insulated_ext # Exterior insulation at this depth, add R-value

if include_soil
sum_u_wall += 1.0 / (r_soil + r_wall)
r_soil = (Math::PI * bin_avg_dist_to_grade / 2.0) / ground_conductivity
sum_u_wall += (1.0 / (r_soil + r_wall)) * bin_size
else
sum_u_wall += 1.0 / r_wall
sum_u_wall += (1.0 / r_wall) * bin_size
end
end
u_wall = sum_u_wall / foundation_wall.depth_below_grade
Expand Down
19 changes: 15 additions & 4 deletions HPXMLtoOpenStudio/resources/math.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def self.interp4(x, y, x1, x2, y1, y2, fx1y1, fx1y2, fx2y1, fx2y2)
+ (fx2y2 / ((x2 - x1) * (y2 - y1))) * (x - x1) * (y - y1)
end

# Calculate the result of a biquadratic polynomial with independent variables.
# Calculates the result of a biquadratic polynomial with independent variables.
# x and y, and a list of coefficients, c:
#
# z = c[1] + c[2]*x + c[3]*x**2 + c[4]*y + c[5]*y**2 + c[6]*x*y
Expand All @@ -52,7 +52,7 @@ def self.biquadratic(x, y, c)
return z
end

# Calculate the result of a quadratic polynomial with independent variable.
# Calculates the result of a quadratic polynomial with independent variable.
# x and a list of coefficients, c:
#
# y = c[1] + c[2]*x + c[3]*x**2
Expand All @@ -70,9 +70,9 @@ def self.quadratic(x, c)
return y
end

# Calculate the result of a bicubic polynomial with independent variables.
# Calculates the result of a bicubic polynomial with independent variables.
# x and y, and a list of coefficients, c:

#
# z = c[1] + c[2]*x + c[3]*y + c[4]*x**2 + c[5]*x*y + c[6]*y**2 + \
# c[7]*x**3 + c[8]*y*x**2 + c[9]*x*y**2 + c[10]*y**3
#
Expand All @@ -91,6 +91,17 @@ def self.bicubic(x, y, c)
return z
end

# Calculates the overlap distance of two 1D line segments.
#
# @param min1 [Double] min value of line 1
# @param max1 [Double] max value of line 1
# @param min2 [Double] min value of line 2
# @param max2 [Double] max value of line 2
# @return [Double] overlap distance
def self.overlap(min1, max1, min2, max2)
return [0.0, [max1, max2].min - [min1, min2].max].max
end

# Determine if a guess is within tolerance for convergence.
# If not, output a new guess using the Newton-Raphson method.
#
Expand Down
48 changes: 48 additions & 0 deletions HPXMLtoOpenStudio/tests/test_hvac_sizing.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1678,6 +1678,54 @@ def test_manual_j_basement_wall_below_grade_ufactor
end
end

def test_foundation_wall_non_integer_values
tol = 0.01 # 1%

# Test wall insulation covering most of above and below-grade portions of wall
fwall = HPXML::FoundationWall.new(nil)
fwall.height = 5.0
fwall.depth_below_grade = 1.5
fwall.type = HPXML::FoundationWallTypeSolidConcrete
fwall.thickness = 4.0 # in
fwall.insulation_interior_r_value = 10.0
fwall.insulation_exterior_r_value = 0.0
fwall.insulation_interior_distance_to_top = 0.3
fwall.insulation_exterior_distance_to_top = 0.0
fwall.insulation_interior_distance_to_bottom = 4.9
fwall.insulation_exterior_distance_to_bottom = 0.0
rvalue = 1.0 / HVACSizing.get_foundation_wall_below_grade_ufactor(fwall, false, nil)
assert_in_epsilon(10.25, rvalue, tol)
rvalue = 1.0 / HVACSizing.get_foundation_wall_above_grade_ufactor(fwall, true)
assert_in_epsilon(9.6, rvalue, tol)

# Same as above but test exterior wall insulation
fwall.insulation_interior_r_value = 0.0
fwall.insulation_exterior_r_value = 10.0
fwall.insulation_interior_distance_to_top = 0.0
fwall.insulation_exterior_distance_to_top = 0.3
fwall.insulation_interior_distance_to_bottom = 0.0
fwall.insulation_exterior_distance_to_bottom = 4.9
rvalue = 1.0 / HVACSizing.get_foundation_wall_below_grade_ufactor(fwall, false, nil)
assert_in_epsilon(10.25, rvalue, tol)
rvalue = 1.0 / HVACSizing.get_foundation_wall_above_grade_ufactor(fwall, true)
assert_in_epsilon(9.6, rvalue, tol)

# Test small coverage of below-grade portion of wall, no coverage of above-grade
fwall.insulation_exterior_distance_to_top = 4.4
rvalue = 1.0 / HVACSizing.get_foundation_wall_below_grade_ufactor(fwall, false, nil)
assert_in_epsilon(2.7, rvalue, tol)
rvalue = 1.0 / HVACSizing.get_foundation_wall_above_grade_ufactor(fwall, true)
assert_in_epsilon(1.2, rvalue, tol)

# Test small coverage of above-grade portion of wall, no coverage of below-grade
fwall.insulation_exterior_distance_to_top = 2.3
fwall.insulation_exterior_distance_to_bottom = 3.5
rvalue = 1.0 / HVACSizing.get_foundation_wall_below_grade_ufactor(fwall, false, nil)
assert_in_epsilon(1.0, rvalue, tol)
rvalue = 1.0 / HVACSizing.get_foundation_wall_above_grade_ufactor(fwall, true)
assert_in_epsilon(2.1, rvalue, tol)
end

def test_multiple_zones
# Run base-zones-spaces-multiple.xml
args_hash = {}
Expand Down
16 changes: 8 additions & 8 deletions workflow/tests/base_results/results_simulations_hvac.csv
Original file line number Diff line number Diff line change
Expand Up @@ -461,21 +461,21 @@ house012.xml,24.62,91.58,23400.0,23200.0,0.0,14401.0,1329.0,1906.0,0.0,333.0,290
house013.xml,24.62,91.58,18000.0,18000.0,17060.0,13514.0,3725.0,2049.0,0.0,363.0,1822.0,0.0,1575.0,0.0,1042.0,2434.0,504.0,0.0,10760.0,1618.0,2200.0,0.0,221.0,679.0,0.0,576.0,0.0,1644.0,439.0,184.0,3090.0,0.0,109.0,1721.0,312.0,569.0,239.0,600.0
house014.xml,24.62,91.58,18000.0,18000.0,17060.0,14773.0,3864.0,2335.0,0.0,320.0,2332.0,0.0,1632.0,0.0,1080.0,2689.0,521.0,0.0,12196.0,1685.0,3377.0,0.0,194.0,869.0,0.0,596.0,0.0,1703.0,490.0,190.0,3090.0,0.0,0.0,1795.0,312.0,636.0,247.0,600.0
house015.xml,24.62,91.58,18000.0,18000.0,17060.0,13514.0,3725.0,2049.0,0.0,363.0,1822.0,0.0,1575.0,0.0,1042.0,2434.0,504.0,0.0,10760.0,1618.0,2200.0,0.0,221.0,679.0,0.0,576.0,0.0,1644.0,439.0,184.0,3090.0,0.0,109.0,1721.0,312.0,569.0,239.0,600.0
house016.xml,19.22,86.72,136000.0,36000.0,36000.0,26557.0,0.0,5399.0,0.0,171.0,10796.0,0.0,0.0,2279.0,2689.0,5224.0,0.0,0.0,18908.0,0.0,7747.0,0.0,90.0,3618.0,0.0,0.0,0.0,2156.0,585.0,0.0,3320.0,0.0,1391.0,1976.0,0.0,1176.0,0.0,800.0
house016.xml,19.22,86.72,136000.0,36000.0,36000.0,26482.0,0.0,5399.0,0.0,171.0,10721.0,0.0,0.0,2279.0,2689.0,5224.0,0.0,0.0,18908.0,0.0,7747.0,0.0,90.0,3618.0,0.0,0.0,0.0,2156.0,585.0,0.0,3320.0,0.0,1391.0,1976.0,0.0,1176.0,0.0,800.0
house017.xml,16.16,89.24,60000.0,24000.0,0.0,36794.0,0.0,4833.0,0.0,181.0,15647.0,0.0,424.0,1146.0,3048.0,11516.0,0.0,0.0,17960.0,0.0,5437.0,0.0,85.0,3759.0,0.0,176.0,0.0,2221.0,1559.0,0.0,3550.0,0.0,1173.0,3517.0,0.0,2517.0,0.0,1000.0
house018.xml,19.22,86.72,36000.0,36000.0,36000.0,20834.0,7443.0,2514.0,0.0,150.0,3004.0,0.0,1852.0,0.0,2749.0,3122.0,0.0,0.0,13118.0,2787.0,1961.0,0.0,79.0,790.0,0.0,427.0,0.0,2204.0,350.0,0.0,4520.0,0.0,0.0,2774.0,1271.0,703.0,0.0,800.0
house019.xml,16.16,89.24,100000.0,60000.0,0.0,50019.0,0.0,9523.0,0.0,1028.0,26810.0,0.0,0.0,1481.0,5769.0,5408.0,0.0,0.0,33949.0,0.0,12218.0,0.0,482.0,11373.0,0.0,0.0,0.0,4204.0,732.0,0.0,4520.0,0.0,420.0,1982.0,0.0,1182.0,0.0,800.0
house020.xml,19.22,86.72,120000.0,60000.0,0.0,44786.0,0.0,10325.0,0.0,395.0,14251.0,598.0,0.0,2185.0,6812.0,10221.0,0.0,0.0,26134.0,0.0,10675.0,0.0,208.0,3871.0,253.0,0.0,0.0,5463.0,1145.0,0.0,4520.0,0.0,0.0,3102.0,0.0,2302.0,0.0,800.0
house021.xml,16.16,89.24,130000.0,60000.0,0.0,52327.0,7802.0,10175.0,0.0,318.0,15976.0,0.0,474.0,1561.0,3431.0,12589.0,0.0,0.0,29308.0,5825.0,9824.0,0.0,149.0,4358.0,0.0,196.0,0.0,2501.0,1704.0,0.0,4750.0,0.0,0.0,4907.0,1155.0,2752.0,0.0,1000.0
house020.xml,19.22,86.72,120000.0,60000.0,0.0,44565.0,0.0,10325.0,0.0,395.0,14030.0,598.0,0.0,2185.0,6812.0,10221.0,0.0,0.0,26134.0,0.0,10675.0,0.0,208.0,3871.0,253.0,0.0,0.0,5463.0,1145.0,0.0,4520.0,0.0,0.0,3102.0,0.0,2302.0,0.0,800.0
house021.xml,16.16,89.24,130000.0,60000.0,0.0,52296.0,7801.0,10175.0,0.0,318.0,15948.0,0.0,474.0,1561.0,3431.0,12589.0,0.0,0.0,29308.0,5825.0,9824.0,0.0,149.0,4358.0,0.0,196.0,0.0,2501.0,1704.0,0.0,4750.0,0.0,0.0,4907.0,1155.0,2752.0,0.0,1000.0
house022.xml,16.16,89.24,100000.0,36000.0,0.0,53870.0,0.0,10741.0,0.0,737.0,11570.0,2029.0,5583.0,0.0,2115.0,21097.0,0.0,0.0,25886.0,0.0,8964.0,0.0,345.0,4993.0,1190.0,1477.0,0.0,1542.0,2856.0,0.0,4520.0,0.0,0.0,5411.0,0.0,4611.0,0.0,800.0
house023.xml,16.16,89.24,125000.0,42000.0,0.0,45714.0,0.0,5067.0,0.0,362.0,19026.0,0.0,0.0,1359.0,4899.0,15002.0,0.0,0.0,23533.0,0.0,7842.0,0.0,170.0,4369.0,0.0,0.0,0.0,3570.0,2017.0,0.0,4750.0,0.0,815.0,4258.0,0.0,3258.0,0.0,1000.0
house024.xml,16.16,89.24,85000.0,30000.0,0.0,62493.0,14489.0,4381.0,0.0,318.0,17712.0,0.0,4806.0,0.0,4266.0,16520.0,0.0,0.0,22253.0,1146.0,4065.0,0.0,149.0,6956.0,0.0,1271.0,0.0,3109.0,2236.0,0.0,3320.0,0.0,0.0,6674.0,2263.0,3611.0,0.0,800.0
house024.xml,16.16,89.24,85000.0,30000.0,0.0,62450.0,14482.0,4381.0,0.0,318.0,17712.0,0.0,4770.0,0.0,4266.0,16520.0,0.0,0.0,22244.0,1147.0,4065.0,0.0,149.0,6956.0,0.0,1262.0,0.0,3109.0,2236.0,0.0,3320.0,0.0,0.0,6673.0,2261.0,3611.0,0.0,800.0
house025.xml,24.62,91.58,158000.0,81000.0,33000.0,58916.0,24150.0,4722.0,0.0,1238.0,9584.0,0.0,6668.0,0.0,1863.0,10692.0,0.0,0.0,36229.0,12064.0,7472.0,0.0,752.0,4870.0,0.0,2436.0,0.0,1707.0,2185.0,0.0,4520.0,0.0,224.0,9603.0,5968.0,2835.0,0.0,800.0
house026.xml,24.62,91.58,84000.0,0.0,0.0,22263.0,0.0,3869.0,0.0,128.0,5954.0,0.0,5911.0,0.0,1459.0,4942.0,0.0,0.0,18030.0,0.0,5623.0,0.0,78.0,2615.0,0.0,2232.0,0.0,2302.0,1200.0,0.0,3320.0,0.0,661.0,2356.0,0.0,1556.0,0.0,800.0
house027.xml,24.62,91.58,75000.0,36000.0,0.0,37405.0,7703.0,4494.0,0.0,375.0,6506.0,550.0,305.0,7854.0,1516.0,8102.0,0.0,0.0,20235.0,3775.0,4295.0,0.0,228.0,3194.0,270.0,163.0,0.0,2392.0,2456.0,0.0,3320.0,0.0,142.0,5745.0,1758.0,3187.0,0.0,800.0
house028.xml,24.62,91.58,75000.0,36000.0,0.0,30833.0,8672.0,4365.0,0.0,346.0,5417.0,616.0,217.0,3265.0,1488.0,6447.0,0.0,0.0,20990.0,3943.0,5941.0,0.0,203.0,2395.0,374.0,113.0,0.0,2348.0,1599.0,0.0,3550.0,0.0,524.0,5099.0,2024.0,2075.0,0.0,1000.0
house029.xml,17.24,91.22,77000.0,36000.0,0.0,30616.0,3395.0,4924.0,0.0,208.0,8320.0,0.0,3185.0,0.0,2105.0,8480.0,0.0,0.0,17077.0,-566.0,5126.0,0.0,131.0,3041.0,0.0,979.0,0.0,2842.0,1688.0,0.0,3320.0,0.0,517.0,3961.0,903.0,2258.0,0.0,800.0
house030.xml,17.24,91.22,87000.0,0.0,0.0,19524.0,0.0,3366.0,0.0,508.0,7724.0,0.0,0.0,2699.0,1036.0,4190.0,0.0,0.0,11115.0,0.0,2821.0,0.0,278.0,2572.0,0.0,0.0,0.0,1399.0,944.0,0.0,3090.0,0.0,10.0,1863.0,0.0,1263.0,0.0,600.0
house029.xml,17.24,91.22,77000.0,36000.0,0.0,29021.0,3361.0,4924.0,0.0,208.0,8320.0,0.0,1623.0,0.0,2105.0,8480.0,0.0,0.0,16602.0,-561.0,5126.0,0.0,131.0,3041.0,0.0,499.0,0.0,2842.0,1688.0,0.0,3320.0,0.0,517.0,3961.0,903.0,2258.0,0.0,800.0
house030.xml,17.24,91.22,87000.0,0.0,0.0,19417.0,0.0,3366.0,0.0,508.0,7618.0,0.0,0.0,2699.0,1036.0,4190.0,0.0,0.0,11115.0,0.0,2821.0,0.0,278.0,2572.0,0.0,0.0,0.0,1399.0,944.0,0.0,3090.0,0.0,10.0,1863.0,0.0,1263.0,0.0,600.0
house031.xml,16.16,89.24,200000.0,96000.0,0.0,82913.0,13668.0,10261.0,0.0,650.0,23683.0,0.0,1039.0,1227.0,7333.0,25050.0,0.0,0.0,45405.0,9884.0,13165.0,0.0,305.0,8876.0,0.0,431.0,0.0,5345.0,3391.0,0.0,4010.0,0.0,0.0,8656.0,1780.0,5476.0,0.0,1400.0
house032.xml,16.16,89.24,75000.0,0.0,0.0,38366.0,0.0,5132.0,0.0,690.0,18895.0,0.0,0.0,1286.0,5647.0,6716.0,0.0,0.0,19521.0,0.0,6289.0,0.0,324.0,4335.0,0.0,0.0,0.0,4115.0,907.0,0.0,3550.0,0.0,0.0,2465.0,0.0,1465.0,0.0,1000.0
house033.xml,16.16,89.24,109000.0,0.0,0.0,32532.0,0.0,5273.0,0.0,362.0,6028.0,0.0,4854.0,0.0,8461.0,7556.0,0.0,0.0,19372.0,0.0,4578.0,0.0,170.0,2603.0,0.0,1284.0,0.0,6166.0,1021.0,0.0,3550.0,0.0,0.0,2648.0,0.0,1648.0,0.0,1000.0
Expand All @@ -489,8 +489,8 @@ house040.xml,16.16,89.24,75000.0,0.0,0.0,44416.0,0.0,7249.0,0.0,1028.0,13896.0,5
house041.xml,-13.72,81.14,75000.0,30000.0,0.0,108662.0,0.0,18666.0,0.0,1624.0,41126.0,0.0,2729.0,7268.0,5077.0,32172.0,0.0,0.0,29020.0,0.0,12100.0,0.0,293.0,4460.0,0.0,394.0,0.0,3708.0,846.0,0.0,3550.0,0.0,3669.0,2295.0,0.0,1295.0,0.0,1000.0
house042.xml,-13.72,81.14,90000.0,24000.0,0.0,96150.0,0.0,17465.0,0.0,1112.0,41512.0,0.0,927.0,2608.0,4248.0,28278.0,0.0,0.0,17836.0,0.0,5082.0,0.0,249.0,4415.0,0.0,13.0,0.0,3102.0,741.0,0.0,3550.0,0.0,685.0,2134.0,0.0,1134.0,0.0,1000.0
house043.xml,-13.72,81.14,90000.0,30000.0,0.0,64332.0,0.0,11581.0,0.0,2533.0,29951.0,0.0,202.0,1896.0,1519.0,16650.0,0.0,0.0,16137.0,0.0,5002.0,0.0,572.0,3716.0,0.0,3.0,0.0,1109.0,436.0,0.0,3320.0,0.0,1979.0,1468.0,0.0,668.0,0.0,800.0
house044.xml,-13.72,81.14,110000.0,36000.0,0.0,83025.0,0.0,8422.0,0.0,1467.0,30320.0,1911.0,5521.0,1706.0,3592.0,30085.0,0.0,0.0,21809.0,0.0,6118.0,0.0,269.0,3897.0,368.0,208.0,0.0,2623.0,787.0,0.0,3320.0,0.0,4218.0,2005.0,0.0,1205.0,0.0,800.0
house045.xml,-13.72,81.14,70000.0,30000.0,0.0,52712.0,0.0,8558.0,455.0,472.0,24464.0,1464.0,31.0,1726.0,1367.0,14175.0,0.0,0.0,14801.0,0.0,7799.0,810.0,110.0,1109.0,193.0,0.0,0.0,999.0,461.0,0.0,3320.0,0.0,0.0,1506.0,0.0,706.0,0.0,800.0
house044.xml,-13.72,81.14,110000.0,36000.0,0.0,82332.0,0.0,8422.0,0.0,1467.0,29628.0,1911.0,5521.0,1706.0,3592.0,30085.0,0.0,0.0,21809.0,0.0,6118.0,0.0,269.0,3897.0,368.0,208.0,0.0,2623.0,787.0,0.0,3320.0,0.0,4218.0,2005.0,0.0,1205.0,0.0,800.0
house045.xml,-13.72,81.14,70000.0,30000.0,0.0,52400.0,0.0,8558.0,455.0,472.0,24152.0,1464.0,31.0,1726.0,1367.0,14175.0,0.0,0.0,14801.0,0.0,7799.0,810.0,110.0,1109.0,193.0,0.0,0.0,999.0,461.0,0.0,3320.0,0.0,0.0,1506.0,0.0,706.0,0.0,800.0
house046.xml,24.62,91.58,18000.0,18000.0,17065.0,16969.0,3903.0,1800.0,0.0,182.0,2847.0,0.0,0.0,0.0,1604.0,6633.0,0.0,0.0,15182.0,3716.0,2178.0,0.0,110.0,1595.0,0.0,0.0,0.0,1823.0,1399.0,0.0,2860.0,0.0,1500.0,2698.0,483.0,1815.0,0.0,400.0
house047.xml,19.22,86.72,20000.0,18000.0,0.0,7271.0,1053.0,1216.0,0.0,0.0,630.0,0.0,0.0,662.0,0.0,3710.0,0.0,0.0,4199.0,0.0,516.0,0.0,0.0,200.0,0.0,0.0,0.0,0.0,623.0,0.0,2860.0,0.0,0.0,1652.0,0.0,1252.0,0.0,400.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
Expand Down