Skip to content

Latest commit

 

History

History
49 lines (29 loc) · 2.73 KB

Rule21-10.md

File metadata and controls

49 lines (29 loc) · 2.73 KB

Boiler - Rule 21-10

Rule ID: 21-10
Rule Description: When the building is modeled with HHW plant (served by either boiler(s) or purchased hot water/steam), the hot water pump shall be modeled as riding the pump curve if the hot water system serves less than 120,000 ft^2 otherwise it shall be modeled with a VFD.
Rule Assertion: B-RMR
Appendix G Section: Section 21 Boiler
Appendix G Section Reference: Section G3.1.3.5 Building System-Specific Modeling Requirements for the Baseline model

Applicability: All required data elements exist for B_RMR
Applicability Checks:

  1. B-RMR is modeled with at least one air-side system that is Type-1, 5, 7, 11.2, 12, 1a, 7a, 11.2a, 12a, 1b, 3b, 5b, 6b, 7b, 8b, 9b, 11b, 12b, 13b, 1c, 3c, 7c, 11c, 13c.

Manual Check: None
Evaluation Context: Building
Data Lookup: None
Function Call:

  1. get_baseline_system_types()
  2. get_loop_zone_list_w_area()

Applicability Checks:

  • Get B-RMR system types: baseline_hvac_system_dict = get_baseline_system_types(B-RMR)

    • Check if B-RMR is modeled with at least one air-side system that is Type-1, 5, 7, 11.2, 12, 1a, 7a, 11.2a, 12a, 1b, 3b, 5b, 6b, 7b, 8b, 9b, 11.1b, 12b, 1c, 3c, 7c, 8c, 11.1c, continue to rule logic: if any(sys_type in baseline_hvac_system_dict.keys() for sys_type in ["SYS-1", "SYS-5", "SYS-7", "SYS-11.2", "SYS-12", "SYS-1A", "SYS-7A", "SYS-11.2A", "SYS-12A", "SYS-1B", "SYS-3B", "SYS-5B", "SYS-6B", "SYS-7B", "SYS-8B", "SYS-9B", "SYS-11.1B", "SYS-12B", "SYS-1C", "SYS-3C", "SYS-7C", "SYS-11.1C"]): CHECK_RULE_LOGIC

    • Else, rule is not applicable to B-RMR: else: RULE_NOT_APPLICABLE

Rule Logic:

  • Get dictionary that saves the list of zones and the total floor area served by each CHW or HHW loop: loop_zone_list_w_area_dict = get_loop_zone_list_w_area(B_RMR)

  • For each pump in B-RMR: for pump_b in B_RMR.RulesetModelInstance.pumps:

    • Check if pump serves heating hot water loop: if pump_b.loop_or_piping.type == "HEATING":

      • Check if heating hot water loop serves less than 120,000 ft^2, set target pump type to riding the pump curve: if loop_area_dict(pump_b.loop_or_piping) < 120000: target_pump_type == "FIXED_SPEED"

      • Else, heating hot water loop serves 120,000 ft^2 or more, set target pump type to variable speed: else: target_pump_type == "VARIABLE_SPEED"

        Rule Assertion - Component:

        • Case 1: For heating hot water loop, if the hot water pump is modeled as riding the pump curve when the hot water system serves less than 120,000 ft^2, or modeled with a VFD when the hot water system serves more than or equal to 120,000 ft^2: if pump_b.speed_control == target_pump_type: PASS

        • Case 2: Else: else: FAIL

Back