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

Defrost Model Improvements #1674

Merged
merged 30 commits into from May 18, 2024
Merged

Defrost Model Improvements #1674

merged 30 commits into from May 18, 2024

Conversation

yzhou601
Copy link
Collaborator

@yzhou601 yzhou601 commented Apr 4, 2024

Pull Request Description

Allow an optional improved defrost model

Breaking change: Replaces SimulationControl/TemperatureCapacitanceMultiplier with SimulationControl/AdvancedResearchFeatures/TemperatureCapacitanceMultiplier.

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 (openstudio tasks.rb update_hpxmls)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests/test*.rb and/or workflow/tests/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

@yzhou601 yzhou601 added the enhancement New feature or request label Apr 4, 2024
@yzhou601 yzhou601 self-assigned this Apr 4, 2024
@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 1, 2024

I think this is ready for review @jonwinkler @shorowit

@yzhou601 yzhou601 marked this pull request as ready for review May 1, 2024 22:40
yzhou601 and others added 3 commits May 6, 2024 10:46
…o defrost_improvements

# Conflicts:
#	BuildResidentialHPXML/measure.rb
#	BuildResidentialHPXML/measure.xml
#	HPXMLtoOpenStudio/measure.xml
#	ReportSimulationOutput/measure.rb
#	ReportSimulationOutput/measure.xml
#	workflow/tests/base_results/results_simulations_bills.csv
#	workflow/tests/base_results/results_simulations_misc.csv
Copy link
Contributor

@shorowit shorowit left a comment

Choose a reason for hiding this comment

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

I was trying to find a description of what is "advanced" about this defrost approach and how it differs from our standard defrost model. It's not mentioned anywhere -- not in the documentation, not in the PR description, not in the changelog, not in the BuildResHPXML measure argument description. How is someone supposed to choose whether to use this?

Also, should it be described as a "research" feature, like we're doing for some GEB features?

Finally, I can't help but feel like there should be a single top-level input rather than a per-system input. Surely you would want to use this for any HVAC system that has defrost controls, no?

@shorowit
Copy link
Contributor

shorowit commented May 8, 2024

I keep wondering if we should group a bunch of "advanced research" inputs together in the HPXML header:

  • This
  • GEB HVAC controls
  • Water heater tank model?
  • Temperature capacitance multiplier?
  • ???

@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 8, 2024

I keep wondering if we should group a bunch of "advanced research" inputs together in the HPXML header:

  • This
  • GEB HVAC controls
  • Water heater tank model?
  • Temperature capacitance multiplier?
  • ???

Ha I was just about to ask whether there should be a top level element like that. I like this idea.

@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 8, 2024

I was trying to find a description of what is "advanced" about this defrost approach and how it differs from our standard defrost model. It's not mentioned anywhere -- not in the documentation, not in the PR description, not in the changelog, not in the BuildResHPXML measure argument description. How is someone supposed to choose whether to use this?

Also, should it be described as a "research" feature, like we're doing for some GEB features?

Finally, I can't help but feel like there should be a single top-level input rather than a per-system input. Surely you would want to use this for any HVAC system that has defrost controls, no?

Good point Scott, I agree that the documentation is not perfect, I'll add more detailed descriptions to these files.

@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 8, 2024

I was trying to find a description of what is "advanced" about this defrost approach and how it differs from our standard defrost model. It's not mentioned anywhere -- not in the documentation, not in the PR description, not in the changelog, not in the BuildResHPXML measure argument description. How is someone supposed to choose whether to use this?

Also, should it be described as a "research" feature, like we're doing for some GEB features?

Finally, I can't help but feel like there should be a single top-level input rather than a per-system input. Surely you would want to use this for any HVAC system that has defrost controls, no?

@jonwinkler I guess this is a question for you, is it possible to have use cases that we only want to apply this defrost approach for some systems but keep the previous approach for others under the same HPXML Building?

@jonwinkler
Copy link
Collaborator

I was trying to find a description of what is "advanced" about this defrost approach and how it differs from our standard defrost model. It's not mentioned anywhere -- not in the documentation, not in the PR description, not in the changelog, not in the BuildResHPXML measure argument description. How is someone supposed to choose whether to use this?
Also, should it be described as a "research" feature, like we're doing for some GEB features?
Finally, I can't help but feel like there should be a single top-level input rather than a per-system input. Surely you would want to use this for any HVAC system that has defrost controls, no?

@jonwinkler I guess this is a question for you, is it possible to have use cases that we only want to apply this defrost approach for some systems but keep the previous approach for others under the same HPXML Building?

@yzhou601 I can't think of any. Do you mean one building with multiple heat pumps where we want to use the default approach for one heat pump and the advanced approach for the other? I don't think that would be the case.

@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 8, 2024

I was trying to find a description of what is "advanced" about this defrost approach and how it differs from our standard defrost model. It's not mentioned anywhere -- not in the documentation, not in the PR description, not in the changelog, not in the BuildResHPXML measure argument description. How is someone supposed to choose whether to use this?
Also, should it be described as a "research" feature, like we're doing for some GEB features?
Finally, I can't help but feel like there should be a single top-level input rather than a per-system input. Surely you would want to use this for any HVAC system that has defrost controls, no?

@jonwinkler I guess this is a question for you, is it possible to have use cases that we only want to apply this defrost approach for some systems but keep the previous approach for others under the same HPXML Building?

@yzhou601 I can't think of any. Do you mean one building with multiple heat pumps where we want to use the default approach for one heat pump and the advanced approach for the other? I don't think that would be the case.

Yes that's what I mean, if we move the input to the top level then we can only specify one for the whole building, so that's why I'm asking. Great, then I'm going to proceed in this way.

@shorowit
Copy link
Contributor

shorowit commented May 8, 2024

I keep wondering if we should group a bunch of "advanced research" inputs together in the HPXML header:

  • This
  • GEB HVAC controls
  • Water heater tank model?
  • Temperature capacitance multiplier?
  • ???

Ha I was just about to ask whether there should be a top level element like that. I like this idea.

How about under SimulationControl? Right now, TemperatureCapacitanceMultiplier is directly under it. But we could change it to be SimulationControl/AdvancedResearchFeatures and put TemperatureCapacitanceMultiplier, AdvancedDefrostModel, etc all under it.

(Not sure if the name should be "AdvancedFeatures", "ResearchFeatures", or "AdvancedResearchFeatures" 😄)

@shorowit
Copy link
Contributor

shorowit commented May 8, 2024

And for defrost, instead of a boolean, maybe it should be choice element. DefrostModelType with "standard" and "advanced" or whatever the right descriptions are.

@yzhou601
Copy link
Collaborator Author

yzhou601 commented May 8, 2024

I keep wondering if we should group a bunch of "advanced research" inputs together in the HPXML header:

  • This
  • GEB HVAC controls
  • Water heater tank model?
  • Temperature capacitance multiplier?
  • ???

Ha I was just about to ask whether there should be a top level element like that. I like this idea.

How about under SimulationControl? Right now, TemperatureCapacitanceMultiplier is directly under it. But we could change it to be SimulationControl/AdvancedResearchFeatures and put TemperatureCapacitanceMultiplier, AdvancedDefrostModel, etc all under it.

(Not sure if the name should be "AdvancedFeatures", "ResearchFeatures", or "AdvancedResearchFeatures" 😄)

For geb features, my previous changes are made to be under /HPXML/Building/BuildingDetails/BuildingSummary/extension/ so that those are saved at building level. SimulationControl is at HPXML level, so is it possible that for some use case, within one HPXML element, Building elements use different inputs for these features?

@shorowit
Copy link
Contributor

shorowit commented May 8, 2024

I can't imagine someone would want to use different assumptions for different Building elements. I suggest we keep it simple.

@yzhou601 yzhou601 requested a review from shorowit May 14, 2024 16:36
yzhou601 and others added 5 commits May 17, 2024 14:21
…o defrost_improvements

# Conflicts:
#	HPXMLtoOpenStudio/measure.xml
#	workflow/tests/base_results/results_simulations_bills.csv
#	workflow/tests/base_results/results_simulations_energy.csv
#	workflow/tests/base_results/results_simulations_hvac.csv
#	workflow/tests/base_results/results_simulations_loads.csv
#	workflow/tests/base_results/results_simulations_misc.csv
Copy link
Contributor

@shorowit shorowit left a comment

Choose a reason for hiding this comment

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

The implementation overall looks very reasonable, though I didn't scrutinize the calculations or EnergyPlus results at all. I assume that you and Jon have been testing this and are happy with the results.

I did push a commit with a few language changes, you might look that over. Otherwise, just a few things I noticed below.

HPXMLtoOpenStudio/measure.rb Outdated Show resolved Hide resolved
HPXMLtoOpenStudio/measure.rb Outdated Show resolved Hide resolved
HPXMLtoOpenStudio/measure.rb Outdated Show resolved Hide resolved
HPXMLtoOpenStudio/resources/hpxml_defaults.rb Outdated Show resolved Hide resolved
HPXMLtoOpenStudio/resources/hpxml_defaults.rb Outdated Show resolved Hide resolved
HPXMLtoOpenStudio/resources/hvac.rb Outdated Show resolved Hide resolved
@shorowit shorowit merged commit d22f6ef into master May 18, 2024
7 checks passed
@shorowit shorowit deleted the defrost_improvements branch May 18, 2024 15:39
@joseph-robertson joseph-robertson mentioned this pull request May 19, 2024
11 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
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants