openstudio-standards 0.2.10 → 0.2.11.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/data/geometry/ASHRAE90120042007LargeHotel.osm +101 -0
- data/data/geometry/ASHRAE90120042007RetailStandalone.osm +220 -0
- data/data/geometry/ASHRAE9012010LargeHotel.osm +101 -0
- data/data/geometry/ASHRAE9012010RetailStandalone.osm +218 -32
- data/data/geometry/ASHRAE9012013FullServiceRestaurant.osm +17 -0
- data/data/geometry/ASHRAE9012013Hospital.osm +288 -0
- data/data/geometry/ASHRAE9012013LargeHotel.osm +113 -12
- data/data/geometry/ASHRAE9012013LargeOffice.osm +205 -1
- data/data/geometry/ASHRAE9012013MediumOffice.osm +103 -1
- data/data/geometry/ASHRAE9012013Outpatient.osm +390 -102
- data/data/geometry/ASHRAE9012013PrimarySchool.osm +424 -0
- data/data/geometry/ASHRAE9012013QuickServiceRestaurant.osm +16 -0
- data/data/geometry/ASHRAE9012013RetailStandalone.osm +220 -0
- data/data/geometry/ASHRAE9012013SecondarySchool.osm +543 -0
- data/data/geometry/ASHRAE9012013SmallHotel.osm +50 -0
- data/data/geometry/ASHRAE9012013SmallOffice.osm +33 -0
- data/data/geometry/ASHRAE9012013Warehouse.osm +475 -238
- data/data/geometry/ASHRAEFullServiceRestaurant.osm +16 -0
- data/data/geometry/ASHRAEHospital.osm +288 -0
- data/data/geometry/ASHRAELargeOffice.osm +205 -1
- data/data/geometry/ASHRAELargeOfficeDetailed.osm +32 -32
- data/data/geometry/ASHRAEMediumOffice.osm +103 -1
- data/data/geometry/ASHRAEOutpatient.osm +390 -102
- data/data/geometry/ASHRAEPrimarySchool.osm +424 -0
- data/data/geometry/ASHRAEQuickServiceRestaurant.osm +16 -0
- data/data/geometry/ASHRAESecondarySchool.osm +1011 -162
- data/data/geometry/ASHRAESmallHotel.osm +50 -0
- data/data/geometry/ASHRAESmallOffice.osm +33 -0
- data/data/geometry/ASHRAEWarehouse.osm +476 -238
- data/data/standards/manage_OpenStudio_Standards.rb +1 -1
- data/data/standards/openstudio_standards_duplicates_log.csv +16 -0
- data/data/standards/test_performance_expected_dd_results.csv +1216 -1216
- data/data/weather/ARE_Abu.Dhabi.412170_IWEC.ddy +536 -0
- data/data/weather/ARE_Abu.Dhabi.412170_IWEC.epw +8768 -0
- data/data/weather/ARE_Abu.Dhabi.412170_IWEC.stat +544 -0
- data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.ddy +533 -0
- data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.epw +8768 -0
- data/data/weather/ARE_Dubai.Intl.AP.411940_IWEC2.stat +553 -0
- data/data/weather/VNM_Hanoi.488200_IWEC.ddy +533 -0
- data/data/weather/VNM_Hanoi.488200_IWEC.epw +8768 -0
- data/data/weather/VNM_Hanoi.488200_IWEC.stat +544 -0
- data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.ddy +533 -0
- data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.epw +8768 -0
- data/data/weather/VNM_Ho.Chi.Minh.City-Tan.Son.Nhat.AP.489000_IWEC2.stat +546 -0
- data/lib/openstudio-standards.rb +27 -0
- data/lib/openstudio-standards/btap/btap.model.rb +4 -4
- data/lib/openstudio-standards/btap/btap_result.rb +8 -8
- data/lib/openstudio-standards/btap/economics.rb +11 -11
- data/lib/openstudio-standards/btap/envelope.rb +5 -5
- data/lib/openstudio-standards/btap/hvac.rb +55 -11
- data/lib/openstudio-standards/btap/measures.rb +7 -7
- data/lib/openstudio-standards/btap/spaceloads.rb +4 -4
- data/lib/openstudio-standards/hvac_sizing/Siz.AirLoopHVAC.rb +105 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.ControllerOutdoorAir.rb +2 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb +0 -8
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat.rb +0 -8
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +0 -8
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +0 -8
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +6 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +9 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +3 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +22 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanConstantVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanOnOff.rb +33 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +9 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.elevators.rb +25 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +35 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.hvac_systems.rb +11 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +17 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +22 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +107 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +0 -8
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +2 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +15 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +45 -5
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +21 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +251 -364
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +4 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +4 -5
- data/lib/openstudio-standards/refs/references.rb +4 -0
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +283 -97
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +5 -5
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +3 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.Construction.rb +53 -45
- data/lib/openstudio-standards/standards/Standards.Fan.rb +10 -2
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.Model.rb +39 -18
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +8 -8
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +12 -12
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.Space.rb +190 -181
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +36 -59
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.Surface.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +16 -12
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +16 -5
- 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/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +159 -8
- 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 +1354 -1075
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +557 -17
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +28 -28
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +36 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +233 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +159 -8
- 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 +1356 -1077
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +480 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +28 -28
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +36 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +241 -14
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +12 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +159 -8
- 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 +1367 -1087
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +480 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +36 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +233 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +20 -27
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +8 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +159 -8
- 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 +1432 -1138
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +480 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +36 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +241 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.climate_zone_sets.json +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.climate_zones.json +39 -15
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +489 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +250 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.fans.json +12 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.materials.json +1920 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +5265 -9
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +159 -8
- 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 +2441 -1925
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.construction_properties.json +16658 -2578
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +212 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +11 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +159 -8
- 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 +2403 -1889
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.construction_properties.json +16664 -2584
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +209 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +11 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.construction_properties.json +4113 -513
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.construction_sets.json +40 -40
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.elevators.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.ground_temperatures.json +650 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_pumps.json +90 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_pumps_heating.json +25 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.spc_typ.json +1909 -32
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.water_heaters.json +8 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +147 -155
- 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.HeatExchangerSensLat.rb +29 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +45 -73
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +4 -72
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.boilers.json +20 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.chillers.json +400 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.construction_properties.json +4444 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.construction_sets.json +391 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.economizers.json +536 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.elevators.json +36 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ext_ltg.json +169 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.ground_temperatures.json +650 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_pumps.json +290 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_pumps_heating.json +164 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_rejection.json +40 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.motors.json +274 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.prototype_inputs.json +704 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.refrigeration_compressors.json +22 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.spc_typ.json +6424 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.unitary_acs.json +142 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_heaters.json +72 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_source_heat_pumps.json +31 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_source_heat_pumps_heating.json +13 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +829 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +24 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower.rb +19 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerSingleSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerTwoSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed.rb +16 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +34 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +80 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +68 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +146 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ThermalZone.rb +23 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +8 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.rb +16 -0
- data/lib/openstudio-standards/standards/deer/deer_1985/data/deer_1985.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.economizers.json +18 -0
- data/lib/openstudio-standards/standards/deer/deer_1996/data/deer_1996.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2003/data/deer_2003.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2007/data/deer_2007.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2011/data/deer_2011.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2014/data/deer_2014.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2015/data/deer_2015.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2017/data/deer_2017.heat_pumps_heating.json +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2020/data/deer_2020.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2025/data/deer_2025.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2030/data/deer_2030.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2035/data/deer_2035.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2040/data/deer_2040.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2045/data/deer_2045.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2050/data/deer_2050.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2055/data/deer_2055.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2060/data/deer_2060.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2065/data/deer_2065.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2070/data/deer_2070.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_2075/data/deer_2075.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/data/deer_pre_1975.heat_pumps_heating.json +5 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +5 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +5 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +5 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +8 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +12 -12
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/Weather.Model.rb +4 -0
- metadata +102 -18
- data/data/standards/OpenStudio_Standards-ashrae_90_1(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/OpenStudio_Standards-cbes(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-cbes.xlsx +0 -0
- data/data/standards/OpenStudio_Standards-deer(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-deer-ALL-comstock(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-deer.xlsx +0 -0
- data/data/standards/OpenStudio_Standards_LA100.xlsx +0 -0
- data/data/standards/junk/legacy_dd_results - Copy.csv +0 -960
- data/data/standards/junk/legacy_dd_results.csv +0 -960
- data/data/standards/junk/legacy_dd_results_new - Copy.csv +0 -960
- data/data/standards/junk/legacy_dd_results_new.csv +0 -960
- data/data/standards/junk/legacy_dd_results_original.csv +0 -960
- data/lib/openstudio-standards/standards/necb/NECB2011/newway.json +0 -8102
@@ -44,12 +44,12 @@ class OpenStudio::Model::ControllerOutdoorAir
|
|
44
44
|
|
45
45
|
# Get the airloop connected to this controller
|
46
46
|
if airLoopHVACOutdoorAirSystem.empty?
|
47
|
-
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name} is not connected to an airLoopHVACOutdoorAirSystem, cannot determine autosizedMinimumOutdoorAirFlowRate
|
47
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name} is not connected to an airLoopHVACOutdoorAirSystem, cannot determine autosizedMinimumOutdoorAirFlowRate accurately.")
|
48
48
|
return oa
|
49
49
|
end
|
50
50
|
oa_sys = airLoopHVACOutdoorAirSystem.get
|
51
51
|
if oa_sys.airLoop.empty?
|
52
|
-
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name}'s airLoopHVACOutdoorAirSystem is not assigned to an AirLoop, cannot determine autosizedMinimumOutdoorAirFlowRate
|
52
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Siz.ControllerOutdoorAir', "#{name}'s airLoopHVACOutdoorAirSystem is not assigned to an AirLoop, cannot determine autosizedMinimumOutdoorAirFlowRate accurately.")
|
53
53
|
return oa
|
54
54
|
end
|
55
55
|
air_loop = oa_sys.airLoop.get
|
@@ -9,14 +9,6 @@ class ASHRAE9012004 < ASHRAE901
|
|
9
9
|
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
10
10
|
min_damper_position = 0.3
|
11
11
|
|
12
|
-
# High OA zones
|
13
|
-
# Determine whether or not to use the high minimum guess.
|
14
|
-
# Cutoff was determined by correlating apparent minimum guesses
|
15
|
-
# to OA rates in prototypes since not well documented in papers.
|
16
|
-
if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
|
17
|
-
min_damper_position = 0.7
|
18
|
-
end
|
19
|
-
|
20
12
|
# Set the minimum flow fraction
|
21
13
|
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
22
14
|
|
@@ -9,14 +9,6 @@ class ASHRAE9012007 < ASHRAE901
|
|
9
9
|
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
10
10
|
min_damper_position = 0.3
|
11
11
|
|
12
|
-
# High OA zones
|
13
|
-
# Determine whether or not to use the high minimum guess.
|
14
|
-
# Cutoff was determined by correlating apparent minimum guesses
|
15
|
-
# to OA rates in prototypes since not well documented in papers.
|
16
|
-
if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
|
17
|
-
min_damper_position = 0.7
|
18
|
-
end
|
19
|
-
|
20
12
|
# Set the minimum flow fraction
|
21
13
|
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
22
14
|
|
@@ -14,14 +14,6 @@ class ASHRAE9012010 < ASHRAE901
|
|
14
14
|
0.3
|
15
15
|
end
|
16
16
|
|
17
|
-
# High OA zones
|
18
|
-
# Determine whether or not to use the high minimum guess.
|
19
|
-
# Cutoff was determined by correlating apparent minimum guesses
|
20
|
-
# to OA rates in prototypes since not well documented in papers.
|
21
|
-
if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
|
22
|
-
min_damper_position = 0.7
|
23
|
-
end
|
24
|
-
|
25
17
|
# Set the minimum flow fraction
|
26
18
|
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
27
19
|
|
@@ -14,14 +14,6 @@ class ASHRAE9012013 < ASHRAE901
|
|
14
14
|
0.3
|
15
15
|
end
|
16
16
|
|
17
|
-
# High OA zones
|
18
|
-
# Determine whether or not to use the high minimum guess.
|
19
|
-
# Cutoff was determined by correlating apparent minimum guesses
|
20
|
-
# to OA rates in prototypes since not well documented in papers.
|
21
|
-
if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2
|
22
|
-
min_damper_position = 0.7
|
23
|
-
end
|
24
|
-
|
25
17
|
# Set the minimum flow fraction
|
26
18
|
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
27
19
|
|
@@ -7,9 +7,14 @@ class NRELZNEReady2017 < ASHRAE901
|
|
7
7
|
# @param zone_oa_per_area [Double] the zone outdoor air per area, m^3/s
|
8
8
|
# @return [Bool] returns true if successful, false if not
|
9
9
|
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
10
|
+
min_damper_position = case air_terminal_single_duct_vav_reheat_reheat_type(air_terminal_single_duct_vav_reheat)
|
11
|
+
when 'HotWater'
|
12
|
+
0.2
|
13
|
+
when 'Electricity', 'NaturalGas'
|
14
|
+
0.3
|
15
|
+
end
|
10
16
|
|
11
17
|
# Set the minimum flow fraction
|
12
|
-
min_damper_position = 0.1
|
13
18
|
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
14
19
|
|
15
20
|
return true
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class NRELZNEReady2017 < ASHRAE901
|
2
|
+
# @!group HeatExchangerAirToAirSensibleAndLatent
|
3
|
+
|
4
|
+
# Default fan efficiency assumption for the prm added fan power
|
5
|
+
def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
|
6
|
+
default_fan_efficiency = 0.55
|
7
|
+
return default_fan_efficiency
|
8
|
+
end
|
9
|
+
end
|
@@ -16,10 +16,12 @@ class NRELZNEReady2017 < ASHRAE901
|
|
16
16
|
# 'DifferentialDryBulbAndEnthalpy'
|
17
17
|
def model_economizer_type(model, climate_zone)
|
18
18
|
economizer_type = case climate_zone
|
19
|
-
when 'ASHRAE 169-2006-
|
19
|
+
when 'ASHRAE 169-2006-0A',
|
20
|
+
'ASHRAE 169-2006-1A',
|
20
21
|
'ASHRAE 169-2006-2A',
|
21
22
|
'ASHRAE 169-2006-3A',
|
22
23
|
'ASHRAE 169-2006-4A',
|
24
|
+
'ASHRAE 169-2013-0A',
|
23
25
|
'ASHRAE 169-2013-1A',
|
24
26
|
'ASHRAE 169-2013-2A',
|
25
27
|
'ASHRAE 169-2013-3A',
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group AirTerminalSingleDuctVAVReheat
|
3
|
+
# Set the initial minimum damper position based on OA rate of the space and the template.
|
4
|
+
# Zones with low OA per area get lower initial guesses.
|
5
|
+
# Final position will be adjusted upward as necessary by Standards.AirLoopHVAC.apply_minimum_vav_damper_positions
|
6
|
+
#
|
7
|
+
# @param zone_oa_per_area [Double] the zone outdoor air per area, m^3/s
|
8
|
+
# @return [Bool] returns true if successful, false if not
|
9
|
+
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
10
|
+
min_damper_position = case air_terminal_single_duct_vav_reheat_reheat_type(air_terminal_single_duct_vav_reheat)
|
11
|
+
when 'HotWater'
|
12
|
+
0.2
|
13
|
+
when 'Electricity', 'NaturalGas'
|
14
|
+
0.3
|
15
|
+
end
|
16
|
+
|
17
|
+
# Set the minimum flow fraction
|
18
|
+
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
19
|
+
|
20
|
+
return true
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group FanConstantVolume
|
3
|
+
|
4
|
+
# Determine the prototype fan pressure rise for a constant volume
|
5
|
+
# fan on an AirLoopHVAC based on the airflow of the system.
|
6
|
+
# @return [Double] the pressure rise (in H2O). Defaults
|
7
|
+
# to the logic from ASHRAE 90.1-2004 prototypes.
|
8
|
+
def fan_constant_volume_airloop_fan_pressure_rise(fan_constant_volume)
|
9
|
+
# Get the max flow rate from the fan.
|
10
|
+
maximum_flow_rate_m3_per_s = nil
|
11
|
+
if fan_constant_volume.maximumFlowRate.is_initialized
|
12
|
+
maximum_flow_rate_m3_per_s = fan_constant_volume.maximumFlowRate.get
|
13
|
+
elsif fan_constant_volume.autosizedMaximumFlowRate.is_initialized
|
14
|
+
maximum_flow_rate_m3_per_s = fan_constant_volume.autosizedMaximumFlowRate.get
|
15
|
+
else
|
16
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanConstantVolume', "For #{fan_constant_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
|
17
|
+
return false
|
18
|
+
end
|
19
|
+
|
20
|
+
# Convert max flow rate to cfm
|
21
|
+
maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
|
22
|
+
|
23
|
+
# Determine the pressure rise
|
24
|
+
pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
|
25
|
+
2.5
|
26
|
+
else # Over 7,437 cfm
|
27
|
+
4.09
|
28
|
+
end
|
29
|
+
|
30
|
+
return pressure_rise_in_h2o
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group FanOnOff
|
3
|
+
|
4
|
+
# Determine the prototype fan pressure rise for an on off
|
5
|
+
# fan on an AirLoopHVAC or inside a unitary system
|
6
|
+
# based on the airflow of the system.
|
7
|
+
# @return [Double] the pressure rise (in H2O). Defaults
|
8
|
+
# to the logic from ASHRAE 90.1-2004 prototypes.
|
9
|
+
def fan_on_off_airloop_or_unitary_fan_pressure_rise(fan_on_off)
|
10
|
+
# Get the max flow rate from the fan.
|
11
|
+
maximum_flow_rate_m3_per_s = nil
|
12
|
+
if fan_on_off.maximumFlowRate.is_initialized
|
13
|
+
maximum_flow_rate_m3_per_s = fan_on_off.maximumFlowRate.get
|
14
|
+
elsif fan_on_off.autosizedMaximumFlowRate.is_initialized
|
15
|
+
maximum_flow_rate_m3_per_s = fan_on_off.autosizedMaximumFlowRate.get
|
16
|
+
else
|
17
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanOnOff', "For #{fan_on_off.name} max flow rate is not available, cannot apply prototype assumptions.")
|
18
|
+
return false
|
19
|
+
end
|
20
|
+
|
21
|
+
# Convert max flow rate to cfm
|
22
|
+
maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
|
23
|
+
|
24
|
+
# Determine the pressure rise
|
25
|
+
pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
|
26
|
+
2.5
|
27
|
+
else # Over 7,437 cfm
|
28
|
+
4.09
|
29
|
+
end
|
30
|
+
|
31
|
+
return pressure_rise_in_h2o
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group FanVariableVolume
|
3
|
+
|
4
|
+
# Determine the prototype fan pressure rise for a variable volume
|
5
|
+
# fan on an AirLoopHVAC based on the airflow of the system.
|
6
|
+
# @return [Double] the pressure rise (in H2O). Defaults
|
7
|
+
# to the logic from ASHRAE 90.1-2004 prototypes.
|
8
|
+
def fan_variable_volume_airloop_fan_pressure_rise(fan_variable_volume)
|
9
|
+
# Get the max flow rate from the fan.
|
10
|
+
maximum_flow_rate_m3_per_s = nil
|
11
|
+
if fan_variable_volume.maximumFlowRate.is_initialized
|
12
|
+
maximum_flow_rate_m3_per_s = fan_variable_volume.maximumFlowRate.get
|
13
|
+
elsif fan_variable_volume.autosizedMaximumFlowRate.is_initialized
|
14
|
+
maximum_flow_rate_m3_per_s = fan_variable_volume.autosizedMaximumFlowRate.get
|
15
|
+
else
|
16
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanVariableVolume', "For #{fan_variable_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
|
17
|
+
return false
|
18
|
+
end
|
19
|
+
|
20
|
+
# Convert max flow rate to cfm
|
21
|
+
maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get
|
22
|
+
|
23
|
+
# Determine the pressure rise
|
24
|
+
pressure_rise_in_h2o = if maximum_flow_rate_cfm < 4648
|
25
|
+
4.0
|
26
|
+
else # Over 7,437 cfm
|
27
|
+
5.58
|
28
|
+
end
|
29
|
+
|
30
|
+
return pressure_rise_in_h2o
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group HeatExchangerAirToAirSensibleAndLatent
|
3
|
+
|
4
|
+
# Default fan efficiency assumption for the prm added fan power
|
5
|
+
def heat_exchanger_air_to_air_sensible_and_latent_prototype_default_fan_efficiency
|
6
|
+
default_fan_efficiency = 0.55
|
7
|
+
return default_fan_efficiency
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group elevators
|
3
|
+
|
4
|
+
# Determines the percentage of the elevator cab
|
5
|
+
# lighting that is incandescent. The remainder
|
6
|
+
# is assumed to be LED. Defaults to 0% incandescent
|
7
|
+
# (100% LED), representing newer elevators.
|
8
|
+
def model_elevator_lighting_pct_incandescent(model)
|
9
|
+
pct_incandescent = 0.0 # 100% LED
|
10
|
+
return pct_incandescent
|
11
|
+
end
|
12
|
+
|
13
|
+
# Determines the power of the elevator ventilation fan.
|
14
|
+
# Same as 90.1-2013, which has a requirement
|
15
|
+
# for ventilation fan efficiency.
|
16
|
+
# @return [Double] the ventilaton fan power (W)
|
17
|
+
def model_elevator_fan_pwr(model, vent_rate_cfm)
|
18
|
+
vent_pwr_per_flow_w_per_cfm = 0.33
|
19
|
+
vent_pwr_w = vent_pwr_per_flow_w_per_cfm * vent_rate_cfm
|
20
|
+
# addendum 90.1-2007 aj has requirement on efficiency
|
21
|
+
vent_pwr_w = vent_pwr_w * 0.29 / 0.70
|
22
|
+
|
23
|
+
return vent_pwr_w
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group Model
|
3
|
+
|
4
|
+
# Determine the prototypical economizer type for the model.
|
5
|
+
#
|
6
|
+
# @param model [OpenStudio::Model::Model] the model
|
7
|
+
# @param climate_zone [String] the climate zone
|
8
|
+
# @return [String] the economizer type. Possible values are:
|
9
|
+
# 'NoEconomizer'
|
10
|
+
# 'FixedDryBulb'
|
11
|
+
# 'FixedEnthalpy'
|
12
|
+
# 'DifferentialDryBulb'
|
13
|
+
# 'DifferentialEnthalpy'
|
14
|
+
# 'FixedDewPointAndDryBulb'
|
15
|
+
# 'ElectronicEnthalpy'
|
16
|
+
# 'DifferentialDryBulbAndEnthalpy'
|
17
|
+
def model_economizer_type(model, climate_zone)
|
18
|
+
economizer_type = case climate_zone
|
19
|
+
when 'ASHRAE 169-2006-0A',
|
20
|
+
'ASHRAE 169-2006-1A',
|
21
|
+
'ASHRAE 169-2006-2A',
|
22
|
+
'ASHRAE 169-2006-3A',
|
23
|
+
'ASHRAE 169-2006-4A',
|
24
|
+
'ASHRAE 169-2013-0A',
|
25
|
+
'ASHRAE 169-2013-1A',
|
26
|
+
'ASHRAE 169-2013-2A',
|
27
|
+
'ASHRAE 169-2013-3A',
|
28
|
+
'ASHRAE 169-2013-4A'
|
29
|
+
'DifferentialEnthalpy'
|
30
|
+
else
|
31
|
+
'DifferentialDryBulb'
|
32
|
+
end
|
33
|
+
return economizer_type
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class ZEAEDGMultifamily < ASHRAE901
|
2
|
+
# @!group hvac_systems
|
3
|
+
|
4
|
+
# Determine which type of fan the cooling tower
|
5
|
+
# will have. Variable Speed Fan for NREL ZNE Ready 2017.
|
6
|
+
# @return [String] the fan type: TwoSpeed Fan, Variable Speed Fan
|
7
|
+
def model_cw_loop_cooling_tower_fan_type(model)
|
8
|
+
fan_type = 'Variable Speed Fan'
|
9
|
+
return fan_type
|
10
|
+
end
|
11
|
+
end
|
@@ -255,16 +255,21 @@ module Hospital
|
|
255
255
|
# Cutoff was determined by correlating apparent minimum guesses
|
256
256
|
# to OA rates in prototypes since not well documented in papers.
|
257
257
|
zone_oa_per_area = thermal_zone_outdoor_airflow_rate_per_area(zone)
|
258
|
+
airlp = air_terminal.airLoopHVAC.get
|
258
259
|
case template
|
259
260
|
when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004'
|
260
261
|
if vav_name.include?('PatRoom') || vav_name.include?('OR') || vav_name.include?('ICU') || vav_name.include?('Lab') || vav_name.include?('ER') || vav_name.include?('Kitchen')
|
261
262
|
air_terminal.setConstantMinimumAirFlowFraction(1.0)
|
262
263
|
end
|
264
|
+
# Minimum damper position for Outpatient prototype
|
265
|
+
# Based on AIA 2001 ventilation requirements
|
266
|
+
# See Section 5.2.2.16 in Thornton et al. 2010
|
267
|
+
# https://www.energycodes.gov/sites/default/files/documents/BECP_Energy_Cost_Savings_STD2010_May2011_v00.pdf
|
263
268
|
when '90.1-2004', '90.1-2007'
|
264
|
-
air_terminal.setConstantMinimumAirFlowFraction(1.0)
|
269
|
+
air_terminal.setConstantMinimumAirFlowFraction(1.0) unless airlp.name.to_s.include?('VAV_1') || airlp.name.to_s.include?('VAV_2')
|
265
270
|
when '90.1-2010', '90.1-2013'
|
266
|
-
air_terminal.setConstantMinimumAirFlowFraction(1.0)
|
267
|
-
air_terminal.setConstantMinimumAirFlowFraction(0.5) if vav_name.include?
|
271
|
+
air_terminal.setConstantMinimumAirFlowFraction(1.0) unless airlp.name.to_s.include?('VAV_1') || airlp.name.to_s.include?('VAV_2')
|
272
|
+
air_terminal.setConstantMinimumAirFlowFraction(0.5) if vav_name.include? 'PatRoom'
|
268
273
|
end
|
269
274
|
end
|
270
275
|
end
|
@@ -301,4 +306,13 @@ module Hospital
|
|
301
306
|
|
302
307
|
return true
|
303
308
|
end
|
309
|
+
|
310
|
+
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
311
|
+
min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
|
312
|
+
|
313
|
+
# Set the minimum flow fraction
|
314
|
+
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
315
|
+
|
316
|
+
return true
|
317
|
+
end
|
304
318
|
end
|
@@ -184,4 +184,13 @@ module LargeHotel
|
|
184
184
|
|
185
185
|
return true
|
186
186
|
end
|
187
|
+
|
188
|
+
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
189
|
+
min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
|
190
|
+
|
191
|
+
# Set the minimum flow fraction
|
192
|
+
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
193
|
+
|
194
|
+
return true
|
195
|
+
end
|
187
196
|
end
|
@@ -79,4 +79,13 @@ module LargeOffice
|
|
79
79
|
|
80
80
|
return true
|
81
81
|
end
|
82
|
+
|
83
|
+
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
84
|
+
min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
|
85
|
+
|
86
|
+
# Set the minimum flow fraction
|
87
|
+
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
88
|
+
|
89
|
+
return true
|
90
|
+
end
|
82
91
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
# Custom changes for the LargeOffice prototype.
|
3
2
|
# These are changes that are inconsistent with other prototype
|
4
3
|
# building types.
|
@@ -43,7 +42,8 @@ module LargeOfficeDetailed
|
|
43
42
|
|
44
43
|
# replace EvaporativeFluidCoolerSingleSpeed with CoolingTowerTwoSpeed
|
45
44
|
model.getPlantLoops.each do |plant_loop|
|
46
|
-
next unless plant_loop.name.to_s.include?
|
45
|
+
next unless plant_loop.name.to_s.include? 'Heat Pump Loop'
|
46
|
+
|
47
47
|
sup_wtr_high_temp_f = 65.0
|
48
48
|
sup_wtr_low_temp_f = 41.0
|
49
49
|
sup_wtr_high_temp_c = OpenStudio.convert(sup_wtr_high_temp_f, 'F', 'C').get
|
@@ -75,9 +75,20 @@ module LargeOfficeDetailed
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
remove_basement_infiltration(model)
|
79
|
+
|
78
80
|
return true
|
79
81
|
end
|
80
|
-
|
82
|
+
|
83
|
+
def remove_basement_infiltration(model)
|
84
|
+
space_infltrations = model.getSpaceInfiltrationDesignFlowRates
|
85
|
+
space_infltrations.each do |space_inf|
|
86
|
+
if space_inf.name.to_s.include? 'Basement'
|
87
|
+
space_inf = nil
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
81
92
|
def update_waterheater_loss_coefficient(model)
|
82
93
|
case template
|
83
94
|
when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', 'NECB2011'
|
@@ -94,6 +105,14 @@ module LargeOfficeDetailed
|
|
94
105
|
end
|
95
106
|
|
96
107
|
def model_custom_geometry_tweaks(building_type, climate_zone, prototype_input, model)
|
108
|
+
return true
|
109
|
+
end
|
110
|
+
|
111
|
+
def air_terminal_single_duct_vav_reheat_apply_initial_prototype_damper_position(air_terminal_single_duct_vav_reheat, zone_oa_per_area)
|
112
|
+
min_damper_position = template == '90.1-2010' || template == '90.1-2013' ? 0.2 : 0.3
|
113
|
+
|
114
|
+
# Set the minimum flow fraction
|
115
|
+
air_terminal_single_duct_vav_reheat.setConstantMinimumAirFlowFraction(min_damper_position)
|
97
116
|
|
98
117
|
return true
|
99
118
|
end
|