From a64d3ad87e3686429b33b89263526efe49bdb199 Mon Sep 17 00:00:00 2001 From: Christina LaPerle Date: Mon, 29 Sep 2025 09:10:08 -0400 Subject: [PATCH] Updated RDS to exclude plenums, interstitial, and crawl spaces. --- docs/section6/Rule6-4.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/section6/Rule6-4.md b/docs/section6/Rule6-4.md index 9e8cb336d3..54b96faced 100644 --- a/docs/section6/Rule6-4.md +++ b/docs/section6/Rule6-4.md @@ -7,7 +7,7 @@ **Appendix G Section:** Section G3.1-6 Modeling Requirements for the Baseline **Applicability:** All required data elements exist for B_RMR -**Applicability Checks:** None +**Applicability Checks:** Space function is not crawl space, plenum or interstitial space. **Manual Check:** No **Evaluation Context:** Each Data Element @@ -21,43 +21,44 @@ ## Rule Logic: -- For each building segment in the baseline model: `building_segment_b in B_RMR.building.building_segments:` +- For each building segment in the baseline model: `building_segment_b in B_RMD.building.building_segments:` - - Get matching building segment in R_RMR: `building_segment_p = match_data_element(P_RMR, BuildingSegments, building_segment_b.id)` + - Get matching building segment in P_RMD: `building_segment_p = match_data_element(P_RMD, BuildingSegments, building_segment_b.id)` - - Get lighting status type dictionary for P_RMR: `space_lighting_status_type_dict_p = get_lighting_status_type(building_segment_p)` + - Get lighting status type dictionary for P_RMD: `space_lighting_status_type_dict_p = get_lighting_status_type(building_segment_p)` - For each thermal block in building segment: `thermal_block_b in building_segment_b.thermal_blocks:` - For each zone in thermal block: `zone_b in thermal_block_b.zones:` - For each space in zone: `space_b in zone_b.spaces:` + - **Applicability Check:** Check if the space is a crawl space, plenum or interstitial space: `if space_p.function in [PLENUM, CRAWL_SPACE, INTERSTITIAL_SPACE]:` + - Rule is not applicable because space function is crawl space, plenum or interstitial space: RULE_NOT_APPLICABLE: `continue` - - For each space in zone: `space_b in zone_b.spaces:` + - Get total lighting power density in space: `total_space_LPD_b = sum(interior_lighting.power_per_area for interior_lighting in space_b.interior_lighting)` - - Get total lighting power density in space: `total_space_LPD_b = sum(interior_lighting.power_per_area for interior_lighting in space_b.interior_lighting)` + - Get lighting status type for space: `space_lighting_status_type = space_lighting_status_type_dict_p[match_data_element(P_RMR, Spaces, space_b.id).id]` - - Get lighting status type for space: `space_lighting_status_type = space_lighting_status_type_dict_p[match_data_element(P_RMR, Spaces, space_b.id).id]` + - Check if lighting space type is specified, get lighting power density allowance from Table G3.7: `if space_b.lighting_space_type: LPD_allowance_b = data_lookup(table_G3_7, space_b.lighting_space_type)` - - Check if lighting space type is specified, get lighting power density allowance from Table G3.7: `if space_b.lighting_space_type: LPD_allowance_b = data_lookup(table_G3_7, space_b.lighting_space_type)` + - Else, lighting space type is not specified, assume "Office-Open Plan" as lighting space type to get lighting power density allowance from Table G3.7: `else: LPD_allowance_b = data_lookup(table_G3_7, "OFFICE-OPEN PLAN")` - - Else, lighting space type is not specified, assume "Office-Open Plan" as lighting space type to get lighting power density allowance from Table G3.7: `else: LPD_allowance_b = data_lookup(table_G3_7, "OFFICE-OPEN PLAN")` + **Rule Assertion:** - **Rule Assertion:** + - Case 1: If space lighting status type is as-designed or as-existing, and lighting space type is not specified: `if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( NOT space_b.lighting_space_type ): FAIL and raise_warning "P_RMR LIGHTING STATUS TYPE IS AS-DESIGNED OR AS-EXISTING. BUT LIGHTING SPACE TYPE IN B_RMR IS NOT SPECIFIED."` - - Case 1: If space lighting status type is as-designed or as-existing, and lighting space type is not specified: `if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( NOT space_b.lighting_space_type ): FAIL and raise_warning "P_RMR LIGHTING STATUS TYPE IS AS-DESIGNED OR AS-EXISTING. BUT LIGHTING SPACE TYPE IN B_RMR IS NOT SPECIFIED."` + - Case 2: Else if space lighting status type is as-designed or as-existing, and space total interior lighting power density in B_RMR matches Table G3.7: `else if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( total_space_LPD_b == LPD_allowance_b ): PASS` - - Case 2: Else if space lighting status type is as-designed or as-existing, and space total interior lighting power density in B_RMR matches Table G3.7: `else if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( total_space_LPD_b == LPD_allowance_b ): PASS` + - Case 3: Else if space lighting status type is as-designed or as-existing, and space total interior lighting power density in B_RMR does not match Table G3.7: `else if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( total_space_LPD_b != LPD_allowance_b ): FAIL` - - Case 3: Else if space lighting status type is as-designed or as-existing, and space total interior lighting power density in B_RMR does not match Table G3.7: `else if ( space_lighting_status_type == "AS-DESIGNED OR AS-EXISTING" ) AND ( total_space_LPD_b != LPD_allowance_b ): FAIL` + - Case 4: Else if space lighting status type is not-yet designed or matches Table_9_5_1, and space total interior lighting power density in B_RMR matches Table G3.7: `else if ( space_lighting_status_type == "NOT-YET DESIGNED OR MATCH TABLE_9_5_1" ) AND ( total_space_LPD_b == LPD_allowance_b ): PASS` - - Case 4: Else if space lighting status type is not-yet designed or matches Table_9_5_1, and space total interior lighting power density in B_RMR matches Table G3.7: `else if ( space_lighting_status_type == "NOT-YET DESIGNED OR MATCH TABLE_9_5_1" ) AND ( total_space_LPD_b == LPD_allowance_b ): PASS` - - - Case 5: Else, space lighting status type is not-yet designed or matches Table_9_5_1, and space total interior lighting power density in B_RMR does not match Table G3.7: `else if ( space_lighting_status_type == "NOT-YET DESIGNED OR MATCH TABLE_9_5_1" ) AND ( total_space_LPD_b != LPD_allowance_b ): FAIL` + - Case 5: Else, space lighting status type is not-yet designed or matches Table_9_5_1, and space total interior lighting power density in B_RMR does not match Table G3.7: `else if ( space_lighting_status_type == "NOT-YET DESIGNED OR MATCH TABLE_9_5_1" ) AND ( total_space_LPD_b != LPD_allowance_b ): FAIL` **Notes:** 1. Requirements from addendum AF to 90.1-2019 have not been incorporated into this RDS. 2. Updated the Rule ID from 6-7 to 6-5 on 6/3/2022 3. Update the Rule ID from 6-5 to 6-4 on 6/8/2022 + 4. Updated on 9/29/2025 to exclude crawl space, plenum or interstitial space **[Back](../_toc.md)**