Skip to content

Commit bb711e1

Browse files
authored
Merge pull request #1752 from NREL/bob_ross_residence
Add Bob Ross Residence
2 parents d5a3942 + ded0af9 commit bb711e1

24 files changed

+11322
-1013
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@
9898
/weather/USA_AR_Batesville.AWOS.723448_TMY3.epw
9999
/weather/USA_AR_Bentonville.AWOS.723444_TMY3.epw
100100
/weather/USA_AR_El.Dorado-Goodwin.Field.723419_TMY3.epw
101-
/weather/USA_AR_Fayetteville-Drake.Field.723445_TMY3.epw
102101
/weather/USA_AR_Flippin.AWOS.723447_TMY3.epw
103102
/weather/USA_AR_Fort.Smith.Rgnl.AP.723440_TMY3.epw
104103
/weather/USA_AR_Harrison.AP.723446_TMY3.epw

Changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ __New Features__
44
- Adds inputs for modeling skylight curbs and/or shafts.
55
- HVAC Manual J design load and sizing calculations:
66
- Adds optional inputs and outputs for blower fan heat and piping load.
7+
- Miscellaneous improvements.
78
- Advanced research features:
89
- Maximum power ratio detailed schedule for variable-speed HVAC systems can now be used with `NumberofUnits` dwelling unit multiplier.
910

HPXMLtoOpenStudio/measure.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>hpxm_lto_openstudio</name>
55
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
6-
<version_id>e3cf35e9-a352-4b87-9862-1b4c43330a84</version_id>
7-
<version_modified>2024-06-17T22:16:28Z</version_modified>
6+
<version_id>36c17bcd-7457-4c11-a65a-478054e6e71c</version_id>
7+
<version_modified>2024-06-18T17:41:35Z</version_modified>
88
<xml_checksum>D8922A73</xml_checksum>
99
<class_name>HPXMLtoOpenStudio</class_name>
1010
<display_name>HPXML to OpenStudio Translator</display_name>
@@ -351,7 +351,7 @@
351351
<filename>hpxml_defaults.rb</filename>
352352
<filetype>rb</filetype>
353353
<usage_type>resource</usage_type>
354-
<checksum>EA81001E</checksum>
354+
<checksum>A65A4AE1</checksum>
355355
</file>
356356
<file>
357357
<filename>hpxml_schema/HPXML.xsd</filename>
@@ -387,7 +387,7 @@
387387
<filename>hvac_sizing.rb</filename>
388388
<filetype>rb</filetype>
389389
<usage_type>resource</usage_type>
390-
<checksum>C4D7EF6D</checksum>
390+
<checksum>372A7B61</checksum>
391391
</file>
392392
<file>
393393
<filename>lighting.rb</filename>

HPXMLtoOpenStudio/resources/hpxml_defaults.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ def self.apply_building(hpxml_bldg, epw_file)
649649
hpxml_bldg.site.ground_conductivity_isdefaulted = true
650650
hpxml_bldg.site.ground_diffusivity_isdefaulted = true
651651
elsif hpxml_bldg.site.soil_type == HPXML::SiteSoilTypeUnknown
652-
hpxml_bldg.site.ground_conductivity = 1.0
652+
hpxml_bldg.site.ground_conductivity = 1.0 # ANSI/RESNET/ICC 301-2022 Addendum C
653653
hpxml_bldg.site.ground_diffusivity = 0.0208
654654
hpxml_bldg.site.ground_conductivity_isdefaulted = true
655655
hpxml_bldg.site.ground_diffusivity_isdefaulted = true

HPXMLtoOpenStudio/resources/hvac_sizing.rb

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def self.calculate(runner, weather, hpxml_bldg, hvac_systems, update_hpxml: true
8181
apply_hvac_autosizing_factors_and_limits(hvac_sizings, hvac_heating, hvac_cooling)
8282
apply_hvac_final_capacities(hvac_sizings, hvac_heating, hvac_cooling, hpxml_bldg)
8383
apply_hvac_final_airflows(hvac_sizings, hvac_heating, hvac_cooling)
84-
apply_hvac_ground_loop(mj, runner, hvac_sizings, weather, hvac_cooling)
84+
apply_hvac_ground_loop(mj, runner, hvac_sizings, weather, hvac_cooling, hpxml_bldg)
8585
@all_hvac_sizings[hvac_system] = hvac_sizings
8686

8787
if update_hpxml
@@ -239,7 +239,26 @@ def self.process_site_calcs_and_design_temps(mj, weather, hpxml_bldg)
239239

240240
# Other
241241
mj.latitude = hpxml_bldg.latitude
242-
mj.ground_conductivity = hpxml_bldg.site.ground_conductivity
242+
if (not hpxml_bldg.site.soil_type.nil?) && (not hpxml_bldg.site.moisture_type.nil?)
243+
if ([HPXML::SiteSoilTypeClay,
244+
HPXML::SiteSoilTypeUnknown].include?(hpxml_bldg.site.soil_type) &&
245+
[HPXML::SiteSoilMoistureTypeWet,
246+
HPXML::SiteSoilMoistureTypeMixed].include?(hpxml_bldg.site.moisture_type))
247+
# Heavy moist soil, R-value/ft=1.25 (Manual J default for Table 4A)
248+
mj.ground_conductivity = 1.0 / 1.25
249+
elsif ([HPXML::SiteSoilTypeSand,
250+
HPXML::SiteSoilTypeGravel,
251+
HPXML::SiteSoilTypeSilt].include?(hpxml_bldg.site.soil_type) &&
252+
[HPXML::SiteSoilMoistureTypeDry].include?(hpxml_bldg.site.moisture_type))
253+
# Light dry soil, R-value/ft=5.0
254+
mj.ground_conductivity = 1.0 / 5.0
255+
else
256+
# Heavy dry or light moist soil, R-value/ft=2.0
257+
mj.ground_conductivity = 1.0 / 2.0
258+
end
259+
else
260+
mj.ground_conductivity = hpxml_bldg.site.ground_conductivity
261+
end
243262

244263
# Design Temperatures
245264

@@ -2669,8 +2688,9 @@ def self.apply_hvac_final_capacities(hvac_sizings, hvac_heating, hvac_cooling, h
26692688
# @param hvac_sizings [TODO] TODO
26702689
# @param weather [WeatherProcess] Weather object
26712690
# @param hvac_cooling [TODO] TODO
2691+
# @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit
26722692
# @return [TODO] TODO
2673-
def self.apply_hvac_ground_loop(mj, runner, hvac_sizings, weather, hvac_cooling)
2693+
def self.apply_hvac_ground_loop(mj, runner, hvac_sizings, weather, hvac_cooling, hpxml_bldg)
26742694
cooling_type = get_hvac_cooling_type(hvac_cooling)
26752695

26762696
return if cooling_type != HPXML::HVACTypeHeatPumpGroundToAir
@@ -2699,7 +2719,8 @@ def self.apply_hvac_ground_loop(mj, runner, hvac_sizings, weather, hvac_cooling)
26992719
hvac_cooling_ap = hvac_cooling.additional_properties
27002720
grout_conductivity = geothermal_loop.grout_conductivity
27012721
pipe_r_value = gshp_hx_pipe_rvalue(hvac_cooling)
2702-
nom_length_heat, nom_length_cool = gshp_hxbore_ft_per_ton(mj, weather, hvac_cooling_ap, bore_spacing, bore_diameter, grout_conductivity, pipe_r_value)
2722+
ground_conductivity = hpxml_bldg.site.ground_conductivity
2723+
nom_length_heat, nom_length_cool = gshp_hxbore_ft_per_ton(mj, weather, hvac_cooling_ap, bore_spacing, bore_diameter, grout_conductivity, pipe_r_value, ground_conductivity)
27032724
bore_length_heat = nom_length_heat * hvac_sizings.Heat_Capacity / UnitConversions.convert(1.0, 'ton', 'Btu/hr')
27042725
bore_length_cool = nom_length_cool * hvac_sizings.Cool_Capacity / UnitConversions.convert(1.0, 'ton', 'Btu/hr')
27052726
bore_length = [bore_length_heat, bore_length_cool].max
@@ -3836,8 +3857,9 @@ def self.gshp_hx_pipe_rvalue(hvac_cooling)
38363857
# @param bore_diameter [TODO] TODO
38373858
# @param grout_conductivity [TODO] TODO
38383859
# @param pipe_r_value [TODO] TODO
3860+
# @param ground_conductivity [TODO] TODO
38393861
# @return [TODO] TODO
3840-
def self.gshp_hxbore_ft_per_ton(mj, weather, hvac_cooling_ap, bore_spacing, bore_diameter, grout_conductivity, pipe_r_value)
3862+
def self.gshp_hxbore_ft_per_ton(mj, weather, hvac_cooling_ap, bore_spacing, bore_diameter, grout_conductivity, pipe_r_value, ground_conductivity)
38413863
if hvac_cooling_ap.u_tube_spacing_type == 'b'
38423864
beta_0 = 17.4427
38433865
beta_1 = -0.6052
@@ -3849,7 +3871,7 @@ def self.gshp_hxbore_ft_per_ton(mj, weather, hvac_cooling_ap, bore_spacing, bore
38493871
beta_1 = -0.94467
38503872
end
38513873

3852-
r_value_ground = Math.log(bore_spacing / bore_diameter * 12.0) / 2.0 / Math::PI / mj.ground_conductivity
3874+
r_value_ground = Math.log(bore_spacing / bore_diameter * 12.0) / 2.0 / Math::PI / ground_conductivity
38533875
r_value_grout = 1.0 / grout_conductivity / beta_0 / ((bore_diameter / hvac_cooling_ap.pipe_od)**beta_1)
38543876
r_value_bore = r_value_grout + pipe_r_value / 2.0 # Note: Convection resistance is negligible when calculated against Glhepro (Jeffrey D. Spitler, 2000)
38553877

docs/source/workflow_inputs.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,9 @@ Site information is entered in ``/HPXML/Building/BuildingDetails/BuildingSummary
474474
.. [#] If ShieldingofHome not provided, defaults to "normal" for single-family detached or manufactured home and "well-shielded" for single-family attached or apartment unit.
475475
.. [#] SoilType choices are "sand", "silt", "clay", "loam", "gravel", or "unknown".
476476
.. [#] MoistureType choices are "dry", "wet", or "mixed".
477-
.. [#] If Conductivity not provided, defaults to Diffusivity / 0.0208 if Diffusivity provided, otherwise defaults based on SoilType and MoistureType:
477+
.. [#] If Conductivity not provided, defaults to Diffusivity / 0.0208 if Diffusivity provided, otherwise defaults based on SoilType and MoistureType per Table 1 of `Ground Thermal Diffusivity Calculation by Direct Soil Temperature Measurement <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4813881>`_ unless otherwise noted:
478478
479-
\- **unknown, dry/wet/mixed**: 1.0000
479+
\- **unknown, dry/wet/mixed**: 1.0000 (based on ANSI/RESNET/ICC 301-2022 Addendum C)
480480
481481
\- **sand/gravel, dry**: 0.2311
482482
@@ -496,7 +496,7 @@ Site information is entered in ``/HPXML/Building/BuildingDetails/BuildingSummary
496496
497497
\- **gravel, mixed**: 0.6355
498498
499-
.. [#] If Diffusivity not provided, defaults to Conductivity * 0.0208 if Conductivity provided, otherwise defaults based on SoilType and MoistureType:
499+
.. [#] If Diffusivity not provided, defaults to Conductivity * 0.0208 if Conductivity provided, otherwise defaults based on SoilType and MoistureType per Table 1 of `Ground Thermal Diffusivity Calculation by Direct Soil Temperature Measurement <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4813881>`_:
500500
501501
\- **unknown, dry/wet/mixed**: 0.0208
502502
@@ -520,9 +520,8 @@ Site information is entered in ``/HPXML/Building/BuildingDetails/BuildingSummary
520520
521521
.. note::
522522

523-
Default Conductivity and Diffusivity values based on SoilType/MoistureType provided by Table 1 of `Ground Thermal Diffusivity Calculation by Direct Soil Temperature Measurement. Application to very Low Enthalpy Geothermal Energy Systems <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4813881>`_ (with the exception of "unknown").
524-
Conductivity is used for foundation heat transfer and ground source heat pumps.
525-
Diffusivity is used for ground source heat pumps.
523+
Soil conductivity is used for foundation heat transfer and ground source heat pumps.
524+
Soil diffusivity is used for ground source heat pumps.
526525

527526
.. _neighbor_buildings:
528527

0 commit comments

Comments
 (0)