Skip to content

Latest commit

 

History

History
161 lines (149 loc) · 29.2 KB

File metadata and controls

161 lines (149 loc) · 29.2 KB

Airside systems – Rule 10-14

Schema Version: 0.0.36
Mandatory Rule: True
Rule ID: 10-14

Rule Description: Baseline shall be modeled with the heating HVAC system efficiency per Tables G3.5.1-G3.5.6 (applies only to the heating efficiency of baseline furnaces and heat pumps). Where multiple HVAC zones or residential spaces are combined into a single thermal block the heating efficiencies (for baseline HVAC System Types 3 and 4) shall be based on the equipment capacity of the thermal block divided by the number of HVAC zones or residential spaces.

Rule Assertion: B-RMR = expected value
Appendix G Section: Section G3.1.2.1 Equipment Efficiencies
Appendix G Section Reference: None
Data Lookup: Tables G3.5.2, G3.5.4 and G3.5.5
Evaluation Context: Evaluate each HeatingVentilatingAirConditioningSystem

Applicability Checks:

  1. Applicable to baseline HVAC system types 2, 3, 3a, 4, and 9.

Function Call:

  1. get_baseline_system_types()
  2. get_hvac_zone_list_w_area()
  3. baseline_system_type_compare()

Rule Logic:

Applicability Check 1:

  • Get baseline hvac system type dictionary: baseline_hvac_sys_type_ids_dict_b = get_baseline_system_types(B_RMR)
  • Create a list of the target system types: target_system_types = [HVAC_SYS.SYS_2, HVAC_SYS.SYS_3, HVAC_SYS.SYS_3a, HVAC_SYS.SYS_4, HVAC_SYS.SYS_9]
  • For each hvac system in the B_RMR: for hvac_b in B_RMR...HeatingVentilatingAirConditioningSystem:
    Check if the hvac system is applicable to this check based on system type
    • Get the hvac system type for hvac_b: hvac_sys_type_b = next((sys_type for sys_type, hvac_id_list in baseline_hvac_sys_type_ids_dict_b.items() if hvac_b.id in hvac_id_list), None)

    • Check if system type is of an applicable system type, if yes then carry on, if no then NOT_APPLICABLE for the hvac system: if any(baseline_system_type_compare(hvac_sys_type_b, target_sys_type, true) for target_sys_type in target_system_types):

      • Reset the modeled efficiency high temp variable (only applies to sys 4): modeled_efficiency_b_high_temp = Null
      • Reset the modeled efficiency low temp variable (only applies to sys 4): modeled_efficiency_b_low_temp = Null
      • Reset the modeled efficiency: modeled_efficiency_b = Null
      • Reset the modeled AFUE efficiency: modeled_AFUE_efficiency_b = Null
      • Reset the modeled thermal efficiency: modeled_thermal_efficiency_b = Null
      • Reset the expected efficiency high temp (only applies to sys 4): expected_baseline_eff_b_high_temp = Null
      • Reset the expected efficiency low temp (only applies to sys 4): expected_baseline_eff_b_low_temp = Null
      • Reset the expected efficiency: expected_baseline_eff_b = Null
      • Reset the expected AFUE efficiency: expected_baseline_AFUE_eff_b = Null
      • Reset the expected thermal efficiency: expected_baseline_thermal_eff_b = Null
      • Reset the cooling capacity not defined variable to false: was_cool_capacity_not_defined = FALSE
      • Reset the heating capacity not defined variable to false: was_heat_capacity_not_defined = FALSE
      • Reset zone_aggregation_factor_undefined_and_needed: zone_aggregation_factor_undefined_and_needed = Null
        Get the attributes of the hvac system relevant to this check
      • Assign the heating system to an object (there should only be 1 heating system): heating_system_b = hvac_b.heating_system
      • Assign the cooling system to an object (there should only be 1 cooling system): cooling_system_b = hvac_b.cooling_system

      Determine the expected modeled efficiency based on the system type and capacity and compare to modeled value:

      • SYSTEM TYPE 2

      • Check if the system is system type 2: if baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_2, false):

        • Zone aggregation factor not needed so set boolean to false: zone_aggregation_factor_undefined_and_needed = FALSE
        • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
          • Check if the efficiency metric equals HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN (rating condition in 310 if 47F): if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN":
            • Set the modeled efficiency value: modeled_efficiency_b = heating_system_b.efficiency_metric_values[x]
            • Break out of loop if efficiency is found: break
        • Set expected_baseline_eff_b = 3.1:expected_baseline_eff_b = 3.1
      • SYSTEM TYPE 9

      • Check else if the system is system type 9: elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_9, true):

        • Zone aggregation factor not needed so set boolean to false: zone_aggregation_factor_undefined_and_needed = FALSE
        • Loop through each of the efficiency_metric_types associated with the heating system until COMBUSTION_EFFICIENCY is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
          • Check if the efficiency metric equals COMBUSTION_EFFICIENCY: if heating_system_b.efficiency_metric_types[x] == "COMBUSTION_EFFICIENCY":
            • Set the modeled efficiency value: modeled_efficiency_b = heating_system_b.efficiency_metric_values[x]
            • Break out of loop if efficiency is found: break
        • Set expected_baseline_eff_b = 80% Ec:expected_baseline_eff_b = 0.80
      • SYSTEM TYPE 3 and 3a (<225,000)

      • Check else if the system type is 3 or 3a:elif any(baseline_system_type_compare(hvac_sys_type_b, target_sys_type, true) for target_system_type in [HVAC_SYS.SYS_3,HVAC_SYS.SYS_3a]):

        • Get dictionary list of baseline zones and the associated HVAC systems: hvac_zone_list_w_area_dict_b = get_hvac_zone_list_w_area (B_RMR)
        • Get list of zones that the HVAC system serves (this is to get the zone associated with sys 3 or 4): zone_list_b = hvac_zone_list_w_area_dict_b[hvac_b.id]["ZONE_LIST"]
          Get the heating capacity:
        • Check if rated heating capacity does not equal null, if it does not equal null then set the heating capacity equal to this data element's value: if heating_system_b.rated_capacity != Null:
          • Set heating capacity equal to the rated heating capacity: total_heating_capacity_b = heating_system_b.rated_capacity
        • Else if, check that design heating capacity does not equal null:Elif heating_system_b.design_capacity != Null:
          • Set heating capacity equal to the design heating capacity: total_heating_capacity_b = heating_system_b.design_capacity
        • Else, set the was_heat_capacity_not_defined boolean variable equal to TRUE: Else: was_heat_capacity_not_defined = TRUE
        • Check if capacity is <225,000 Btuh (below checks if the modeled value is equal to the most stringent size category which is <225,000 for when capacity is not defined) or (if the aggregation factor was defined (i.e., does not equal Null) and the resultant capacity is less than 225000) or if the aggregation factor = Null (most strigent size category) : if total_heating_capacity_b < 225000 OR was_heat_capacity_not_defined boolean variable == TRUE OR (zone_list_b[0].aggregation_factor != Null AND total_heating_capacity_b/zone_list_b[0].aggregation_factor < 225000) OR zone_list_b[0].aggregation_factor == Null:
          • Check if the capacity is greater than or equal to 225000 and zone aggregation not defined: if total_heating_capacity_b >= 225000 AND zone_list_b[0].aggregation_factor == Null :
            • Zone aggregation factor needed so set boolean to FALSE: zone_aggregation_factor_undefined_and_needed = FALSE
          • Else, set the boolean variable to FALSE: Else: zone_aggregation_factor_undefined_and_needed = FALSE
          • Loop through each of the efficiency_metric_types associated with the heating system until AFUE or thermal eff are found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals ANNUAL_FUEL_UTILIZATION_EFFICIENCY: if heating_system_b.efficiency_metric_types[x] == "ANNUAL_FUEL_UTILIZATION_EFFICIENCY":
              • Set the modeled efficiency value: modeled_AFUE_efficiency_b = heating_system_b.efficiency_metric_values[x]
              • Set expected_baseline_eff_b equal to 78% AFUE: expected_baseline_AFUE_eff_b = 0.78
            • Check elif the efficiency metric equals THERMAL_EFFICIENCY: elif heating_system_b.efficiency_metric_types[x] == "THERMAL_EFFICIENCY":
              • Set the modeled efficiency value: modeled_thermal_efficiency_b = heating_system_b.efficiency_metric_values[x]
              • Set expected_baseline_eff_b equal to 80% Et: expected_baseline_thermal_eff_b = 0.8
            • Check if both efficiency metrics are not equal to null, if they both are then break: if expected_baseline_AFUE_eff_b != Null and expected_baseline_thermal_eff_b != Null:
              • Break: break
        • SYSTEM TYPE 3 and 3a (>=225,000)
        • Else, capacity is greater than or equal to 225,000 Btuh: Else:
          • Set the boolean variable for zone aggregation factor needed to FALSE: zone_aggregation_factor_undefined_and_needed = FALSE
          • Loop through each of the efficiency_metric_types associated with the heating system until COMBUSTION_EFFICIENCY is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals COMBUSTION_EFFICIENCY: if heating_system_b.efficiency_metric_types[x] == "COMBUSTION_EFFICIENCY":
              • Set the modeled efficiency value: modeled_efficiency_b = heating_system_b.efficiency_metric_values[x]
              • Break out of loop if efficiency is found: break
          • Set expected_baseline_eff_b equal to 80% Ec: expected_baseline_eff_b = 0.8
      • SYSTEM 4

      • Else, system type is 4:Else:

        • Get dictionary list of baseline zones and the associated HVAC systems: hvac_zone_list_w_area_dict_b = get_hvac_zone_list_w_area (B_RMR)

        • Get list of zones that the HVAC system serves (this is to get the zone associated with sys 3 or 4): zone_list_b = hvac_zone_list_w_area_dict_b[hvac_b.id]["ZONE_LIST"]
          Get the cooling capacity (needed for determining heating efficiency for system 4)

        • Check if rated cooling capacity does not equal null, if it does not equal null then set the cooling capacity equal to this data element's value: if cooling_system_b.rated_total_cool_capacity != Null:

          • Set cooling capacity equal to the rated cooling capacity: total_cooling_capacity_b = cooling_system_b.rated_total_cool_capacity
        • Else if, check that design cooling capacity does not equal null:Elif cooling_system_b.design_total_cool_capacity != Null:

          • Set cooling capacity equal to the design cooling capacity: total_cooling_capacity_b = cooling_system_b.design_total_cool_capacity
        • Else, set the was_capacity_not_defined boolean variable equal to TRUE: Else: was_cool_capacity_not_defined = TRUE

        • SYSTEM 4 <65000

        • Check if cooling capacity is <65,000 Btuh OR the zone aggregation factor was defined and the capacity is less than 65000 Btuh: if (zone_list_b[0].aggregation_factor != Null AND total_cooling_capacity_b/zone_list_b[0].aggregation_factor < 65000) OR total_cooling_capacity_b < 65000 AND was_cool_capacity_not_defined == FALSE:

          • Set the boolean variable to FALSE: Else: zone_aggregation_factor_undefined_and_needed = FALSE
          • Set the expected baseline efficiency for <65000 (if the modeled part OR full load efficiency values equals 3.4 then it passes; this is captured in the subsequent logic): expected_baseline_eff_b = 3.4
            • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b. : For x in range(len(heating_system_b.efficiency_metric_types)):
              • Check if the efficiency metric equals HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN : if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_COEFFICIENT_OF_PERFORMANCE_HIGH_TEMPERATURE_NO_FAN":
                • Set the modeled efficiency value: modeled_efficiency_b = heating_system_b.efficiency_metric_values[x]
                • Break out of loop if efficiency is found: break
        • System 4 >=65000 and <135000 Btuh

        • Check if cooling capacity is >=65,000 Btuh and <135000 Btuh OR the zone aggregation factor was defined and the capacity is >=65,000 Btuh and <135000 Btuh OR the zone aggregation factor was not defined and capacity is 65000 and above OR the capacity was not defined (this is the most stringent efficiency bracket) : if [(zone_list_b[0].aggregation_factor != Null AND total_cooling_capacity_b/zone_list_b[0].aggregation_factor >= 65000 AND total_cooling_capacity_b/zone_list_b[0].aggregation_factor < 135000) OR (total_cooling_capacity_b >= 65000 AND total_cooling_capacity_b < 135000) OR was_cool_capacity_not_defined == TRUE OR (zone_list_b[0].aggregation_factor == Null AND total_cooling_capacity_b >= 65000)] AND modeled_efficiency_b == Null:

          • Check if the capacity is greater than or equal to 65000 and zone aggregation not defined: if total_cooling_capacity_b >= 65000 AND zone_list_b[0].aggregation_factor == Null :
            • Zone aggregation factor needed so set boolean to TRUE: zone_aggregation_factor_undefined_and_needed = TRUE
          • Else, set the boolean variable to FALSE: Else: zone_aggregation_factor_undefined_and_needed = FALSE
          • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN: if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN":
              • Set the modeled efficiency high temp value: modeled_efficiency_b_high_temp = heating_system_b.efficiency_metric_values[x]
              • Break out of loop if efficiency is found: break
          • Set expected_baseline_eff_b equal to 3.4 COPnf47: expected_baseline_eff_b_high_temp = 3.4
          • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN: if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN":
              • Set the modeled efficiency value: modeled_efficiency_b_low_temp = heating_system_b.efficiency_metric_values[x]
              • Break out of loop if efficiency is found: break
          • Set expected_baseline_eff_b equal to 2.3 COPnf17: expected_baseline_eff_b_low_temp = 2.3
        • System 4 >= 135000 Btuh

        • Check if cooling capacity is >= 135000 Btuh OR the zone aggregation factor was defined and the capacity is >= 135000 Btuh and the cooling capacity was defined and both the modeled efficiencies are not defined (high and low temp): if [(zone_list_b[0].aggregation_factor != Null AND total_heating_capacity_b/zone_list_b[0].aggregation_factor >= 135000) OR (total_cooling_capacity_b >= 135000)] AND was_cool_capacity_not_defined == FALSE AND (modeled_efficiency_b_high_temp == Null AND modeled_efficiency_b_low_temp == Null):

          • Set zone aggregation factor needed equal to false: zone_aggregation_factor_undefined_and_needed = FALSE
          • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN: if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_EFFICIENCY_HIGH_TEMPERATURE_NO_FAN":
              • Set the modeled efficiency high temp value: modeled_efficiency_b_high_temp = heating_system_b.efficiency_metric_values[x]
              • Break out of loop if efficiency is found: break
          • Set expected_baseline_eff_b equal to 3.4 COPnf47: expected_baseline_eff_b_high_temp = 3.4
          • Loop through each of the efficiency_metric_types associated with the heating system until HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN is found. Get the associated value of the efficiency from the list of efficiency_metric_values associated with the heating_system_b : For x in range(len(heating_system_b.efficiency_metric_types)):
            • Check if the efficiency metric equals HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN: if heating_system_b.efficiency_metric_types[x] == "HEAT_PUMP_EFFICIENCY_LOW_TEMPERATURE_NO_FAN":
              • Set the modeled efficiency value: modeled_efficiency_b_low_temp = heating_system_b.efficiency_metric_values[x]
              • Break out of loop if efficiency is found: break
          • Set expected_baseline_eff_b equal to 2.1 COPnf17: expected_baseline_eff_b_low_temp = 2.1
            Rule Assertion:
      • Case 1: if the modeled efficiency matches the expected baseline efficiency based on the size category and the efficiency was defined in the correct units and the heating capacity was defined and the zone aggregation boolean variable is false then pass: if expected_baseline_eff_b == modeled_efficiency_b AND modeled_efficiency_b != Null and was_heat_capacity_not_defined == FALSE AND zone_aggregation_factor_undefined_and_needed == FALSE: PASS

      • Case 2: Elif the system is system 3 and modeled AFUE eff and the modeled thermal efficiency both match the expected values or if one of the two is defined and matches the expected value based on size category and the heating capacity was defined and the zone aggregation boolean variable is false then pass: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_3, false) and (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_AFUE_efficiency_b != Null) or (modeled_thermal_efficiency_b == Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_FUE_efficiency_b != Null) or (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and modeled_AFUE_efficiency_b == Null) and was_heat_capacity_not_defined == FALSE and zone_aggregation_factor_undefined_and_needed == FALSE: PASS

      • Case 3: Elif the system is system 3 and modeled AFUE eff and the modeled thermal efficiency both match the most conservative values or if one of the two is defined and matches the most conservative value and the heating capacity was NOT defined then UNDETERMINED: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_3, false) and (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_AFUE_efficiency_b != Null) or (modeled_thermal_efficiency_b == Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_FUE_efficiency_b != Null) or (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and modeled_AFUE_efficiency_b == Null) and was_heat_capacity_not_defined == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled)."

      • Case 4: Elif the system is system 3 and modeled AFUE eff and the modeled thermal efficiency both match the most conservative values or if one of the two is defined and matches the most conservative value and the zone aggregation factor was NOT defined and needed then UNDETERMINED: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_3, false) and (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_AFUE_efficiency_b != Null) or (modeled_thermal_efficiency_b == Null and expected_baseline_AFUE_eff_b == modeled_AFUE_efficiency_b and modeled_FUE_efficiency_b != Null) or (expected_baseline_thermal_eff_b == modeled_thermal_efficiency_b and modeled_thermal_efficiency_b != Null and modeled_AFUE_efficiency_b == Null) and zone_aggregation_factor_undefined_and_needed == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled)."

      • Case 5: Elif system type 4 and both the high temp and low temp App G efficiencies match the modeled efficiencies and capacity was defined then Pass: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp AND modeled_efficiency_b_low_temp == expected_baseline_eff_b_low_temp and was_cool_capacity_not_defined == FALSE AND zone_aggregation_factor_undefined_and_needed == FALSE: PASS

      • Case 6: Elif the heat pump efficiency was modeled correctly at the high-temperature point and low-temperature efficiency was not defined and capacity was defined then UNDETERMINED with a message: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp AND modeled_efficiency_b_low_temp == Null and was_cool_capacity_not_defined == FALSE AND zone_aggregation_factor_undefined_and_needed = FALSE: UNDETERMINED and raise_message "The efficiency at Tdb 47F was modeled correctly; however the outcome is undetermined because the modeled efficiency at Tdb 17F was not defined. It is often the case that the Tdb 17F efficiency is captured in the model via the performance curves as opposed to an explicit efficiency value entry. If there is no explicit option to enter an efficiency value at Tdb 17F check that appropriate performance curves were modeled."

      • Case 7: Elif the modeled efficiency matches the most conservative efficiency and efficiency metric and heating capacity was not defined then UNDETERMINED: elif expected_baseline_eff_b == modeled_efficiency_b AND modeled_efficiency_b != Null and was_heat_capacity_not_defined == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled)."

      • Case 8: Elif system type 4 and both the high temp and low temp App G efficiencies match the most conservative efficiencies and capacity was not defined then UNDETERMINED: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp AND modeled_efficiency_b_low_temp == expected_baseline_eff_b_low_temp and was_cool_capacity_not_defined == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled)."

      • Case 9: Elif the heat pump efficiency was modeled correctly at the high-temperature point based on most conservative efficiency and capacity was NOT defined then UNDETERMINED with a message: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp and was_cool_capacity_not_defined == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency at Tdb 47F was modeled with an efficiency per the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled) and the modeled efficiency at Tdb 17F was not defined. It is often the case that the Tdb 17F efficiency is captured in the model via the performance curves as opposed to an explicit efficiency value entry. If there is no explicit option to enter an efficiency value at Tdb 17F check that appropriate performance curves were modeled."

      • Case 10: Elif the modeled efficiency matches the most conservative efficiency and efficiency metric and zone aggregation factor was not defined then UNDETERMINED: elif expected_baseline_eff_b == modeled_efficiency_b AND modeled_efficiency_b != Null and zone_aggregation_factor_undefined_and_needed == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled) ."

      • Case 11: Elif system type 4 and both the high temp and low temp App G efficiencies match the most conservative efficiencies and zone aggregation factor was not defined then UNDETERMINED: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp AND modeled_efficiency_b_low_temp == expected_baseline_eff_b_low_temp and zone_aggregation_factor_undefined_and_needed == TRUE: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency matches the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled)."

      • Case 12: Elif the heat pump efficiency was modeled correctly at the high-temperature point based on most conservative efficiency then UNDETERMINED with a message: Elif baseline_system_type_compare(hvac_sys_type_b, HVAC_SYS.SYS_4, false) AND modeled_efficiency_b_high_temp == expected_baseline_eff_b_high_temp: UNDETERMINED and raise_message "Check if the modeled baseline heating efficiency was established correctly based upon equipment capacity and type. The modeled efficiency at Tdb 47F was modeled with an efficiency per the capacity bracket in Appendix G efficiency tables with the highest efficiency (i.e., most conservative efficiency has been modeled) and the modeled efficiency at Tdb 17F was not defined. It is often the case that the Tdb 17F efficiency is captured in the model via the performance curves as opposed to an explicit efficiency value entry. If there is no explicit option to enter an efficiency value at Tdb 17F check that appropriate performance curves were modeled."

      • Case 13: Else, fail: else: FAIL

Back