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
@@ -183,15 +183,15 @@ class Standard
|
|
183
183
|
lights_have_info = false
|
184
184
|
lighting_per_area = space_type_properties['lighting_per_area'].to_f
|
185
185
|
lighting_per_person = space_type_properties['lighting_per_person'].to_f
|
186
|
-
lights_frac_to_return_air = space_type_properties['lighting_fraction_to_return_air']
|
187
|
-
lights_frac_radiant = space_type_properties['lighting_fraction_radiant']
|
188
|
-
lights_frac_visible = space_type_properties['lighting_fraction_visible']
|
186
|
+
lights_frac_to_return_air = space_type_properties['lighting_fraction_to_return_air']
|
187
|
+
lights_frac_radiant = space_type_properties['lighting_fraction_radiant']
|
188
|
+
lights_frac_visible = space_type_properties['lighting_fraction_visible']
|
189
189
|
lights_frac_replaceable = space_type_properties['lighting_fraction_replaceable'].to_f
|
190
|
-
lights_frac_linear_fluorescent = space_type_properties['lpd_fraction_linear_fluorescent']
|
191
|
-
lights_frac_compact_fluorescent = space_type_properties['lpd_fraction_compact_fluorescent']
|
192
|
-
lights_frac_high_bay = space_type_properties['lpd_fraction_high_bay']
|
193
|
-
lights_frac_specialty_lighting = space_type_properties['lpd_fraction_specialty_lighting']
|
194
|
-
lights_frac_exit_lighting = space_type_properties['lpd_fraction_exit_lighting']
|
190
|
+
lights_frac_linear_fluorescent = space_type_properties['lpd_fraction_linear_fluorescent']
|
191
|
+
lights_frac_compact_fluorescent = space_type_properties['lpd_fraction_compact_fluorescent']
|
192
|
+
lights_frac_high_bay = space_type_properties['lpd_fraction_high_bay']
|
193
|
+
lights_frac_specialty_lighting = space_type_properties['lpd_fraction_specialty_lighting']
|
194
|
+
lights_frac_exit_lighting = space_type_properties['lpd_fraction_exit_lighting']
|
195
195
|
lights_have_info = true unless lighting_per_area.zero?
|
196
196
|
lights_have_info = true unless lighting_per_person.zero?
|
197
197
|
|
@@ -229,33 +229,15 @@ class Standard
|
|
229
229
|
definition.setWattsperPerson(OpenStudio.convert(lighting_per_person.to_f, 'W/person', 'W/person').get)
|
230
230
|
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set lighting to #{lighting_per_person} W/person.")
|
231
231
|
end
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
# unless lights_frac_replaceable.zero?
|
242
|
-
# definition.setFractionReplaceable(lights_frac_replaceable)
|
243
|
-
# end
|
244
|
-
unless lights_frac_linear_fluorescent.zero?
|
245
|
-
definition.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', lights_frac_linear_fluorescent)
|
246
|
-
end
|
247
|
-
unless lights_frac_compact_fluorescent.zero?
|
248
|
-
definition.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', lights_frac_compact_fluorescent)
|
249
|
-
end
|
250
|
-
unless lights_frac_high_bay.zero?
|
251
|
-
definition.additionalProperties.setFeature('lpd_fraction_high_bay', lights_frac_high_bay)
|
252
|
-
end
|
253
|
-
unless lights_frac_specialty_lighting.zero?
|
254
|
-
definition.additionalProperties.setFeature('lpd_fraction_specialty_lighting', lights_frac_specialty_lighting)
|
255
|
-
end
|
256
|
-
unless lights_frac_exit_lighting.zero?
|
257
|
-
definition.additionalProperties.setFeature('lpd_fraction_exit_lighting', lights_frac_exit_lighting)
|
258
|
-
end
|
232
|
+
definition.setReturnAirFraction(lights_frac_to_return_air.to_f) if lights_frac_to_return_air
|
233
|
+
definition.setFractionRadiant(lights_frac_radiant.to_f) if lights_frac_radiant
|
234
|
+
definition.setFractionVisible(lights_frac_visible.to_f) if lights_frac_visible
|
235
|
+
# definition.setFractionReplaceable(lights_frac_replaceable) if lights_frac_replaceable
|
236
|
+
definition.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', lights_frac_linear_fluorescent.to_f) if lights_frac_linear_fluorescent
|
237
|
+
definition.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', lights_frac_compact_fluorescent.to_f) if lights_frac_compact_fluorescent
|
238
|
+
definition.additionalProperties.setFeature('lpd_fraction_high_bay', lights_frac_high_bay.to_f) if lights_frac_high_bay
|
239
|
+
definition.additionalProperties.setFeature('lpd_fraction_specialty_lighting', lights_frac_specialty_lighting.to_f) if lights_frac_specialty_lighting
|
240
|
+
definition.additionalProperties.setFeature('lpd_fraction_exit_lighting', lights_frac_exit_lighting.to_f) if lights_frac_exit_lighting
|
259
241
|
end
|
260
242
|
|
261
243
|
# If additional lights are specified, add those too
|
@@ -269,6 +251,13 @@ class Standard
|
|
269
251
|
additional_lights_def.setFractionRadiant(lights_frac_radiant)
|
270
252
|
additional_lights_def.setFractionVisible(lights_frac_visible)
|
271
253
|
|
254
|
+
# By default, all additional lighting is specialty lighting
|
255
|
+
additional_lights_def.additionalProperties.setFeature('lpd_fraction_linear_fluorescent', 0.0)
|
256
|
+
additional_lights_def.additionalProperties.setFeature('lpd_fraction_compact_fluorescent', 0.0)
|
257
|
+
additional_lights_def.additionalProperties.setFeature('lpd_fraction_high_bay', 0.0)
|
258
|
+
additional_lights_def.additionalProperties.setFeature('lpd_fraction_specialty_lighting', 1.0)
|
259
|
+
additional_lights_def.additionalProperties.setFeature('lpd_fraction_exit_lighting', 0.0)
|
260
|
+
|
272
261
|
# Create the lighting instance and hook it up to the space type
|
273
262
|
additional_lights = OpenStudio::Model::Lights.new(additional_lights_def)
|
274
263
|
additional_lights.setName("#{space_type.name} Additional Lights")
|
@@ -280,9 +269,9 @@ class Standard
|
|
280
269
|
# Electric Equipment
|
281
270
|
elec_equip_have_info = false
|
282
271
|
elec_equip_per_area = space_type_properties['electric_equipment_per_area'].to_f
|
283
|
-
elec_equip_frac_latent = space_type_properties['electric_equipment_fraction_latent']
|
284
|
-
elec_equip_frac_radiant = space_type_properties['electric_equipment_fraction_radiant']
|
285
|
-
elec_equip_frac_lost = space_type_properties['electric_equipment_fraction_lost']
|
272
|
+
elec_equip_frac_latent = space_type_properties['electric_equipment_fraction_latent']
|
273
|
+
elec_equip_frac_radiant = space_type_properties['electric_equipment_fraction_radiant']
|
274
|
+
elec_equip_frac_lost = space_type_properties['electric_equipment_fraction_lost']
|
286
275
|
elec_equip_have_info = true unless elec_equip_per_area.zero?
|
287
276
|
|
288
277
|
if set_electric_equipment && elec_equip_have_info
|
@@ -312,15 +301,9 @@ class Standard
|
|
312
301
|
definition.setWattsperSpaceFloorArea(OpenStudio.convert(elec_equip_per_area.to_f, 'W/ft^2', 'W/m^2').get)
|
313
302
|
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set electric EPD to #{elec_equip_per_area} W/ft^2.")
|
314
303
|
end
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
unless elec_equip_frac_radiant.zero?
|
319
|
-
definition.setFractionRadiant(elec_equip_frac_radiant)
|
320
|
-
end
|
321
|
-
unless elec_equip_frac_lost.zero?
|
322
|
-
definition.setFractionLost(elec_equip_frac_lost)
|
323
|
-
end
|
304
|
+
definition.setFractionLatent(elec_equip_frac_latent.to_f) if elec_equip_frac_latent
|
305
|
+
definition.setFractionRadiant(elec_equip_frac_radiant.to_f) if elec_equip_frac_radiant
|
306
|
+
definition.setFractionLost(elec_equip_frac_lost.to_f) if elec_equip_frac_lost
|
324
307
|
end
|
325
308
|
|
326
309
|
end
|
@@ -328,9 +311,9 @@ class Standard
|
|
328
311
|
# Gas Equipment
|
329
312
|
gas_equip_have_info = false
|
330
313
|
gas_equip_per_area = space_type_properties['gas_equipment_per_area'].to_f
|
331
|
-
gas_equip_frac_latent = space_type_properties['gas_equipment_fraction_latent']
|
332
|
-
gas_equip_frac_radiant = space_type_properties['gas_equipment_fraction_radiant']
|
333
|
-
gas_equip_frac_lost = space_type_properties['gas_equipment_fraction_lost']
|
314
|
+
gas_equip_frac_latent = space_type_properties['gas_equipment_fraction_latent']
|
315
|
+
gas_equip_frac_radiant = space_type_properties['gas_equipment_fraction_radiant']
|
316
|
+
gas_equip_frac_lost = space_type_properties['gas_equipment_fraction_lost']
|
334
317
|
gas_equip_have_info = true unless gas_equip_per_area.zero?
|
335
318
|
|
336
319
|
if set_gas_equipment && gas_equip_have_info
|
@@ -360,15 +343,9 @@ class Standard
|
|
360
343
|
definition.setWattsperSpaceFloorArea(OpenStudio.convert(gas_equip_per_area.to_f, 'Btu/hr*ft^2', 'W/m^2').get)
|
361
344
|
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SpaceType', "#{space_type.name} set gas EPD to #{gas_equip_per_area} Btu/hr*ft^2.")
|
362
345
|
end
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
unless gas_equip_frac_radiant.zero?
|
367
|
-
definition.setFractionRadiant(gas_equip_frac_radiant)
|
368
|
-
end
|
369
|
-
unless gas_equip_frac_lost.zero?
|
370
|
-
definition.setFractionLost(gas_equip_frac_lost)
|
371
|
-
end
|
346
|
+
definition.setFractionLatent(gas_equip_frac_latent.to_f) if gas_equip_frac_latent
|
347
|
+
definition.setFractionRadiant(gas_equip_frac_radiant.to_f) if gas_equip_frac_radiant
|
348
|
+
definition.setFractionLost(gas_equip_frac_lost.to_f) if gas_equip_frac_lost
|
372
349
|
end
|
373
350
|
|
374
351
|
end
|
@@ -46,7 +46,7 @@ class Standard
|
|
46
46
|
when 'OverheadDoor'
|
47
47
|
infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['loading_dock_door']
|
48
48
|
when 'GlassDoor'
|
49
|
-
OpenStudio.logFree(OpenStudio::Info, 'openstudio.
|
49
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.SubSurface', "For #{sub_surface.name}, assuming swinging_or_revolving_glass_door for infiltration calculation.")
|
50
50
|
infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['swinging_or_revolving_glass_door']
|
51
51
|
when 'FixedWindow', 'OperableWindow'
|
52
52
|
infil_rate_cfm_per_ft2 = component_infil_rates_cfm_per_ft2[type]['window']
|
@@ -55,7 +55,7 @@ class Standard
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
if infil_rate_cfm_per_ft2.nil?
|
58
|
-
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.
|
58
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.SubSurface', "For #{sub_surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
|
59
59
|
return comp_infil_rate_m3_per_s
|
60
60
|
end
|
61
61
|
|
@@ -241,7 +241,7 @@ class Standard
|
|
241
241
|
surface.vertices.each do |surf_vert|
|
242
242
|
surface.vertices.each do |surf_vert_2|
|
243
243
|
unless surf_vert_2.z.to_f == surf_vert.z.to_f
|
244
|
-
OpenStudio.logFree(OpenStudio::Error, 'openstudio.
|
244
|
+
OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.SubSurface', 'Currently skylights can only be added to buildings with non-plenum flat roofs.')
|
245
245
|
end
|
246
246
|
end
|
247
247
|
end
|
@@ -57,7 +57,7 @@ class Standard
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
if infil_rate_cfm_per_ft2.nil?
|
60
|
-
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.
|
60
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.Surface', "For #{surface.name}, could not determine surface type for infiltration, will not be included in calculation.")
|
61
61
|
return comp_infil_rate_m3_per_s
|
62
62
|
end
|
63
63
|
|
@@ -64,7 +64,7 @@ class Standard
|
|
64
64
|
# Convert to cfm
|
65
65
|
tot_oa_flow_rate_cfm = OpenStudio.convert(tot_oa_flow_rate, 'm^3/s', 'cfm').get
|
66
66
|
|
67
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
67
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, design min OA = #{tot_oa_flow_rate_cfm.round} cfm.")
|
68
68
|
|
69
69
|
return tot_oa_flow_rate
|
70
70
|
end
|
@@ -254,13 +254,13 @@ class Standard
|
|
254
254
|
end
|
255
255
|
|
256
256
|
unless sch_name.nil?
|
257
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
257
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Finding space schedules for #{sch_name}.")
|
258
258
|
end
|
259
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
259
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "The #{spaces.size} spaces have #{occ_schedules_num_occ.size} unique occ schedules.")
|
260
260
|
occ_schedules_num_occ.each do |occ_sch, num_occ|
|
261
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
261
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "...#{occ_sch.name} - #{num_occ.round} people")
|
262
262
|
end
|
263
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
263
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', " Total #{max_occ_in_spaces.round} people in #{spaces.size} spaces.")
|
264
264
|
|
265
265
|
# Store arrays of 365 day schedules used by each occ schedule once for later
|
266
266
|
# Store arrays of day schedule times for later
|
@@ -437,7 +437,7 @@ class Standard
|
|
437
437
|
end
|
438
438
|
|
439
439
|
# If here, we need to make a rule to cover from the previous rule to today
|
440
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
440
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "Making a new rule for #{weekday} from #{end_of_prev_rule} to #{date}")
|
441
441
|
sch_rule = OpenStudio::Model::ScheduleRule.new(sch_ruleset)
|
442
442
|
sch_rule.setName("#{sch_name} #{weekday} Rule")
|
443
443
|
day_sch = sch_rule.daySchedule
|
@@ -630,7 +630,7 @@ class Standard
|
|
630
630
|
elsif htg_fuels.size.zero? && clg_fuels.size.zero?
|
631
631
|
fuel_type = 'unconditioned'
|
632
632
|
else
|
633
|
-
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.
|
633
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, could not determine fuel type, assuming fossil. Heating fuels = #{htg_fuels.join(', ')}; cooling fuels = #{clg_fuels.join(', ')}.")
|
634
634
|
fuel_type = 'fossil'
|
635
635
|
end
|
636
636
|
|
@@ -685,25 +685,25 @@ class Standard
|
|
685
685
|
# Electric and fossil and district
|
686
686
|
if htg_fuels.include?('Electricity') && htg_fuels.include?('DistrictHeating') && fossil
|
687
687
|
is_mixed = true
|
688
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
688
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity, fossil, and district.")
|
689
689
|
end
|
690
690
|
|
691
691
|
# Electric and fossil
|
692
692
|
if htg_fuels.include?('Electricity') && fossil
|
693
693
|
is_mixed = true
|
694
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
694
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity and fossil.")
|
695
695
|
end
|
696
696
|
|
697
697
|
# Electric and district
|
698
698
|
if htg_fuels.include?('Electricity') && htg_fuels.include?('DistrictHeating')
|
699
699
|
is_mixed = true
|
700
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
700
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed electricity and district.")
|
701
701
|
end
|
702
702
|
|
703
703
|
# Fossil and district
|
704
704
|
if fossil && htg_fuels.include?('DistrictHeating')
|
705
705
|
is_mixed = true
|
706
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.
|
706
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.Standards.ThermalZone', "For #{thermal_zone.name}, heating mixed fossil and district.")
|
707
707
|
end
|
708
708
|
|
709
709
|
return is_mixed
|
@@ -1219,10 +1219,14 @@ class Standard
|
|
1219
1219
|
# From Table 3.1 Heated Space Criteria
|
1220
1220
|
htg_lim_btu_per_ft2 = 0.0
|
1221
1221
|
case climate_zone
|
1222
|
-
when 'ASHRAE 169-2006-
|
1222
|
+
when 'ASHRAE 169-2006-0A',
|
1223
|
+
'ASHRAE 169-2006-0B',
|
1224
|
+
'ASHRAE 169-2006-1A',
|
1223
1225
|
'ASHRAE 169-2006-1B',
|
1224
1226
|
'ASHRAE 169-2006-2A',
|
1225
1227
|
'ASHRAE 169-2006-2B',
|
1228
|
+
'ASHRAE 169-2013-0A',
|
1229
|
+
'ASHRAE 169-2013-0B',
|
1226
1230
|
'ASHRAE 169-2013-1A',
|
1227
1231
|
'ASHRAE 169-2013-1B',
|
1228
1232
|
'ASHRAE 169-2013-2A',
|
@@ -190,7 +190,7 @@ class Standard
|
|
190
190
|
|
191
191
|
# Append the name with standards information
|
192
192
|
water_heater_mixed.setName("#{water_heater_mixed.name} #{water_heater_eff.round(3)} Therm Eff")
|
193
|
-
OpenStudio.logFree(OpenStudio::Info, 'openstudio.
|
193
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.WaterHeaterMixed', "For #{template}: #{water_heater_mixed.name}; thermal efficiency = #{water_heater_eff.round(3)}, skin-loss UA = #{ua_btu_per_hr_per_f.round}Btu/hr")
|
194
194
|
|
195
195
|
return true
|
196
196
|
end
|
@@ -1,13 +1,18 @@
|
|
1
1
|
class Standard
|
2
2
|
# @!group ZoneHVACComponent
|
3
3
|
|
4
|
+
def zone_hvac_component_prm_baseline_fan_efficacy
|
5
|
+
fan_efficacy_w_per_cfm = 0.3
|
6
|
+
return fan_efficacy_w_per_cfm
|
7
|
+
end
|
8
|
+
|
4
9
|
# Sets the fan power of zone level HVAC equipment
|
5
|
-
# (PTACs, PTHPs,
|
10
|
+
# (Fan coils, Unit Heaters, PTACs, PTHPs, VRF Terminals, WSHPs, ERVs)
|
6
11
|
# based on the W/cfm specified in the standard.
|
7
12
|
#
|
8
13
|
# @return [Bool] returns true if successful, false if not
|
9
14
|
def zone_hvac_component_apply_prm_baseline_fan_power(zone_hvac_component)
|
10
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.
|
15
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.ZoneHVACComponent', "Setting fan power for #{zone_hvac_component.name}.")
|
11
16
|
|
12
17
|
# Convert this to the actual class type
|
13
18
|
zone_hvac = if zone_hvac_component.to_ZoneHVACFourPipeFanCoil.is_initialized
|
@@ -18,6 +23,12 @@ class Standard
|
|
18
23
|
zone_hvac_component.to_ZoneHVACPackagedTerminalAirConditioner.get
|
19
24
|
elsif zone_hvac_component.to_ZoneHVACPackagedTerminalHeatPump.is_initialized
|
20
25
|
zone_hvac_component.to_ZoneHVACPackagedTerminalHeatPump.get
|
26
|
+
elsif zone_hvac_component.to_ZoneHVACTerminalUnitVariableRefrigerantFlow.is_initialized
|
27
|
+
zone_hvac_component.to_ZoneHVACTerminalUnitVariableRefrigerantFlow.get
|
28
|
+
elsif zone_hvac_component.to_ZoneHVACWaterToAirHeatPump.is_initialized
|
29
|
+
zone_hvac_component.to_ZoneHVACWaterToAirHeatPump.get
|
30
|
+
elsif zone_hvac_component.to_ZoneHVACEnergyRecoveryVentilator.is_initialized
|
31
|
+
zone_hvac_component.to_ZoneHVACEnergyRecoveryVentilator.get
|
21
32
|
end
|
22
33
|
|
23
34
|
# Do nothing for other types of zone HVAC equipment
|
@@ -26,7 +37,7 @@ class Standard
|
|
26
37
|
end
|
27
38
|
|
28
39
|
# Determine the W/cfm
|
29
|
-
fan_efficacy_w_per_cfm =
|
40
|
+
fan_efficacy_w_per_cfm = zone_hvac_component_prm_baseline_fan_efficacy
|
30
41
|
|
31
42
|
# Convert efficacy to metric
|
32
43
|
# 1 cfm = 0.0004719 m^3/s
|
@@ -66,7 +77,7 @@ class Standard
|
|
66
77
|
# Calculate the newly set efficacy
|
67
78
|
fan_power_new_w = fan_rise_new_pa * max_air_flow_rate / fan_tot_eff
|
68
79
|
fan_efficacy_new_w_per_cfm = fan_power_new_w / max_air_flow_rate_cfm
|
69
|
-
OpenStudio.logFree(OpenStudio::Info, 'openstudio.
|
80
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ZoneHVACComponent', "For #{zone_hvac_component.name}: fan efficacy set to #{fan_efficacy_new_w_per_cfm.round(2)} W/cfm.")
|
70
81
|
|
71
82
|
return true
|
72
83
|
end
|
@@ -199,7 +210,7 @@ class Standard
|
|
199
210
|
vestibule_htg_mgr.setCallingPoint('BeginTimestepBeforePredictor')
|
200
211
|
vestibule_htg_mgr.addProgram(vestibule_htg_prg)
|
201
212
|
|
202
|
-
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.
|
213
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.ZoneHVACComponent', "For #{zone_hvac_component.name}: Vestibule heating control applied, heating disabled below #{htg_lim_f} F.")
|
203
214
|
|
204
215
|
return true
|
205
216
|
end
|
data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb
CHANGED
@@ -75,7 +75,7 @@ class ASHRAE9012004 < ASHRAE901
|
|
75
75
|
if min_int_area_served_ft2 == infinity_ft2 && min_ext_area_served_ft2 == infinity_ft2
|
76
76
|
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for climate zone #{climate_zone}.")
|
77
77
|
else
|
78
|
-
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for because the interior area served of #{int_area_served_m2} ft2
|
78
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.AirLoopHVAC', "For #{air_loop_hvac.name}: Economizer not required for because the interior area served of #{int_area_served_m2} ft2 is less than the minimum of #{min_int_area_served_m2} and the perimeter area served of #{ext_area_served_m2} ft2 is less than the minimum of #{min_ext_area_served_m2} for climate zone #{climate_zone}.")
|
79
79
|
end
|
80
80
|
return economizer_required
|
81
81
|
end
|
@@ -4140,7 +4140,7 @@
|
|
4140
4140
|
"name": "Courthouse COURTROOM_OCC_SCH",
|
4141
4141
|
"category": "Occupancy",
|
4142
4142
|
"units": "FRACTION",
|
4143
|
-
"day_types": "
|
4143
|
+
"day_types": "WntrDsn|SmrDsn",
|
4144
4144
|
"start_date": "2018-01-01T00:00:00+00:00",
|
4145
4145
|
"end_date": "2018-12-31T00:00:00+00:00",
|
4146
4146
|
"type": "Hourly",
|
@@ -250938,7 +250938,7 @@
|
|
250938
250938
|
"day_types": "Default|WntrDsn|SmrDsn",
|
250939
250939
|
"start_date": "2014-01-01T00:00:00+00:00",
|
250940
250940
|
"end_date": "2014-12-31T00:00:00+00:00",
|
250941
|
-
"type": "
|
250941
|
+
"type": "Hourly",
|
250942
250942
|
"notes": "From DOE Prototype Buildings",
|
250943
250943
|
"values": [
|
250944
250944
|
0.0,
|
@@ -271090,7 +271090,7 @@
|
|
271090
271090
|
"day_types": "Default",
|
271091
271091
|
"start_date": "2014-01-01T00:00:00+00:00",
|
271092
271092
|
"end_date": "2014-12-31T00:00:00+00:00",
|
271093
|
-
"type": "
|
271093
|
+
"type": "Hourly",
|
271094
271094
|
"notes": "From DOE Prototype Buildings",
|
271095
271095
|
"values": [
|
271096
271096
|
0.2210823264,
|
@@ -282083,7 +282083,7 @@
|
|
282083
282083
|
"day_types": "Default",
|
282084
282084
|
"start_date": "2014-01-01T00:00:00+00:00",
|
282085
282085
|
"end_date": "2014-12-31T00:00:00+00:00",
|
282086
|
-
"type": "
|
282086
|
+
"type": "Hourly",
|
282087
282087
|
"notes": "From DOE Prototype Buildings",
|
282088
282088
|
"values": [
|
282089
282089
|
0.05,
|
@@ -317626,7 +317626,7 @@
|
|
317626
317626
|
"name": "SchoolPrimary KITCHEN_GAS_EQUIP_SCH",
|
317627
317627
|
"category": "Equipment",
|
317628
317628
|
"units": null,
|
317629
|
-
"day_types": "
|
317629
|
+
"day_types": "DummySmrDsn",
|
317630
317630
|
"start_date": "2014-01-01T00:00:00+00:00",
|
317631
317631
|
"end_date": "2014-12-31T00:00:00+00:00",
|
317632
317632
|
"type": "Hourly",
|
@@ -327285,7 +327285,7 @@
|
|
327285
327285
|
"name": "SchoolSecondary KITCHEN_GAS_EQUIP_SCH",
|
327286
327286
|
"category": "Equipment",
|
327287
327287
|
"units": null,
|
327288
|
-
"day_types": "
|
327288
|
+
"day_types": "DummySmrDsn",
|
327289
327289
|
"start_date": "2014-01-01T00:00:00+00:00",
|
327290
327290
|
"end_date": "2014-12-31T00:00:00+00:00",
|
327291
327291
|
"type": "Hourly",
|
@@ -334295,6 +334295,7 @@
|
|
334295
334295
|
0.05,
|
334296
334296
|
0.05,
|
334297
334297
|
0.05,
|
334298
|
+
0.05,
|
334298
334299
|
0.1,
|
334299
334300
|
0.1,
|
334300
334301
|
0.4,
|
@@ -336013,7 +336014,7 @@
|
|
336013
336014
|
"day_types": "SmrDsn",
|
336014
336015
|
"start_date": "2014-01-01T00:00:00+00:00",
|
336015
336016
|
"end_date": "2014-12-31T00:00:00+00:00",
|
336016
|
-
"type": "
|
336017
|
+
"type": "Hourly",
|
336017
336018
|
"notes": "From AEDG Baseline",
|
336018
336019
|
"values": [
|
336019
336020
|
0.01,
|
@@ -336685,6 +336686,156 @@
|
|
336685
336686
|
0.0
|
336686
336687
|
]
|
336687
336688
|
},
|
336689
|
+
{
|
336690
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
|
336691
|
+
"category": "Lighting",
|
336692
|
+
"units": null,
|
336693
|
+
"day_types": "Default",
|
336694
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336695
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336696
|
+
"type": "Constant",
|
336697
|
+
"notes": "From DOE Prototype Buildings",
|
336698
|
+
"values": [
|
336699
|
+
0.18
|
336700
|
+
]
|
336701
|
+
},
|
336702
|
+
{
|
336703
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
|
336704
|
+
"category": "Lighting",
|
336705
|
+
"units": null,
|
336706
|
+
"day_types": "Sat|Wkdy",
|
336707
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336708
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336709
|
+
"type": "Hourly",
|
336710
|
+
"notes": "From DOE Prototype Buildings",
|
336711
|
+
"values": [
|
336712
|
+
0.18,
|
336713
|
+
0.18,
|
336714
|
+
0.18,
|
336715
|
+
0.18,
|
336716
|
+
0.18,
|
336717
|
+
0.18,
|
336718
|
+
0.196742,
|
336719
|
+
0.359268,
|
336720
|
+
0.658658,
|
336721
|
+
0.658658,
|
336722
|
+
0.658658,
|
336723
|
+
0.658658,
|
336724
|
+
0.581672,
|
336725
|
+
0.658658,
|
336726
|
+
0.658658,
|
336727
|
+
0.658658,
|
336728
|
+
0.658658,
|
336729
|
+
0.521794,
|
336730
|
+
0.18,
|
336731
|
+
0.18,
|
336732
|
+
0.18,
|
336733
|
+
0.18,
|
336734
|
+
0.18,
|
336735
|
+
0.18
|
336736
|
+
]
|
336737
|
+
},
|
336738
|
+
{
|
336739
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
|
336740
|
+
"category": "Lighting",
|
336741
|
+
"units": null,
|
336742
|
+
"day_types": "SmrDsn",
|
336743
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336744
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336745
|
+
"type": "Constant",
|
336746
|
+
"notes": "From DOE Prototype Buildings",
|
336747
|
+
"values": [
|
336748
|
+
1.0
|
336749
|
+
]
|
336750
|
+
},
|
336751
|
+
{
|
336752
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2010",
|
336753
|
+
"category": "Lighting",
|
336754
|
+
"units": null,
|
336755
|
+
"day_types": "WntrDsn",
|
336756
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336757
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336758
|
+
"type": "Constant",
|
336759
|
+
"notes": "From DOE Prototype Buildings",
|
336760
|
+
"values": [
|
336761
|
+
0.0
|
336762
|
+
]
|
336763
|
+
},
|
336764
|
+
{
|
336765
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
|
336766
|
+
"category": "Lighting",
|
336767
|
+
"units": null,
|
336768
|
+
"day_types": "Default",
|
336769
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336770
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336771
|
+
"type": "Constant",
|
336772
|
+
"notes": "From DOE Prototype Buildings",
|
336773
|
+
"values": [
|
336774
|
+
0.18
|
336775
|
+
]
|
336776
|
+
},
|
336777
|
+
{
|
336778
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
|
336779
|
+
"category": "Lighting",
|
336780
|
+
"units": null,
|
336781
|
+
"day_types": "Sat|Wkdy",
|
336782
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336783
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336784
|
+
"type": "Hourly",
|
336785
|
+
"notes": "From DOE Prototype Buildings",
|
336786
|
+
"values": [
|
336787
|
+
0.18,
|
336788
|
+
0.18,
|
336789
|
+
0.18,
|
336790
|
+
0.18,
|
336791
|
+
0.18,
|
336792
|
+
0.18,
|
336793
|
+
0.18788861,
|
336794
|
+
0.34310094,
|
336795
|
+
0.62901839,
|
336796
|
+
0.62901839,
|
336797
|
+
0.62901839,
|
336798
|
+
0.62901839,
|
336799
|
+
0.55549676,
|
336800
|
+
0.62901839,
|
336801
|
+
0.62901839,
|
336802
|
+
0.62901839,
|
336803
|
+
0.62901839,
|
336804
|
+
0.49831327,
|
336805
|
+
0.18,
|
336806
|
+
0.18,
|
336807
|
+
0.18,
|
336808
|
+
0.18,
|
336809
|
+
0.18,
|
336810
|
+
0.18
|
336811
|
+
]
|
336812
|
+
},
|
336813
|
+
{
|
336814
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
|
336815
|
+
"category": "Lighting",
|
336816
|
+
"units": null,
|
336817
|
+
"day_types": "SmrDsn",
|
336818
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336819
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336820
|
+
"type": "Constant",
|
336821
|
+
"notes": "From DOE Prototype Buildings",
|
336822
|
+
"values": [
|
336823
|
+
1.0
|
336824
|
+
]
|
336825
|
+
},
|
336826
|
+
{
|
336827
|
+
"name": "Warehouse BLDG_LIGHT_OFFICE_SCH_2013",
|
336828
|
+
"category": "Lighting",
|
336829
|
+
"units": null,
|
336830
|
+
"day_types": "WntrDsn",
|
336831
|
+
"start_date": "2014-01-01T00:00:00+00:00",
|
336832
|
+
"end_date": "2014-12-31T00:00:00+00:00",
|
336833
|
+
"type": "Constant",
|
336834
|
+
"notes": "From DOE Prototype Buildings",
|
336835
|
+
"values": [
|
336836
|
+
0.0
|
336837
|
+
]
|
336838
|
+
},
|
336688
336839
|
{
|
336689
336840
|
"name": "Warehouse BLDG_LIGHT_STORAGE_SCH",
|
336690
336841
|
"category": "Lighting",
|
@@ -337195,7 +337346,7 @@
|
|
337195
337346
|
"day_types": "Wknd",
|
337196
337347
|
"start_date": "2014-01-01T00:00:00+00:00",
|
337197
337348
|
"end_date": "2014-12-31T00:00:00+00:00",
|
337198
|
-
"type": "
|
337349
|
+
"type": "Hourly",
|
337199
337350
|
"notes": null,
|
337200
337351
|
"values": [
|
337201
337352
|
0.765,
|