openstudio-standards 0.2.14 → 0.2.15.pre.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/geometry/ASHRAECollege.json +0 -19
- data/data/geometry/ASHRAEMidriseApartment.json +47 -47
- data/data/geometry/ASHRAESecondarySchool.osm +2 -2
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/export_OpenStudio_libraries.rb +1 -1
- data/data/standards/manage_OpenStudio_Standards.rb +43 -87
- data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1.csv +9 -0
- data/data/standards/openstudio_standards_duplicates_log.csv +142 -27
- data/data/standards/test_performance_expected_dd_results.csv +2016 -2016
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.ddy +2316 -0
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.epw +8768 -0
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.stat +697 -0
- data/lib/openstudio-standards/btap/WeatherData1.json +54 -0
- data/lib/openstudio-standards/btap/WeatherData1.xlsx +0 -0
- data/lib/openstudio-standards/btap/btap_result.rb +12 -10
- data/lib/openstudio-standards/btap/envelope.rb +2 -2
- data/lib/openstudio-standards/btap/geometry.rb +96 -49
- data/lib/openstudio-standards/{utilities → btap/utilities}/Add_template_field_to_json.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/convert_surfaces_to_adiabatic_necb_8426.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/generate_space_types.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/necb_to_epw_map.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/os_sim_extract.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/rename_surfaces.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/round_surf_coords.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/sched_create.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/set_mult_to_adiabatic.rb +0 -0
- data/lib/openstudio-standards/btap/utilities/space_type.rb +78 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/weatherData1_xlsx_to_json.rb +0 -0
- data/lib/openstudio-standards/hvac_sizing/Siz.AirConditionerVariableRefrigerantFlow.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.HVACComponent.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +20 -6
- data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +6 -6
- data/lib/openstudio-standards/hvac_sizing/Siz.WaterHeaterMixed.rb +2 -2
- data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +6 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +6 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.elevators.rb +6 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +10 -9
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +9 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +17 -16
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +9 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +23 -22
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +9 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +23 -22
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +89 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +9 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +76 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +22 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.elevators.rb +11 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.CoilHeatingGas.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.elevators.rb +11 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +2 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +10 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +2 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +10 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/cbes/cbes.Model.elevators.rb +3 -6
- data/lib/openstudio-standards/prototypes/cbes/cbes.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanConstantVolume.rb +5 -3
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanOnOff.rb +5 -4
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanVariableVolume.rb +5 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +65 -30
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +54 -23
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +135 -147
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +42 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +85 -12
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +42 -30
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +39 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +39 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +60 -12
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +33 -265
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +41 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +69 -297
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +68 -25
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +88 -59
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +88 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +48 -10
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +130 -145
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +29 -101
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +24 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +48 -589
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +38 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +38 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +40 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +85 -171
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +87 -44
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +46 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +105 -17
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +97 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +26 -167
- data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +3828 -1131
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +2 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +2 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +9 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +23 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +29 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +29 -5
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +43 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +22 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +46 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.elevators.rb +27 -22
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +15 -8
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +22 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +429 -59
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +18 -11
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +11 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +1 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +8 -10
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +37 -28
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +24 -6
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +251 -65
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +46 -31
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +62 -10
- data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +76 -33
- data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +445 -275
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +26 -21
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +5 -2
- data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +7 -9
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +8 -2
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +10 -6
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +5 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +6 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +45 -4
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +18 -8
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +9 -7
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +8 -4
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +86 -3
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +5 -2
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +6 -2
- data/lib/openstudio-standards/standards/Standards.Construction.rb +66 -35
- data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +7 -7
- data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.Fan.rb +53 -35
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +22 -16
- data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +77 -19
- data/lib/openstudio-standards/standards/Standards.Model.rb +387 -245
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +13 -15
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +94 -48
- data/lib/openstudio-standards/standards/Standards.Pump.rb +28 -20
- data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +3 -4
- data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +2 -0
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +34 -24
- data/lib/openstudio-standards/standards/Standards.Space.rb +179 -116
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +23 -12
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +55 -25
- data/lib/openstudio-standards/standards/Standards.Surface.rb +57 -32
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +157 -107
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +9 -6
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +52 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.Standards.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +28 -18
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/comstock_ashrae_90_1_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.ext_ltg.json +1 -1
- 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 +123 -123
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +395 -384
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC.rb +20 -13
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/comstock_ashrae_90_1_2007.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.ext_ltg.json +1 -1
- 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 +122 -122
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +413 -401
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +42 -53
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +6 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/comstock_ashrae_90_1_2010.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.ext_ltg.json +1 -1
- 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 +129 -129
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +210 -42
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +460 -320
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +45 -51
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +8 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ZoneHVACComponent.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/comstock_ashrae_90_1_2013.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.ext_ltg.json +1 -1
- 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 +121 -121
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +420 -84
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +12 -12
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +475 -335
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +40 -50
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +8 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/comstock_ashrae_90_1_2016.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +152 -128
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +488 -84
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +47 -47
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +342 -56
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +25 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +30 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/comstock_ashrae_90_1_2019.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +151 -127
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +2307 -101
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_compressors.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +47 -47
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +25 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +286 -224
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/comstock_doe_ref_1980_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.ext_ltg.json +1 -1
- 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 +126 -126
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +405 -393
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirLoopHVAC.rb +15 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/comstock_doe_ref_pre_1980.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +696 -2938
- 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 +121 -121
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.furnaces.json +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +403 -391
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirLoopHVAC.rb +15 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.furnaces.json +15 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +64 -42
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +4 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space.rb +5 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.furnaces.json +15 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +61 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +4 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +6 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes.AirLoopHVAC.rb +20 -14
- data/lib/openstudio-standards/standards/cbes/cbes.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/cbes/cbes.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_pre_1978/cbes_pre_1978.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_1978/cbes_t24_1978.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_1992/cbes_t24_1992.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2001/cbes_t24_2001.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/cbes_t24_2005.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +10 -5
- data/lib/openstudio-standards/standards/deer/deer.PlanarSurface.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/comstock_deer_1985.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/data/comstock_deer_1985.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_1985/deer_1985.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/comstock_deer_1996.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/data/comstock_deer_1996.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_1996/deer_1996.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/comstock_deer_2003.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/data/comstock_deer_2003.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2003/deer_2003.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/comstock_deer_2007.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/data/comstock_deer_2007.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2007/deer_2007.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/comstock_deer_2011.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/data/comstock_deer_2011.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/comstock_deer_2014.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/data/comstock_deer_2014.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/comstock_deer_2015.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/data/comstock_deer_2015.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/comstock_deer_2017.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/data/comstock_deer_2017.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/comstock_deer_2020/comstock_deer_2020.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/comstock_deer_2025/comstock_deer_2025.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/comstock_deer_2030/comstock_deer_2030.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/comstock_deer_2035/comstock_deer_2035.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/comstock_deer_2040/comstock_deer_2040.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/comstock_deer_2045/comstock_deer_2045.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/comstock_deer_2050/comstock_deer_2050.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/comstock_deer_2055/comstock_deer_2055.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/comstock_deer_2060/comstock_deer_2060.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/comstock_deer_2065/comstock_deer_2065.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/comstock_deer_2070/comstock_deer_2070.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/comstock_deer_2075/comstock_deer_2075.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/comstock_deer_pre_1975.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/data/comstock_deer_pre_1975.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/deer_pre_1975.rb +4 -0
- data/lib/openstudio-standards/standards/icc_iecc/icc_iecc_2015/icc_iecc_2015.rb +4 -0
- data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/btap_1980to2010.rb +6 -28
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +25 -110
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +45 -60
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +19 -23
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +84 -83
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +52 -47
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +43 -40
- data/lib/openstudio-standards/standards/necb/ECMS/data/boiler_set.json +18 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/chiller_set.json +211 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/curves.json +1195 -20
- data/lib/openstudio-standards/standards/necb/ECMS/data/furnace_set.json +18 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps.json +244 -182
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps_heating.json +232 -185
- data/lib/openstudio-standards/standards/necb/ECMS/data/shw_set.json +20 -2
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +18 -25
- data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +12 -13
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +1647 -466
- data/lib/openstudio-standards/standards/necb/ECMS/loads.rb +93 -0
- data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +40 -47
- data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +26 -25
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +303 -305
- data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +45 -45
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +90 -120
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/Hospital.osm +1176 -1115
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +8279 -28923
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +1173 -1173
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +15 -13
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +32 -29
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +25 -26
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +14 -14
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +24 -29
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +85 -84
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +41 -42
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +209 -197
- data/lib/openstudio-standards/standards/necb/NECB2011/lighting.rb +87 -82
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +510 -406
- data/lib/openstudio-standards/standards/necb/NECB2011/nv.md +3 -3
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +686 -683
- data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +129 -82
- data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +1608 -1608
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +25 -18
- data/lib/openstudio-standards/standards/necb/NECB2015/lighting.rb +73 -67
- data/lib/openstudio-standards/standards/necb/NECB2015/necb_2015.rb +18 -22
- data/lib/openstudio-standards/standards/necb/NECB2015/qaqc/necb_2015_qaqc.rb +59 -63
- data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +1608 -1608
- data/lib/openstudio-standards/standards/necb/NECB2017/hvac_systems.rb +1 -4
- data/lib/openstudio-standards/standards/necb/NECB2017/necb_2017.rb +10 -14
- data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +779 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/boilers.json +122 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +335 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/constants.json +13 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/furnaces.json +41 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps.json +452 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +164 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_rejection.json +228 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/led_lighting_data.json +2883 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/space_types.json +25851 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/surface_thermal_transmittance.json +60 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +585 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/necb_2020.rb +175 -0
- data/lib/openstudio-standards/standards/necb/common/bc_step_code_indicators.md +10 -0
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +1963 -0
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +410 -0
- data/lib/openstudio-standards/standards/necb/common/neb_end_use_prices.csv +42 -0
- data/lib/openstudio-standards/standards/necb/common/necb_reference_runs.csv +28705 -0
- data/lib/openstudio-standards/standards/necb/common/phius.md +23 -0
- data/lib/openstudio-standards/standards/necb/common/space_type_upgrade_map.json +1158 -386
- data/lib/openstudio-standards/standards/oeesc/oeesc_2014/oeesc_2014.rb +4 -0
- data/lib/openstudio-standards/standards/standard.rb +2 -1
- data/lib/openstudio-standards/utilities/define_thermal_zone_and_mulitpliers.rb +1 -1
- data/lib/openstudio-standards/utilities/logging.rb +6 -0
- data/lib/openstudio-standards/utilities/simulation.rb +30 -14
- data/lib/openstudio-standards/utilities/{speacetype_map_converter.rb → spacetype_map_converter.rb} +0 -0
- data/lib/openstudio-standards/utilities/sqlfile.rb +112 -71
- data/lib/openstudio-standards/version.rb +2 -2
- data/lib/openstudio-standards/weather/Weather.Model.rb +209 -9
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +1 -1
- data/lib/openstudio-standards.rb +9 -0
- metadata +106 -205
- data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.chillers.json +0 -293
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +0 -25426
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +0 -564
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +0 -508
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +0 -184
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +0 -21446
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.chillers.json +0 -293
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +0 -564
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +0 -466
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +0 -137
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +0 -184
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +0 -21380
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.chillers.json +0 -395
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +0 -592
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +0 -550
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +0 -466
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +0 -137
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +0 -238
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +0 -21548
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +0 -64
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +0 -871
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +0 -592
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +0 -1096
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +0 -886
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +0 -194
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +0 -247
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +0 -22079
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +0 -994
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +0 -12
- data/lib/openstudio-standards/utilities/convert_costing_constructions.rb +0 -105
|
@@ -7,6 +7,7 @@ class Standard
|
|
|
7
7
|
# and therefore may not return perfect results. However, it works well in most tested
|
|
8
8
|
# situations. When it fails, it will log warnings/errors for users to see.
|
|
9
9
|
#
|
|
10
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
10
11
|
# @param draw_daylight_areas_for_debugging [Bool] If this argument is set to true,
|
|
11
12
|
# daylight areas will be added to the model as surfaces for visual debugging.
|
|
12
13
|
# Yellow = toplighted area, Red = primary sidelighted area,
|
|
@@ -15,7 +16,7 @@ class Standard
|
|
|
15
16
|
# Hash keys are: 'toplighted_area', 'primary_sidelighted_area',
|
|
16
17
|
# 'secondary_sidelighted_area', 'total_window_area', 'total_skylight_area'
|
|
17
18
|
# @todo add a list of valid choices for template argument
|
|
18
|
-
#
|
|
19
|
+
# @todo stop skipping non-vertical walls
|
|
19
20
|
def space_daylighted_areas(space, draw_daylight_areas_for_debugging = false)
|
|
20
21
|
### Begin the actual daylight area calculations ###
|
|
21
22
|
|
|
@@ -108,7 +109,7 @@ class Standard
|
|
|
108
109
|
space.surfaces.sort.each do |surface|
|
|
109
110
|
if surface.outsideBoundaryCondition == 'Outdoors' && surface.surfaceType == 'Wall'
|
|
110
111
|
|
|
111
|
-
#
|
|
112
|
+
# @todo stop skipping non-vertical walls
|
|
112
113
|
surface_normal = surface.outwardNormal
|
|
113
114
|
surface_normal_z = surface_normal.z
|
|
114
115
|
unless surface_normal_z.abs < 0.001
|
|
@@ -251,7 +252,8 @@ class Standard
|
|
|
251
252
|
down_vector = OpenStudio::Vector3d.new(0, 0, -1)
|
|
252
253
|
outward_normal_vector = sub_surface.outwardNormal
|
|
253
254
|
rot_vector = down_vector.cross(outward_normal_vector)
|
|
254
|
-
ninety_deg_in_rad = OpenStudio.degToRad(90)
|
|
255
|
+
ninety_deg_in_rad = OpenStudio.degToRad(90)
|
|
256
|
+
# @todo change
|
|
255
257
|
new_rotation = OpenStudio.createRotation(rot_origin, rot_vector, ninety_deg_in_rad)
|
|
256
258
|
pri_sidelit_sub_polygon = new_rotation * pri_sidelit_sub_polygon
|
|
257
259
|
sec_sidelit_sub_polygon = new_rotation * sec_sidelit_sub_polygon
|
|
@@ -263,10 +265,10 @@ class Standard
|
|
|
263
265
|
# Add these polygons to the list
|
|
264
266
|
pri_sidelit_polygons << pri_sidelit_sub_polygon
|
|
265
267
|
sec_sidelit_polygons << sec_sidelit_sub_polygon
|
|
266
|
-
end
|
|
268
|
+
end
|
|
267
269
|
elsif surface.outsideBoundaryCondition == 'Outdoors' && surface.surfaceType == 'RoofCeiling'
|
|
268
270
|
|
|
269
|
-
#
|
|
271
|
+
# @todo stop skipping non-horizontal roofs
|
|
270
272
|
surface_normal = surface.outwardNormal
|
|
271
273
|
straight_upward = OpenStudio::Vector3d.new(0, 0, 1)
|
|
272
274
|
unless surface_normal.to_s == straight_upward.to_s
|
|
@@ -367,10 +369,10 @@ class Standard
|
|
|
367
369
|
|
|
368
370
|
# Add these polygons to the list
|
|
369
371
|
toplit_polygons << toplit_sub_polygon
|
|
370
|
-
end
|
|
372
|
+
end
|
|
371
373
|
|
|
372
|
-
end
|
|
373
|
-
end
|
|
374
|
+
end
|
|
375
|
+
end
|
|
374
376
|
|
|
375
377
|
# Set z=0 for all the polygons so that intersection will work
|
|
376
378
|
toplit_polygons = space_polygons_set_z(space, toplit_polygons, 0.0)
|
|
@@ -540,13 +542,13 @@ class Standard
|
|
|
540
542
|
return result
|
|
541
543
|
end
|
|
542
544
|
|
|
543
|
-
# Determines the method used to extend the daylighted area horizontally
|
|
544
|
-
#
|
|
545
|
-
#
|
|
546
|
-
#
|
|
547
|
-
# no additional width is added.
|
|
545
|
+
# Determines the method used to extend the daylighted area horizontally next to a window.
|
|
546
|
+
# If the method is 'fixed', 2 ft is added to the width of each window.
|
|
547
|
+
# If the method is 'proportional', a distance equal to half of the head height of the window is added.
|
|
548
|
+
# If the method is 'none', no additional width is added.
|
|
548
549
|
# Default is none.
|
|
549
550
|
#
|
|
551
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
550
552
|
# @return [String] returns 'fixed' or 'proportional'
|
|
551
553
|
def space_daylighted_area_window_width(space)
|
|
552
554
|
method = 'none'
|
|
@@ -554,8 +556,9 @@ class Standard
|
|
|
554
556
|
end
|
|
555
557
|
|
|
556
558
|
# Returns the sidelighting effective aperture
|
|
557
|
-
# space_sidelighting_effective_aperture(space)
|
|
559
|
+
# space_sidelighting_effective_aperture(space) = E(window area * window VT) / primary_sidelighted_area
|
|
558
560
|
#
|
|
561
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
559
562
|
# @param primary_sidelighted_area [Double] the primary sidelighted area (m^2) of the space
|
|
560
563
|
# @return [Double] the unitless sidelighting effective aperture metric
|
|
561
564
|
def space_sidelighting_effective_aperture(space, primary_sidelighted_area)
|
|
@@ -666,8 +669,9 @@ class Standard
|
|
|
666
669
|
end
|
|
667
670
|
|
|
668
671
|
# Returns the skylight effective aperture
|
|
669
|
-
# space_skylight_effective_aperture(space)
|
|
672
|
+
# space_skylight_effective_aperture(space) = E(0.85 * skylight area * skylight VT * WF) / toplighted_area
|
|
670
673
|
#
|
|
674
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
671
675
|
# @param toplighted_area [Double] the toplighted area (m^2) of the space
|
|
672
676
|
# @return [Double] the unitless skylight effective aperture metric
|
|
673
677
|
def space_skylight_effective_aperture(space, toplighted_area)
|
|
@@ -787,6 +791,7 @@ class Standard
|
|
|
787
791
|
# and therefore may not return perfect results. However, it works well in most tested
|
|
788
792
|
# situations. When it fails, it will log warnings/errors for users to see.
|
|
789
793
|
#
|
|
794
|
+
# @param space [OpenStudio::Model::Space] the space with daylighting
|
|
790
795
|
# @param remove_existing_controls [Bool] if true, will remove existing controls then add new ones
|
|
791
796
|
# @param draw_daylight_areas_for_debugging [Bool] If this argument is set to true,
|
|
792
797
|
# daylight areas will be added to the model as surfaces for visual debugging.
|
|
@@ -837,12 +842,6 @@ class Standard
|
|
|
837
842
|
|
|
838
843
|
areas = nil
|
|
839
844
|
|
|
840
|
-
# Get the area of the space
|
|
841
|
-
space_area_m2 = space.floorArea
|
|
842
|
-
|
|
843
|
-
# Get the LPD of the space
|
|
844
|
-
space_lpd_w_per_m2 = space.lightingPowerPerFloorArea
|
|
845
|
-
|
|
846
845
|
# Get the daylighting areas
|
|
847
846
|
areas = space_daylighted_areas(space, draw_daylight_areas_for_debugging)
|
|
848
847
|
|
|
@@ -851,6 +850,7 @@ class Standard
|
|
|
851
850
|
|
|
852
851
|
# Stop here if no controls are required
|
|
853
852
|
if !req_top_ctrl && !req_pri_ctrl && !req_sec_ctrl
|
|
853
|
+
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "For #{space.name}, no daylighting control is required.")
|
|
854
854
|
return false
|
|
855
855
|
end
|
|
856
856
|
|
|
@@ -859,13 +859,6 @@ class Standard
|
|
|
859
859
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "For #{space.name}, primary sidelighting control required = #{req_pri_ctrl}")
|
|
860
860
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "For #{space.name}, secondary sidelighting control required = #{req_sec_ctrl}")
|
|
861
861
|
|
|
862
|
-
# Stop here if no lighting controls are required.
|
|
863
|
-
# Do not put daylighting control points into the space.
|
|
864
|
-
if !req_top_ctrl && !req_pri_ctrl && !req_sec_ctrl
|
|
865
|
-
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "For #{space.name}, no daylighting control is required.")
|
|
866
|
-
return false
|
|
867
|
-
end
|
|
868
|
-
|
|
869
862
|
# Record a floor in the space for later use
|
|
870
863
|
floor_surface = nil
|
|
871
864
|
space.surfaces.sort.each do |surface|
|
|
@@ -885,7 +878,7 @@ class Standard
|
|
|
885
878
|
straight_upward = OpenStudio::Vector3d.new(0, 0, 1)
|
|
886
879
|
surface_normal = surface.outwardNormal
|
|
887
880
|
if surface.surfaceType == 'Wall'
|
|
888
|
-
#
|
|
881
|
+
# @todo stop skipping non-vertical walls
|
|
889
882
|
unless surface_normal.z.abs < 0.001
|
|
890
883
|
unless surface.subSurfaces.empty?
|
|
891
884
|
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.Space', "Cannot currently handle non-vertical walls; skipping windows on #{surface.name} in #{space.name} for daylight sensor positioning.")
|
|
@@ -893,7 +886,7 @@ class Standard
|
|
|
893
886
|
end
|
|
894
887
|
end
|
|
895
888
|
elsif surface.surfaceType == 'RoofCeiling'
|
|
896
|
-
#
|
|
889
|
+
# @todo stop skipping non-horizontal roofs
|
|
897
890
|
unless surface_normal.to_s == straight_upward.to_s
|
|
898
891
|
unless surface.subSurfaces.empty?
|
|
899
892
|
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.Space', "Cannot currently handle non-horizontal roofs; skipping skylights on #{surface.name} in #{space.name} for daylight sensor positioning.")
|
|
@@ -906,29 +899,26 @@ class Standard
|
|
|
906
899
|
# Find the azimuth of the facade
|
|
907
900
|
facade = nil
|
|
908
901
|
group = surface.planarSurfaceGroup
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
site_outward_normal = site_outward_normal.get
|
|
919
|
-
north = OpenStudio::Vector3d.new(0.0, 1.0, 0.0)
|
|
920
|
-
azimuth = if site_outward_normal.x < 0.0
|
|
921
|
-
360.0 - OpenStudio.radToDeg(OpenStudio.getAngle(site_outward_normal, north))
|
|
922
|
-
else
|
|
923
|
-
OpenStudio.radToDeg(OpenStudio.getAngle(site_outward_normal, north))
|
|
924
|
-
end
|
|
925
|
-
else
|
|
926
|
-
# The surface is not in a group; should not hit, since
|
|
927
|
-
# called from Space.surfaces
|
|
902
|
+
# The surface is not in a group; should not hit, since called from Space.surfaces
|
|
903
|
+
next unless group.is_initialized
|
|
904
|
+
|
|
905
|
+
group = group.get
|
|
906
|
+
site_transformation = group.buildingTransformation
|
|
907
|
+
site_vertices = site_transformation * surface.vertices
|
|
908
|
+
site_outward_normal = OpenStudio.getOutwardNormal(site_vertices)
|
|
909
|
+
if site_outward_normal.empty?
|
|
910
|
+
OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Space', "Could not compute outward normal for #{surface.name.get}")
|
|
928
911
|
next
|
|
929
912
|
end
|
|
930
|
-
|
|
931
|
-
|
|
913
|
+
site_outward_normal = site_outward_normal.get
|
|
914
|
+
north = OpenStudio::Vector3d.new(0.0, 1.0, 0.0)
|
|
915
|
+
azimuth = if site_outward_normal.x < 0.0
|
|
916
|
+
360.0 - OpenStudio.radToDeg(OpenStudio.getAngle(site_outward_normal, north))
|
|
917
|
+
else
|
|
918
|
+
OpenStudio.radToDeg(OpenStudio.getAngle(site_outward_normal, north))
|
|
919
|
+
end
|
|
920
|
+
|
|
921
|
+
# @todo modify to work for buildings in the southern hemisphere?
|
|
932
922
|
if azimuth >= 315.0 || azimuth < 45.0
|
|
933
923
|
facade = '4-North'
|
|
934
924
|
elsif azimuth >= 45.0 && azimuth < 135.0
|
|
@@ -967,8 +957,8 @@ class Standard
|
|
|
967
957
|
else
|
|
968
958
|
windows[sub_surface] = properties
|
|
969
959
|
end
|
|
970
|
-
end
|
|
971
|
-
end
|
|
960
|
+
end
|
|
961
|
+
end
|
|
972
962
|
|
|
973
963
|
# Determine the illuminance setpoint for the controls based on space type
|
|
974
964
|
daylight_stpt_lux = 375
|
|
@@ -1105,9 +1095,9 @@ class Standard
|
|
|
1105
1095
|
sensor_1.setName("#{space.name} Daylt Sensor 1")
|
|
1106
1096
|
sensor_1.setSpace(space)
|
|
1107
1097
|
sensor_1.setIlluminanceSetpoint(daylight_stpt_lux)
|
|
1108
|
-
sensor_1.setLightingControlType(
|
|
1109
|
-
sensor_1.setNumberofSteppedControlSteps(3) # all sensors 3-step per design
|
|
1110
|
-
sensor_1.setMinimumInputPowerFractionforContinuousDimmingControl(
|
|
1098
|
+
sensor_1.setLightingControlType(space_daylighting_control_type(space))
|
|
1099
|
+
sensor_1.setNumberofSteppedControlSteps(3) unless space_daylighting_control_type(space) != 'Stepped' # all sensors 3-step per design
|
|
1100
|
+
sensor_1.setMinimumInputPowerFractionforContinuousDimmingControl(space_daylighting_minimum_input_power_fraction(space))
|
|
1111
1101
|
sensor_1.setMinimumLightOutputFractionforContinuousDimmingControl(0.2)
|
|
1112
1102
|
sensor_1.setProbabilityLightingwillbeResetWhenNeededinManualSteppedControl(1.0)
|
|
1113
1103
|
sensor_1.setMaximumAllowableDiscomfortGlareIndex(22.0)
|
|
@@ -1134,7 +1124,7 @@ class Standard
|
|
|
1134
1124
|
end
|
|
1135
1125
|
sensor_1.setPosition(sensor_vertex)
|
|
1136
1126
|
|
|
1137
|
-
#
|
|
1127
|
+
# @todo rotate sensor to face window (only needed for glare calcs)
|
|
1138
1128
|
zone.setPrimaryDaylightingControl(sensor_1)
|
|
1139
1129
|
zone.setFractionofZoneControlledbyPrimaryDaylightingControl(sensor_1_frac)
|
|
1140
1130
|
end
|
|
@@ -1147,9 +1137,9 @@ class Standard
|
|
|
1147
1137
|
sensor_2.setName("#{space.name} Daylt Sensor 2")
|
|
1148
1138
|
sensor_2.setSpace(space)
|
|
1149
1139
|
sensor_2.setIlluminanceSetpoint(daylight_stpt_lux)
|
|
1150
|
-
sensor_2.setLightingControlType(
|
|
1151
|
-
sensor_2.setNumberofSteppedControlSteps(3) # all sensors 3-step per design
|
|
1152
|
-
sensor_2.setMinimumInputPowerFractionforContinuousDimmingControl(
|
|
1140
|
+
sensor_2.setLightingControlType(space_daylighting_control_type(space))
|
|
1141
|
+
sensor_2.setNumberofSteppedControlSteps(3) unless space_daylighting_control_type(space) != 'Stepped' # all sensors 3-step per design
|
|
1142
|
+
sensor_2.setMinimumInputPowerFractionforContinuousDimmingControl(space_daylighting_minimum_input_power_fraction(space))
|
|
1153
1143
|
sensor_2.setMinimumLightOutputFractionforContinuousDimmingControl(0.2)
|
|
1154
1144
|
sensor_2.setProbabilityLightingwillbeResetWhenNeededinManualSteppedControl(1.0)
|
|
1155
1145
|
sensor_2.setMaximumAllowableDiscomfortGlareIndex(22.0)
|
|
@@ -1176,7 +1166,7 @@ class Standard
|
|
|
1176
1166
|
end
|
|
1177
1167
|
sensor_2.setPosition(sensor_vertex)
|
|
1178
1168
|
|
|
1179
|
-
#
|
|
1169
|
+
# @todo rotate sensor to face window (only needed for glare calcs)
|
|
1180
1170
|
zone.setSecondaryDaylightingControl(sensor_2)
|
|
1181
1171
|
zone.setFractionofZoneControlledbySecondaryDaylightingControl(sensor_2_frac)
|
|
1182
1172
|
end
|
|
@@ -1199,12 +1189,17 @@ class Standard
|
|
|
1199
1189
|
return [req_top_ctrl, req_pri_ctrl, req_sec_ctrl]
|
|
1200
1190
|
end
|
|
1201
1191
|
|
|
1202
|
-
# Determine the fraction controlled by each sensor and which
|
|
1203
|
-
# window each sensor should go near.
|
|
1192
|
+
# Determine the fraction controlled by each sensor and which window each sensor should go near.
|
|
1204
1193
|
#
|
|
1205
|
-
# @param space [OpenStudio::Model::Space]
|
|
1194
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1195
|
+
# @param areas [Hash] a hash of daylighted areas
|
|
1206
1196
|
# @param sorted_windows [Hash] a hash of windows, sorted by priority
|
|
1207
1197
|
# @param sorted_skylights [Hash] a hash of skylights, sorted by priority
|
|
1198
|
+
# @param req_top_ctrl [Bool] if toplighting controls are required
|
|
1199
|
+
# @param req_pri_ctrl [Bool] if primary sidelighting controls are required
|
|
1200
|
+
# @param req_sec_ctrl [Bool] if secondary sidelighting controls are required
|
|
1201
|
+
# @return [Array] array of 4 items
|
|
1202
|
+
# [sensor 1 fraction, sensor 2 fraction, sensor 1 window, sensor 2 window]
|
|
1208
1203
|
def space_daylighting_fractions_and_windows(space,
|
|
1209
1204
|
areas,
|
|
1210
1205
|
sorted_windows,
|
|
@@ -1220,9 +1215,9 @@ class Standard
|
|
|
1220
1215
|
return [sensor_1_frac, sensor_2_frac, sensor_1_window, sensor_2_window]
|
|
1221
1216
|
end
|
|
1222
1217
|
|
|
1223
|
-
# Set the infiltration rate for this space to include
|
|
1224
|
-
# the impact of air leakage requirements in the standard.
|
|
1218
|
+
# Set the infiltration rate for this space to include the impact of air leakage requirements in the standard.
|
|
1225
1219
|
#
|
|
1220
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1226
1221
|
# @return [Double] true if successful, false if not
|
|
1227
1222
|
# @todo handle doors and vestibules
|
|
1228
1223
|
def space_apply_infiltration_rate(space)
|
|
@@ -1317,15 +1312,16 @@ class Standard
|
|
|
1317
1312
|
|
|
1318
1313
|
# Baseline infiltration rate
|
|
1319
1314
|
#
|
|
1315
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1320
1316
|
# @return [Double] the baseline infiltration rate, in cfm/ft^2 exterior above grade wall area at 75 Pa
|
|
1321
1317
|
def space_infiltration_rate_75_pa(space)
|
|
1322
1318
|
basic_infil_rate_cfm_per_ft2 = 1.8
|
|
1323
1319
|
return basic_infil_rate_cfm_per_ft2
|
|
1324
1320
|
end
|
|
1325
1321
|
|
|
1326
|
-
# Calculate the area of the exterior walls,
|
|
1327
|
-
# including the area of the windows on these walls.
|
|
1322
|
+
# Calculate the area of the exterior walls, including the area of the windows on these walls.
|
|
1328
1323
|
#
|
|
1324
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1329
1325
|
# @return [Double] area in m^2
|
|
1330
1326
|
def space_exterior_wall_and_window_area(space)
|
|
1331
1327
|
area_m2 = 0.0
|
|
@@ -1348,9 +1344,9 @@ class Standard
|
|
|
1348
1344
|
return area_m2
|
|
1349
1345
|
end
|
|
1350
1346
|
|
|
1351
|
-
# Calculate the area of the exterior walls,
|
|
1352
|
-
# including the area of the windows on these walls.
|
|
1347
|
+
# Calculate the area of the exterior walls, including the area of the windows on these walls.
|
|
1353
1348
|
#
|
|
1349
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1354
1350
|
# @return [Double] area in m^2
|
|
1355
1351
|
def space_exterior_wall_and_roof_and_subsurface_area(space)
|
|
1356
1352
|
area_m2 = 0.0
|
|
@@ -1374,12 +1370,11 @@ class Standard
|
|
|
1374
1370
|
end
|
|
1375
1371
|
|
|
1376
1372
|
# Determine if the space is a plenum.
|
|
1377
|
-
# Assume it is a plenum if it is a supply
|
|
1378
|
-
# or return plenum for an AirLoop,
|
|
1373
|
+
# Assume it is a plenum if it is a supply or return plenum for an AirLoop,
|
|
1379
1374
|
# if it is not part of the total floor area,
|
|
1380
|
-
# or if the space type name contains the
|
|
1381
|
-
# word plenum.
|
|
1375
|
+
# or if the space type name contains the word plenum.
|
|
1382
1376
|
#
|
|
1377
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1383
1378
|
# return [Bool] returns true if plenum, false if not
|
|
1384
1379
|
def space_plenum?(space)
|
|
1385
1380
|
plenum_status = false
|
|
@@ -1394,7 +1389,7 @@ class Standard
|
|
|
1394
1389
|
return plenum_status
|
|
1395
1390
|
end
|
|
1396
1391
|
|
|
1397
|
-
#
|
|
1392
|
+
# @todo update to check if it has internal loads
|
|
1398
1393
|
|
|
1399
1394
|
# Check if the space type name
|
|
1400
1395
|
# contains the word plenum.
|
|
@@ -1416,12 +1411,12 @@ class Standard
|
|
|
1416
1411
|
return plenum_status
|
|
1417
1412
|
end
|
|
1418
1413
|
|
|
1419
|
-
# Determine if the space is residential based on the
|
|
1420
|
-
# space type properties for the space.
|
|
1414
|
+
# Determine if the space is residential based on the space type properties for the space.
|
|
1421
1415
|
# For spaces with no space type, assume nonresidential.
|
|
1422
1416
|
# For spaces that are plenums, base the decision on the space
|
|
1423
1417
|
# type of the space below the largest floor in the plenum.
|
|
1424
1418
|
#
|
|
1419
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1425
1420
|
# return [Bool] true if residential, false if nonresidential
|
|
1426
1421
|
def space_residential?(space)
|
|
1427
1422
|
is_res = false
|
|
@@ -1480,10 +1475,10 @@ class Standard
|
|
|
1480
1475
|
return is_res
|
|
1481
1476
|
end
|
|
1482
1477
|
|
|
1483
|
-
# Determines whether the space is conditioned per 90.1,
|
|
1484
|
-
# which is based on heating and cooling loads.
|
|
1478
|
+
# Determines whether the space is conditioned per 90.1, which is based on heating and cooling loads.
|
|
1485
1479
|
#
|
|
1486
|
-
# @param
|
|
1480
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1481
|
+
# @param climate_zone [String] ASHRAE climate zone, e.g. 'ASHRAE 169-2013-4A'
|
|
1487
1482
|
# @return [String] NonResConditioned, ResConditioned, Semiheated, Unconditioned
|
|
1488
1483
|
# @todo add logic to detect indirectly-conditioned spaces
|
|
1489
1484
|
def space_conditioning_category(space, climate_zone)
|
|
@@ -1501,12 +1496,12 @@ class Standard
|
|
|
1501
1496
|
return cond_cat
|
|
1502
1497
|
end
|
|
1503
1498
|
|
|
1504
|
-
# Determines heating status.
|
|
1505
|
-
# zone has a thermostat with a maximum heating
|
|
1506
|
-
# setpoint above 5C (41F), counts as heated.
|
|
1499
|
+
# Determines heating status.
|
|
1500
|
+
# If the space's zone has a thermostat with a maximum heating setpoint above 5C (41F), counts as heated.
|
|
1507
1501
|
#
|
|
1508
1502
|
# @author Andrew Parker, Julien Marrec
|
|
1509
|
-
# @
|
|
1503
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1504
|
+
# @return [Bool] returns true if heated, false if not
|
|
1510
1505
|
def space_heated?(space)
|
|
1511
1506
|
# Get the zone this space is inside
|
|
1512
1507
|
zone = space.thermalZone
|
|
@@ -1522,12 +1517,12 @@ class Standard
|
|
|
1522
1517
|
return htd
|
|
1523
1518
|
end
|
|
1524
1519
|
|
|
1525
|
-
# Determines cooling status.
|
|
1526
|
-
# zone has a thermostat with a minimum cooling
|
|
1527
|
-
# setpoint above 33C (91F), counts as cooled.
|
|
1520
|
+
# Determines cooling status.
|
|
1521
|
+
# If the space's zone has a thermostat with a minimum cooling setpoint above 33C (91F), counts as cooled.
|
|
1528
1522
|
#
|
|
1529
1523
|
# @author Andrew Parker, Julien Marrec
|
|
1530
|
-
# @
|
|
1524
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1525
|
+
# @return [Bool] returns true if cooled, false if not
|
|
1531
1526
|
def space_cooled?(space)
|
|
1532
1527
|
# Get the zone this space is inside
|
|
1533
1528
|
zone = space.thermalZone
|
|
@@ -1543,13 +1538,11 @@ class Standard
|
|
|
1543
1538
|
return cld
|
|
1544
1539
|
end
|
|
1545
1540
|
|
|
1546
|
-
# Determine the design internal load (W) for
|
|
1547
|
-
#
|
|
1548
|
-
#
|
|
1549
|
-
# and Gas Equipment. It assumes 100% of the wattage
|
|
1550
|
-
# is converted to heat, and that the design peak
|
|
1551
|
-
# schedule value is 1 (100%).
|
|
1541
|
+
# Determine the design internal load (W) for this space without space multipliers.
|
|
1542
|
+
# This include People, Lights, Electric Equipment, and Gas Equipment.
|
|
1543
|
+
# It assumes 100% of the wattage is converted to heat, and that the design peak schedule value is 1 (100%).
|
|
1552
1544
|
#
|
|
1545
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1553
1546
|
# @return [Double] the design internal load, in W
|
|
1554
1547
|
def space_design_internal_load(space)
|
|
1555
1548
|
load_w = 0.0
|
|
@@ -1590,6 +1583,10 @@ class Standard
|
|
|
1590
1583
|
end
|
|
1591
1584
|
|
|
1592
1585
|
# will return a sorted array of array of spaces and connected area (Descending)
|
|
1586
|
+
#
|
|
1587
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1588
|
+
# @param same_floor [Bool] only consider spaces on the same floor
|
|
1589
|
+
# @return [Array<OpenStudio::Model::Space>] sorted array of spaces
|
|
1593
1590
|
def space_get_adjacent_spaces_with_shared_wall_areas(space, same_floor = true)
|
|
1594
1591
|
same_floor_spaces = []
|
|
1595
1592
|
spaces = []
|
|
@@ -1651,19 +1648,22 @@ class Standard
|
|
|
1651
1648
|
end
|
|
1652
1649
|
|
|
1653
1650
|
# Find the space that has the most wall area touching this space.
|
|
1651
|
+
#
|
|
1652
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1653
|
+
# @param same_floor [Bool] only consider spaces on the same floor
|
|
1654
|
+
# @return [OpenStudio::Model::Space] space object
|
|
1654
1655
|
def space_get_adjacent_space_with_most_shared_wall_area(space, same_floor = true)
|
|
1655
1656
|
return get_adjacent_spaces_with_touching_area(same_floor)[0][0]
|
|
1656
1657
|
end
|
|
1657
1658
|
|
|
1658
|
-
#
|
|
1659
|
-
# todo
|
|
1660
|
-
|
|
1659
|
+
# @todo add related related to space_hours_of_operation like set_space_hours_of_operation and shift_and_expand_space_hours_of_operation
|
|
1660
|
+
# @todo ideally these could take in a date range, array of dates and or days of week. Hold off until need is a bit more defined.
|
|
1661
1661
|
# If the model has an hours of operation schedule set in default schedule set for building that looks valid it will
|
|
1662
1662
|
# report hours of operation. Won't be a single set of values, will be a collection of rules
|
|
1663
1663
|
# note Building, space, and spaceType can get hours of operation from schedule set, but not buildingStory
|
|
1664
1664
|
#
|
|
1665
1665
|
# @author David Goldwasser
|
|
1666
|
-
# @param space [Space]
|
|
1666
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1667
1667
|
# @return [Hash] start and end of hours of operation, stat date, end date, bool for each day of the week
|
|
1668
1668
|
def space_hours_of_operation(space)
|
|
1669
1669
|
default_sch_type = OpenStudio::Model::DefaultScheduleType.new('HoursofOperationSchedule')
|
|
@@ -1829,7 +1829,7 @@ class Standard
|
|
|
1829
1829
|
# expand hours of operation. When hours of operation do not overlap for two spaces, add logic to remove all but largest gap
|
|
1830
1830
|
#
|
|
1831
1831
|
# @author David Goldwasser
|
|
1832
|
-
# @param
|
|
1832
|
+
# @param spaces [Array<OpenStudio::Model::Space>] takes array of spaces
|
|
1833
1833
|
# @return [Hash] start and end of hours of operation, stat date, end date, bool for each day of the week
|
|
1834
1834
|
def spaces_hours_of_operation(spaces)
|
|
1835
1835
|
hours_of_operation_array = []
|
|
@@ -1843,7 +1843,7 @@ class Standard
|
|
|
1843
1843
|
end
|
|
1844
1844
|
end
|
|
1845
1845
|
|
|
1846
|
-
#
|
|
1846
|
+
# @todo replace this with logic to get combined hours of operation for collection of spaces.
|
|
1847
1847
|
# each hours_of_operation_array is hash with key for each profile.
|
|
1848
1848
|
# each profile has hash with keys for hoo_start, hoo_end, hoo_hours, days_used
|
|
1849
1849
|
# my goal is to compare profiles and days used across all profiles to create new entries as necessary
|
|
@@ -1853,7 +1853,7 @@ class Standard
|
|
|
1853
1853
|
|
|
1854
1854
|
# OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "Evaluating hours of operation for #{space_names.join(',')}: #{hours_of_operation_array}")
|
|
1855
1855
|
|
|
1856
|
-
#
|
|
1856
|
+
# @todo what is this getting max of, it isn't longest hours of operation, is it the most profiles?
|
|
1857
1857
|
hours_of_operation = hours_of_operation_array.max_by { |i| hours_of_operation_array.count(i) }
|
|
1858
1858
|
|
|
1859
1859
|
return hours_of_operation
|
|
@@ -1861,11 +1861,15 @@ class Standard
|
|
|
1861
1861
|
|
|
1862
1862
|
private
|
|
1863
1863
|
|
|
1864
|
-
# A series of private methods to modify polygons.
|
|
1865
|
-
# wrappers of native OpenStudio methods, but with
|
|
1866
|
-
# workarounds for known issues or limitations.
|
|
1864
|
+
# A series of private methods to modify polygons.
|
|
1865
|
+
# Most are wrappers of native OpenStudio methods, but with workarounds for known issues or limitations.
|
|
1867
1866
|
|
|
1868
1867
|
# Check the z coordinates of a polygon
|
|
1868
|
+
#
|
|
1869
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1870
|
+
# @param polygons [Array<Array>] Array of array of vertices (polygons)
|
|
1871
|
+
# @param name [String] name of polygons
|
|
1872
|
+
# @return [Integer] return number of errors
|
|
1869
1873
|
# @api private
|
|
1870
1874
|
def space_check_z_zero(space, polygons, name)
|
|
1871
1875
|
fails = []
|
|
@@ -1881,13 +1885,15 @@ class Standard
|
|
|
1881
1885
|
end
|
|
1882
1886
|
end
|
|
1883
1887
|
# OpenStudio::logFree(OpenStudio::Error, "openstudio.standards.Space", "Checking z=0: #{name} is greater than or equal to #{clsss.uniq.to_s.gsub(/\[|\]/,'|')}.")
|
|
1884
|
-
if errs > 0
|
|
1885
|
-
|
|
1886
|
-
end
|
|
1888
|
+
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.Space', "***FAIL*** #{space.name} z=0 failed for #{errs} vertices in #{name}; #{fails.join(', ')}.") if errs > 0
|
|
1889
|
+
return errs
|
|
1887
1890
|
end
|
|
1888
1891
|
|
|
1889
|
-
# A method to convert an array of arrays to
|
|
1890
|
-
#
|
|
1892
|
+
# A method to convert an array of arrays to an array of OpenStudio::Point3ds.
|
|
1893
|
+
#
|
|
1894
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1895
|
+
# @param ruby_polygons [Array<Array>] Array of array of vertices (polygons)
|
|
1896
|
+
# @return [Array<Array>] Array of array of Point3D objects (polygons)
|
|
1891
1897
|
# @api private
|
|
1892
1898
|
def space_ruby_polygons_to_point3d_z_zero(space, ruby_polygons)
|
|
1893
1899
|
# Convert the final polygons back to OpenStudio
|
|
@@ -1905,6 +1911,11 @@ class Standard
|
|
|
1905
1911
|
end
|
|
1906
1912
|
|
|
1907
1913
|
# A method to zero-out the z vertex of an array of polygons
|
|
1914
|
+
#
|
|
1915
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1916
|
+
# @param polygons [Array<Array>] Array of array of vertices (polygons)
|
|
1917
|
+
# @param new_z [Double] new z value in meters
|
|
1918
|
+
# @return [Array<Array>] Array of array of Point3D objects (polygons)
|
|
1908
1919
|
# @api private
|
|
1909
1920
|
def space_polygons_set_z(space, polygons, new_z)
|
|
1910
1921
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "### #{polygons}")
|
|
@@ -1924,7 +1935,12 @@ class Standard
|
|
|
1924
1935
|
end
|
|
1925
1936
|
|
|
1926
1937
|
# A method to returns the number of duplicate vertices in a polygon.
|
|
1927
|
-
#
|
|
1938
|
+
# @todo does not actually work
|
|
1939
|
+
#
|
|
1940
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1941
|
+
# @param ruby_polygon [Array] array of vertices (polygon)
|
|
1942
|
+
# @param tol [Double] tolerance
|
|
1943
|
+
# @return [Array] array of duplicates
|
|
1928
1944
|
# @api private
|
|
1929
1945
|
def space_find_duplicate_vertices(space, ruby_polygon, tol = 0.001)
|
|
1930
1946
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', '***')
|
|
@@ -1946,8 +1962,14 @@ class Standard
|
|
|
1946
1962
|
return duplicates
|
|
1947
1963
|
end
|
|
1948
1964
|
|
|
1949
|
-
# Subtracts one array of polygons from the next,
|
|
1950
|
-
#
|
|
1965
|
+
# Subtracts one array of polygons from the next, returning an array of resulting polygons.
|
|
1966
|
+
#
|
|
1967
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
1968
|
+
# @param a_polygons [Array<Array>] Array of array of vertices (polygons)
|
|
1969
|
+
# @param b_polygons [Array<Array>] Array of array of vertices (polygons)
|
|
1970
|
+
# @param a_name [String] name of a polygons
|
|
1971
|
+
# @param b_name [String] name of b polygons
|
|
1972
|
+
# @return [Array<Array>] Array of array of vertices (polygons)
|
|
1951
1973
|
# @api private
|
|
1952
1974
|
def space_a_polygons_minus_b_polygons(space, a_polygons, b_polygons, a_name, b_name)
|
|
1953
1975
|
final_polygons_ruby = []
|
|
@@ -1972,7 +1994,7 @@ class Standard
|
|
|
1972
1994
|
a_polygon_ruby << [vertex.x, vertex.y, vertex.z]
|
|
1973
1995
|
end
|
|
1974
1996
|
|
|
1975
|
-
#
|
|
1997
|
+
# @todo Skip really small polygons
|
|
1976
1998
|
# reduced_b_polygons = []
|
|
1977
1999
|
# b_polygons.each do |b_polygon|
|
|
1978
2000
|
# next
|
|
@@ -2015,7 +2037,7 @@ class Standard
|
|
|
2015
2037
|
|
|
2016
2038
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "---Remove duplicates: #{a_minus_b_polygons_ruby.size} to #{unique_a_minus_b_polygons_ruby.size}")
|
|
2017
2039
|
|
|
2018
|
-
#
|
|
2040
|
+
# @todo bug workaround?
|
|
2019
2041
|
# If the result includes the a polygon, the a polygon
|
|
2020
2042
|
# was unchanged; only include that polgon and throw away the other junk?/bug? polygons.
|
|
2021
2043
|
# If the result does not include the a polygon, the a polygon was
|
|
@@ -2039,7 +2061,7 @@ class Standard
|
|
|
2039
2061
|
# Remove duplicate polygons again
|
|
2040
2062
|
unique_final_polygons_ruby = final_polygons_ruby.uniq
|
|
2041
2063
|
|
|
2042
|
-
#
|
|
2064
|
+
# @todo remove this workaround
|
|
2043
2065
|
# Split any polygons that are joined by a line into two separate
|
|
2044
2066
|
# polygons. Do this by finding duplicate
|
|
2045
2067
|
# unique_final_polygons_ruby.each do |unique_final_polygon_ruby|
|
|
@@ -2062,6 +2084,12 @@ class Standard
|
|
|
2062
2084
|
|
|
2063
2085
|
# Wrapper to catch errors in joinAll method
|
|
2064
2086
|
# [utilities.geometry.joinAll] <1> Expected polygons to join together
|
|
2087
|
+
#
|
|
2088
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
2089
|
+
# @param polygons [Array] array of vertices (polygon)
|
|
2090
|
+
# @param tol [Double] tolerance
|
|
2091
|
+
# @param name [String] name of polygons
|
|
2092
|
+
# @return [Array<Array>] Array of array of vertices (polygons)
|
|
2065
2093
|
# @api private
|
|
2066
2094
|
def space_join_polygons(space, polygons, tol, name)
|
|
2067
2095
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "Joining #{name} from #{space.name}")
|
|
@@ -2097,7 +2125,7 @@ class Standard
|
|
|
2097
2125
|
# Disable the log sink to prevent memory hogging
|
|
2098
2126
|
msg_log.disable
|
|
2099
2127
|
|
|
2100
|
-
#
|
|
2128
|
+
# @todo remove this workaround, which is tried if there
|
|
2101
2129
|
# are any join errors. This handles the case of polygons
|
|
2102
2130
|
# that make an inner loop, the most common case being
|
|
2103
2131
|
# when all 4 sides of a space have windows.
|
|
@@ -2161,6 +2189,10 @@ class Standard
|
|
|
2161
2189
|
end
|
|
2162
2190
|
|
|
2163
2191
|
# Gets the total area of a series of polygons
|
|
2192
|
+
#
|
|
2193
|
+
# @param space [OpenStudio::Model::Space] space object
|
|
2194
|
+
# @param polygons [Array] array of vertices (polygon)
|
|
2195
|
+
# @return [Double] area in meters
|
|
2164
2196
|
# @api private
|
|
2165
2197
|
def space_total_area_of_polygons(space, polygons)
|
|
2166
2198
|
total_area_m2 = 0
|
|
@@ -2178,6 +2210,12 @@ class Standard
|
|
|
2178
2210
|
|
|
2179
2211
|
# Returns an array of resulting polygons.
|
|
2180
2212
|
# Assumes that a_polygons don't overlap one another, and that b_polygons don't overlap one another
|
|
2213
|
+
#
|
|
2214
|
+
# @param a_polygons [Array<Array>] Array of array of vertices (polygons)
|
|
2215
|
+
# @param b_polygons [Array<Array>] Array of array of vertices (polygons)
|
|
2216
|
+
# @param a_name [String] name of a polygons
|
|
2217
|
+
# @param b_name [String] name of b polygons
|
|
2218
|
+
# @return [Double] overlapping area in meters
|
|
2181
2219
|
# @api private
|
|
2182
2220
|
def space_area_a_polygons_overlap_b_polygons(space, a_polygons, b_polygons, a_name, b_name)
|
|
2183
2221
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Space', "#{a_polygons.size} #{a_name} overlaps #{b_polygons.size} #{b_name}")
|
|
@@ -2266,4 +2304,29 @@ class Standard
|
|
|
2266
2304
|
|
|
2267
2305
|
return overlap_area
|
|
2268
2306
|
end
|
|
2307
|
+
|
|
2308
|
+
# Determine if a space should be modeled with an occupancy standby mode
|
|
2309
|
+
#
|
|
2310
|
+
# @param space [OpenStudio::Model::Space] OpenStudio Space object
|
|
2311
|
+
# @return [Boolean] true if occupancy standby mode is to be modeled, false otherwise
|
|
2312
|
+
def space_occupancy_standby_mode_required?(space)
|
|
2313
|
+
return false
|
|
2314
|
+
end
|
|
2315
|
+
|
|
2316
|
+
# Provide the type of daylighting control type
|
|
2317
|
+
#
|
|
2318
|
+
# @param [OpenStudio::Model::Space] OpenStudio Space object
|
|
2319
|
+
# return [String] daylighting control type
|
|
2320
|
+
def space_daylighting_control_type(space)
|
|
2321
|
+
return 'Stepped'
|
|
2322
|
+
end
|
|
2323
|
+
|
|
2324
|
+
# Provide the minimum input power fraction for continuous
|
|
2325
|
+
# dimming daylighting control
|
|
2326
|
+
#
|
|
2327
|
+
# @param [OpenStudio::Model::Space] OpenStudio Space object
|
|
2328
|
+
# return [Float] daylighting minimum input power fraction
|
|
2329
|
+
def space_daylighting_minimum_input_power_fraction(space)
|
|
2330
|
+
return 0.3
|
|
2331
|
+
end
|
|
2269
2332
|
end
|