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
data/lib/openstudio-standards.rb
CHANGED
@@ -69,6 +69,7 @@ module OpenstudioStandards
|
|
69
69
|
require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013"
|
70
70
|
require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/comstock_ashrae_90_1_2013"
|
71
71
|
require_relative "#{stds}/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017"
|
72
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily"
|
72
73
|
|
73
74
|
require_relative "#{stds}/deer/deer"
|
74
75
|
require_relative "#{stds}/deer/deer_pre_1975/deer_pre_1975"
|
@@ -136,6 +137,8 @@ module OpenstudioStandards
|
|
136
137
|
require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.CoolingTower"
|
137
138
|
require_relative "#{stds}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTower"
|
138
139
|
require_relative "#{stds}/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTower"
|
140
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower"
|
141
|
+
|
139
142
|
# Model Objects
|
140
143
|
require_relative "#{stds}/Standards.AirLoopHVAC"
|
141
144
|
require_relative "#{stds}/Standards.AirTerminalSingleDuctParallelPIUReheat"
|
@@ -243,6 +246,20 @@ module OpenstudioStandards
|
|
243
246
|
require_relative "#{stds}/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space"
|
244
247
|
require_relative "#{stds}/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ThermalZone"
|
245
248
|
require_relative "#{stds}/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent"
|
249
|
+
# ZE AEDG Multifamily
|
250
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC"
|
251
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat"
|
252
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower"
|
253
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerSingleSpeed"
|
254
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerTwoSpeed"
|
255
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed"
|
256
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume"
|
257
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat"
|
258
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model"
|
259
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop"
|
260
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space"
|
261
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ThermalZone"
|
262
|
+
require_relative "#{stds}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent"
|
246
263
|
# DEER Common
|
247
264
|
require_relative "#{stds}/deer/deer.Model"
|
248
265
|
require_relative "#{stds}/deer/deer.AirLoopHVAC"
|
@@ -358,9 +375,19 @@ module OpenstudioStandards
|
|
358
375
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanConstantVolume"
|
359
376
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanOnOff"
|
360
377
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanVariableVolume"
|
378
|
+
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent"
|
361
379
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model"
|
362
380
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.elevators"
|
363
381
|
require_relative "#{proto}/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.hvac_systems"
|
382
|
+
# ZE AEDG Multifamily
|
383
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat"
|
384
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanConstantVolume"
|
385
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanOnOff"
|
386
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume"
|
387
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent"
|
388
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model"
|
389
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.elevators"
|
390
|
+
require_relative "#{proto}/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.hvac_systems"
|
364
391
|
# DEER
|
365
392
|
require_relative "#{proto}/deer/deer.Model"
|
366
393
|
# CBES Common
|
@@ -589,10 +589,10 @@ class OpenStudio::Model::Model
|
|
589
589
|
#@param factor [Float]
|
590
590
|
def scale_oa_loads(factor)
|
591
591
|
self.getDesignSpecificationOutdoorAirs.sort.each do |oa_def|
|
592
|
-
oa_def.setOutdoorAirFlowperPerson(oa_def.
|
593
|
-
oa_def.setOutdoorAirFlowperFloorArea(oa_def.
|
594
|
-
oa_def.setOutdoorAirFlowRate(oa_def.
|
595
|
-
oa_def.setOutdoorAirFlowAirChangesperHour(oa_def.
|
592
|
+
oa_def.setOutdoorAirFlowperPerson(oa_def.outdoorAirFlowperPerson * factor) unless oa_def.isOutdoorAirFlowperPersonDefaulted
|
593
|
+
oa_def.setOutdoorAirFlowperFloorArea(oa_def.outdoorAirFlowperFloorArea * factor) unless oa_def.isOutdoorAirFlowperFloorAreaDefaulted
|
594
|
+
oa_def.setOutdoorAirFlowRate(oa_def.outdoorAirFlowRate * factor) unless oa_def.isOutdoorAirFlowRateDefaulted
|
595
|
+
oa_def.setOutdoorAirFlowAirChangesperHour(oa_def.outdoorAirFlowAirChangesperHour * factor) unless oa_def.isOutdoorAirFlowAirChangesperHourDefaulted
|
596
596
|
end
|
597
597
|
end
|
598
598
|
|
@@ -326,7 +326,7 @@ module BTAP
|
|
326
326
|
if !space.waterUseEquipment.empty?
|
327
327
|
waterUseEquipment_info={}
|
328
328
|
spaceinfo[:waterUseEquipment] << waterUseEquipment_info
|
329
|
-
waterUseEquipment_info[:peak_flow_rate]= space.waterUseEquipment[0].waterUseEquipmentDefinition.
|
329
|
+
waterUseEquipment_info[:peak_flow_rate]= space.waterUseEquipment[0].waterUseEquipmentDefinition.peakFlowRate
|
330
330
|
waterUseEquipment_info[:peak_flow_rate_per_area] = waterUseEquipment_info[:peak_flow_rate] / space.floorArea
|
331
331
|
area_per_occ = space.spaceType.get.people[0].spaceFloorAreaPerPerson.get
|
332
332
|
# Watt per person = m3/s/m3 * 1000W/kW * (specific heat * dT) * m2/person
|
@@ -510,7 +510,7 @@ module BTAP
|
|
510
510
|
air_loop_info[:cooling_coils][:dx_single_speed] << coil
|
511
511
|
single_speed = supply_comp.to_CoilCoolingDXSingleSpeed.get
|
512
512
|
coil[:name] = single_speed.name.get
|
513
|
-
coil[:cop] = single_speed.
|
513
|
+
coil[:cop] = single_speed.ratedCOP.get
|
514
514
|
coil[:nominal_total_capacity_w] = model.sqlFile().get().execAndReturnFirstDouble("SELECT Value FROM TabularDataWithStrings WHERE ReportName='EquipmentSummary' AND ReportForString='Entire Facility' AND TableName='Cooling Coils' AND ColumnName='Nominal Total Capacity' AND RowName='#{coil[:name].upcase}' ")
|
515
515
|
coil[:nominal_total_capacity_w] = validate_optional(coil[:nominal_total_capacity_w], model, -1.0)
|
516
516
|
end
|
@@ -519,8 +519,8 @@ module BTAP
|
|
519
519
|
air_loop_info[:cooling_coils][:dx_two_speed] << coil
|
520
520
|
two_speed = supply_comp.to_CoilCoolingDXTwoSpeed.get
|
521
521
|
coil[:name] = two_speed.name.get
|
522
|
-
coil[:cop_low] = two_speed.
|
523
|
-
coil[:cop_high] = two_speed.
|
522
|
+
coil[:cop_low] = two_speed.ratedLowSpeedCOP.get
|
523
|
+
coil[:cop_high] = two_speed.ratedHighSpeedCOP.get
|
524
524
|
coil[:nominal_total_capacity_w] = model.sqlFile().get().execAndReturnFirstDouble("SELECT Value FROM TabularDataWithStrings WHERE ReportName='EquipmentSummary' AND ReportForString='Entire Facility' AND TableName='Cooling Coils' AND ColumnName='Nominal Total Capacity' AND RowName='#{coil[:name].upcase}' ")
|
525
525
|
coil[:nominal_total_capacity_w] = validate_optional(coil[:nominal_total_capacity_w] , model,-1.0)
|
526
526
|
end
|
@@ -536,8 +536,8 @@ module BTAP
|
|
536
536
|
plant_loop_info[:name] = plant_loop.name.get
|
537
537
|
|
538
538
|
sizing = plant_loop.sizingPlant
|
539
|
-
plant_loop_info[:design_loop_exit_temperature] = sizing.
|
540
|
-
plant_loop_info[:loop_design_temperature_difference] = sizing.
|
539
|
+
plant_loop_info[:design_loop_exit_temperature] = sizing.designLoopExitTemperature
|
540
|
+
plant_loop_info[:loop_design_temperature_difference] = sizing.loopDesignTemperatureDifference
|
541
541
|
|
542
542
|
#Create Container for plant equipment arrays.
|
543
543
|
plant_loop_info[:pumps] = []
|
@@ -560,7 +560,7 @@ module BTAP
|
|
560
560
|
pump_info[:water_flow_m3_per_s] = validate_optional(pump_info[:water_flow_m3_per_s], model, -1.0)
|
561
561
|
pump_info[:electric_power_w] = model.sqlFile().get().execAndReturnFirstDouble("SELECT Value FROM TabularDataWithStrings WHERE ReportName='EquipmentSummary' AND ReportForString='Entire Facility' AND TableName='Pumps' AND ColumnName='Electric Power' AND RowName='#{pump_info[:name].upcase}' ")
|
562
562
|
pump_info[:electric_power_w] = validate_optional(pump_info[:electric_power_w], model, -1.0)
|
563
|
-
pump_info[:motor_efficency] = pump.
|
563
|
+
pump_info[:motor_efficency] = pump.motorEfficiency
|
564
564
|
end
|
565
565
|
|
566
566
|
#Collect Variable Speed
|
@@ -576,7 +576,7 @@ module BTAP
|
|
576
576
|
pump_info[:water_flow_m3_per_s] = validate_optional(pump_info[:water_flow_m3_per_s], model, -1.0)
|
577
577
|
pump_info[:electric_power_w] = model.sqlFile().get().execAndReturnFirstDouble("SELECT Value FROM TabularDataWithStrings WHERE ReportName='EquipmentSummary' AND ReportForString='Entire Facility' AND TableName='Pumps' AND ColumnName='Electric Power' AND RowName='#{pump_info[:name].upcase}' ")
|
578
578
|
pump_info[:electric_power_w] = validate_optional(pump_info[:electric_power_w], model, -1.0)
|
579
|
-
pump_info[:motor_efficency] = pump.
|
579
|
+
pump_info[:motor_efficency] = pump.motorEfficiency
|
580
580
|
end
|
581
581
|
|
582
582
|
# Collect HotWaterBoilers
|
@@ -448,12 +448,12 @@ module BTAP
|
|
448
448
|
unless pump_const.plantLoop.empty?
|
449
449
|
pump_variable = OpenStudio::Model::PumpVariableSpeed.new(model)
|
450
450
|
#pass information from constant speed fan as much as possible.
|
451
|
-
pump_variable.setRatedFlowRate(pump_const.
|
452
|
-
pump_variable.setRatedPumpHead(pump_const.ratedPumpHead
|
451
|
+
pump_variable.setRatedFlowRate(pump_const.ratedFlowRate.get)
|
452
|
+
pump_variable.setRatedPumpHead(pump_const.ratedPumpHead)
|
453
453
|
pump_variable.setRatedPowerConsumption(pump_const.ratedPowerConsumption.to_f)
|
454
|
-
pump_variable.setMotorEfficiency(pump_const.motorEfficiency
|
455
|
-
pump_variable.setPumpControlType(
|
456
|
-
pump_variable.setFractionofMotorInefficienciestoFluidStream(pump_const.fractionofMotorInefficienciestoFluidStream
|
454
|
+
pump_variable.setMotorEfficiency(pump_const.motorEfficiency.to_f)
|
455
|
+
pump_variable.setPumpControlType(pump_const.pumpControlType)
|
456
|
+
pump_variable.setFractionofMotorInefficienciestoFluidStream(pump_const.fractionofMotorInefficienciestoFluidStream.to_f)
|
457
457
|
pump_variable.autosizeRatedFlowRate if pump_const.isRatedFlowRateAutosized
|
458
458
|
pump_variable.autosizeRatedPowerConsumption if pump_const.isRatedPowerConsumptionAutosized
|
459
459
|
|
@@ -474,12 +474,12 @@ module BTAP
|
|
474
474
|
new_pump = OpenStudio::Model::PumpVariableSpeed.new(model)
|
475
475
|
#pass information from constant speed fan as much as possible.
|
476
476
|
|
477
|
-
new_pump.setRatedFlowRate(pump.
|
478
|
-
new_pump.setRatedPumpHead(pump.ratedPumpHead
|
477
|
+
new_pump.setRatedFlowRate(pump.ratedFlowRate.get)
|
478
|
+
new_pump.setRatedPumpHead(pump.ratedPumpHead)
|
479
479
|
new_pump.setRatedPowerConsumption(pump.ratedPowerConsumption.to_f)
|
480
|
-
new_pump.setMotorEfficiency(pump.motorEfficiency
|
481
|
-
new_pump.setFractionofMotorInefficienciestoFluidStream(pump.fractionofMotorInefficienciestoFluidStream
|
482
|
-
new_pump.setPumpControlType(
|
480
|
+
new_pump.setMotorEfficiency(pump.motorEfficiency.to_f)
|
481
|
+
new_pump.setFractionofMotorInefficienciestoFluidStream(pump.fractionofMotorInefficienciestoFluidStream.to_f)
|
482
|
+
new_pump.setPumpControlType(pump.pumpControlType)
|
483
483
|
new_pump.autosizeRatedFlowRate if pump.isRatedFlowRateAutosized
|
484
484
|
new_pump.autosizeRatedPowerConsumption if pump.isRatedPowerConsumptionAutosized
|
485
485
|
#get the hot water loop.
|
@@ -631,7 +631,7 @@ module BTAP
|
|
631
631
|
end
|
632
632
|
item.setHeaterFuelType(@shw_heater_fuel_type) unless @shw_heater_fuel_type.nil?
|
633
633
|
item.setHeaterThermalEfficiency(@shw_thermal_eff) unless @shw_thermal_eff.nil?
|
634
|
-
log << item.name.get.to_s << ",#{item.setpointTemperatureSchedule},#{item.heaterFuelType},#{item.
|
634
|
+
log << item.name.get.to_s << ",#{item.setpointTemperatureSchedule},#{item.heaterFuelType},#{item.heaterThermalEfficiency}\n"
|
635
635
|
end
|
636
636
|
return log
|
637
637
|
end
|
@@ -134,7 +134,7 @@ module BTAP
|
|
134
134
|
conductance = material.to_Shade.get.thermalConductance unless material.to_Shade.empty?
|
135
135
|
conductance = material.to_Screen.get.thermalConductance unless material.to_Screen.empty?
|
136
136
|
conductance = material.to_MasslessOpaqueMaterial.get.thermalConductance unless material.to_MasslessOpaqueMaterial.empty?
|
137
|
-
conductance = 1.0/material.to_AirGap.get.
|
137
|
+
conductance = 1.0/material.to_AirGap.get.thermalResistance unless material.to_AirGap.empty?
|
138
138
|
conductance = material.to_Gas.get.getThermalConductivity(temperature_k) unless material.to_Gas.empty?
|
139
139
|
conductance = material.to_GasMixture.get.getThermalConductance(temperature_k) unless material.to_GasMixture.empty?
|
140
140
|
conductance = material.to_RoofVegetation.get.thermalConductance unless material.to_RoofVegetation.empty?
|
@@ -654,9 +654,9 @@ module BTAP
|
|
654
654
|
|
655
655
|
construction.layers.each do |layer|
|
656
656
|
#check to see if it is a simple glazing. If so use the SHGC method.
|
657
|
-
tsol = tsol * layer.to_SimpleGlazing.get.
|
657
|
+
tsol = tsol * layer.to_SimpleGlazing.get.solarHeatGainCoefficient unless layer.to_SimpleGlazing.empty?
|
658
658
|
#check to see if it is a standard glazing. If so use the solar transmittance method.
|
659
|
-
tsol = tsol * layer.to_StandardGlazing.get.solarTransmittance
|
659
|
+
tsol = tsol * layer.to_StandardGlazing.get.solarTransmittance unless layer.to_StandardGlazing.empty?
|
660
660
|
end
|
661
661
|
end
|
662
662
|
return tsol
|
@@ -674,9 +674,9 @@ module BTAP
|
|
674
674
|
if construction.isFenestration
|
675
675
|
construction.layers.each do |layer|
|
676
676
|
#check to see if it is a simple glazing. If so use the SHGC method.
|
677
|
-
tvis = tvis * layer.to_SimpleGlazing.get.
|
677
|
+
tvis = tvis * layer.to_SimpleGlazing.get.visibleTransmittance.get unless layer.to_SimpleGlazing.empty?
|
678
678
|
#check to see if it is a standard glazing. If so use the solar transmittance method.
|
679
|
-
tvis = tvis * layer.to_StandardGlazing.get.visibleTransmittanceatNormalIncidence
|
679
|
+
tvis = tvis * layer.to_StandardGlazing.get.visibleTransmittanceatNormalIncidence.get unless layer.to_StandardGlazing.empty?
|
680
680
|
end
|
681
681
|
end
|
682
682
|
return tvis
|
@@ -1173,7 +1173,11 @@ module BTAP
|
|
1173
1173
|
air_loop_sizing = air_loop.sizingSystem # TODO units
|
1174
1174
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
1175
1175
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
1176
|
-
|
1176
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
1177
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
1178
|
+
else
|
1179
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
1180
|
+
end
|
1177
1181
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
1178
1182
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
1179
1183
|
air_loop_sizing.setPrecoolDesignTemperature(12.8)
|
@@ -1301,7 +1305,11 @@ module BTAP
|
|
1301
1305
|
air_loop_sizing = air_loop.sizingSystem
|
1302
1306
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
1303
1307
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
1304
|
-
|
1308
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
1309
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
1310
|
+
else
|
1311
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
1312
|
+
end
|
1305
1313
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
1306
1314
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
1307
1315
|
air_loop_sizing.setPrecoolDesignTemperature(12.8)
|
@@ -2186,7 +2194,11 @@ module BTAP
|
|
2186
2194
|
sizingSystem = air_loop.sizingSystem
|
2187
2195
|
sizingSystem.setTypeofLoadtoSizeOn("Sensible")
|
2188
2196
|
sizingSystem.autosizeDesignOutdoorAirFlowRate()
|
2189
|
-
|
2197
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
2198
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
2199
|
+
else
|
2200
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
2201
|
+
end
|
2190
2202
|
sizingSystem.setPreheatDesignTemperature(7.0)
|
2191
2203
|
sizingSystem.setPreheatDesignHumidityRatio(0.008)
|
2192
2204
|
sizingSystem.setPrecoolDesignTemperature(12.8)
|
@@ -2250,7 +2262,11 @@ module BTAP
|
|
2250
2262
|
sizingSystem = air_loop.sizingSystem
|
2251
2263
|
sizingSystem.setTypeofLoadtoSizeOn("Sensible")
|
2252
2264
|
sizingSystem.autosizeDesignOutdoorAirFlowRate()
|
2253
|
-
|
2265
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
2266
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
2267
|
+
else
|
2268
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
2269
|
+
end
|
2254
2270
|
sizingSystem.setPreheatDesignTemperature(7.0)
|
2255
2271
|
sizingSystem.setPreheatDesignHumidityRatio(0.008)
|
2256
2272
|
sizingSystem.setPrecoolDesignTemperature(12.8)
|
@@ -2386,7 +2402,11 @@ module BTAP
|
|
2386
2402
|
air_loop_sizing = mau_air_loop.sizingSystem # TODO units
|
2387
2403
|
air_loop_sizing.setTypeofLoadtoSizeOn("VentilationRequirement")
|
2388
2404
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
2389
|
-
|
2405
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
2406
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
2407
|
+
else
|
2408
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
2409
|
+
end
|
2390
2410
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
2391
2411
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
2392
2412
|
air_loop_sizing.setPrecoolDesignTemperature(13.0)
|
@@ -2586,7 +2606,11 @@ module BTAP
|
|
2586
2606
|
air_loop_sizing = mau_air_loop.sizingSystem # TODO units
|
2587
2607
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
2588
2608
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
2589
|
-
|
2609
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
2610
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
2611
|
+
else
|
2612
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
2613
|
+
end
|
2590
2614
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
2591
2615
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
2592
2616
|
air_loop_sizing.setPrecoolDesignTemperature(12.8)
|
@@ -2853,7 +2877,11 @@ module BTAP
|
|
2853
2877
|
air_loop_sizing = air_loop.sizingSystem # TODO units
|
2854
2878
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
2855
2879
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
2856
|
-
|
2880
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
2881
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
2882
|
+
else
|
2883
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
2884
|
+
end
|
2857
2885
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
2858
2886
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
2859
2887
|
air_loop_sizing.setPrecoolDesignTemperature(13.0)
|
@@ -2981,7 +3009,11 @@ module BTAP
|
|
2981
3009
|
air_loop_sizing = air_loop.sizingSystem # TODO units
|
2982
3010
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
2983
3011
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
2984
|
-
|
3012
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
3013
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
3014
|
+
else
|
3015
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
3016
|
+
end
|
2985
3017
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
2986
3018
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
2987
3019
|
air_loop_sizing.setPrecoolDesignTemperature(13.0)
|
@@ -3136,7 +3168,11 @@ module BTAP
|
|
3136
3168
|
air_loop_sizing = air_loop.sizingSystem # TODO units
|
3137
3169
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
3138
3170
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
3139
|
-
|
3171
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
3172
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
3173
|
+
else
|
3174
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
3175
|
+
end
|
3140
3176
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
3141
3177
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
3142
3178
|
air_loop_sizing.setPrecoolDesignTemperature(13.0)
|
@@ -3308,7 +3344,11 @@ module BTAP
|
|
3308
3344
|
air_loop_sizing = air_loop.sizingSystem # TODO units
|
3309
3345
|
air_loop_sizing.setTypeofLoadtoSizeOn("Sensible")
|
3310
3346
|
air_loop_sizing.autosizeDesignOutdoorAirFlowRate
|
3311
|
-
|
3347
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
3348
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(1.0)
|
3349
|
+
else
|
3350
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(1.0)
|
3351
|
+
end
|
3312
3352
|
air_loop_sizing.setPreheatDesignTemperature(7.0)
|
3313
3353
|
air_loop_sizing.setPreheatDesignHumidityRatio(0.008)
|
3314
3354
|
air_loop_sizing.setPrecoolDesignTemperature(13.0)
|
@@ -3462,7 +3502,11 @@ module BTAP
|
|
3462
3502
|
sizingSystem.setCentralCoolingDesignSupplyAirTemperature(13.0)
|
3463
3503
|
sizingSystem.setCentralHeatingDesignSupplyAirTemperature(13.1)
|
3464
3504
|
sizingSystem.autosizeDesignOutdoorAirFlowRate
|
3465
|
-
|
3505
|
+
if model.version < OpenStudio::VersionString.new('2.7.0')
|
3506
|
+
air_loop_sizing.setMinimumSystemAirFlowRatio(0.3)
|
3507
|
+
else
|
3508
|
+
air_loop_sizing.setCentralHeatingMaximumSystemAirFlowRatio(0.3)
|
3509
|
+
end
|
3466
3510
|
sizingSystem.setPreheatDesignTemperature(7.0)
|
3467
3511
|
sizingSystem.setPreheatDesignHumidityRatio(0.008)
|
3468
3512
|
sizingSystem.setPrecoolDesignTemperature(13.0)
|
@@ -906,12 +906,12 @@ module BTAP
|
|
906
906
|
unless pump_const.plantLoop.empty?
|
907
907
|
pump_variable = OpenStudio::Model::PumpVariableSpeed.new(model)
|
908
908
|
#pass information from constant speed fan as much as possible.
|
909
|
-
pump_variable.setRatedFlowRate(pump_const.
|
910
|
-
pump_variable.setRatedPumpHead(pump_const.ratedPumpHead
|
909
|
+
pump_variable.setRatedFlowRate(pump_const.ratedFlowRate)
|
910
|
+
pump_variable.setRatedPumpHead(pump_const.ratedPumpHead)
|
911
911
|
pump_variable.setRatedPowerConsumption(pump_const.ratedPowerConsumption.to_f)
|
912
|
-
pump_variable.setMotorEfficiency(pump_const.motorEfficiency
|
913
|
-
pump_variable.setPumpControlType(
|
914
|
-
pump_variable.setFractionofMotorInefficienciestoFluidStream(pump_const.fractionofMotorInefficienciestoFluidStream
|
912
|
+
pump_variable.setMotorEfficiency(pump_const.motorEfficiency.to_f)
|
913
|
+
pump_variable.setPumpControlType(pump_const.pumpControlType)
|
914
|
+
pump_variable.setFractionofMotorInefficienciestoFluidStream(pump_const.fractionofMotorInefficienciestoFluidStream.to_f)
|
915
915
|
pump_variable.autosizeRatedFlowRate if pump_const.isRatedFlowRateAutosized
|
916
916
|
pump_variable.autosizeRatedPowerConsumption if pump_const.isRatedPowerConsumptionAutosized
|
917
917
|
|
@@ -932,7 +932,7 @@ module BTAP
|
|
932
932
|
new_pump = OpenStudio::Model::PumpVariableSpeed.new(model)
|
933
933
|
#pass information from constant speed fan as much as possible.
|
934
934
|
|
935
|
-
new_pump.setRatedFlowRate(pump.
|
935
|
+
new_pump.setRatedFlowRate(pump.ratedFlowRate.get)
|
936
936
|
new_pump.setRatedPumpHead(pump.ratedPumpHead())
|
937
937
|
new_pump.setRatedPowerConsumption(pump.ratedPowerConsumption.to_f)
|
938
938
|
new_pump.setMotorEfficiency(pump.motorEfficiency().to_f)
|
@@ -1071,7 +1071,7 @@ module BTAP
|
|
1071
1071
|
end
|
1072
1072
|
item.setHeaterFuelType(@shw_heater_fuel_type) unless @shw_heater_fuel_type.nil?
|
1073
1073
|
item.setHeaterThermalEfficiency(@shw_thermal_eff) unless @shw_thermal_eff.nil?
|
1074
|
-
log << item.name.get.to_s << ",#{item.setpointTemperatureSchedule},#{item.heaterFuelType},#{item.
|
1074
|
+
log << item.name.get.to_s << ",#{item.setpointTemperatureSchedule},#{item.heaterFuelType},#{item.heaterThermalEfficiency}\n"
|
1075
1075
|
end
|
1076
1076
|
return log
|
1077
1077
|
end
|
@@ -151,10 +151,10 @@ module BTAP
|
|
151
151
|
#@param factor [Float]
|
152
152
|
def self.scale_oa_loads( model, factor )
|
153
153
|
model.getDesignSpecificationOutdoorAirs.sort.each do |oa_def|
|
154
|
-
oa_def.setOutdoorAirFlowperPerson(oa_def.
|
155
|
-
oa_def.setOutdoorAirFlowperFloorArea(oa_def.
|
156
|
-
oa_def.setOutdoorAirFlowRate(oa_def.
|
157
|
-
oa_def.setOutdoorAirFlowAirChangesperHour(oa_def.
|
154
|
+
oa_def.setOutdoorAirFlowperPerson(oa_def.outdoorAirFlowperPerson * factor ) unless oa_def.isOutdoorAirFlowperPersonDefaulted
|
155
|
+
oa_def.setOutdoorAirFlowperFloorArea(oa_def.outdoorAirFlowperFloorArea * factor) unless oa_def.isOutdoorAirFlowperFloorAreaDefaulted
|
156
|
+
oa_def.setOutdoorAirFlowRate(oa_def.outdoorAirFlowRate * factor) unless oa_def.isOutdoorAirFlowRateDefaulted
|
157
|
+
oa_def.setOutdoorAirFlowAirChangesperHour(oa_def.outdoorAirFlowAirChangesperHour * factor ) unless oa_def.isOutdoorAirFlowAirChangesperHourDefaulted
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
@@ -26,5 +26,109 @@ class OpenStudio::Model::AirLoopHVAC
|
|
26
26
|
|
27
27
|
end
|
28
28
|
|
29
|
-
|
29
|
+
# Retrieves an airloop sum of air terminal minimum heating flow rates: sum(Vpz_min)
|
30
|
+
def autosizeSumMinimumHeatingAirFlowRates
|
31
|
+
result = OpenStudio::OptionalDouble.new
|
32
|
+
name = self.name.get.upcase
|
33
|
+
sql = self.model.sqlFile
|
34
|
+
if sql.is_initialized
|
35
|
+
sql = sql.get
|
36
|
+
query = "SELECT Value
|
37
|
+
FROM tabulardatawithstrings
|
38
|
+
WHERE ReportName='ComponentSizingSummary'
|
39
|
+
AND ReportForString='Entire Facility'
|
40
|
+
AND TableName='AirLoopHVAC'
|
41
|
+
AND ColumnName='Sum of Air Terminal Minimum Heating Flow Rates'
|
42
|
+
AND RowName='#{name}'
|
43
|
+
AND Units='m3/s'"
|
44
|
+
val = sql.execAndReturnFirstDouble(query)
|
45
|
+
if val.is_initialized
|
46
|
+
result = OpenStudio::OptionalDouble.new(val.get)
|
47
|
+
end
|
48
|
+
else
|
49
|
+
OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.')
|
50
|
+
end
|
51
|
+
|
52
|
+
return result.to_f
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
# Retrieve an airloop's design outdoor air intake (Vot)
|
57
|
+
# Ideally, this would only be used to retrieve Vot when
|
58
|
+
# calculated by EnergyPlus' built-in design VRP calculations
|
59
|
+
def autosize621OutdoorAirIntakeFlow
|
60
|
+
flow_types = ['Heating', 'Cooling']
|
61
|
+
flow_rates = []
|
62
|
+
flow_types.each do |flow_type|
|
63
|
+
result = OpenStudio::OptionalDouble.new
|
64
|
+
name = self.name.get.upcase
|
65
|
+
sql = self.model.sqlFile
|
66
|
+
if sql.is_initialized
|
67
|
+
sql = sql.get
|
68
|
+
query = "SELECT Value
|
69
|
+
FROM tabulardatawithstrings
|
70
|
+
WHERE ReportName='Standard62.1Summary'
|
71
|
+
AND ReportForString='Entire Facility'
|
72
|
+
AND TableName='System Ventilation Requirements for #{flow_type}'
|
73
|
+
AND ColumnName='Outdoor Air Intake Flow Vot'
|
74
|
+
AND RowName='#{name}'
|
75
|
+
AND Units='m3/s'"
|
76
|
+
val = sql.execAndReturnFirstDouble(query)
|
77
|
+
if val.is_initialized
|
78
|
+
result = OpenStudio::OptionalDouble.new(val.get)
|
79
|
+
end
|
80
|
+
# Inconsistency in column name in EnergyPlus 9.0:
|
81
|
+
# "Outdoor Air Intake Flow - Vot" vs "Outdoor Air Intake Flow Vot"
|
82
|
+
# The following could be deleted if the inconsistency was ever fixed
|
83
|
+
if result.to_f == 0.0
|
84
|
+
query = "SELECT Value
|
85
|
+
FROM tabulardatawithstrings
|
86
|
+
WHERE ReportName='Standard62.1Summary'
|
87
|
+
AND ReportForString='Entire Facility'
|
88
|
+
AND TableName='System Ventilation Requirements for #{flow_type}'
|
89
|
+
AND ColumnName='Outdoor Air Intake Flow - Vot'
|
90
|
+
AND RowName='#{name}'
|
91
|
+
AND Units='m3/s'"
|
92
|
+
val = sql.execAndReturnFirstDouble(query)
|
93
|
+
if val.is_initialized
|
94
|
+
result = OpenStudio::OptionalDouble.new(val.get)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
else
|
98
|
+
OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.')
|
99
|
+
end
|
100
|
+
flow_rates << result.to_f
|
101
|
+
end
|
102
|
+
|
103
|
+
return flow_rates.max
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
# Retrieve an airloop's sum of air terminal maximum flow rates: sum(Vpz)
|
108
|
+
def autosizeSumAirTerminalMaxAirFlowRate
|
109
|
+
result = OpenStudio::OptionalDouble.new
|
110
|
+
name = self.name.get.upcase
|
111
|
+
sql = self.model.sqlFile
|
112
|
+
if sql.is_initialized
|
113
|
+
sql = sql.get
|
114
|
+
query = "SELECT Value
|
115
|
+
FROM tabulardatawithstrings
|
116
|
+
WHERE ReportName='ComponentSizingSummary'
|
117
|
+
AND ReportForString='Entire Facility'
|
118
|
+
AND TableName='AirLoopHVAC'
|
119
|
+
AND ColumnName='Sum of Air Terminal Maximum Flow Rates'
|
120
|
+
AND RowName='#{name}'
|
121
|
+
AND Units='m3/s'"
|
122
|
+
val = sql.execAndReturnFirstDouble(query)
|
123
|
+
if val.is_initialized
|
124
|
+
result = OpenStudio::OptionalDouble.new(val.get)
|
125
|
+
end
|
126
|
+
else
|
127
|
+
OpenStudio::logFree(OpenStudio::Error, 'openstudio.model.Model', 'Model has no sql file containing results, cannot lookup data.')
|
128
|
+
end
|
129
|
+
|
130
|
+
return result.to_f
|
131
|
+
|
132
|
+
end
|
133
|
+
|
30
134
|
end
|