Schema Version: 0.0.37
Mandatory Rule: TRUE
Rule ID: 11-11
Rule Description: For buildings that will have no service water-heating loads, no service water-heating shall be modeled in baseline building model
Rule Assertion: Options are PASS/FAIL/NOT_APPLICABLE
Appendix G Section Reference: Table G3.1 #11, baseline column, c
Evaluation Context: B-RMD each building segment Data Lookup:
Function Call:
- get_component_by_id
- get_SWH_components_associated_with_each_swh_bat
- get_SWH_types_and_SWH_use
- get_SWH_uses_associated_with_each_building_segment
Applicability Checks:
-
look at each building segment in the proposed model:
for building_segment in P_RMD.building.building_segments:
-
create a boolean has_swh_loads and set it to false:
has_swh_loads = false
-
get the service water heating uses in the proposed building segment
service_water_heating_use_ids = get_swh_uses_associated_with_each_building_segment(P_RMD, building_segment.id)
-
look at each service water heating use id:
for swh_use_id in service_water_heating_use_ids:
- get the swh_use using get_component_by_ID:
swh_use = get_component_by_ID(P_RMD, swh_use_id)
- check to see if the swh use is greater than 0 (ie there is any amount of hot water used):
if swh_use.use > 0:
- set has_swh_loads to true:
has_swh_loads = true
- set has_swh_loads to true:
- get the swh_use using get_component_by_ID:
-
if we arrive here with has_swh_loads still equal to false, CONTINUE TO RULE LOGIC:
if has_swh_loads == FALSE: CONTINUE TO RULE LOGIC
-
otherwise, the rule is not applicable:
else: NOT_APPLICABLE
- look at the same building segment in the baseline model, and make sure that there are no SWH loads in the baseline model
- create a boolean has_swh_loads and set it to false:
has_swh_loads_b = false
- get the service water heating uses in the building segment
service_water_heating_use_ids = get_swh_uses_associated_with_each_building_segment(B_RMD, building_segment.id)
- look at each service water heating use id:
for swh_use_id_b in service_water_heating_use_ids:
- get the swh_use_b using get_component_by_ID:
swh_use_b = get_component_by_ID(B_RMD, swh_use_id_b)
- check to see if the swh use is greater than 0 (ie there is any amount of hot water used):
if swh_use_b.use > 0:
- set has_swh_loads to true:
has_swh_loads_b = true
- set has_swh_loads to true:
- get the swh_use_b using get_component_by_ID:
-
-
Case1: the baseline doesn't have any SWH use loads: PASS:
if !has_swh_loads_b: PASS
-
Case2: all other cases is a fail:
else: FAIL
Notes: