openstudio-standards 0.2.16 → 0.2.17.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/standards/manage_OpenStudio_Standards.rb +31 -4
- data/lib/openstudio-standards/btap/geometry.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +354 -2
- data/lib/openstudio-standards/hvac_sizing/Siz.ThermalZone.rb +79 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +3313 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +12 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +3 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +167 -93
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +2 -4
- data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +1 -0
- data/lib/openstudio-standards/refs/references.rb +3 -0
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +279 -6
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +50 -2
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +4 -0
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.Construction.rb +185 -3
- data/lib/openstudio-standards/standards/Standards.Fan.rb +14 -6
- data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +1 -0
- data/lib/openstudio-standards/standards/Standards.Model.rb +1751 -383
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +130 -9
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +50 -3
- data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +44 -0
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +27 -0
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +543 -0
- data/lib/openstudio-standards/standards/Standards.Space.rb +665 -15
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +141 -4
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.Surface.rb +117 -0
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +197 -49
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +41 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model.rb +6 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.spc_typ.json +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.spc_typ.json +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.spc_typ.json +9 -9
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.spc_typ.json +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.fans.json +12 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.spc_typ.json +10 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +45 -45
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.spc_typ.json +10 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +792 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirTerminalSingleDuctParallelPIUReheat.rb +10 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirTerminalSingleDuctVAVReheat.rb +31 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.BoilerHotWater.rb +91 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +84 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +145 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +106 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +71 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +194 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +120 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoolingTower.rb +110 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoolingTowerVariableSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Fan.rb +73 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanVariableVolume.rb +24 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.HeatExchangerSensLat.rb +55 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +3045 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlanarSurface.rb +187 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +450 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Space.rb +106 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +666 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Surface.rb +54 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ThermalZone.rb +168 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ZoneHVACComponent.rb +132 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.rb +239 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +176 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.rb +25 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.boilers.json +52 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.chillers.json +112 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.climate_zone_sets.json +210 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.construction_properties.json +10384 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.construction_sets.json +133 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.furnaces.json +43 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_pumps.json +119 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_pumps_heating.json +130 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_rejection.json +13 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.lpd_space_type.json +568 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.motors.json +264 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_baseline_hvac.json +439 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_constructions.json +685 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_economizers.json +213 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_ext_ltg.json +32 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_heat_type.json +136 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_hvac_bldg_type.json +32 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_interior_lighting.json +1837 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_swh_bldg_type.json +184 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.prm_wwr_bldg_type.json +84 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.unitary_acs.json +148 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.water_heaters.json +157 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.climate_zone_sets.json +210 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +18329 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +340 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.materials.json +49924 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/baseline_building_rotation_exception.md +44 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/check_pump_power_and_control.md +71 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/dcv.md +68 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/dcv_implementation.png +0 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/elevators.md +14 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/exhaust_air_energy_recovery.md +36 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/f_c_factors.md +19 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/fan_power_credits.md +15 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/preheat_coil.md +59 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/pump_power_control.md +46 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/return_air_type.md +31 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_baseline_wwr.md +191 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_hw_and_chw_supply_water_temp_reset_control.md +24 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_num_boilers_chillers_towers.md +49 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_plug_load_measures.md +80 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_space_lpd.md +73 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/unenclosed_and_unconditioned_spaces.md +11 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/unmet_load_hours.md +20 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/vav_parallel_piu_terminals_fan_control.md +23 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/vav_terminals_min_flow_setpoint.md +21 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_airloop_hvac.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_airloop_hvac_doas.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_building.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_design_specification_outdoor_air.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_electric_equipment.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_exterior_lights.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_gas_equipment.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_lights.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_space.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_spacetype.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_thermal_zone.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_wateruse_connections.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_wateruse_equipment.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_wateruse_equipment_definition.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_zone_hvac.csv +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_zone_infiltration.csv +1 -0
- data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +12 -0
- data/lib/openstudio-standards/standards/deer/data/deer.fans.json +12 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps.json +1 -1
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps_heating.json +1 -1
- data/lib/openstudio-standards/standards/necb/ECMS/data/unitary_acs.json +24 -11
- data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +13 -15
- data/lib/openstudio-standards/standards/necb/NECB2011/data/province_map.json +17 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +6 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +3 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +2 -3
- data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2020/data/space_types.json +33 -924
- data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +15 -15
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +135 -29
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +16 -4
- data/lib/openstudio-standards/standards/necb/common/neb_end_use_prices.csv +40 -42
- data/lib/openstudio-standards/standards/necb/common/necb_reference_runs.csv +1 -1
- data/lib/openstudio-standards/standards/necb/common/space_type_upgrade_map.json +89 -89
- data/lib/openstudio-standards/utilities/array.rb +11 -0
- data/lib/openstudio-standards/utilities/logging.rb +48 -0
- data/lib/openstudio-standards/utilities/object_info.rb +20 -0
- data/lib/openstudio-standards/utilities/schedule_translator.rb +348 -0
- data/lib/openstudio-standards/utilities/sqlfile.rb +68 -0
- data/lib/openstudio-standards/version.rb +2 -2
- data/lib/openstudio-standards/weather/Weather.Model.rb +42 -55
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +1 -1
- data/lib/openstudio-standards.rb +35 -1
- metadata +111 -6
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1_28Jan2022.xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1_28_Jan2022_2.xlsx +0 -0
- data/data/standards/openstudio_standards_duplicates_log.csv +0 -143
data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/baseline_building_rotation_exception.md
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
Check if the baseline model is exempted from the orientation requirements
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
- G3.1 (5) Orientation. The *baseline building performance* shall be generated by simulating the *building* with its actual *orientation* and again after rotating the entire *building* 90, 180, and 270 degrees, then averaging the results. The *building* shall be modeled so that it does not shade itself.
|
5
|
+
|
6
|
+
- G3.1 (5) Orientation Exceptions:
|
7
|
+
- If it can be demonstrated to the satisfaction of the *rating authority* that the *building orientation* is dictated by site considerations.
|
8
|
+
- *Buildings* where the *vertical fenestration area* on each *orientation* varies by less than 5%
|
9
|
+
|
10
|
+
# Code Requirement Interpretation
|
11
|
+
The code requires the baseline building performance to be the average value of the model facing four different orientations (0, 90, 180, 270).
|
12
|
+
|
13
|
+
Exception shall be applied when site consideration approved by rating authority or the vertical fenestration area on each orientation varies by less than 5%.
|
14
|
+
|
15
|
+
# Implementation Methodology
|
16
|
+
At beginning of the baseline generation, a method `run_all_orientations` is called to flag the rotation.
|
17
|
+
|
18
|
+
The `run_all_orientations` function implements the logics as followings:
|
19
|
+
- Default value from `run_all_orients`.
|
20
|
+
- Check fenestration area variances at each orientation - if any of the combination has a variation that is greater than 5%, then set the flag to true
|
21
|
+
- Check user data from `userdata_building`. If the `is_rotation_exmpted` data is available, override the previous flag.
|
22
|
+
|
23
|
+
## Key Ruby Methods
|
24
|
+
`run_all_orientations`
|
25
|
+
|
26
|
+
## Test Case Documentation
|
27
|
+
|
28
|
+
### Test case 1:
|
29
|
+
- Prototype: Small Office
|
30
|
+
- User data folder: N/A
|
31
|
+
- Summary:
|
32
|
+
The case will require rotation on four orientations.
|
33
|
+
|
34
|
+
### Test case 2:
|
35
|
+
- Prototype: Small Office
|
36
|
+
- User data folder: N/A
|
37
|
+
- Summary:
|
38
|
+
This case have 40% wwr on four orientations, rotation is still required.
|
39
|
+
|
40
|
+
### Test case 3:
|
41
|
+
- Prototype: Small Office
|
42
|
+
- User data folder: *userdata_bro_01*
|
43
|
+
- Summary:
|
44
|
+
This case have have identical fenestration area for four orientation and user data set to exempt.
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# Pump power and control
|
2
|
+
|
3
|
+
## Code requirements
|
4
|
+
G3.1.3.5: Hot-water pumps
|
5
|
+
The baseline building design hot-water pump power shall be **19 W/gpm**. The pumping
|
6
|
+
system shall be modeled as primary-only with continuous variable flow and a minimum
|
7
|
+
of 25% of the design flow rate. Hot-water systems serving **120,000 ft2** or more shall be
|
8
|
+
modeled with variable-speed drives, and systems serving less than **120,000 ft2** shall be
|
9
|
+
modeled as riding the pump curve.
|
10
|
+
|
11
|
+
Exception to G3.1.3.5:
|
12
|
+
The pump power for systems using purchased heat shall be **14 W/gpm**.
|
13
|
+
|
14
|
+
G3.1.3.10 Chilled-Water Pumps (System 7, 8, 11, 12 and 13)
|
15
|
+
Chilled-water systems shall be modeled as primary/secondary systems with constant-flow
|
16
|
+
primary loop and variable-flow secondary loop. For systems with cooling capacity
|
17
|
+
of **300 tons or more**, the secondary pump shall be modeled with variable-speed drives
|
18
|
+
and a minimum flow of 25% of the design flow rate. For systems with **less than 300 tons**
|
19
|
+
cooling capacity, the secondary pump shall be modeled as riding the pump curve. The baseline building constant-volume primary pump power shall be modeled as **9 W/gpm**,
|
20
|
+
and the variable-flow secondary pump power shall be modeled as **13 W/gpm** at design
|
21
|
+
conditions. For computer room systems using System 11 with an integrated fluid economizer,
|
22
|
+
the baseline building design primary chilled-water pump power shall be increased
|
23
|
+
by **3 W/gpm** for flow associated with the fluid economizer.
|
24
|
+
|
25
|
+
Exception to G3.1.3.10
|
26
|
+
For systems using purchased chilled water, the building distribution pump shall be modeled
|
27
|
+
with variable-speed drive, a minimum flow of 25% of the design flow rate, and a pump power
|
28
|
+
of **16 W/gpm**.
|
29
|
+
|
30
|
+
G3.1.3.11 Heat Rejection (Systems 7, 8, 11, 12 and 13)
|
31
|
+
The baseline building design condenser-water pump power shall be **19 W/gpm** and modeled as constant volume.
|
32
|
+
For computer room systems using System 11 with an integrated fluid economizer, the baseline building design condenser-water-pump power shall be increased by **3 W/gpm** for flow associated with the fluid economizer.
|
33
|
+
Each chiller shall be modeled with separate condenser-water and chilled-water pumps interlocked to operate with the associated chiller.
|
34
|
+
|
35
|
+
#### key functions
|
36
|
+
ashrae_90_1_prm.PlantLoop.rb: plant_loop_apply_prm_baseline_pump_power
|
37
|
+
Standards.PlantLoop.rb: plant_loop_apply_prm_baseline_pumping_type
|
38
|
+
- Sub-function: plant_loop_apply_prm_baseline_hot_water_pumping_type
|
39
|
+
- Sub-function: plant_loop_apply_prm_baseline_chilled_water_pumping_type
|
40
|
+
- Sub-function: plant_loop_apply_prm_baseline_condenser_water_pumping_type
|
41
|
+
|
42
|
+
#### Parameters:
|
43
|
+
Pump power constants set in PlantLoop class:
|
44
|
+
```ruby
|
45
|
+
HOT_WATER_PUMP_POWER = 19 # W/gpm
|
46
|
+
HOT_WATER_DISTRICT_PUMP_POWER = 14 # W/gpm
|
47
|
+
CHILLED_WATER_PRIMARY_PUMP_POWER = 9 # W/gpm
|
48
|
+
CHILLED_WATER_SECONDARY_PUMP_POWER = 13 # W/gpm
|
49
|
+
CHILLED_WATER_DISTRICT_PUMP_POWER = 16 # W/gpm
|
50
|
+
CONDENSER_WATER_PUMP_POWER = 19 # W/gpm
|
51
|
+
```
|
52
|
+
Pump curve coefficients used to defining the pump type
|
53
|
+
```ruby
|
54
|
+
when 'Riding Curve'
|
55
|
+
coeff_a = 0.0
|
56
|
+
coeff_b = 3.2485
|
57
|
+
coeff_c = -4.7443
|
58
|
+
coeff_d = 2.5294
|
59
|
+
when 'VSD No Reset'
|
60
|
+
coeff_a = 0.0
|
61
|
+
coeff_b = 0.5726
|
62
|
+
coeff_c = -0.301
|
63
|
+
coeff_d = 0.7347
|
64
|
+
```
|
65
|
+
|
66
|
+
### Limitations
|
67
|
+
|
68
|
+
- The code implemented a primary and secondary loop configuration for chilled water loop. The primary loop has chiller at the supply side and a perfect heat exchanger at the demand side. The secondary loop has the heat exchanger at the supply side and coils at the demand side. In this configuration, each chiller will interlock with a pump. However, the pump operation strategy is not implemented yet.
|
69
|
+
- The integrated water economizer for system type 11 is not implemented.
|
70
|
+
|
71
|
+
### PRM-RM
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# DCV for Appendix G baseline generation
|
2
|
+
|
3
|
+
Xuechen (Jerry) Lei, PNNL
|
4
|
+
Update: 06/29/2022
|
5
|
+
|
6
|
+
## Code requirements
|
7
|
+
|
8
|
+
### 90.1-2019
|
9
|
+
|
10
|
+
#### 6.4.3.8 Ventilation Controls for High-Occupancy Areas
|
11
|
+
|
12
|
+
Demand control ventilation (DCV) is required for spaces larger than 500 ft<sup>2</sup> and with a design occupancy for ventilation of >= 25 ppl/kft<sup>2</sup> of floor area and served by systems with one or more of the following:
|
13
|
+
|
14
|
+
- a. Air economizer
|
15
|
+
- b. Automatic modulating control of outdoor air damper
|
16
|
+
- c. **Design outdoor airflow greater than 3000 cfm**
|
17
|
+
|
18
|
+
Exceptions to 6.4.3.8
|
19
|
+
|
20
|
+
1. Systems with exhaust air energy recovery complying with, and where required by, Section 6.5.6.1.
|
21
|
+
2. Multiple-zone systems without DDC of individual zones communicating with a central control panel.
|
22
|
+
3. **Systems with a design outdoor airflow less than 750 cfm.**
|
23
|
+
4. Spaces where >75% of the space design outdoor airflow is required for makeup air that is exhausted from the space or transfer air that is required for makeup air that is exhausted from other spaces.
|
24
|
+
5. Spaces with one of the following occupancy categories as defined in ASHRAE Standard 62.1: correctional cells, daycare sickrooms, science labs, barbers, beauty and nail salons, and bowling alley seating.
|
25
|
+
|
26
|
+
**Note that in most cases, such systems will always have economizer. As a result, the deciding conditions for DCV mandate are mostly: 1. > 500 ft<sup>2</sup>; 2. >= 25 ppl/kft<sup>2</sup>; and 3. design outdoor airflow > 750 cfm.**
|
27
|
+
|
28
|
+
#### G3.1.2.5 Ventilation
|
29
|
+
|
30
|
+
Minimum ventilation system outdoor air intake flow shall be the same for the proposed design and baseline building design.
|
31
|
+
|
32
|
+
Exception to G3.1.2.5
|
33
|
+
|
34
|
+
1. When modeling demand control ventilation in the proposed design in systems with outdoor air capacity less than or equal to 3000 cfm serving areas with an average design capacity of **100 people per 1000 ft<sup>2</sup> or less.**
|
35
|
+
2. ...
|
36
|
+
|
37
|
+
**We checked with 90.1 committee that in this exception, the relationship between the two conditions should be "or".**
|
38
|
+
|
39
|
+
### PRM-RM
|
40
|
+
|
41
|
+
#### 3.5.5.4 Minimum Outdoor Air Ventilation Rate
|
42
|
+
|
43
|
+
| | |
|
44
|
+
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
45
|
+
| Applicability | All HVAC zones |
|
46
|
+
| Definition | The minimum quantity of outdoor ventilation air that must be provided to the space when it is occupied |
|
47
|
+
| Units | cfm or cfm/ft² |
|
48
|
+
| Input | Restrictions As designed |
|
49
|
+
| Baseline | Building Minimum ventilation system outdoor air intake flow shall be the same for the proposed and baseline building designs. Except in the following conditions: |
|
50
|
+
|
51
|
+
- Demand control ventilation shall not be modeled in zones served by systems with outdoor air less than 3000 cfm **and** occupant density of 100 people per 1000 ft<sup>2</sup> or less.
|
52
|
+
- ...
|
53
|
+
|
54
|
+
**According to the clarification in previous section, the 'and' in above exception should also be 'or'.**
|
55
|
+
|
56
|
+
## Code requirements interpretation
|
57
|
+
|
58
|
+
The high level idea behind Appendix G DCV requirements is: if DCV is not required per 90.1 Section 6.4.3.8, but the proposed model has it, then Appendix G wants to credit the DCV-introduced energy saving by removing DCV in the baseline model.
|
59
|
+
|
60
|
+
If the space has conditions such as a high occupancy density (>= 25 ppl/kft<sup>2</sup>) and high design outdoor airflow (>= 3000 cfm), then according to 90.1 6.4.3.8, DCV is mandatory. In this case (i.e. DCV is mandatory according to 90.1 6.4.3.8), Appendix G baseline and proposed model should both have DCV. As a result, energy savings caused by DCV is not credited for Appendix G. One thing to note is, "both having DCV" is based on exception 1, however, the conditions specified for high occupancy density (>= 100 ppl/kft<sup>2</sup>) in this exception is different from 90.1 6.4.3.8 (>= 25 ppl/kft<sup>2</sup>), and other conditions used to unsatisfy this exception (outdoor air less than 3000 cfm or occupant density of 100 people per 1000 ft<sup>2</sup> or less) is different from the conditions to require mandatory DCV in 90.1 6.4.3.8. As a result, there may be a case where DCV is mandatory per 90.1, but Exception 1 of Appendix G 3.1.2.5 is not met. For instance, when design OA flow is 3500 cfm and occupant density is 50 ppl/kft<sup>2</sup>, DCV is mandatory according to 90.1 6.4.3.8, while according to PRM-RM, DCV shall not be modeled.
|
61
|
+
|
62
|
+
If the space is not required to have DCV according to 90.1 6.4.3.8, but the proposed model has DCV, then we would like to credit the energy savings of DCV for the proposed model under appendix G. To make this happen, we would delete the DCV in the baseline model. The condition difference in the above bullet also has impact here. For instance, due to satisfying exception of 90.1 6.4.3.8, DCV is not required, and in the meantime, because of a large design OA flow of 4000 cfm, exception 1 of Appendix G 3.1.2.5 is not met, so baseline and proposed model need to have the same ventilation OA flow. In such a case, whether DCV is implemented in the proposed model or not, we will keep baseline the same (do nothing for baseline). If DCV is mandatory but not implemented in the proposed model, an error will be raised.
|
63
|
+
|
64
|
+
For the five exceptions of 90.1 6.4.3.8, we will not implement the checking of them under Appendix G. Instead, we will ask the user to provide such information of if the model meets any exception for not having mandatory DCV.
|
65
|
+
|
66
|
+
## Implementation design summary diagram
|
67
|
+
|
68
|
+
![Appendix G DCV implementation diagram](./dcv_implementation.png)
|
Binary file
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Elevators
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
## Section G3.1.16 Elevators
|
5
|
+
Where the proposed design includes elevators, the baseline building design shall be modeled to include the elevator cab motor, ventilation fans, and lighting power. The elevator motor use shall be modeled with the same schedule as the proposed design. When included in the proposed design, the baseline elevator cab ventilation fan shall be 0.33 W/cfm and the lighting power density shall be 3.14 W/ft2; both operate continuously.
|
6
|
+
|
7
|
+
# Code Requirement Interpretation
|
8
|
+
The code requirement is straightforward, so are the exception.
|
9
|
+
|
10
|
+
# Implementation
|
11
|
+
The characteristics of the proposed model elevator(s) are provided by the user using the user data CSV file which includes the each elevator car weight, rated load, counter weight of the car, speed of the car, number of stories served by the elevator, the number of similar elevators, the floor area occupied the elevator, and the ventilation flow rate. The BHP and elevator power are calculated according to Section G3.1.16, the baseline elevator power is used in place of the proposed one (which can be through an electric equipment object or an exterior equipment fuel object). Process loads such as ventilation and lighting are modeled separately and as they are supposed to be modeled as operating continuously.
|
12
|
+
|
13
|
+
# Key Ruby Methods
|
14
|
+
- `model_add_prm_elevators`: Add baseline elevators based on user data
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Exhaust Air Energy Recovery
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
## Section G3.1.2.10 Exhaust Air Energy Recovery
|
5
|
+
|
6
|
+
Individual fan systems that have both a design supply air capacity of 5000 cfm or greater and have a minimum design outdoor air supply of 70% or greater shall have an energy recovery system with at least 50% enthalpy recovery ratio. Fifty percent enthalpy recovery ratio shall mean a change in the enthalpy of the outdoor air supply equal to 50% of the difference between the outdoor air and return air at design conditions. Provision shall be made to bypass or control the heat recovery system to permit air economizer operation, where applicable.
|
7
|
+
|
8
|
+
If any of these exceptions apply, exhaust air energy recovery shall not be included in the baseline
|
9
|
+
building design:
|
10
|
+
1. Systems serving spaces that are not cooled and that are heated to less than 60°F.
|
11
|
+
2. Systems exhausting toxic, flammable, or corrosive fumes or paint or dust. This exception
|
12
|
+
shall only be used if exhaust air energy recovery is not used in the proposed design.
|
13
|
+
3. Commercial kitchen hoods (grease) classified as Type 1 by NFPA 96. This exception shall
|
14
|
+
only be used if exhaust air energy recovery is not used in the proposed design.
|
15
|
+
4. Heating systems in Climate Zones 0 through 3.
|
16
|
+
5. Cooling systems in Climate Zones 3C, 4C, 5B, 5C, 6B, 7, and 8.
|
17
|
+
6. Where the largest exhaust source is less than 75% of the design outdoor airflow. This exception
|
18
|
+
shall only be used if exhaust air energy recovery is not used in the proposed design.
|
19
|
+
7. Systems requiring dehumidification that employ energy recovery in series with the cooling
|
20
|
+
coil. This exception shall only be used if exhaust air energy recovery and series-style
|
21
|
+
energy recovery coils are not used in the proposed design.
|
22
|
+
|
23
|
+
# Code Requirement Interpretation
|
24
|
+
The code requirement is straightforward, so are the exception.
|
25
|
+
|
26
|
+
# Implementation
|
27
|
+
The requirement poses one main challenge: EnergyPlus/OpenStudio doesn't support enthalpy recovery ratio (ERR) as a modeling input, so the effectiveness associated with a specific enthalpy recovery ratio have to be determined. There is no direct conversion from ERR to effectiveness as the ERR depends on specific design conditions which are not prescribed either by the rating standard or 90.1. PNNL did some preliminary research using data from one manufacturer to derive reasonable effectiveness values from the code required 50% ERR. The findings were implemented in OpenStudio-Standards through this [pull request](https://github.com/NREL/openstudio-standards/pull/1165) when adding 90.1-2019 version of the prototype building models. The same regressions were used to make generated baseline model comply with this requirement.
|
28
|
+
|
29
|
+
Exception 1 is automatically handled by checking the thermostats of all zones served by an air loop, if at least one of them is heated to less than 60F, an ERV is not modeled in the baseline model. Exception 2, 3, 6, and 7 are handled through user data inputs. Exception 5 is ignored since all baseline models in Appendix G are modeled as cooled. Exception 4 is automatically handled by code and relates to heating and ventilation only systems in hot climate zones.
|
30
|
+
|
31
|
+
# Key Ruby Methods
|
32
|
+
- `air_loop_hvac_apply_energy_recovery_ventilator_efficiency`: Set effectiveness value of an ERV's heat exchanger
|
33
|
+
- `air_loop_hvac_energy_recovery_ventilator_flow_limit`: Determine the airflow limits that govern whether or not an ERV is required (this is where the exceptions are evaluated, if none apply the limit is set to 5000 cfm)
|
34
|
+
- `heat_exchanger_air_to_air_sensible_and_latent_minimum_effectiveness`: Defines the minimum sensible and latent effectiveness of the heat exchanger
|
35
|
+
- `heat_exchanger_air_to_air_sensible_and_latent_design_conditions`: Determine the heat exchanger design conditions for a specific climate zones
|
36
|
+
- `heat_exchanger_air_to_air_sensible_and_latent_enthalpy_recovery_ratio`: Determine the required enthalpy recovery ratio (currently defaulted to 0.5)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
F/C-factors
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
See F- and C-factor requirements from Table G3.4-1 through -8.
|
5
|
+
|
6
|
+
# Implementation
|
7
|
+
|
8
|
+
# Key Ruby Methods
|
9
|
+
## Existing
|
10
|
+
* `model_add_construction`: this method creates a construction from the openstudio standards dataset, it was modified to create the appropriate F/C factor construction objects instead of regular constructions
|
11
|
+
* `model_find_and_add_construction`: this method helps find a particular construction and add it to the model after modifying the insulation value if necessary; it was modified to accept a another argument, `surface` which can be used for surface specific construction such as F/C-factor constructions
|
12
|
+
* `model_apply_prm_construction_types` this method goes through the default construction sets and hard-assigned constructions and clone the existing constructions and set their intended surface type and standards construction type per the PRM; The code did not cover all pertinent outside boundary condition which prevented the creation of correct assignment of constructions to surface with specific outside boundary conditions
|
13
|
+
* `model_apply_standard_constructions`: this method applies the standard construction to each surface in the model, based on the construction type currently assigned; missing outside boundary condition type related to ground surfaces were added
|
14
|
+
## New
|
15
|
+
* `construction_set_surface_slab_f_factor`: set the surface specific F-factor parameters of a construction
|
16
|
+
* `construction_set_surface_underground_wall_c_factor`: set the surface specific C-factor parameters of a construction
|
17
|
+
* `model_update_ground_temperature_profile`: update ground temperature profile based on the weather file specified in the model
|
18
|
+
* `model_add_design_days_and_weather_file`: the content of this method was used in multiple other method, so, in order to avoid code duplicate, it was moved to this method which adds the design days and weather file for the specified climate zone
|
19
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Fan Power Credits
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
Note 1 and 2 under Table G3.1.2.9 indicate that the baseline fan brake horsepower adjustment factor, A, is calculated according to Section 6.5.3.1.1 using the pressure-drop adjustment from the proposed design and the design flow rate of the baseline building system. The pressure-drop adjustment for evaporative coolers or heat recovery devices that are not required in the baseline system by Section G3.1.2.10.
|
5
|
+
|
6
|
+
# Code Requirement Interpretation
|
7
|
+
Section 6.5.3.1.1 include credits but also deductions. Following an internal discussion we concluded that the intent of Appendix G should be to base the deduction on the baseline building design and not the proposed design.
|
8
|
+
|
9
|
+
# Implementation
|
10
|
+
Fan power credits are provided by the user via the `userdata_airloop_hvac.csv` and `userdata_zone_hvac.csv` files. The deductions are only applicable to system 6 and 8 and are handled in the code in `air_loop_hvac_fan_power_limitation_pressure_drop_adjustment_brake_horsepower()`. Credits and deduction are stored as an `additionaProperty` at the `ThermalZone` and `AirLoopHVAC` level. The baseline fan power credits/deductions are calculated for each zone as follows: Az = sum(PD_sum * CFM_d_baseline/4131), where CFM_d_baseline is the baseline __zone__ design air flow and PD_sum. The system A is obtained by summing all the zone Az.
|
11
|
+
|
12
|
+
# Key Ruby Methods
|
13
|
+
* `thermal_zone_get_fan_power_limitations()`: calculate the fan power credits/deductions for a zone
|
14
|
+
* `air_loop_hvac_fan_power_limitation_pressure_drop_adjustment_brake_horsepower`: calculate the fan power limitation pressure drop adjustment (expressed in terms of BHP)
|
15
|
+
* `handle_zone_hvac_user_input_data`: use the user-defined CSV files to assign fan power credits to each zone
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Preheat coil requirements
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
|
5
|
+
G3.1.3.7 Preheat Coils (System 5 through 8)
|
6
|
+
The baseline system shall be modeled with a preheat coil controlled to a fixed set point of 20F less than the design room heating temperature set point.
|
7
|
+
|
8
|
+
# PRM-Reference Manual:
|
9
|
+
For baseline system 5 through 8, the baseline will be modeled with preheat coil controlled to a fixed setpoint 20 F less than the design zone heating temperature setpoint. If there are multiple zone heating setpoints, the preheat setpoint will be determined by the zone with the highest heating temperature setpoint.
|
10
|
+
|
11
|
+
The preheat coil capacity will be oversized by 25%. Sizing calculation shall be based on the heating design day and cooling design day conditions, as defined in Section 3.1.5 of this document. Oversizing would be carried out at zone level where the sizing parameters would be applied to the zone design's heating coil loads.
|
12
|
+
|
13
|
+
The heating source for baseline system 5 and 7 will be hydronic. Buildings with baseline system 6 and 8 will be modeled with electric resistance preheat coils.
|
14
|
+
|
15
|
+
The coil efficiency is not applicable to electric coils
|
16
|
+
|
17
|
+
# Requirement change:
|
18
|
+
## ASHRAE 90.1-2013 Appendix G:
|
19
|
+
G3.1.2.4 Preheat Coils: If the HVAC system in the proposed design has a preheat coil and a preheat coil can be modeled in the baseline system, the baseline system shall be modeled with a preheat coil controlled in the same manner as the proposed design.
|
20
|
+
|
21
|
+
## ASHRAE 90.1-2016, 2019 Appendix G:
|
22
|
+
G3.1.3.19: System 5 through 8, The baseline system shall be modeled with a preheat coil controlled to a fixed setpoint 20F less than the design room heating temperature set point.
|
23
|
+
|
24
|
+
# Key Ruby Methods
|
25
|
+
|
26
|
+
*Standards.Model.rb*
|
27
|
+
```ruby
|
28
|
+
# Template method for adding a setpoint manager for a coil control logic to a heating coil.
|
29
|
+
# ASHRAE 90.1-2019 Appendix G.
|
30
|
+
def model_set_central_preheat_coil_spm(model, thermal_zones, coil)
|
31
|
+
return true
|
32
|
+
end
|
33
|
+
```
|
34
|
+
This implementation is overriden in the subclass *ashrae_90_1_prm.Model.rb*
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
def model_set_central_preheat_coil_spm(model, thermal_zones, coil)
|
38
|
+
# below is the sudo code
|
39
|
+
coil_name = coil.name.get.to_s
|
40
|
+
|
41
|
+
max_heat_setpoint = 0.0
|
42
|
+
thermalZone.each do |zone|
|
43
|
+
# Get the thermalstat heating setpoint of each zone
|
44
|
+
# Reset the max_heat_setpoint if a zone has a higher heating setpoint value
|
45
|
+
end
|
46
|
+
|
47
|
+
max_heat_setpoint_f = convert(max_heat_setpoint, 'C', 'F')
|
48
|
+
preheat_setpoint_f = max_heat_setpoint_f - 20 # required to be 20F lower than the max heat setpoint
|
49
|
+
preheat_setpoint_c = convert(preheat_setpoint_f, 'F', 'C')
|
50
|
+
|
51
|
+
schedule = add_constant_schedule(preheat_setpoint_c)
|
52
|
+
|
53
|
+
# add a new_setpointManager_scheduled
|
54
|
+
# add the schedule to the new setpoint manager scheduled.
|
55
|
+
# add the new setpoint manager to the coil.
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
Currently, the method is only being called when executing system type 5, 6, 7, and 8 generation routines.
|
@@ -0,0 +1,46 @@
|
|
1
|
+
Pump power and control requirements
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
|
5
|
+
## G3.1.3.5 Hot-Water Pumps
|
6
|
+
The baseline building design hot-water pump power shall be 19 W/gpm. The pumping system shall be modeled as primary-only with continuous variable flow and a minimum of 25% of the design flow rate. Hot-water systems serving 120,000 ft2or more shall be modeled with variable-speed drives, and systems serving less than 120,000 ft2 shall be modeled as riding the pump curve.
|
7
|
+
|
8
|
+
### Exception to G3.1.3.5
|
9
|
+
The pump power for systems using purchased heat shall be 14 W/gpm.
|
10
|
+
|
11
|
+
## G3.1.3.10 Chilled-Water Pumps (Systems 7, 8, 11, 12, and 13)
|
12
|
+
Chilled-water systems shall be modeled as primary/secondary systems with constantflow primary loop and variable-flow secondary loop. For systems with cooling capacity of 300 tons or more, the secondary pump shall be modeled with variable-speed drives and a minimum flow of 25% of the design flow rate. For systems with less than 300 tons cooling capacity, the secondary pump shall be modeled as riding the pump curve. The baseline building constant-volume primary pump power shall be modeled as 9 W/gpm, and the variable-flow secondary pump power shall be modeled as 13 W/gpm at design conditions. For computer room systems using System 11 with an integrated fluid economizer, the baseline building design primary chilled-water pump power shall be increased by 3 W/gpm for flow associated with the fluid economizer.
|
13
|
+
|
14
|
+
### Exception to G3.1.3.10
|
15
|
+
For systems using purchased chilled water, the building distribution pump shall be modeled with variable-speed drive, a minimum flow of 25% of the design flow rate, and a pump power of 16 W/gpm.
|
16
|
+
|
17
|
+
## G3.1.3.11 Heat Rejection (Systems 7, 8, 11, 12, and 13)
|
18
|
+
The baseline building design condenser-water pump power shall be 19W/gpm and modeled as constant volume. For computer room systems using System 11 with an integrated fluid economizer, the baseline building design condenser water-pump power shall be increased by 3W/gpm for flow associated with the fluid economizer.
|
19
|
+
Each chiller shall be modeled with separate condenser-water and chilled-water pumps interlocked to operate with the associated chiller.
|
20
|
+
|
21
|
+
# Requirement change:
|
22
|
+
## ASHRAE 90.1-2013 Appendix G:
|
23
|
+
### G3.1.3.5 Hot-Water Pumps:
|
24
|
+
The baseline building design hot-water pump power shall be 19 W/gpm. The pumping system shall be modeled as primary-only with continuous variable flow. Hot-water systems serving 120,000 ft2 or more shall be modeled with variable-speed drives, and systems serving less than 120,000 ft2 shall be modeled as riding the pump curve.
|
25
|
+
|
26
|
+
Exceptions: The pump power for systems using purchased heat shall be 14 W/gpm.
|
27
|
+
|
28
|
+
### G3.1.3.10 Chilled-Water Pumps (System 7, 8 and 11)
|
29
|
+
The baseline building design pump power shall be 22 W/gpm. Chilled-water systems with a cooling capacity of 300 tons or more shall be modeled as primary/secondary systems with variable-speed drives on the secondary pumping loop. Chilled-water pumps in systems serving less than 300 tons cooling capacity shall be modeled as a primary/secondary systems with secondary pump riding the pump curve. For computer room systems using System 11 with an integrated water-side economizer, the baseline building design primary chilled-water pump power shall be increased 5 W/gpm for flow associated with the water-side economizer.
|
30
|
+
|
31
|
+
Exceptions: The pump power for systems using purchased chilled water shall be 16 W/gpm.
|
32
|
+
|
33
|
+
### G3.1.3.11 Heat Reject (System 7, 8, 9, 12, and 13)
|
34
|
+
The baseline building design condenser-water pump power shall be 19 W/gpm. For computer room systems using System 11 with an integrated water-side economizer, the baseline building design condenser water-pump power shall be increased 5 W/gpm for flow associated with the water-side economizer. Each chiller shall be modeled with separate condenser water and chilled-water pumps interlocked to operate with the associated chiller.
|
35
|
+
|
36
|
+
## ASHRAE 90.1-2016, 2019 Appendix G:
|
37
|
+
G3.1.3.19: System 5 through 8, The baseline system shall be modeled with a preheat coil controlled to a fixed setpoint 20F less than the design room heating temperature set point.
|
38
|
+
|
39
|
+
# Key Ruby Methods
|
40
|
+
|
41
|
+
*Standards.Model.rb*
|
42
|
+
```ruby
|
43
|
+
plant_loop_apply_prm_baseline_pump_power()
|
44
|
+
plant_loop_apply_prm_baseline_pumping_type()
|
45
|
+
```
|
46
|
+
```
|
@@ -0,0 +1,31 @@
|
|
1
|
+
Return Air Type
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019 PRM Reference Manual
|
4
|
+
For baseline building systems 1 and 2, the return air path shall be direct-to-unit. For baseline building systems 3 through 8 and 11 through 13 and when the proposed design is direct-to-unit, the baseline building shall be ducted return, otherwise the baseline building return air path shall be the same as proposed design.
|
5
|
+
|
6
|
+
# Implementation
|
7
|
+
For each zone:
|
8
|
+
|
9
|
+
* Retrieve the type of return used by the HVAC system serving the zone
|
10
|
+
* If the zone is served by air loops
|
11
|
+
* ignore air loop-based DOAS
|
12
|
+
* if air loop uses a return plenum -> return_plenum
|
13
|
+
* if air loop uses a return path -> ducted_return
|
14
|
+
* If the zone is served by zonal systems
|
15
|
+
* direct-to-unit since zonal systems cannot be connected to return plenum objects
|
16
|
+
* Using additional properties, set the type of return as one of the following: return_plenum, ducted_return, direct-to-unit
|
17
|
+
* Using additional properties, set the name of the plenum zone used when return_plenum is specified
|
18
|
+
|
19
|
+
Once the systems have been created:
|
20
|
+
|
21
|
+
* Using the zone design air flow rate and previously added additional properties determine the dominant return air configuration (the most dominant ones being the one with the most air flow)
|
22
|
+
* All system are by default assumed to be ducted_return/direct-to-unit (using the zone mixer object) but if return_plenum ends up being the dominant one, pass the appropriate argument to the method creating the systems
|
23
|
+
|
24
|
+
To simplify reporting at that point, use `ducted_return_or_direct_to_unit` and `return_plenum` as the additional property field.
|
25
|
+
|
26
|
+
# Key Ruby Methods
|
27
|
+
## New
|
28
|
+
* `model_determine_baseline_return_air_type`: determine the baseline return air type associated with each zone
|
29
|
+
* `model_identify_return_air_type`: identify the return air type associated with each thermal zone
|
30
|
+
* `air_loop_hvac_return_air_plenum`: determine if the air loop has a return air plenum
|
31
|
+
|
@@ -0,0 +1,191 @@
|
|
1
|
+
Set window to wall ratio in the baseline model
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
- G3.1 (5) Baseline c: Vertical Fenestration Areas: For building area types included in the Table G3.1.1-1, vertical fenestration areas for new buildings and additions shall equal that in Table G3.1.1-1 based on the area of gross above-grade walls that separate conditioned spaces and semiheated spaces from the exterior.
|
5
|
+
- G3.1 (5) Baseline c: Where a building has multiple building area types, each type shall use the values in the table.
|
6
|
+
- G3.1 (5) Baseline c: The vertical fenestration shall be distributed on each face of the building in the same proportion as in the proposed design.
|
7
|
+
- G3.1 (5) Baseline c: For building areas not shown in Table G3.1.1-1, vertical fenestration areas for new building and additions shall equal that in the proposed design or 40% of gross above-grade wall area, whichever is smaller, and shall be distributed on each face of the building in the same proportions in the proposed design.
|
8
|
+
- G3.1 (5) Baseline c: ([addendum_l](https://www.ashrae.org/file%20library/technical%20resources/standards%20and%20guidelines/standards%20addenda/90_1_2019_l_20201030.pdf)): If this would cause the combined vertical fenestration and opaque door area on a given face to exceed the gross above-grade wall area on that face, then the vertical fenestration area on other faces shall be increased in proportion to the gross above-grade wall area of these faces such that the total baseline building vertical fenestration area is equal to that calculated following Table G3.1.1.-1.
|
9
|
+
- G3.1 (5) Baseline c: The fenestration area for an existing building shall equal the existing fenestration area prior to the proposed work and shall be distributed on each face of the building in the same proportions as the existing building.
|
10
|
+
|
11
|
+
# Code Requirement Interpretation
|
12
|
+
1. Fenestration area shall be calculated based on the area of gross above-grade walls that separate conditioned spaces and semiheated spaces from the exterior
|
13
|
+
2. If the window to wall ratio building type (wwr_building_type) can be found in Table G3.1.1-1, then the baseline window to wall ratio shall equal to the values specified in the table by proportionally decrease or increase the fenestration area.
|
14
|
+
3. If the wwr_building_type cannot be found in the Table or it is other type, the baseline window to wall ratio shall equal to 40% or proposed window to wall ratio, whichever is smaller.
|
15
|
+
4. Multiple wwr_building_types in a building shall use the values in the table correspondingly.
|
16
|
+
5. If the fenestration area increase exceeds the host wall surfaces, then the residual shall be distributed to the other wall surfaces proportionally to its wall surface area
|
17
|
+
6. Existing building shall remain the fenestration area the same as the existing fenestration area prior to the proposed work
|
18
|
+
|
19
|
+
# Implementation Methodology
|
20
|
+
- For `space_group` in `wwr_building_type`
|
21
|
+
- calculate total wall area `wall_m2 = calculate_wall_area(space_group)`
|
22
|
+
- calculate total wall area of walls has fenestration subsurfaces `fene_only_wall_m2 = calculate_fene_only_wall_area(space_group)`
|
23
|
+
- calculate total window area `wind_m2 = calculate_total_wind_area(space_group)`
|
24
|
+
- get the window to wall ratio (wwr) limit from Table 3.1.1-1 `wwr_lim = table_3.1.1-1(wwr_building_type)`
|
25
|
+
- calculate multiplier `multiplier = wwr_lim / (wind_m2 / wall_m2)`
|
26
|
+
- For `space` in `space_group`:
|
27
|
+
- For `surface` in `space.surfaces` where `surface_boundary_condition == 'Outdoor' && surfaceType=='Wall'`:
|
28
|
+
- set reduction ratio `reduction_ratio = 1.0`
|
29
|
+
- calculate the window to wall ratio of the surface `surface_wwr = get_wwr_of_a_surface`
|
30
|
+
- if reduction is requested `multiplier < 1.0`
|
31
|
+
- reduction ratio is set to `1.0 - multiplier`
|
32
|
+
- call function to shrink the fenestration towards centroid `sub_surface_reduce_area_by_percent_by_shrinking_toward_centroid`
|
33
|
+
- elsif `wwr_building_type == 'all others'`
|
34
|
+
- reduction ratio set to `1.0`
|
35
|
+
- do nothing
|
36
|
+
- else
|
37
|
+
- calculate maximum fenestration area that wall surfaces with fenestration can reach `max_wwr = fene_only_wall_m2 * 0.9 / wall_m2` (Note: 90% wwr is the upper limit for each surface in OpenStudio standard)
|
38
|
+
- if the wwr limit is greater than max wwr `max_wwr < wwr_lim`
|
39
|
+
- if the surface has no fenestration `if surface_wwr == 0` (Note: In this case, it is required to add new fenestration to the surface)
|
40
|
+
- Add window to the surface by a calculated ratio `surface.setWindowToWallRatio(1.0 + (wwr_lim*wall_m2 - max_wwr*wall_m2)/(wall_m2-fene_only_wall_m2))`
|
41
|
+
- else: (Note: In this case, it is required to maximize the fenestration area in this surface to 90% wwr)
|
42
|
+
- Set window to wall ratio to 90% `surface.setWindowToWallRatio(0.9)`
|
43
|
+
else
|
44
|
+
- if the surface has no fenestration `if surface_wwr == 0`
|
45
|
+
- Do nothing
|
46
|
+
- else:
|
47
|
+
- Set a new window to wall ratio to the surface `surface.setWindowToWallRatio(surface_wwr * multiplier)`
|
48
|
+
|
49
|
+
## Key Ruby Methods
|
50
|
+
The function `get_wwr_reduction_ratio` implements the logic for calculating the reduction ratio `reduction_ratio` and `surface_adjust_fenestration_in_a_surface` implements the logics to adjust the window to wall ratio for a surface
|
51
|
+
|
52
|
+
The implementation of both functions can be found in the `ashrae_90_1_prm.Model.rb`
|
53
|
+
|
54
|
+
## Notes:
|
55
|
+
The function works well with cases where WWR reduction is needed. For WWR increase to meet Table G3.1.1-1 values, the function's limitation is listed below:
|
56
|
+
1. The function will remove all windows in the surface then add a new window to meet the required WWR.
|
57
|
+
2. The function will keep the existing doors but there could be cases the location of door overlaps with the new window.
|
58
|
+
|
59
|
+
In addition, when increasing the WWR requires adding windows to surfaces with no windows, the function will not adding any windows to spaces tagged as plenum and/or used as a AirLoopSupplyPlenum or AirLoopReturnPlenum.
|
60
|
+
|
61
|
+
## Test Case Documentation
|
62
|
+
|
63
|
+
### Test case 1:
|
64
|
+
- Prototype: Small Office
|
65
|
+
- User data folder: */userdata_default_test*
|
66
|
+
- Summary:
|
67
|
+
|
68
|
+
The target WWR is 19% and the test prototype has WWR of 21.20%.
|
69
|
+
|
70
|
+
A regular WWR reduction shall be applied in this case to set the WWR in the baseline model to 19%.
|
71
|
+
|
72
|
+
### Test case 2:
|
73
|
+
- Prototype: Small Office - WWR adjusted.
|
74
|
+
- User data folder: */userdata_default_test*
|
75
|
+
- Summary:
|
76
|
+
-
|
77
|
+
Test prototype:
|
78
|
+
|
79
|
+
| | Total | North | East | South | West |
|
80
|
+
|-----------------------|--------|-------|-------|-------|-------|
|
81
|
+
| Wall Area (m2) | 281.51 | 84.45 | 56.30 | 84.45 | 56.30 |
|
82
|
+
| Window Area (m2) | 28.15 | 8.44 | 5.63 | 8.44 | 5.63 |
|
83
|
+
| Window-Wall Ratio (%) | 10% | 10% | 10% | 10% | 10% |
|
84
|
+
|
85
|
+
The target WWR is 19%. The test prototype has WWR of 10% (10% for every surface).
|
86
|
+
|
87
|
+
A regular WWR increase shall be applied in this case to set the WWR in the baseline model to 19% for every surface.
|
88
|
+
|
89
|
+
Baseline:
|
90
|
+
|
91
|
+
| | Total | North | East | South | West |
|
92
|
+
|-----------------------|--------|-------|-------|-------|-------|
|
93
|
+
| Wall Area (m2) | 281.51 | 84.45 | 56.30 | 84.45 | 56.30 |
|
94
|
+
| Window Area (m2) | 53.49 | 16.05 | 10.70 | 16.05 | 10.70 |
|
95
|
+
| Window-Wall Ratio (%) | 19% | 19% | 19% | 19% | 19% |
|
96
|
+
|
97
|
+
### Test case 3:
|
98
|
+
- Prototype: Small Office - WWR adjusted.
|
99
|
+
- User data folder: */userdata_default_test*
|
100
|
+
- Summary:
|
101
|
+
|
102
|
+
Test prototype:
|
103
|
+
|
104
|
+
| | Total | North | East | South | West |
|
105
|
+
|-----------------------|--------|-------|-------|-------|-------|
|
106
|
+
| Wall Area (m2) | 281.51 | 84.45 | 56.30 | 84.45 | 56.30 |
|
107
|
+
| Window Area (m2) | 5.63 | 0.0 | 0.0 | 0.0 | 5.63 |
|
108
|
+
| Window-Wall Ratio (%) | 2% | 0% | 0% | 0% | 10% |
|
109
|
+
|
110
|
+
In this case, the WWR shall be increased to 19% however, the maximum WWR by expanding windows in West facade only is 17.7%, about 1.3% smaller than the required by the code.
|
111
|
+
The function shall increase the rest facades proportionally to meet the overall 19% WWR target.
|
112
|
+
|
113
|
+
Baseline:
|
114
|
+
|
115
|
+
| | Total | North | East | South | West |
|
116
|
+
|-----------------------|--------|-------|-------|-------|-------|
|
117
|
+
| Wall Area (m2) | 281.51 | 84.45 | 56.30 | 84.45 | 56.30 |
|
118
|
+
| Window Area (m2) | 53.49 | 1.06 | 0.7 | 1.06 | 50.67 |
|
119
|
+
| Window-Wall Ratio (%) | 19% | 1.25% | 1.25% | 1.25% | 90% |
|
120
|
+
|
121
|
+
### Test Case 4
|
122
|
+
- Prototype: Mid Apartment
|
123
|
+
- User data folder: */userdata_default_test*
|
124
|
+
- Summary:
|
125
|
+
|
126
|
+
Test prototype:
|
127
|
+
|
128
|
+
| | Total | North | East | South | West |
|
129
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
130
|
+
| Wall Area (m2) | 1542.06 | 564.80 | 206.23 | 564.80 | 206.23 |
|
131
|
+
| Window Area (m2) | 306.92 | 112.97 | 43.82 | 112.97 | 37.16 |
|
132
|
+
| Window-Wall Ratio (%) | 19.9% | 20% | 21.25% | 20% | 18.02% |
|
133
|
+
|
134
|
+
The test prototype WWR is 19.9%. Based on code, Mid-apartment shall be `Other` building window to wall ratio type so in the baseline, it should have 40% WWR or its proposed design whichever is smaller.
|
135
|
+
|
136
|
+
Baseline:
|
137
|
+
|
138
|
+
| | Total | North | East | South | West |
|
139
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
140
|
+
| Wall Area (m2) | 1542.06 | 564.80 | 206.23 | 564.80 | 206.23 |
|
141
|
+
| Window Area (m2) | 308.41 | 112.97 | 44.74 | 113.54 | 37.16 |
|
142
|
+
| Window-Wall Ratio (%) | 20% | 20% | 21.7% | 20.1% | 18.02% |
|
143
|
+
|
144
|
+
In this case, a 0.1% tolerance is applied.
|
145
|
+
|
146
|
+
### Test Case 5
|
147
|
+
- Prototype: Mid Apartment - WWR adjusted
|
148
|
+
- User data folder: */userdata_default_test*
|
149
|
+
- Summary:
|
150
|
+
|
151
|
+
Test prototype:
|
152
|
+
|
153
|
+
| | Total | North | East | South | West |
|
154
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
155
|
+
| Wall Area (m2) | 1542.06 | 564.80 | 206.23 | 564.80 | 206.23 |
|
156
|
+
| Window Area (m2) | 750.59 | 282.40 | 92.90 | 282.40 | 92.90 |
|
157
|
+
| Window-Wall Ratio (%) | 50% | 50% | 50% | 50% | 50% |
|
158
|
+
|
159
|
+
The test prototype WWR is 50%. Based on code, Mid-apartment shall be `Other` building window to wall ratio type so in the baseline, it should have 40% WWR or its proposed design whichever is smaller.
|
160
|
+
|
161
|
+
Baseline:
|
162
|
+
|
163
|
+
| | Total | North | East | South | West |
|
164
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
165
|
+
| Wall Area (m2) | 1542.06 | 564.80 | 206.23 | 564.80 | 206.23 |
|
166
|
+
| Window Area (m2) | 616.84 | 225.92 | 87.02 | 229.58 | 74.32 |
|
167
|
+
| Window-Wall Ratio (%) | 40% | 40% | 42.20% | 40.65% | 36.04% |
|
168
|
+
|
169
|
+
|
170
|
+
### Test Case 6
|
171
|
+
- Prototype: Medium Office - WWR adjusted
|
172
|
+
- User data folder: */userdata_default_test*
|
173
|
+
- Summary:
|
174
|
+
|
175
|
+
Test prototype:
|
176
|
+
|
177
|
+
| | Total | North | East | South | West |
|
178
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
179
|
+
| Wall Area (m2) | 1977.67 | 593.30 | 395.53 | 593.30 | 395.53 |
|
180
|
+
| Window Area (m2) | 27.38 | 0.0 | 27.38 | 0.0 | 0.0 |
|
181
|
+
| Window-Wall Ratio (%) | 1.38% | 0% | 6.92% | 0% | 0% |
|
182
|
+
|
183
|
+
The test prototype has WWR of 1.38%. The target WWR is 31%. The building has plenums so this test case shall increase the window to wall ratio to 31% by adding more windows to the rest facades and in the meantime, avoids adding new windows to the plenum surfaces
|
184
|
+
|
185
|
+
Baseline:
|
186
|
+
|
187
|
+
| | Total | North | East | South | West |
|
188
|
+
|-----------------------|---------|--------|--------|--------|--------|
|
189
|
+
| Wall Area (m2) | 1977.67 | 593.30 | 395.53 | 593.30 | 395.53 |
|
190
|
+
| Window Area (m2) | 613.08 | 137.48 | 246.45 | 137.49 | 91.66 |
|
191
|
+
| Window-Wall Ratio (%) | 31% | 23.17% | 62.31% | 23.17% | 23.17% |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Apply water supply temperature reset control to hot water loop and chilled water loop.
|
2
|
+
|
3
|
+
# ASHRAE 90.1-2019
|
4
|
+
|
5
|
+
G3.1.3.4 Hot-Water Supply Temperature Reset (Sys 1, 5 ,7, 11, and 12)
|
6
|
+
|
7
|
+
Hot-water supply temperature shall be reset based on outdoor dry-bulb temperature using the following schedule: 180F at 20F and below, 150F at 50F and above and ramped linearly between 180F and 150F at temperature between 20F and 50F.
|
8
|
+
|
9
|
+
Exception G3.1.3.4: Systems served by purchased heat
|
10
|
+
|
11
|
+
G3.1.3.8: Chilled-Water Supply Temperature Reset (Sys 7, 8, 11, 12 and 13)
|
12
|
+
|
13
|
+
Chilled-water supply temperature shall be reset based on outdoor dry-bulb temperature using the following schedule: 44F at 80F and above, 54F at 60F and below, and ramped linearly between 44F and 54F at temperature between 80F and 60F.
|
14
|
+
|
15
|
+
Exception G3.1.3.9:
|
16
|
+
If the baseline chilled-water system serves a computer room HVAC system, the supply chilled-water temperature shall be reset higher based on the HVAC system requiring the most cooling; i.e., the chilled-water set point is reset higher until one cooling-coil valve is nearly wide open. The maximum reset chilled-water supply temperature shall be 54F
|
17
|
+
Systems served by purchased chilled water.
|
18
|
+
|
19
|
+
|
20
|
+
# Key Ruby Methods
|
21
|
+
|
22
|
+
## plant_loop_enable_supply_water_temperature_reset(plant_loop)
|
23
|
+
Search and identify the hot water loops and chilled water loops (exclude district systems).
|
24
|
+
Add SetpointManagerOutdoorAirReset to the loops.
|