Skip to content

Allow presized ghp/ghx#466

Merged
atpham88 merged 65 commits intodevelopfrom
allow_presized_GHP_GHX
May 19, 2025
Merged

Allow presized ghp/ghx#466
atpham88 merged 65 commits intodevelopfrom
allow_presized_GHP_GHX

Conversation

@atpham88
Copy link
Copy Markdown
Collaborator

@atpham88 atpham88 commented Dec 23, 2024

Summary

This PR adds new capabilities to REopt GHP to allow users to restrict GHP and GHX sizes.

Implementation notes

This PR adds a few new optional inputs to REopt GHP:

  • max_ton: Maximum GHP capacity. If this input is specified and is less than thermal peak load, thermal load is reduced in order to for this undersized GHP to serve said reduced load. The remaining thermal load is sent to REopt to be served by existing boiler and/or chiller. There are two ways thermal load can be split between GhpGhx.jl and REopt:
    • If load_served_by_ghp = nonpeak (default -- so no need to define this unless want to split load using the second method below), thermal load served by GHP is all thermal load below the undersized GHP's capacity
    • If load_served_by_ghp = scaled, thermal load served by GHP equals original thermal load scaled down by a factor = user-defined GHP capacity/peak original thermal load
  • max_number_of_boreholes: Maximum number of boreholes to allow users limit the size of their GHX to reduce cost. If max_number_of_boreholes is smaller than the number of boreholes sized in GhpGhx.jl, thermal load is reduced and keeps getting adjusted over up to ten iterations until the number of boreholes sized in GhpGhx.jl = max_number_of_boreholes.
  • Note: users can specify either max_ton or max_number_of_boreholes or both at the same time.

Validation

  • Two tests are added to runtests.jl to validate results when users 1) only specify max_ton and 2) specify both max_ton and max_number_of_boreholes
  • Two case studies to replace -- 1) existing boiler with GHP in a small office in Alaska and 2) existing boiler and chiller with GHP in a hotel in Georgia are performed. Each case study includes 3 scenarios: i) Automatic REopt's sizing of GHP/GHX, ii) Undersizing GHP, and iii) Undersizing GHP and GHX:
    • Small office in Alaska:
      Screenshot 2025-04-16 at 3 46 46 PM
      Screenshot 2025-04-16 at 3 47 59 PM
    • Hotel in Georgia:
      Screenshot 2025-04-16 at 3 48 57 PM
      Screenshot 2025-04-16 at 3 48 33 PM

Task code for PR review

GTOP.11344.15.03.00

@atpham88 atpham88 changed the base branch from master to develop December 23, 2024 05:06
@atpham88 atpham88 requested a review from Bill-Becker April 16, 2025 22:24
Comment thread test/runtests.jl Outdated
Copy link
Copy Markdown
Collaborator

@Bill-Becker Bill-Becker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm approving, but you should consider addressing some of my minor comments. I added GhpGhx.jl to the GitHub Actions runner install, so I uncommented out your tests.

Comment thread src/core/scenario.jl Outdated
Comment thread src/core/scenario.jl Outdated
Comment thread src/core/scenario.jl Outdated
Comment thread src/core/scenario.jl Outdated
Comment thread test/runtests.jl Outdated
Copy link
Copy Markdown
Collaborator Author

@atpham88 atpham88 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bill-Becker thank you very much for reviewing. I fixed the items you suggested, and have one more question.

Comment thread src/results/ghp.jl Outdated
# r["size_wwhp_cooling_pump_ton"] = 0.0

# Set sizing factor = 1 if user inputs their own GHP size
if haskey(d, "GHP") && haskey(d["GHP"],"max_ton")
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bill-Becker this doesn't seem to do what I thought it did. If I remove setting post["GHP"]["heatpump_capacity_sizing_factor_on_peak_load] = 1.0 in my post, GHP is still sized at 10% higher than the user-specified one. Do you know where I should make this change instead of here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nvm I figured it out but decided to not restrict the sizing factor with pressed GHP instead.

@atpham88 atpham88 merged commit d8b75a0 into develop May 19, 2025
3 checks passed
@atpham88 atpham88 deleted the allow_presized_GHP_GHX branch September 3, 2025 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants