openstudio-standards 0.4.0 → 0.5.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/inventory/thermal_bridging.csv +90 -0
- data/data/standards/OpenStudio_Standards-deer-comstock.xlsx +0 -0
- data/data/standards/manage_OpenStudio_Standards.rb +1 -1
- data/data/standards/test_performance_expected_dd_results.csv +2014 -1891
- data/lib/openstudio-standards/btap/analysis.rb +8 -8
- data/lib/openstudio-standards/btap/bridging.rb +664 -645
- data/lib/openstudio-standards/btap/btap.model.rb +14 -14
- data/lib/openstudio-standards/btap/btap.rb +7 -7
- data/lib/openstudio-standards/btap/btap_result.rb +1 -1
- data/lib/openstudio-standards/btap/economics.rb +23 -23
- data/lib/openstudio-standards/btap/envelope.rb +8 -8
- data/lib/openstudio-standards/btap/equest.rb +1 -1
- data/lib/openstudio-standards/btap/geometry.rb +2 -2
- data/lib/openstudio-standards/btap/mpc.rb +7 -7
- data/lib/openstudio-standards/btap/schedules.rb +1 -1
- data/lib/openstudio-standards/btap/simmanager.rb +4 -4
- data/lib/openstudio-standards/btap/spaceloads.rb +26 -26
- data/lib/openstudio-standards/btap/utilities.rb +6 -6
- data/lib/openstudio-standards/btap/vintagizer.rb +1 -1
- data/lib/openstudio-standards/constructions/information.rb +83 -0
- data/lib/openstudio-standards/constructions/materials/modify.rb +72 -0
- data/lib/openstudio-standards/constructions/modify.rb +80 -0
- data/lib/openstudio-standards/create_typical/create_typical.rb +983 -0
- data/lib/openstudio-standards/create_typical/enumerations.rb +484 -0
- data/lib/openstudio-standards/create_typical/space_type_blend.rb +791 -0
- data/lib/openstudio-standards/create_typical/space_type_ratios.rb +494 -0
- data/lib/openstudio-standards/daylighting/space.rb +47 -0
- data/lib/openstudio-standards/geometry/create.rb +801 -0
- data/lib/openstudio-standards/geometry/create_bar.rb +2171 -0
- data/lib/openstudio-standards/geometry/information.rb +462 -0
- data/lib/openstudio-standards/geometry/modify.rb +48 -0
- data/lib/openstudio-standards/hvac/air_loop/information.rb +79 -0
- data/lib/openstudio-standards/hvac/cbecs_hvac.rb +616 -0
- data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +91 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +2 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.hvac_systems.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -36
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -36
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +3 -3
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.elevators.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.CoilHeatingGas.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.elevators.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +14 -14
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +9 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +16 -16
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +11 -11
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +9 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +11 -11
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +9 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +19 -19
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +10 -10
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +13 -13
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +9 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +8 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +11 -11
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +10 -10
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +19 -19
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +18 -18
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +957 -957
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +84 -16
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +61 -10
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +43 -30
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +18 -11
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +774 -117
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +340 -481
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +3 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +3 -3
- data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +22 -22
- data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
- data/lib/openstudio-standards/qaqc/calibration.rb +131 -0
- data/lib/openstudio-standards/qaqc/create_results.rb +983 -0
- data/lib/openstudio-standards/qaqc/envelope.rb +399 -0
- data/lib/openstudio-standards/qaqc/eui.rb +213 -0
- data/lib/openstudio-standards/qaqc/hvac.rb +1943 -0
- data/lib/openstudio-standards/qaqc/internal_loads.rb +568 -0
- data/lib/openstudio-standards/qaqc/reporting.rb +141 -0
- data/lib/openstudio-standards/qaqc/schedules.rb +129 -0
- data/lib/openstudio-standards/qaqc/service_water_heating.rb +273 -0
- data/lib/openstudio-standards/qaqc/weather_files.rb +497 -0
- data/lib/openstudio-standards/qaqc/zone_conditions.rb +278 -0
- data/lib/openstudio-standards/schedules/create.rb +364 -0
- data/lib/openstudio-standards/schedules/information.rb +169 -0
- data/lib/openstudio-standards/schedules/modify.rb +445 -0
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +110 -71
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +16 -10
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +5 -5
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.Construction.rb +17 -18
- data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +6 -6
- data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.Fan.rb +6 -12
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.Model.rb +411 -261
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +94 -29
- data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +14 -14
- data/lib/openstudio-standards/standards/Standards.Space.rb +37 -30
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +38 -29
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +7 -7
- data/lib/openstudio-standards/standards/Standards.Surface.rb +13 -13
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +109 -66
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +11 -4
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Space.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Space.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +5 -21
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +36 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/comstock_ashrae_90_1_2016.AirLoopHVAC.rb +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +53 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/comstock_ashrae_90_1_2019.AirLoopHVAC.rb +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +211 -211
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.economizers.json +14 -14
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirLoopHVAC.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.economizers.json +14 -14
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirLoopHVAC.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +22 -28
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirTerminalSingleDuctParallelPIUReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirTerminalSingleDuctVAVReheat.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.BoilerHotWater.rb +1 -74
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +7 -59
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +1 -21
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.DesignSpecificationOutdoorAir.rb +101 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +643 -526
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlanarSurface.rb +8 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +17 -77
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Space.rb +74 -16
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +96 -44
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Surface.rb +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ThermalZone.rb +18 -6
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.rb +328 -74
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +0 -118
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/data/ashrae_90_1_prm_2019.heat_rejection.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/baseline_outdoor_air.md +35 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/docs/set_plug_load_measures.md +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +228 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +131 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_space.csv +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes.AirLoopHVAC.rb +5 -5
- data/lib/openstudio-standards/standards/cbes/cbes.Model.rb +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes.Space.rb +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/cbes_t24_2005.Space.rb +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.Space.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +109 -27
- data/lib/openstudio-standards/standards/deer/deer.Space.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.economizers.json +246 -4
- data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.economizers.json +246 -4
- data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.economizers.json +246 -4
- data/lib/openstudio-standards/standards/deer/deer_2003/deer_2003.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.economizers.json +246 -4
- data/lib/openstudio-standards/standards/deer/deer_2007/deer_2007.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.economizers.json +246 -4
- data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +18 -5
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.ThermalZone.rb +18 -18
- data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.heat_pumps.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.economizers.json +260 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.economizers.json +248 -6
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +3 -3
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.economizers.json +246 -4
- data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/data/space_types.json +447 -223
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +1 -1
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/data/space_types.json +447 -223
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +5 -2
- data/lib/openstudio-standards/standards/necb/ECMS/data/chiller_types.json +25 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/chillers.json +44 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/curves.json +225 -0
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +2 -2
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +193 -73
- data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +10 -4
- data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +7 -7
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +4 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/data/chiller_types.json +32 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +36 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +7 -7
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/NorthernEducation.osm +47587 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/NorthernHealthCare.osm +49764 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/Warehouse.osm +283 -297
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_type_unit_definitions.txt +2 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +447 -223
- data/lib/openstudio-standards/standards/necb/NECB2011/data/standards_data.rb +3 -3
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +49 -27
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +400 -202
- data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +4 -4
- data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +637 -318
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +18 -1
- data/lib/openstudio-standards/standards/necb/NECB2015/necb_2015.rb +3 -3
- data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +637 -318
- data/lib/openstudio-standards/standards/necb/NECB2017/hvac_systems.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2017/necb_2017.rb +3 -3
- data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2020/data/space_types.json +615 -307
- data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +4 -4
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +10 -5
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +1 -1
- data/lib/openstudio-standards/utilities/assertion.rb +128 -0
- data/lib/openstudio-standards/utilities/logging.rb +2 -3
- data/lib/openstudio-standards/utilities/object_info.rb +39 -18
- data/lib/openstudio-standards/utilities/schedule_translator.rb +8 -6
- data/lib/openstudio-standards/utilities/simulation.rb +24 -11
- data/lib/openstudio-standards/utilities/sqlfile.rb +10 -5
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/Weather.Model.rb +8 -9
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +3 -3
- data/lib/openstudio-standards/weather/information.rb +35 -0
- data/lib/openstudio-standards.rb +69 -5
- metadata +52 -16
- data/data/standards/OpenStudio_Standards-deer-ALL-comstock(space_types).xlsx +0 -0
- data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVAC.rb +0 -59
- data/lib/openstudio-standards/hvac_sizing/Siz.CoilCoolingWater.rb +0 -13
- data/lib/openstudio-standards/hvac_sizing/Siz.HVACComponent.rb +0 -36
- data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +0 -898
- data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +0 -126
- data/lib/openstudio-standards/hvac_sizing/Siz.ThermalZone.rb +0 -356
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +0 -35
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoolingTower.rb +0 -110
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoolingTowerVariableSpeed.rb +0 -5
|
@@ -5,19 +5,118 @@ class DEER
|
|
|
5
5
|
# Overwritten to be required for DEER2020 and beyond
|
|
6
6
|
#
|
|
7
7
|
# @param air_loop_hvac [OpenStudio::Model::AirLoopHVAC] air loop
|
|
8
|
-
# @return [
|
|
8
|
+
# @return [Boolean] returns true if required, false if not
|
|
9
9
|
def air_loop_hvac_unoccupied_fan_shutoff_required?(air_loop_hvac)
|
|
10
10
|
shutoff_required = false
|
|
11
11
|
return shutoff_required
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Determines the OA flow rates above which an economizer is required.
|
|
15
|
+
# Two separate rates, one for systems with an economizer and another
|
|
16
|
+
# for systems without.
|
|
17
|
+
# The small numbers here are to reflect that there is not a minimum
|
|
18
|
+
# airflow requirement in Title 24.
|
|
19
|
+
# @return [Array<Double>] [min_oa_without_economizer_cfm, min_oa_with_economizer_cfm]
|
|
20
|
+
def air_loop_hvac_demand_control_ventilation_limits(air_loop_hvac)
|
|
21
|
+
min_oa_without_economizer_cfm = 0.01
|
|
22
|
+
min_oa_with_economizer_cfm = 0.01
|
|
23
|
+
return [min_oa_without_economizer_cfm, min_oa_with_economizer_cfm]
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Determine if the standard has an exception for demand control ventilation
|
|
27
|
+
# when an energy recovery device is present.
|
|
28
|
+
# Unlike ASHRAE 90.1, Title 24 does not have an ERV exception to DCV.
|
|
29
|
+
# This method is a copy of what is in Standards.AirLoopHVAC.rb and ensures
|
|
30
|
+
# ERVs will not prevent DCV from being applied to DEER models.
|
|
31
|
+
def air_loop_hvac_dcv_required_when_erv(air_loop_hvac)
|
|
32
|
+
dcv_required_when_erv_present = true
|
|
33
|
+
return dcv_required_when_erv_present
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Determine whether or not this system is required to have an economizer.
|
|
37
|
+
# Logic inferred from MASControl3 INP files and parameters database.
|
|
38
|
+
#
|
|
39
|
+
# @param air_loop_hvac [OpenStudio::Model::AirLoopHVAC] air loop
|
|
40
|
+
# @param climate_zone [String] ASHRAE climate zone, e.g. 'ASHRAE 169-2013-4A'
|
|
41
|
+
# @return [Boolean] returns true if an economizer is required, false if not
|
|
42
|
+
def air_loop_hvac_economizer_required?(air_loop_hvac, climate_zone)
|
|
43
|
+
economizer_required = false
|
|
44
|
+
|
|
45
|
+
# skip systems without outdoor air
|
|
46
|
+
return economizer_required unless air_loop_hvac.airLoopHVACOutdoorAirSystem.is_initialized
|
|
47
|
+
|
|
48
|
+
# Determine if the airloop serves any computer rooms
|
|
49
|
+
# / data centers, which changes the economizer.
|
|
50
|
+
is_dc = false
|
|
51
|
+
if air_loop_hvac_data_center_area_served(air_loop_hvac) > 0
|
|
52
|
+
is_dc = true
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Retrieve economizer limits from JSON
|
|
56
|
+
search_criteria = {
|
|
57
|
+
'template' => template,
|
|
58
|
+
'climate_zone' => climate_zone,
|
|
59
|
+
'data_center' => is_dc
|
|
60
|
+
}
|
|
61
|
+
econ_limits = model_find_object(standards_data['economizers'], search_criteria)
|
|
62
|
+
if econ_limits.nil?
|
|
63
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.AirLoopHVAC', "Cannot find economizer limits for template '#{template}' and climate zone '#{climate_zone}', assuming no economizer required.")
|
|
64
|
+
return economizer_required
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Determine the minimum capacity and whether or not it is a data center
|
|
68
|
+
minimum_capacity_btu_per_hr = econ_limits['capacity_limit']
|
|
69
|
+
|
|
70
|
+
# A big number of btu per hr as the minimum requirement if nil in spreadsheet
|
|
71
|
+
infinity_btu_per_hr = 999_999_999_999
|
|
72
|
+
minimum_capacity_btu_per_hr = infinity_btu_per_hr if minimum_capacity_btu_per_hr.nil?
|
|
73
|
+
|
|
74
|
+
# Check whether the system requires an economizer by comparing
|
|
75
|
+
# the system capacity to the minimum capacity.
|
|
76
|
+
total_cooling_capacity_w = air_loop_hvac_total_cooling_capacity(air_loop_hvac)
|
|
77
|
+
total_cooling_capacity_btu_per_hr = OpenStudio.convert(total_cooling_capacity_w, 'W', 'Btu/hr').get
|
|
78
|
+
|
|
79
|
+
# Check whether the system has chilled water cooling
|
|
80
|
+
has_chilled_water_cooling = false
|
|
81
|
+
air_loop_hvac.supplyComponents.each do |equip|
|
|
82
|
+
if equip.to_CoilCoolingWater.is_initialized
|
|
83
|
+
has_chilled_water_cooling = true
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Applicability logic from MASControl3
|
|
88
|
+
if has_chilled_water_cooling
|
|
89
|
+
# All systems with chilled water cooling get an economizer regardless of capacity
|
|
90
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "#{air_loop_hvac.name} requires an economizer because it has chilled water cooling.")
|
|
91
|
+
economizer_required = true
|
|
92
|
+
else
|
|
93
|
+
# DX and other systems may have a capacity limit
|
|
94
|
+
if total_cooling_capacity_btu_per_hr >= minimum_capacity_btu_per_hr
|
|
95
|
+
if is_dc
|
|
96
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "#{air_loop_hvac.name} requires an economizer because the total cooling capacity of #{total_cooling_capacity_btu_per_hr.round} Btu/hr exceeds the minimum capacity of #{minimum_capacity_btu_per_hr.round} Btu/hr for data centers.")
|
|
97
|
+
else
|
|
98
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "#{air_loop_hvac.name} requires an economizer because the total cooling capacity of #{total_cooling_capacity_btu_per_hr.round} Btu/hr exceeds the minimum capacity of #{minimum_capacity_btu_per_hr.round} Btu/hr.")
|
|
99
|
+
end
|
|
100
|
+
economizer_required = true
|
|
101
|
+
else
|
|
102
|
+
if is_dc
|
|
103
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "#{air_loop_hvac.name} does not require an economizer because the total cooling capacity of #{total_cooling_capacity_btu_per_hr.round} Btu/hr is less than the minimum capacity of #{minimum_capacity_btu_per_hr.round} Btu/hr for data centers.")
|
|
104
|
+
else
|
|
105
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "#{air_loop_hvac.name} does not require an economizer because the total cooling capacity of #{total_cooling_capacity_btu_per_hr.round} Btu/hr is less than the minimum capacity of #{minimum_capacity_btu_per_hr.round} Btu/hr.")
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
return economizer_required
|
|
111
|
+
end
|
|
112
|
+
|
|
14
113
|
# Check the economizer type currently specified in the ControllerOutdoorAir object on this air loop
|
|
15
114
|
# is acceptable per the standard. Based on the MASControl rules, it appears that
|
|
16
115
|
# only NoEconomizer and FixedDryBulb are allowed.
|
|
17
116
|
#
|
|
18
117
|
# @param air_loop_hvac [OpenStudio::Model::AirLoopHVAC] air loop
|
|
19
118
|
# @param climate_zone [String] ASHRAE climate zone, e.g. 'ASHRAE 169-2013-4A'
|
|
20
|
-
# @return [
|
|
119
|
+
# @return [Boolean] Returns true if allowable, if the system has no economizer or no OA system.
|
|
21
120
|
# Returns false if the economizer type is not allowable.
|
|
22
121
|
def air_loop_hvac_economizer_type_allowable?(air_loop_hvac, climate_zone)
|
|
23
122
|
# EnergyPlus economizer types
|
|
@@ -48,7 +147,7 @@ class DEER
|
|
|
48
147
|
end
|
|
49
148
|
|
|
50
149
|
# Determine the limits for the type of economizer present on the AirLoopHVAC, if any.
|
|
51
|
-
#
|
|
150
|
+
# Enthalpy limit is from MASControl3.
|
|
52
151
|
# @param air_loop_hvac [OpenStudio::Model::AirLoopHVAC] air loop
|
|
53
152
|
# @param climate_zone [String] ASHRAE climate zone, e.g. 'ASHRAE 169-2013-4A'
|
|
54
153
|
# @return [Array<Double>] [drybulb_limit_f, enthalpy_limit_btu_per_lb, dewpoint_limit_f]
|
|
@@ -59,7 +158,7 @@ class DEER
|
|
|
59
158
|
|
|
60
159
|
# Get the OA system and OA controller
|
|
61
160
|
oa_sys = air_loop_hvac.airLoopHVACOutdoorAirSystem
|
|
62
|
-
return [nil, nil, nil] unless oa_sys.is_initialized
|
|
161
|
+
return [nil, nil, nil] unless oa_sys.is_initialized
|
|
63
162
|
|
|
64
163
|
oa_sys = oa_sys.get
|
|
65
164
|
oa_control = oa_sys.getControllerOutdoorAir
|
|
@@ -70,29 +169,12 @@ class DEER
|
|
|
70
169
|
return [nil, nil, nil]
|
|
71
170
|
when 'FixedDryBulb'
|
|
72
171
|
enthalpy_limit_btu_per_lb = 28
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
drybulb_limit_f = 70
|
|
80
|
-
when 'CEC T24-CEC6',
|
|
81
|
-
'CEC T24-CEC8',
|
|
82
|
-
'CEC T24-CEC9'
|
|
83
|
-
drybulb_limit_f = 71
|
|
84
|
-
when 'CEC T24-CEC2',
|
|
85
|
-
'CEC T24-CEC4',
|
|
86
|
-
'CEC T24-CEC10',
|
|
87
|
-
drybulb_limit_f = 73
|
|
88
|
-
when 'CEC T24-CEC11',
|
|
89
|
-
'CEC T24-CEC12',
|
|
90
|
-
'CEC T24-CEC13',
|
|
91
|
-
'CEC T24-CEC14',
|
|
92
|
-
'CEC T24-CEC15',
|
|
93
|
-
'CEC T24-CEC16'
|
|
94
|
-
drybulb_limit_f = 75
|
|
95
|
-
end
|
|
172
|
+
search_criteria = {
|
|
173
|
+
'template' => template,
|
|
174
|
+
'climate_zone' => climate_zone
|
|
175
|
+
}
|
|
176
|
+
econ_limits = model_find_object(standards_data['economizers'], search_criteria)
|
|
177
|
+
drybulb_limit_f = econ_limits['fixed_dry_bulb_high_limit_shutoff_temp']
|
|
96
178
|
end
|
|
97
179
|
|
|
98
180
|
return [drybulb_limit_f, enthalpy_limit_btu_per_lb, dewpoint_limit_f]
|
|
@@ -13,7 +13,7 @@ class DEER
|
|
|
13
13
|
# *Note that this implies a baseline infiltration rate ~5 times lower than the PNNL modeling guideline.
|
|
14
14
|
#
|
|
15
15
|
# @return [Double] the baseline infiltration rate, in cfm/ft^2 exterior above grade wall area at 75 Pa
|
|
16
|
-
def space_infiltration_rate_75_pa(space)
|
|
16
|
+
def space_infiltration_rate_75_pa(space = nil)
|
|
17
17
|
basic_infil_rate_cfm_per_ft2 = 0.3393
|
|
18
18
|
return basic_infil_rate_cfm_per_ft2
|
|
19
19
|
end
|
|
@@ -2,17 +2,259 @@
|
|
|
2
2
|
"economizers": [
|
|
3
3
|
{
|
|
4
4
|
"template": "DEER 1985",
|
|
5
|
-
"climate_zone": "
|
|
5
|
+
"climate_zone": "CEC T24-CEC1",
|
|
6
6
|
"data_center": false,
|
|
7
7
|
"capacity_limit": null,
|
|
8
|
-
"
|
|
8
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
9
|
+
"notes": "Applicability from MASControl3"
|
|
9
10
|
},
|
|
10
11
|
{
|
|
11
12
|
"template": "DEER 1985",
|
|
12
|
-
"climate_zone": "
|
|
13
|
+
"climate_zone": "CEC T24-CEC1",
|
|
13
14
|
"data_center": true,
|
|
14
15
|
"capacity_limit": null,
|
|
15
|
-
"
|
|
16
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
17
|
+
"notes": "Applicability from MASControl3"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"template": "DEER 1985",
|
|
21
|
+
"climate_zone": "CEC T24-CEC10",
|
|
22
|
+
"data_center": false,
|
|
23
|
+
"capacity_limit": null,
|
|
24
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
25
|
+
"notes": "Applicability from MASControl3"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"template": "DEER 1985",
|
|
29
|
+
"climate_zone": "CEC T24-CEC10",
|
|
30
|
+
"data_center": true,
|
|
31
|
+
"capacity_limit": null,
|
|
32
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
33
|
+
"notes": "Applicability from MASControl3"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"template": "DEER 1985",
|
|
37
|
+
"climate_zone": "CEC T24-CEC11",
|
|
38
|
+
"data_center": false,
|
|
39
|
+
"capacity_limit": null,
|
|
40
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
41
|
+
"notes": "Applicability from MASControl3"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"template": "DEER 1985",
|
|
45
|
+
"climate_zone": "CEC T24-CEC11",
|
|
46
|
+
"data_center": true,
|
|
47
|
+
"capacity_limit": null,
|
|
48
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
49
|
+
"notes": "Applicability from MASControl3"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"template": "DEER 1985",
|
|
53
|
+
"climate_zone": "CEC T24-CEC12",
|
|
54
|
+
"data_center": false,
|
|
55
|
+
"capacity_limit": null,
|
|
56
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
57
|
+
"notes": "Applicability from MASControl3"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"template": "DEER 1985",
|
|
61
|
+
"climate_zone": "CEC T24-CEC12",
|
|
62
|
+
"data_center": true,
|
|
63
|
+
"capacity_limit": null,
|
|
64
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
65
|
+
"notes": "Applicability from MASControl3"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"template": "DEER 1985",
|
|
69
|
+
"climate_zone": "CEC T24-CEC13",
|
|
70
|
+
"data_center": false,
|
|
71
|
+
"capacity_limit": null,
|
|
72
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
73
|
+
"notes": "Applicability from MASControl3"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"template": "DEER 1985",
|
|
77
|
+
"climate_zone": "CEC T24-CEC13",
|
|
78
|
+
"data_center": true,
|
|
79
|
+
"capacity_limit": null,
|
|
80
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
81
|
+
"notes": "Applicability from MASControl3"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"template": "DEER 1985",
|
|
85
|
+
"climate_zone": "CEC T24-CEC14",
|
|
86
|
+
"data_center": false,
|
|
87
|
+
"capacity_limit": null,
|
|
88
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
89
|
+
"notes": "Applicability from MASControl3"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"template": "DEER 1985",
|
|
93
|
+
"climate_zone": "CEC T24-CEC14",
|
|
94
|
+
"data_center": true,
|
|
95
|
+
"capacity_limit": null,
|
|
96
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
97
|
+
"notes": "Applicability from MASControl3"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"template": "DEER 1985",
|
|
101
|
+
"climate_zone": "CEC T24-CEC15",
|
|
102
|
+
"data_center": false,
|
|
103
|
+
"capacity_limit": null,
|
|
104
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
105
|
+
"notes": "Applicability from MASControl3"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"template": "DEER 1985",
|
|
109
|
+
"climate_zone": "CEC T24-CEC15",
|
|
110
|
+
"data_center": true,
|
|
111
|
+
"capacity_limit": null,
|
|
112
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
113
|
+
"notes": "Applicability from MASControl3"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"template": "DEER 1985",
|
|
117
|
+
"climate_zone": "CEC T24-CEC16",
|
|
118
|
+
"data_center": false,
|
|
119
|
+
"capacity_limit": null,
|
|
120
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
121
|
+
"notes": "Applicability from MASControl3"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"template": "DEER 1985",
|
|
125
|
+
"climate_zone": "CEC T24-CEC16",
|
|
126
|
+
"data_center": true,
|
|
127
|
+
"capacity_limit": null,
|
|
128
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 75.0,
|
|
129
|
+
"notes": "Applicability from MASControl3"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"template": "DEER 1985",
|
|
133
|
+
"climate_zone": "CEC T24-CEC2",
|
|
134
|
+
"data_center": false,
|
|
135
|
+
"capacity_limit": null,
|
|
136
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
137
|
+
"notes": "Applicability from MASControl3"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"template": "DEER 1985",
|
|
141
|
+
"climate_zone": "CEC T24-CEC2",
|
|
142
|
+
"data_center": true,
|
|
143
|
+
"capacity_limit": null,
|
|
144
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
145
|
+
"notes": "Applicability from MASControl3"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"template": "DEER 1985",
|
|
149
|
+
"climate_zone": "CEC T24-CEC3",
|
|
150
|
+
"data_center": false,
|
|
151
|
+
"capacity_limit": null,
|
|
152
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
153
|
+
"notes": "Applicability from MASControl3"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"template": "DEER 1985",
|
|
157
|
+
"climate_zone": "CEC T24-CEC3",
|
|
158
|
+
"data_center": true,
|
|
159
|
+
"capacity_limit": null,
|
|
160
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
161
|
+
"notes": "Applicability from MASControl3"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"template": "DEER 1985",
|
|
165
|
+
"climate_zone": "CEC T24-CEC4",
|
|
166
|
+
"data_center": false,
|
|
167
|
+
"capacity_limit": null,
|
|
168
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
169
|
+
"notes": "Applicability from MASControl3"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"template": "DEER 1985",
|
|
173
|
+
"climate_zone": "CEC T24-CEC4",
|
|
174
|
+
"data_center": true,
|
|
175
|
+
"capacity_limit": null,
|
|
176
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 73.0,
|
|
177
|
+
"notes": "Applicability from MASControl3"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"template": "DEER 1985",
|
|
181
|
+
"climate_zone": "CEC T24-CEC5",
|
|
182
|
+
"data_center": false,
|
|
183
|
+
"capacity_limit": null,
|
|
184
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
185
|
+
"notes": "Applicability from MASControl3"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"template": "DEER 1985",
|
|
189
|
+
"climate_zone": "CEC T24-CEC5",
|
|
190
|
+
"data_center": true,
|
|
191
|
+
"capacity_limit": null,
|
|
192
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 70.0,
|
|
193
|
+
"notes": "Applicability from MASControl3"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"template": "DEER 1985",
|
|
197
|
+
"climate_zone": "CEC T24-CEC6",
|
|
198
|
+
"data_center": false,
|
|
199
|
+
"capacity_limit": null,
|
|
200
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
201
|
+
"notes": "Applicability from MASControl3"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"template": "DEER 1985",
|
|
205
|
+
"climate_zone": "CEC T24-CEC6",
|
|
206
|
+
"data_center": true,
|
|
207
|
+
"capacity_limit": null,
|
|
208
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
209
|
+
"notes": "Applicability from MASControl3"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"template": "DEER 1985",
|
|
213
|
+
"climate_zone": "CEC T24-CEC7",
|
|
214
|
+
"data_center": false,
|
|
215
|
+
"capacity_limit": null,
|
|
216
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 69.0,
|
|
217
|
+
"notes": "Applicability from MASControl3"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"template": "DEER 1985",
|
|
221
|
+
"climate_zone": "CEC T24-CEC7",
|
|
222
|
+
"data_center": true,
|
|
223
|
+
"capacity_limit": null,
|
|
224
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 69.0,
|
|
225
|
+
"notes": "Applicability from MASControl3"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"template": "DEER 1985",
|
|
229
|
+
"climate_zone": "CEC T24-CEC8",
|
|
230
|
+
"data_center": false,
|
|
231
|
+
"capacity_limit": null,
|
|
232
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
233
|
+
"notes": "Applicability from MASControl3"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"template": "DEER 1985",
|
|
237
|
+
"climate_zone": "CEC T24-CEC8",
|
|
238
|
+
"data_center": true,
|
|
239
|
+
"capacity_limit": null,
|
|
240
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
241
|
+
"notes": "Applicability from MASControl3"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"template": "DEER 1985",
|
|
245
|
+
"climate_zone": "CEC T24-CEC9",
|
|
246
|
+
"data_center": false,
|
|
247
|
+
"capacity_limit": null,
|
|
248
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
249
|
+
"notes": "Applicability from MASControl3"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"template": "DEER 1985",
|
|
253
|
+
"climate_zone": "CEC T24-CEC9",
|
|
254
|
+
"data_center": true,
|
|
255
|
+
"capacity_limit": null,
|
|
256
|
+
"fixed_dry_bulb_high_limit_shutoff_temp": 71.0,
|
|
257
|
+
"notes": "Applicability from MASControl3"
|
|
16
258
|
}
|
|
17
259
|
]
|
|
18
260
|
}
|