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

Geothermal loop & soil properties #1391

Merged
merged 273 commits into from
Dec 11, 2023
Merged

Geothermal loop & soil properties #1391

merged 273 commits into from
Dec 11, 2023

Conversation

joseph-robertson
Copy link
Collaborator

@joseph-robertson joseph-robertson commented May 15, 2023

Pull Request Description

Addresses #1202.

Connect to new HVACPlant/GeothermalLoop object: hpxmlwg/hpxml#367.
Connect to new BuildingSummary/Site/Soil object: hpxmlwg/hpxml#373.

To maintain existing behavior, the following inputs (set in hvac.rb's set_gshp_assumptions method) can be moved over to HPXML GeothermalLoop and Soil fields?

GeothermalLoop OS-HPXML Notes
LoopType u_tube_spacing_type Choices of 'as', 'b', 'c'. Always set to 'b'.
LoopConfiguration loop_configuration Always set to "vertical".
LoopFlow loop_flow Can be autosized in hvac_sizing.rb's apply_hvac_ground_loop method.
BoreholesOrTrenches/Count num_bore_holes Can be autosized in hvac_sizing.rb's apply_hvac_ground_loop method.
BoreholesOrTrenches/Length bore_length  Can be autosized in hvac_sizing.rb's apply_hvac_ground_loop method.
BoreholesOrTrenches/Spacing bore_spacing Default to 16.4 ft.
BoreholesOrTrenches/Diameter bore_diameter Default to 5.0 in.
Grout/Type grout_type Default to "standard". 
Grout/Conductivity grout_conductivity Default to 0.4 ("standard") or 0.8 ("thermally enhanced") Btu/h-ft-R.
Pipe/Type    
Pipe/Conductivity pipe_cond Default to 0.23 Btu/h-ft-R. 
Pipe/Diameter pipe_size Default to 1.25 in.
Pipe/ShankSpacing shank_spacing Default to u_tube_spacing + pipe_od.
extension/BorefieldConfiguration bore_config Default based on BoreholesOrTrenches/Count.
  design_delta_t  
  frac_glycol Changed from 0.3 to 0.2.
  pipe_od  
  pipe_id  

Add optional BuildResidentialHPXML measure arguments:

  • geothermal_loop_configuration (required)
  • geothermal_loop_borefield_configuration
  • geothermal_loop_loop_flow
  • geothermal_loop_boreholes_count
  • geothermal_loop_boreholes_length
  • geothermal_loop_boreholes_spacing
  • geothermal_loop_boreholes_diameter
  • geothermal_loop_grout_type
  • geothermal_loop_pipe_type
  • geothermal_loop_pipe_diameter
Soil OS-HPXML Notes
SoilType    
MoistureType    
Conductivity ground_conductivity Default to 1.0 Btu/hr-ft-F. 
extension/Diffusivity ground_diffusivity Default to 0.0208 ft^2/hr.

Add optional BuildResidentialHPXML measure arguments:

  • site_soil_and_moisture_type
  • site_ground_diffusivity

New sample file (parent base-hvac-ground-to-air-heat-pump.xml):

  • base-hvac-ground-to-air-heat-pump-detailed.xml

image
image


image

Questions:

  • We use GroundHeatExchangerVertical. Is this only appropriate for "boreholes" (vertical) vs "trenches" (horizontal). (FYI there is GroundHeatExchangerHorizontalTrench.) If a user wants to model "trenches", do we allow it? Otherwise, we'd probably want to use the LoopConfiguration field for distinguishing between, e.g., "vertical" and "horizontal"? Are autosized LoopFlow, Count, Length valid for horizontal? Update: we want to limit use to "vertical" loop configuration.
  • Currently hp_ap.u_tube_spacing_type = 'b' is hardcoded. Should this be an input (i.e., new HPXML field)? Update: GHED has 'single', 'double', 'coaxial' (in the borehole). All the hp_ap.u_tube_spacing_type choices are 'single'. We probably want to just stick with 'b' (in part because it's always been hardcoded to this and we probably don't have confidence in the other choices).
  • I'm using 0.8 as the default value for "thermally enhanced" grout type. Is there a thermally enhanced default value for pipe conductivity? Update: there is not.
  • Do we want to default hp_ap.frac_glycol to the HPXML file? If so, where should it go in the schema? Also, expose it as an argument? Should we change the hardcoded 0.3 to 0.2? Update: not very sensitive; let's fix this to 0.2 and not expose it as an argument.
  • Do we need to put lower and upper bounds on bore_depth? The json files have g functions for bore depths ranging from 24 m to 384 m. Update: Matt says 384 m definitely sounds unlikely. We'll use 24 and 152 (see updated docs snippet above).
  • Ground conductivity. 1.0 corresponds to SoilType=? and MoistureType=? Do we want to support default values for other combinations of SoilType/MoistureType? Update: Jeff has some tables of different soil types.
  • I believe hvac_sizing.rb autosizes a total bore length (if bore depth not given), from which we need to divide it by the number of bore holes to get depth of each borehole. Do we still need/want to increment the bore_depth based on min and max depth values? Update: Currently adjusting number of boreholes such that bore depth is valid.
  • Does it make sense for values assigned to site_ground_conductivity to populate fields of both foundation heat transfer and geothermal heat exchanger? Or should we have separate inputs? Matt: from a modeling perspective, yes it matters; from a practical standpoint, no. So we will leave this as-is for now.
  • What about upper bounds on either bore_spacing or bore_diameter? Are there values for these for which the g-function value interpolation would be invalid?
  • Address TODOs in docs above.

Checklist

PR Author: Check these when they're done. Not all may apply. strikethrough and check any that do not apply.

PR Reviewer: Verify each has been completed.

  • Schematron validator (EPvalidator.xml) has been updated
  • Sample files have been added/updated (via tasks.rb)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests and/or workflow/tests/hpxml_translator_test.rb)
  • Documentation has been updated
  • Changelog has been updated
  • openstudio tasks.rb update_measures has been run
  • No unexpected changes to simulation results of sample files

@joseph-robertson joseph-robertson self-assigned this May 15, 2023
@joseph-robertson joseph-robertson linked an issue May 18, 2023 that may be closed by this pull request
@joseph-robertson joseph-robertson changed the title Geothermal loop Geothermal loop & soil properties May 19, 2023
@joseph-robertson
Copy link
Collaborator Author

Should try approaching this from the other direction. Meaning, look at the HPXML schema and try to start to identify needs in OS-HPXML (i.e., reformat the table to have HPXML elements as the index column).

@joseph-robertson
Copy link
Collaborator Author

joseph-robertson commented Jun 1, 2023

See spreadsheet comparing OS-HPXML defaults vs industry standard (e.g., grout conductivity, pipe diameter/conductivity).

Look at assigning grout conductivity values based on whether the type is "standard" or "thermally enhanced".

@jmaguire1
Copy link
Collaborator

@joseph-robertson: I was just talking to the commercial team and Matt Mitchell. Matt suggested that it might be more reasonable to assume the default pipe diameter is 1 1/4" rather than 3/4". Do you have any objection to making that change? I'd tend to yield to his expertise, plus it'd make us consistent with what commercial is doing.

@joseph-robertson
Copy link
Collaborator Author

@joseph-robertson: I was just talking to the commercial team and Matt Mitchell. Matt suggested that it might be more reasonable to assume the default pipe diameter is 1 1/4" rather than 3/4". Do you have any objection to making that change? I'd tend to yield to his expertise, plus it'd make us consistent with what commercial is doing.

Done in f53e307.

@shorowit shorowit modified the milestones: 1.7.0, 1.8.0 Nov 27, 2023
@yzhou601
Copy link
Collaborator

This is ready for review

@shorowit shorowit merged commit 62b24ec into master Dec 11, 2023
@shorowit shorowit deleted the geothermal_loop branch December 11, 2023 16:22
@joseph-robertson joseph-robertson mentioned this pull request Dec 20, 2023
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

GSHP Field & Soil inputs
7 participants