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

10-1_Update #1618

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 14 additions & 26 deletions docs/section10/10-1.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Airside systems – Rule 10-1
**Schema Version:** 0.0.23
**Mandatory Rule:** False
**Rule ID:** 10-1
**Schema Version:** 0.0.36
**Mandatory Rule:** False
**Rule ID:** 10-1

**Rule Description:** The proposed design includes humidification and the baseline building design has been modeled with adiabatic humidification if proposed design does not comply with 90.1-2019 Section 6.5.2.4 and non-adiabatic humidification otherwise.

**Rule Assertion:** B-RMR = expected value
**Rule Assertion:** Options are UNDETERMINED/NOT_APPLICABLE
**Appendix G Section:** Section G3.1-10 HVAC Systems for the baseline building
**Appendix G Section Reference:** None
**Data Lookup:** None
**Evaluation Context:** Evaluate each HeatingVentilationAirAconditioningSystem
**Evaluation Context:** Evaluate each Zone

**Applicability Checks:**

Expand All @@ -28,16 +28,12 @@
**Applicability Check 1:**
- Get dictionary list of proposed zones and the associated HVAC systems: `hvac_zone_list_w_area_dict_p = get_hvac_zone_list_w_area (P_RMR)`
- Get dictionary for finding baseline system types for hvac systems: `baseline_hvac_sys_type_ids_dict_b = get_baseline_system_types(B_RMR)`
Get all systems in P_RMR with humidification specified in heating system or preheat system and get corresponding list of zones served by those systems.
Get all systems in P_RMR with humidification specified and get corresponding list of zones served by those systems.
- For each HVAC system in the P_RMR: `For hvac_p in P_RMR...HeatingVentilatingAirConditioningSystem:`
- Reset hvac_has_humidication_p boolean variable to FALSE: `hvac_has_humidication_p = FALSE`
- For each heating system in hvac_p: `For heating_system_p in hvac_p.heating_system:`
- Check if the the humidification_type does not equal Null or None, if it does not equal Null or None then set the hvac_has_humidication_p boolean variable to True: `if heating_system_p.humidification_type != Null and heating_system_p.humidification_type != "None": hvac_has_humidication_p = TRUE`
- For each preheating system in hvac_p: `For preheat_system_p in hvac_p.preheat_system:`
- Check if the the humidification_type does not equal Null or None, if it does not equal Null or None then set the hvac_has_humidication_p boolean variable to True: `if preheat_system_p.humidification_type != Null and preheat_system_p.humidification_type != "None": hvac_has_humidication_p = TRUE`
- Check if hvac_has_humidication_p equals True, if it does then add the zones served to list of zones with humidification in the proposed: `if hvac_has_humidication_p == TRUE:`
- Reset hvac_has_humidification_p boolean variable to FALSE: `hvac_has_humidication_p = FALSE`
- Check if the humidification_type does not equal Null or None, if it does not equal Null or None then set the hvac_has_humidification_p boolean variable to True: `if hvac_p.humidification_type != Null and hvac_p.humidification_type != "None":`
- Get list of zones that the hvac_p serves: `zone_list_p = hvac_zone_list_w_area_dict_p[hvac_p.id]["ZONE_LIST"]`
- Add to list of proposed zones with humidication: `zones_have_humidification_list_p = zones_have_humidification_list_p.extend(zone_list_p)`
- Add to list of proposed zones with humidification: `zones_have_humidification_list_p = zones_have_humidification_list_p.extend(zone_list_p)`
- Eliminate duplicates in the list of zones in the proposed with humidification: `zones_have_humidification_list_p = list(set(zones_have_humidification_list_p))`
If humidification was modeled in the proposed for a specific zone, check if it was modeled in the baseline
- For each zone_p in the P_RMR: `For zone_p in P_RMR...Zone:`
Expand All @@ -47,21 +43,13 @@ If humidification was modeled in the proposed for a specific zone, check if it w
Check if zone was modeled with humidification in the B_RMR
- Get analogous zone in the B_RMR: `zone_b = match_data_element(B_RMR,Zones,zone_p.id)`
- Get list of hvac systems that serve this zone in the B_RMR, should only be one, note that this RDS assumes only one: `hvac_list_b = get_list_hvac_systems_associated_with_zone(B_RMR,zone_b.id)`
- Get the baseline system type (used to determined whether to check the preheat or heating coils in hvac_b for humidification): `hvac_sys_type_b = baseline_hvac_sys_type_ids_dict_b.keys()[list(baseline_hvac_sys_type_ids_dict_b.values()).index(hvac_b.id)]`
- Check if the baseline system type would include a preheat coil, if so then get the humidification_type for the preheat coil : `if hvac_sys_type_b in ["SYS-5","SYS-5b","SYS-6", "SYS-6b","SYS-7","SYS-7a","SYS-7b","SYS-7c","SYS-8","SYS-8a","SYS-8b","SYS-8c"]:`
- Check if the humidification_type equals Null for the preheat coil, if it does then set the type equal to None: `if hvac_b.preheat_system[0].humidification_type = Null: humidification_type_b = "None"`
- Else (i.e. it does not equal Null), get humidification type for hvac_b: `Else: humidification_type_b = hvac_b.preheat_system[0].humidification_type`
- Else, if the baseline system type would not include a preheat coil then check the heating coil: `Else:`
- Check if the humidification_type equals Null for the heating coil, if it does then set the type equal to None: `if hvac_b.heating_system[0].humidification_type = Null: humidification_type_b = "None"`
- Else (i.e. it does not equal Null), get humidification type for hvac_b: `Else: humidification_type_b = hvac_b.heating_system[0].humidification_type`
- Check if the humidification_type equals Null for the HVAC system, if it does then set the type equal to None: `if hvac_b.humidification_type = Null: humidification_type_b = "None"`
Else (i.e. it does not equal Null), get humidification type for hvac_b: `Else: humidification_type_b = hvac_b.humidification_type`
- Check if humidification_type_b != None, if so then set the has_humidification_b = TRUE:`if humidification_type != "None": has_humidification_b = TRUE`

**Rule Assertion:**
- Case 1: If the zone was modeled with humidification in the baseline and proposed then UNDERTERMINED (provide the zone_p.id and zone_b.id in the output): `if has_humidification_b == TRUE and has_humidification_p == TRUE: outcome == "UNDETERMINED" and raise_message "This zone is modeled with humidification in the baseline and proposed. Check that the baseline system serving this zone is modeled with adiabatic humidification if the specified humidification system complies with 90.1 - 2019 Section 6.5.2.4, and that the baseline system serving this zone is modeled with non-adiabatic humidification if the specified system does not comply with Section 6.5.2.4."`
- Case 2: Else if baseline zone is modeled with humidification when the proposed zone does not have humidification: `elif has_humidification_b == TRUE and has_humidification_p == FALSE: outcome == "FAIL"`
- Case 3: Else if the baseline zone is not modeled with humidification when the proposed zone has humidficiation: `elif has_humidification_b == FALSE and has_humidification_p == TRUE: outcome == "FAIL"`
- Case 4: Else, humidification not modeled for the zone in proposed or baseline: `Else: outcome == "INAPPLICABLE"`

- Case 1: If the zone was modeled with humidification in the baseline and proposed then UNDETERMINED to check that the correct type of humidification was modeled (provide the zone_p.id and zone_b.id and the humidification_type_b in the output): `if has_humidification_b == TRUE and has_humidification_p == TRUE: outcome == "UNDETERMINED" and raise_message "This zone is modeled with humidification in the baseline and proposed. Check that the baseline system serving this zone is modeled with adiabatic humidification if the specified humidification system complies with 90.1 - 2019 Section 6.5.2.4, and that the baseline system serving this zone is modeled with non-adiabatic humidification if the specified system does not comply with Section 6.5.2.4."`
- Case 2: Else, humidification not modeled in the proposed and baseline: `else: outcome == "NOT_APPLICABLE"`


**[Back](../_toc.md)**
**[Back](../_toc.md)**
Loading