-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
98ec2f0
commit b2ba21a
Showing
1 changed file
with
24 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,50 @@ | ||
# Service_Water_Heating - Rule 11-7 | ||
**Schema Version:** 0.0.36 | ||
**Schema Version:** 0.0.37 | ||
|
||
**Mandatory Rule:** TRUE | ||
|
||
**Rule ID:** 11-7 | ||
|
||
**Rule Description:** Except in buildings that will have no service water heating loads, the service water heating systems type in the baseline building design shall be as specified in Table G3.1.1-2 for each building area type in the proposed design. | ||
**Rule Description:** Except in buildings that will have no service water heating loads, the service water heating system type in the baseline building design shall be as specified in Table G3.1.1-2 for each building area type in the proposed design. | ||
|
||
**Rule Assertion:** Options are PASS/FAIL | ||
|
||
**Appendix G Section Reference:** Table G3.1 #11, baseline column, a & b | ||
|
||
**Evaluation Context:** B-RMD each SWH Equipment | ||
**Evaluation Context:** B-RMD each SWH Equipment | ||
**Data Lookup:** | ||
- **Table G3.1.1-2(shw_bat)** | ||
**Function Call:** | ||
- **get_component_by_id** | ||
- **get_SHW_equipment_associated_with_each_SWH_bat** | ||
- **get_SHW_types_and_SHW_use** | ||
- **get_SHW_equipment_type** | ||
- **Table G3.1.1-2(swh_bat)** | ||
**Function Call:** | ||
- **get_component_by_id** | ||
- **get_SWH_equipment_associated_with_each_SWH_bat** | ||
- **get_SWH_bats_and_SWH_use** | ||
- **get_SWH_equipment_type** | ||
|
||
**Applicability Checks:** | ||
- Each SHW use type is applicable if there are SHW loads | ||
- use get_SHW_equipment_associated_with_each_SWH_bat to get the SHW use types and SHW use in the building: `shw_bats_and_equip_dict = get_SHW_equipment_associated_with_each_SWH_bat(B_RMD)` | ||
- Note: Applicability is determined at the building segment level, but the rule is evaluated for all SWH equipment serving the building segment. | ||
- Each SWH bat is applicable if there are SWH loads in the BAT in the proposed model | ||
|
||
- call the function get_SHW_types_and_SHW_use for the proposed: `shw_bat_and_use_dict_p = get_SHW_types_and_SHW_use(P_RMD)` | ||
- look through each of the SHW bats in the building: `for shw_bat in shw_bat_and_use_dict_p:` | ||
- check if there are SHW loads in this use type, continue to rule logic: `if len(shw_bat_and_use_dict_p[shw_bat]) > 0: CONTINUE TO RULE LOGIC` | ||
- otherwise, rule is not applicable for this shw_bat: `else: NOT_APPLICABLE` | ||
- call the function get_SWH_bats_and_SWH_use for the proposed: `swh_bats_and_uses_p = get_SWH_bats_and_SWH_use(P_RMD)` | ||
- look through each of the SWH bats in the building: `for swh_bat in swh_bats_and_uses_p:` | ||
- look at each service water heating use in the BAT: `for swh_use_id in swh_bats_and_uses_p[swh_bat]:` | ||
- get the swh use from the swh_use_id: `swh_use = get_component_by_id(P_RMD, swh_use_id)` | ||
- check if there are SWH loads in this use, continue to rule logic. In this case, we are not worried about the use_units, we just want to know that there is a use that is greater than 0: `if swh_use.use > 0: CONTINUE TO RULE LOGIC` | ||
- otherwise, rule is not applicable for this swh_bat: `else: NOT_APPLICABLE` | ||
|
||
## Rule Logic: | ||
- look at each SWH Equipment in the shw_bat - there should only be one, but this is checked in rule 11-8: `for swh_equip_id in shw_bats_and_equip_dict[shw_bat]["SHWHeatingEq"]:` | ||
- get the SHW equipment type using the function get_SHW_equipment_type: `shw_equip_type = get_SHW_equipment_type(B_RMD, swh_equip_id)` | ||
- get the expected SHW equipment type by looking it up in the table G3.1.1-2: `expected_shw_equip_type = data_lookup(Table G3.1.1-2, shw_bat)` | ||
- use get_SWH_equipment_associated_with_each_SWH_bat to get the SWH use types and SWH use in the building: `swh_bats_and_uses_b = get_SWH_equipment_associated_with_each_SWH_bat(B_RMD)` | ||
- look at each SWH Equipment in the swh_bat. Appendix G requires only one system per bat, but this is covered in rule 11-8, so here we will allow multiple SWH equipment: `for swh_equip_id in swh_bats_and_uses_b[swh_bat]["SWHHeatingEq"]:` | ||
- get the SWH equipment type using the function get_SWH_equipment_type: `swh_equip_type = get_SWH_equipment_type(B_RMD, swh_equip_id)` | ||
- get the expected SWH equipment type by looking it up in the table G3.1.1-2: `expected_swh_equip_type = data_lookup(Table G3.1.1-2, swh_bat)` | ||
|
||
|
||
|
||
## Rule Assertion: | ||
- Case1: the expected_shw_equip_type matches shw_equip_type: PASS: `if expected_shw_equip_type == shw_equip_type: PASS` | ||
- Case2: the expected_shw_equip_type doesn't match shw_equip_type, `FAIL: else: FAIL` | ||
- Case1: the expected_swh_equip_type matches swh_equip_type: PASS: `if expected_swh_equip_type == swh_equip_type: PASS` | ||
- Case2: the expected_swh_equip_type doesn't match swh_equip_type, `FAIL: else: FAIL` | ||
|
||
|
||
**Notes:** | ||
1. The rule states bats for the proposed, but this is complex to check - can we add that SHW uses need to have the same use type to the section 1 general checks? | ||
1. The rule states bats for the proposed, but this is complex to check - can we add that SWH uses need to have the same use type to the section 1 general checks? | ||
|
||
**[Back](../_toc.md)** |