diff --git a/docs/section23/Rule23-17.md b/docs/section23/Rule23-17.md new file mode 100644 index 0000000000..3001f62d7b --- /dev/null +++ b/docs/section23/Rule23-17.md @@ -0,0 +1,47 @@ + +# Airside System - Rule 23-17 + +**Schema Version:** 0.0.34 +**Mandatory Rule:** TRUE +**Rule ID:** 23-1 +**Rule Description:** System 2 and 4 - Electric air-source heat pumps shall shall be modeled to continue to operate while auxiliary heat is energized. +**Rule Assertion:** B-RMR = expected value +**Appendix G Section:** Section 23 Air-side +**90.1 Section Reference:** G3.1.3.1 Heat Pumps (Systems 2 and 4) +**Data Lookup:** None +**Evaluation Context:** HVAC System + +**Applicability Checks:** + +1. B-RMR is modeled with at least one air-side system that is Type-2, or 4 + +**Function Calls:** + +1. get_baseline_system_types() +2. baseline_system_type_compare() +3. get_component_by_id() + +**Applicability Checks:** +- create a list of the target system types: `APPLICABLE_SYS_TYPES = [HVAC_SYS.SYS_2,HVAC_SYS.SYS_4]` +- Get B-RMR system types: `baseline_system_types_dict = get_baseline_system_types(B-RMR)` + +- loop through the applicable system types: `for target_sys_type in APPLICABLE_SYS_TYPES:` + - and loop through the baseline_system_types_dict to check the system types of the baseline systems: `for system_type in baseline_system_types_dict:` + - do baseline_system_type_compare to determine whether the baseline_system_type is the applicable_system_type: `if((baseline_system_type_compare(system_type, target_sys_type, false)):` + - the systems in the list: baseline_system_types_dict[system_type] are sys-2 or 4 - loop through the list of systems: `for hvac_system_id in baseline_system_types_dict[system_type]:` + - `CONTINUE TO RULE LOGIC` + - otherwise, rule not applicable: `else: RULE_NOT_APPLICABLE` + +**Rule Logic:** +- get the hvac system from the hvac_system_id: `hvac_system = get_component_by_id(hvac_system_id)` +- get the heating system: `heating_system = hvac_system.heating_system` +- get the heatpump_low_shutoff_temperature = `heatpump_low_shutoff = heating_system.heatpump_low_shutoff_temperature` + +**Rule Assertion:** +- Case 1: The heat pump low shutoff temperature equal to the flag of -999, which indicates that there is no low-temperature shutoff for the heatpump: `if heatpump_low_shutoff <= -999: PASS` +- Case 2: all other cases: FAIL: `else: FAIL` + +**Notes:** +1. The minimum temperature is not finalized and is up for discussion. Must coordinate with the note provided in the schema element: HeatingSystem.heatpump_low_shutoff_temperature + +**[Back](../_toc.md)**