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

Electric panel #1853

Open
wants to merge 175 commits into
base: master
Choose a base branch
from
Open

Electric panel #1853

wants to merge 175 commits into from

Conversation

joseph-robertson
Copy link
Collaborator

@joseph-robertson joseph-robertson commented Oct 10, 2024

Pull Request Description

Support electric panel.

Related to: hpxmlwg/hpxml#420 and hpxmlwg/hpxml#435.

Checklist:

  • Rename Watts under PanelLoad to something else; Power? Capacity? Decided on PowerRating.
  • Move all system-prefixed arguments to panel-prefixed, so new electric_panel_xxx arguments section maps more directly to ElectricPanels HPXML section
  • Make "Mech Vent" its own panel load type for ventilation fans (i.e., any load that can reference a system ID has its own load type)
  • Create catchall argument for covering "Other" loads like garage door opener, garbage disposal, microwave (i.e., anything that doesn't reference a system ID)
  • Separate arguments for controlling 83 and 87 outputs?
    • We may not want 87 for resstock -- can't we just ignore them?
  • Comments/suggestions from Scott:
    • Meter-based total can change based on use of stochastic schedules and/or timestep.
    • Move HPXML class input capacity methods to HVAC resource file so they are only used for panel loads (and we can ignore fuel systems)
    • Separate results_panel.csv (unit reporting?) which is output from translator measure and then overwritten (with Meter-based) from reporting measure. See results_design_load_details.csv as an example.
    • Start discussion on adopting new extension elements: Subpanels, circuits, breakers/slots, smart features, etc on ElectricPanel hpxmlwg/hpxml#422 (comment)
    • Electric panel should be opt-in using new build measure argument for panel scenario types.
  • Handle the new backup_heating_capacity input for HPWH; assume no simultaneous operation and so take max(heating_capacity, backup_heating_capacity)? Can the 120V HPWH have backup?
  • Pool and permanent spa
    • There is no pump type arguments -- build measure defaults to Unknown; add new arguments? Update: we default based on a 2 HP pump capacity.
  • Default watts based on input capacity and not output capacity
    • Divide output capacity by seasonal COP (e.g., SEER, HSPF) or by rated COP (e.g., additional_properties.heat_rated_cops, additional_properties.cool_rated_cops)?
    • For HeatingSystem, CoolingSystem, HeatPump: add heating_input_capacity, cooling_input_capacity, and backup_heating_input_capacity methods to hpxml.rb
    • For WaterHeatingSystem: add heating_input_capacity and backup_heating_input_capacity methods to hpxml.rb (additional_properties.cop set by Waterheater.set_heat_pump_cop)
  • Get alternative/better defaults:
    • Replace regressions:
      • DX coil compressor power rating from rated capacity
        • Yingli is looking at correlation with EER2 (not strong); going back to using rated capacity as the input
        • will be updating the work plan with new equations
      • Air handler / wall furnace fan: fan_watts_per_cfm * xxx_airflow_cfm? Yes.
      • Pump: electric_auxiliary_energy / 2.08? Yes.
    • Clothes dryer
      • How to determine HP or not? Let's just use vented/ventless as the switch -- probably the best option at this point in time.
    • Mechanical ventilation:
      • Use count and fan_power? Yes.
      • Should local ventilation (i.e., kitchen and bath fans) really occupy at most 1 breaker space? Yes.

Checklist

Not all may apply:

  • 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

@joseph-robertson joseph-robertson added the enhancement New feature or request label Oct 10, 2024
@joseph-robertson joseph-robertson self-assigned this Oct 10, 2024
HPXMLtoOpenStudio/resources/output.rb Outdated Show resolved Hide resolved
# Returns the branch circuit that the component may be attached to.
#
# @return [HPXML::BranchCircuit] Branch circuit object
def branch_circuit
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Each component can be referenced by at most one branch circuit.

# Returns any demand loads that the component may be attached to.
#
# @return [Array<HPXML::DemandLoad>] List of demand load objects
def demand_loads
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Components, e.g. heat pump, can be referenced by more than one demand load.

HPXMLtoOpenStudio/resources/hpxml.rb Show resolved Hide resolved
@joseph-robertson joseph-robertson marked this pull request as ready for review January 16, 2025 22:55
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: In progress
Development

Successfully merging this pull request may close these issues.

5 participants