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

Draft
wants to merge 126 commits into
base: master
Choose a base branch
from
Draft

Electric panel #1853

wants to merge 126 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.

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)
  • 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?
  • 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:
      • Air handler / wall furnace fan: fan_watts_per_cfm * xxx_airflow_cfm?
      • Pump: electric_auxiliary_energy / 2.08?
    • 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
      • Should local ventilation (i.e., kitchen and bath fans) really occupy at most 1 breaker space?
  • Panel system addition logic
    • Use argument prefixes corresponding to upgrade options; too simple?
  • Pool and permanent spa
    • There is no pump type arguments -- build measure defaults to Unknown; add new arguments?
  • 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.
      <PanelCalculationTypes>
        <Type>2023 Load-Based</Type>
        <Type>2026 Load-Based</Type>
        <Type>2023 Meter-Based</Type>
      </PanelCalculationTypes>

image

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
@joseph-robertson
Copy link
Collaborator Author

One issue that has come up is consistency between HPXML fields, e.g., storing HPWH voltage on WaterHeatingSystem vs. what is stored on a PanelLoad. Other examples might be electric vehicles and clothes dryers.

@jmaguire1

end
end

elsif type == HPXML::ElectricPanelLoadTypeWaterHeater
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Can we move these assignments to a table?

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.

3 participants