Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 2.66 KB

Rule22-25.md

File metadata and controls

58 lines (35 loc) · 2.66 KB

CHW&CW - Rule 22-25

Schema Version: 0.0.10 Mandatory Rule: True Rule ID: 22-25
Rule Description: For chilled-water systems served by chiller(s) and does not serve baseline System-11, the baseline building constant-volume primary pump power shall be modeled as 9 W/gpm.
Rule Assertion: B-RMR = expected value
Appendix G Section: Section 22 CHW&CW Loop
90.1 Section Reference: Section G3.1.3.10 Chilled-water pumps (Systems 7, 8, 11, 12, and 13)
Data Lookup: None
Evaluation Context: Building
Applicability Checks:

  1. B-RMR is modeled with at least one air-side system that is Type-7, 8, 12, 13, 7b, 8b, 12b.
  2. B-RMR is not modeled with any system that is Type-11.1, 11.2 or 11.1b.
  3. Primary and secondary CHW loops are modeled correctly in B-RMR.

Function Calls:

  1. get_baseline_system_types()
  2. get_primary_secondary_loops()
  3. get_component_by_id()

Applicability Checks:

  • Check 1&2: 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-7, 8, 12, 13, 7b, 8b, 12b, i.e. with air-side system served by chiller(s): if any(sys_type in baseline_hvac_system_dict.keys() for sys_type in ["SYS-7", "SYS-8", "SYS-12", "SYS-13", "SYS-7B", "SYS-8B", "SYS-12B", "SYS-13B"]):

      • Check if B-RMR is modeled with any air-side system that is Type-11.1, 11.2 or 11.1b, rule is not applicable to B-RMR: if any(sys_type in baseline_hvac_system_dict.keys() for sys_type in ["SYS-11.1", "SYS-11.2", "SYS-11B"]): RULE_NOT_APPLICABLE

      • Else, continue to the next applicability check: else: NEXT_APPLICABILITY_CHECK

  • Check 3: Get primary and secondary loops for B-RMR: primary_secondary_loop_dictionary = get_primary_secondary_loops(B_RMR, "COOLING")

    • Check if primary and secondary loops are modeled correctly, continue to rule logic: if primary_secondary_loop_dictionary["PRIMARY"] AND primary_secondary_loop_dictionary["SECONDARY"]: CHECK_RULE_LOGIC

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

Rule Logic:

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

    • Save loop served by pump and pump to a dictionary: loop_pump_dictionary[pump_b.loop_or_piping].append(pump)
  • For each primary CHW loop: for loop_b_id in primary_secondary_loop_dictionary["PRIMARY"]:

    Rule Assertion - Component:

    • Case 1: If primary loop pump power is modeled as 9W/gpm: if get_component_by_id(loop_id_b).pump_power_per_flow_rate == 9: PASS

    • Case 2: Else: else: FAIL

Notes:

  1. Updated the Rule ID from 22-26 to 22-25 on 7/26/2022

Back