openstudio-standards 0.2.12 → 0.2.13.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/geometry/ASHRAE90120162019HighriseApartment.json +1042 -0
- data/data/geometry/ASHRAE90120162019Hospital.json +199 -0
- data/data/geometry/ASHRAE90120162019LargeHotel.json +73 -0
- data/data/geometry/ASHRAE90120162019LargeOffice.json +109 -0
- data/data/geometry/ASHRAE90120162019SecondarySchool.json +205 -0
- data/data/geometry/ASHRAECourthouse.json +112 -0
- data/data/geometry/ASHRAECourthouse.osm +26470 -0
- data/data/geometry/ASHRAELargeHotel.osm +11 -1
- data/data/geometry/ASHRAELargeOffice.json +4 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/exclude_list.csv +19 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +49 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.chillers.json +293 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +25426 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +1600 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +564 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.elevators.json +349 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +164 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +10663 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +508 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +156 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +44 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +184 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +3094 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +829 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_lnup.json +562 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +52 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_condenser.json +220 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +156 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +1316 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +21446 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +554 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +68 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps.json +28 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps_heating.json +12 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +49 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.chillers.json +293 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +12487 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +1600 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +564 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.elevators.json +349 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +164 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +10663 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +466 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +137 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +44 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +184 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +3094 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +829 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_lnup.json +562 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +52 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_condenser.json +220 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +156 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +1316 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +21380 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +554 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +68 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps.json +28 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps_heating.json +12 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +49 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.chillers.json +395 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +12487 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +1600 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +592 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.elevators.json +349 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +550 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +164 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +10663 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +466 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +137 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +44 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +238 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +3094 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +829 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_lnup.json +562 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +52 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_condenser.json +220 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +156 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +1316 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +21548 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +554 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +68 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps.json +28 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps_heating.json +12 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +64 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +871 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +12487 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +1600 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +592 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.elevators.json +349 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +1096 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +164 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +10663 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +886 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +194 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +44 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +247 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +3094 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +829 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_lnup.json +562 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +52 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_condenser.json +220 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +156 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +1316 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +22079 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +994 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +68 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps.json +28 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +12 -0
- data/data/standards/manage_OpenStudio_Standards.rb +87 -37
- data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1-ALL-comstockspace_types.csv +236 -0
- data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1.csv +622 -0
- data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1space_types.csv +191 -0
- data/data/standards/openstudio_standards_duplicates_log.csv +16 -25
- data/data/standards/test_performance_expected_dd_results.csv +1934 -1134
- data/lib/openstudio-standards.rb +68 -17
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +28 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +0 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +28 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +53 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +29 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +157 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +29 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff.rb +33 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators.rb +25 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +366 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +144 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +11 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff.rb +33 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +32 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators.rb +25 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +367 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +144 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +11 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +0 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +0 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +3 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +74 -0
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +46 -30
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +15 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +26 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +8 -11
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +54 -60
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +56 -60
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +38 -12
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +218 -134
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +6 -2
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +222 -133
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +60 -62
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +25 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +34 -22
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +31 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +43 -28
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +48 -38
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +9 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +567 -344
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +13 -19
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +13 -17
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +9 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +79 -51
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +60 -60
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +2 -4
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +133 -120
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +124 -112
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +138 -66
- data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +7275 -199
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +35 -35
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +3 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +4 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +7 -8
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +7 -8
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +13 -14
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +7 -5
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.elevators.rb +2 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +0 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +25 -14
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +474 -89
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +35 -33
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +72 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +120 -120
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +103 -125
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +9 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +11 -5
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +26 -14
- data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +270 -247
- data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
- data/lib/openstudio-standards/refs/references.rb +5 -2
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +41 -28
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +1 -0
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +2 -4
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +8 -10
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +4 -5
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +12 -9
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +3 -1
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +0 -3
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +4 -7
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +1 -3
- data/lib/openstudio-standards/standards/Standards.Construction.rb +124 -118
- data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.Fan.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +2 -4
- data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +10 -3
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.Model.rb +282 -253
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +2 -0
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -9
- data/lib/openstudio-standards/standards/Standards.Pump.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +0 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +103 -121
- data/lib/openstudio-standards/standards/Standards.Space.rb +42 -35
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +9 -17
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +25 -27
- data/lib/openstudio-standards/standards/Standards.Surface.rb +97 -52
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +39 -21
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +6 -7
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +15 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.Standards.FanVariableVolume.rb +0 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +10 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.Model.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +63 -99
- 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 +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +2420 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +32 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +68 -38
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +105 -40
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC.rb +5 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +63 -99
- 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 +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +1460 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +32 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +68 -38
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +104 -17
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +25 -13
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +63 -99
- 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 +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +1460 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +64 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +52 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +68 -38
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +112 -25
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +21 -7
- 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/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +63 -99
- 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 +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +1460 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +64 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +104 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +70 -40
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +172 -55
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +456 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +24 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTower.rb +19 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerSingleSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerTwoSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +16 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +189 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone.rb +57 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +22 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.rb +16 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.boilers.json +68 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.chillers.json +490 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_properties.json +21244 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.construction_sets.json +2111 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.economizers.json +676 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.elevators.json +372 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +1096 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ext_ltg.json +169 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps.json +532 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +164 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_rejection.json +49 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.motors.json +274 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.prototype_inputs.json +3094 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_cases.json +854 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.ref_lnup.json +562 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_compressors.json +58 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_condenser.json +238 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_system.json +12 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.refrigeration_walkins.json +1316 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +23067 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +648 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_heaters.json +72 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_source_heat_pumps.json +31 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.water_source_heat_pumps_heating.json +13 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +456 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +24 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTower.rb +19 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerSingleSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerTwoSpeed.rb +5 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +16 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +189 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone.rb +57 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +22 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.rb +16 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +68 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.chillers.json +490 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_properties.json +21244 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.construction_sets.json +2111 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.economizers.json +676 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.elevators.json +372 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +1096 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ext_ltg.json +169 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps.json +664 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +204 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_rejection.json +49 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.motors.json +274 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.prototype_inputs.json +3094 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_cases.json +854 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.ref_lnup.json +562 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_compressors.json +58 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_condenser.json +238 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_system.json +12 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_walkins.json +1316 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +23067 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +671 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_heaters.json +72 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_source_heat_pumps.json +31 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.water_source_heat_pumps_heating.json +13 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.constructions.json +1662 -332
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.materials.json +5049 -289
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +1743 -161
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +63 -99
- 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 +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +8 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +9 -9
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +63 -99
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.ext_ltg.json +10 -10
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +7 -7
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +9 -9
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +0 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.heat_rejection.json +9 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.water_heaters.json +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +3 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/cbes/cbes.Model.rb +1 -3
- data/lib/openstudio-standards/standards/cbes/cbes.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +8 -13
- data/lib/openstudio-standards/standards/deer/deer.Model.rb +2 -2
- data/lib/openstudio-standards/standards/deer/deer.PlanarSurface.rb +2 -0
- data/lib/openstudio-standards/standards/deer/deer.Space.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +0 -1
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +0 -1
- data/lib/openstudio-standards/standards/icc_iecc/icc_iecc_2015/icc_iecc_2015.rb +0 -1
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +28 -7
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +16 -2
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +15 -0
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +14 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/erv.json +11 -7
- data/lib/openstudio-standards/standards/necb/ECMS/data/pv.json +112 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/unitary_acs.json +50 -0
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +21 -8
- data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +17 -6
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +142 -6
- data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +189 -0
- data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +104 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +19 -13
- data/lib/openstudio-standards/standards/necb/NECB2011/data/erv.json +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +39278 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +17 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +15 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +14 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +13 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +12 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +154 -12
- data/lib/openstudio-standards/standards/necb/NECB2011/lighting.rb +21 -3
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +140 -21
- data/lib/openstudio-standards/standards/necb/NECB2011/nv.md +74 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/pv_ground.md +44 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/qaqc_resources/neb_end_use_prices.csv +39 -84
- data/lib/openstudio-standards/standards/oeesc/oeesc_2014/oeesc_2014.rb +0 -1
- data/lib/openstudio-standards/standards/standard.rb +6 -5
- data/lib/openstudio-standards/utilities/Add_template_field_to_json.rb +3 -3
- data/lib/openstudio-standards/utilities/convert_surfaces_to_adiabatic_necb_8426.rb +54 -54
- data/lib/openstudio-standards/utilities/generate_prototype_database.rb +2 -2
- data/lib/openstudio-standards/utilities/generate_space_types.rb +3 -3
- data/lib/openstudio-standards/utilities/logging.rb +7 -7
- data/lib/openstudio-standards/utilities/necb_to_epw_map.rb +14 -14
- data/lib/openstudio-standards/utilities/os_sim_extract.rb +25 -25
- data/lib/openstudio-standards/utilities/rename_surfaces.rb +10 -13
- data/lib/openstudio-standards/utilities/round_surf_coords.rb +18 -20
- data/lib/openstudio-standards/utilities/sched_create.rb +39 -41
- data/lib/openstudio-standards/utilities/set_mult_to_adiabatic.rb +31 -31
- data/lib/openstudio-standards/utilities/simulation.rb +5 -3
- data/lib/openstudio-standards/utilities/speacetype_map_converter.rb +10 -11
- data/lib/openstudio-standards/utilities/sqlfile.rb +6 -8
- data/lib/openstudio-standards/utilities/template_measure/measure.rb +108 -0
- data/lib/openstudio-standards/utilities/template_measure/measure.xml +162 -0
- data/lib/openstudio-standards/utilities/template_measure/resources/BTAPMeasureHelper.rb +448 -0
- data/lib/openstudio-standards/utilities/template_measure/tests/test.rb +160 -0
- data/lib/openstudio-standards/utilities/weatherData1_xlsx_to_json.rb +23 -26
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/Weather.Model.rb +74 -80
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +17 -17
- metadata +217 -2
@@ -0,0 +1,74 @@
|
|
1
|
+
# Natural Ventilation Measure
|
2
|
+
This measure adds natural ventilation (NV) to a building model.
|
3
|
+
|
4
|
+
## Description
|
5
|
+
The workflow of this measure is as follows:
|
6
|
+
* Ask for users' inputs for below arguments:
|
7
|
+
* nv_type: whether to add NV to a building model or not
|
8
|
+
* nv_opening_fraction: what is the opening fraction of windows (this value is used to calculate the opening area of windows for NV)
|
9
|
+
* nv_Tout_min: As per E+ I/O Reference, "minimum outdoor temperature is the outdoor temperature (in Celsius) below which ventilation is shut off. This lower temperature limit is intended to avoid overcooling a space, which could result in a heating load."
|
10
|
+
* nv_Delta_Tin_Tout: As per E+ I/O Reference, "Delta temperature is the temperature difference (in Celsius) between the indoor and outdoor air dry-bulb temperatures below which ventilation is shutoff."
|
11
|
+
* Loop through **ZoneHVACEquipmentLists**.
|
12
|
+
* Get which thermal zone is served by each of the "ZoneHVACEquipmentLists" objects.
|
13
|
+
* Get heating/cooling setpoint temperature schedules for the thermal zone from the osm file.
|
14
|
+
* Create an adjustment of heating/cooling setpoint temperature schedules.
|
15
|
+
(Note that these schedules are used in the "ZoneVentilation:DesignFlowRate" and "ZoneVentilation:WindandStackOpenArea" objects)
|
16
|
+
* Loop through spaces in the thermal zone.
|
17
|
+
* Gather outdoor air flow rate per person and per floor area of the space from the osm file.
|
18
|
+
(Note that these values are used in the "ZoneVentilation:DesignFlowRate" objects)
|
19
|
+
* Find how many external windows each space has.
|
20
|
+
* Loop through external windows of the space.
|
21
|
+
* Add **ZoneVentilation:DesignFlowRate** objects to each space if has at least one external window.
|
22
|
+
* The number of "ZoneVentilation:DesignFlowRate" is twice the number of external windows the space has.
|
23
|
+
This is because for each external window, two "ZoneVentilation:DesignFlowRate" objects are added: (1) for air flow rate per person, and (2) for air flow rate per floor area.
|
24
|
+
* Add one **ZoneVentilation:WindandStackOpenArea** objects to each space if has at least one external window.
|
25
|
+
* The number of "ZoneVentilation:WindandStackOpenArea" equals the number of external windows the space has.
|
26
|
+
* Add "ZoneVentilation:DesignFlowRate" and "ZoneVentilation:WindandStackOpenArea" objects to the "ZoneHVAC:EquipmentList" object of the thermal zone.
|
27
|
+
* Loop through **AirLoopHVACs**.
|
28
|
+
* Add **AvailabilityManagerHybridVentilation** to each air loop.
|
29
|
+
|
30
|
+
## Approach
|
31
|
+
This measure has some assumptions/limitations, as follows:
|
32
|
+
* It models NV using a simplified airflow method (rather than airflow network).
|
33
|
+
* It assumes that all floors are sealed, and mid points of windows are on neutral pressure level (NPL) of each floor
|
34
|
+
to avoid complexity of finding the NPL of a building.
|
35
|
+
Hence, this measure excludes stack-driven NV.
|
36
|
+
* It uses a built-in object called **AvailabilityManager:HybridVentilation** in EnergyPlus to avoid simultaneous NV and HVAC system operation.
|
37
|
+
* Note that **Ventilation Control Mode Schedule Name** was set by default.
|
38
|
+
Hence, the integer value in the schedule is set to 1 (i.e. temperature control).
|
39
|
+
* Note that users' input for nv_Tout_min is used for the fields of "Minimum Outdoor Temperature".
|
40
|
+
* As per E+ I/O Reference, "Minimum Outdoor Temperature is the outdoor temperature (in Celsius) below which hybrid ventilation is shut off when the ventilation control mode = 1 (Temperature). This lower temperature limit is intended to avoid overcooling a space, which could result in a heating load."
|
41
|
+
* Note that the "Maximum Outdoor Temperature" has been set to 30C. (there is no temperature schedule unlike the ZoneVentilation:DesignFlowRate and ZoneVentilation:WindandStackOpenArea objects)
|
42
|
+
* As per E+ I/O Reference, "Maximum Outdoor Temperature is the outdoor temperature (in Celsius) above which hybrid ventilation is shut off when the ventilation control mode = 1 (Temperature). This upper temperature limit is intended to avoid overheating a space, which could result in a cooling load."
|
43
|
+
* It considers the Fanger thermal comfort model (rather than the ASHRAE 55's adaptive thermal comfort model).
|
44
|
+
In other words, this measure sets min/max indoor air temperature as fixed values (on the basis of heating/cooling setpoint temperature) regardless of outdoor conditions.
|
45
|
+
* It uses heating/cooling setpoint schedules +/- 2C as the min/max indoor air temperature for controlling NV.
|
46
|
+
* Note that min/max indoor air temperature are the fields defined under the objects of **ZoneVentilation:DesignFlowRate** and **ZoneVentilation:WindandStackOpenArea**.
|
47
|
+
* As per E+ I/O Reference, "Minimum indoor temperature is the indoor temperature (in Celsius) below which ventilation is shutoff. This lower temperature limit is intended to avoid overcooling a space and thus result in a heating load."
|
48
|
+
* As per E+ I/O Reference, "Maximum indoor temperature is the indoor temperature (in Celsius) above which ventilation is shutoff. This upper temperature limit is intended to avoid overheating a space and thus result in a cooling load."
|
49
|
+
* It uses the required outdoor airflow rate per person and floor area for each space as the airflow rate when there is NV in the space.
|
50
|
+
* As a space may have multiple windows, to avoid outdoor airflow rate more than what is required for a space, the required outdoor airflow rate per person and floor area for the space are divided by the number of windows.
|
51
|
+
* Note that this measure uses the E+'s defaults for the coefficients of A,B,C,D (i.e. 1,0,0,0) in Equation 1.41 in E+ I/O Reference.
|
52
|
+
These default values gives a constant air flow regardless of the wind speed and the difference between the indoor and outdoor temperature.
|
53
|
+
* It adds NV to any space with external windows (window types of either 'OperableWindow' or 'FixedWindow').
|
54
|
+
* It uses same opening fraction for all windows of spaces. So, depending on a window area, the opening area of the window is calculated.
|
55
|
+
|
56
|
+
## Testing Plan
|
57
|
+
* Tests were run to ensure cooling loads reduce depending on the inputs for min outdoor air temperature, Delta T between indoor and outdoor, and windows opening fraction.
|
58
|
+
* Timestep-based results for NECB2011 Full Service Restaurant in Vancouver were checked to see if NV and HVAC were not working simultaneously, and if NV was working properly regarding using setpoints for NV.
|
59
|
+
The timestep-based results' excel file has been attached to the task (see https://github.com/canmet-energy/btap_tasks/issues/310).
|
60
|
+
* A unit test and expected results file were developed.
|
61
|
+
* The output variable that can be used to check whether NV and HVAC system is working at each timestep is **Availability Manager Hybrid Ventilation Control Status []**.
|
62
|
+
It returns three values: 0 (no hybrid ventilation control), 1 (NV is allowed), and 2 (NV is not allowed).
|
63
|
+
|
64
|
+
## Files Added/Modified
|
65
|
+
* Files have been modified:
|
66
|
+
* **necb_2011.rb**
|
67
|
+
* Files have been added:
|
68
|
+
* **nv.rb**
|
69
|
+
* **test_nv.rb**
|
70
|
+
* **nv.md**
|
71
|
+
* **nv_expected_results.rb**
|
72
|
+
|
73
|
+
## Reference
|
74
|
+
* E+ I/O Reference (2020), EnergyPlus Vesion 9.3.0 Documentation: Input Output Reference.
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Ground-Mounted PV Measure
|
2
|
+
This measure is to add ground-mounted PV to a model.
|
3
|
+
Renewable energy should be the last item added to a model.
|
4
|
+
|
5
|
+
## Description
|
6
|
+
* The users' inputs for the measure are PV module type, and total area and azimuth and tilt angles of PV panels.
|
7
|
+
* A json file has been created that includes a variety of PV modules options.
|
8
|
+
* It has been assumed that PV panel's size is 5 ft x 2 ft as it seems to fit the racking system used for ground mounts as per Mike Lubun's comment.
|
9
|
+
* Default PV panels' tilt angle has been set as the latitude of the location.
|
10
|
+
* Default PV panels' azimuth angle has been set as south-facing arrays.
|
11
|
+
* Default PV module type has been set as "HES-160-36PV 26.6 x 58.3 x 1.38" as assuming a typical panel is 5 ft x 2 ft,
|
12
|
+
the closest standard type PV panel in the costing spreadsheet would be the 160W HES based on Mike Lubun's comment.
|
13
|
+
* Only one PVWatts generator is created using the measure for simplification,
|
14
|
+
however exact number of PVWatts generators (and inverters) are calculated for costing as per Mike Lubun's comment.
|
15
|
+
|
16
|
+
## Approach
|
17
|
+
* A new file in https://github.com/NREL/openstudio-standards/tree/nrcan/lib/openstudio-standards/standards/necb/ECMS folder called pv_ground.rb has been created.
|
18
|
+
* A method called apply_pv_ground has been added to the ECMS class. This is where the PV method logic has been writen.
|
19
|
+
* Since the PV modules has many options (i.e. type and capacity) a library in json format has been created in https://github.com/NREL/openstudio-standards/blob/nrcan/lib/openstudio-standards/standards/necb/ECMS/data.
|
20
|
+
These properties align with the costing spreadsheet.
|
21
|
+
* The apply_pv_ground method has been added to the end of the 'apply_systems_and_efficiencies' method in necb2011.rb.
|
22
|
+
* The inputs have been set to 'nil' for the do nothing option, similar to what is done in the erv measure.
|
23
|
+
* The required arguments have been threaded up to the 'model_create_prototype_model' method in necb_2011.rb.
|
24
|
+
|
25
|
+
## Testing Plan
|
26
|
+
* The tests were run in OpenStudio to ensure electricity is being generated and scales with changes in the PV panels area.
|
27
|
+
* In OpenStudio, it has been checked that net site/source energy is less than total site/source energy due to the installation of PV panels.
|
28
|
+
* Another output variable that can be checked in OpenStudio at different timesteps is **Inverter AC Output Electric Power [W]**.
|
29
|
+
* A unit test has been developed.
|
30
|
+
##### Notes:
|
31
|
+
* "Total site energy is the "gross" energy consumed by the building site and Net Site Energy is the final energy consumed by the building site after accounting for any on-site energy generation (photovoltaics, generators, etc.)."
|
32
|
+
(Ref: https://unmethours.com/question/25416/what-is-the-difference-between-site-energy-and-source-energy/)
|
33
|
+
* "Total Source Energy (="represents the total amount of raw fuel that is required to operate the building.
|
34
|
+
It incorporates all transmission, delivery, and production losses" Source: EPA). In contrast, the Net Source Energy is the energy that you get after the losses of delivery and transportation."
|
35
|
+
(Ref: https://unmethours.com/question/19090/what-is-the-difference-between-total-source-energy-and-net-source-energy/)
|
36
|
+
## Files Added/Modified
|
37
|
+
* Files have been modified:
|
38
|
+
* **necb_2011.rb**
|
39
|
+
* **btap_pre1980.rb**
|
40
|
+
* Files have been added:
|
41
|
+
* **pv_ground.rb**
|
42
|
+
* **pv.json**
|
43
|
+
* **test_pv_ground.rb**
|
44
|
+
* **pv_ground.md**
|
@@ -251,7 +251,7 @@ class NECB2011
|
|
251
251
|
qaqc[:building][:standards_number_of_above_ground_stories] = nil
|
252
252
|
qaqc[:building][:standards_number_of_above_ground_stories] = model.building.get.standardsNumberOfAboveGroundStories.get unless model.building.get.standardsNumberOfAboveGroundStories().empty?
|
253
253
|
qaqc[:building][:standards_number_of_living_units] = nil
|
254
|
-
qaqc[:building][:standards_number_of_living_units] = model.building.get.standardsNumberOfLivingUnits
|
254
|
+
qaqc[:building][:standards_number_of_living_units] = model.building.get.standardsNumberOfLivingUnits().get unless model.building.get.standardsNumberOfLivingUnits().empty?
|
255
255
|
qaqc[:building][:nominal_floor_to_ceiling_height] = nil
|
256
256
|
qaqc[:building][:nominal_floor_to_ceiling_height] = model.building.get.nominalFloortoCeilingHeight.get unless model.building.get.nominalFloortoCeilingHeight().empty?
|
257
257
|
qaqc[:building][:nominal_floor_to_floor_height] = nil
|
@@ -299,7 +299,7 @@ class NECB2011
|
|
299
299
|
qaqc[:economics][:total_neb_cost_per_m2] = 0.0
|
300
300
|
neb_eplus_fuel_map.each do |neb_fuel, ep_fuel|
|
301
301
|
row = look_up_csv_data(neb_prices_csv_file_name, {0 => building_type, 1 => province, 2 => neb_fuel})
|
302
|
-
neb_fuel_cost = row['
|
302
|
+
neb_fuel_cost = row['2020']
|
303
303
|
fuel_consumption_gj = 0.0
|
304
304
|
if neb_fuel == 'Electricity' || neb_fuel == 'Natural Gas'
|
305
305
|
if model.sqlFile().get().execAndReturnFirstDouble("SELECT Value FROM tabulardatawithstrings WHERE ReportName='EnergyMeters' AND ReportForString='Entire Facility' AND
|
data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/qaqc_resources/neb_end_use_prices.csv
CHANGED
@@ -1,85 +1,40 @@
|
|
1
1
|
building_type,province,fuel_type,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040
|
2
|
-
Commercial,Alberta,Electricity,
|
3
|
-
Commercial,Alberta,Natural Gas,
|
4
|
-
Commercial,Alberta,Oil,
|
5
|
-
Commercial,British Columbia,Electricity,
|
6
|
-
Commercial,British Columbia,Natural Gas,
|
7
|
-
Commercial,British Columbia,Oil,
|
8
|
-
Commercial,
|
9
|
-
Commercial,
|
10
|
-
Commercial,
|
11
|
-
Commercial,
|
12
|
-
Commercial,
|
13
|
-
Commercial,
|
14
|
-
Commercial,
|
15
|
-
Commercial,
|
16
|
-
Commercial,
|
17
|
-
Commercial,
|
18
|
-
Commercial,
|
19
|
-
Commercial,
|
20
|
-
Commercial,
|
21
|
-
Commercial,
|
22
|
-
Commercial,
|
23
|
-
Commercial,
|
24
|
-
Commercial,
|
25
|
-
Commercial,
|
26
|
-
Commercial,
|
27
|
-
Commercial,
|
28
|
-
Commercial,
|
29
|
-
Commercial,
|
30
|
-
Commercial,
|
31
|
-
Commercial,
|
32
|
-
Commercial,
|
33
|
-
Commercial,
|
34
|
-
Commercial,
|
35
|
-
Commercial,
|
36
|
-
Commercial,
|
37
|
-
Commercial,
|
38
|
-
Commercial,
|
39
|
-
Commercial,
|
40
|
-
Commercial,
|
41
|
-
Commercial,Yukon,Electricity,20.07,16.72,17.74,18.03,18.07,21.36,21.25,24.18,23.64,23.71,23.78,23.86,23.93,24,24.07,24.14,24.21,24.28,24.35,24.42,24.52,24.59,24.66,24.73,24.8,24.87,24.94,25.04,25.11,25.18,25.25,25.32,25.42,25.49,25.56,25.63
|
42
|
-
Commercial,Yukon,Natural Gas,11.79,13.23,13.28,11.92,12.08,12.85,11.64,10.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
43
|
-
Commercial,Yukon,Oil,22.38,24.87,27.79,33.37,24,29.12,35.49,36.1,34.01,35.14,27.17,27.3,27.92,28.41,28.66,29.07,29.47,29.79,30.06,30.32,30.57,30.84,31.1,31.37,31.64,31.92,32.06,32.22,32.37,32.52,32.68,32.84,33,33.17,33.33,33.49
|
44
|
-
Residential,Alberta,Electricity,25.02,29.6,34.15,38.07,30.3,29.15,32.06,38.48,42.33,33.02,25.74,26.54,27.3,28.15,29,29.84,31.37,32.93,34.54,36.28,38.1,38.86,39.66,40.43,41.23,42.08,42.92,43.77,44.66,45.55,46.44,47.37,48.34,49.27,50.29,51.31
|
45
|
-
Residential,Alberta,Natural Gas,11.22,11.03,10.12,10.39,7.24,7.64,7.4,6.18,6.16,6.8,5.25,5.56,5.94,6.06,6.17,6.25,6.34,6.4,6.45,6.49,6.52,6.55,6.58,6.61,6.64,6.68,6.71,6.74,6.77,6.8,6.83,6.87,6.9,6.93,6.96,6.99
|
46
|
-
Residential,Alberta,Oil,20.34,22.64,25.17,30.2,20.6,25.48,28.36,29.82,26.68,28.86,23.2,25.21,25.86,26.37,26.63,27.07,27.49,27.81,28.11,28.37,28.64,28.92,29.19,29.47,29.76,30.05,30.21,30.37,30.53,30.69,30.85,31.02,31.19,31.36,31.53,31.7
|
47
|
-
Residential,British Columbia,Electricity,18.5,18.56,19.61,19.76,19.26,23.49,24.13,26.86,24.88,26.62,27.69,28.24,28.66,28.96,29.01,29.06,29.14,29.19,29.24,29.31,29.36,29.41,29.49,29.54,29.59,29.66,29.71,29.78,29.83,29.88,29.96,30.01,30.08,30.13,30.18,30.26
|
48
|
-
Residential,British Columbia,Natural Gas,13.54,14.69,15.04,15.77,14.98,17.41,17.3,16.73,14.9,13.95,13.48,13.76,14.09,14.17,14.23,14.27,14.3,14.32,14.33,14.32,14.32,14.32,14.32,14.32,14.33,14.33,14.34,14.34,14.35,14.35,14.36,14.36,14.37,14.37,14.38,14.39
|
49
|
-
Residential,British Columbia,Oil,23.86,25.07,26.94,33.01,23.24,30.35,36.72,37.84,36.57,37.27,31.89,31.24,31.82,32.27,32.47,32.84,33.19,33.46,33.69,33.9,34.12,34.35,34.59,34.82,35.08,35.33,35.45,35.57,35.69,35.82,35.95,36.08,36.21,36.35,36.48,36.62
|
50
|
-
Residential,Canada,Electricity,24.08,25.9,27.25,26.62,24.93,27.59,28.99,29.76,28.29,28.85,28.8,29.35,29.69,30.14,30.43,30.72,30.88,31.05,31.23,31.42,31.62,31.73,31.85,31.97,32.1,32.23,32.33,32.42,32.53,32.64,32.74,32.85,32.97,33.09,33.21,33.33
|
51
|
-
Residential,Canada,Natural Gas,13.99,15.4,14.17,14.04,12.03,12,11.27,10.43,9.82,9.63,8.18,8.52,8.91,9.05,9.17,9.26,9.34,9.4,9.45,9.48,9.5,9.53,9.56,9.59,9.62,9.65,9.68,9.71,9.74,9.77,9.8,9.83,9.86,9.89,9.92,9.95
|
52
|
-
Residential,Canada,Oil,21.18,23.13,24.55,31.07,20.77,26.1,32.9,33.6,32.32,34.31,27.8,26.77,27.57,28.23,28.6,29.16,29.59,29.92,30.22,30.48,30.74,31.02,31.29,31.57,31.86,32.14,32.29,32.43,32.58,32.73,32.88,33.04,33.19,33.35,33.5,33.66
|
53
|
-
Residential,Manitoba,Electricity,19.21,18.25,18.99,18.23,18.75,20.66,21.53,21.4,20.96,21.13,21.52,21.94,22.17,22.38,22.61,22.84,22.87,22.89,22.91,22.93,22.95,22.97,22.99,23.01,23.05,23.08,23.1,23.12,23.14,23.16,23.18,23.2,23.22,23.24,23.28,23.31
|
54
|
-
Residential,Manitoba,Natural Gas,12.97,14.72,14.26,13.78,12.7,11.54,11.27,9.68,8.96,9.31,7.75,8.07,8.44,8.57,8.68,8.76,8.85,8.91,8.96,9,9.03,9.06,9.09,9.12,9.15,9.19,9.22,9.25,9.28,9.31,9.35,9.38,9.41,9.44,9.47,9.51
|
55
|
-
Residential,Manitoba,Oil,22.12,23.64,26.35,32.31,22.03,27.23,33.05,32.79,32.46,34.54,27.41,26.24,26.93,27.48,27.74,28.2,28.64,28.99,29.29,29.57,29.85,30.14,30.43,30.72,31.03,31.33,31.49,31.66,31.83,32,32.17,32.34,32.52,32.7,32.87,33.05
|
56
|
-
Residential,New Brunswick,Electricity,29.65,31.57,34.76,35.06,33.9,36.61,37.47,36.49,34.94,34.98,35.01,35.05,35.08,35.12,35.15,35.19,35.22,35.26,35.29,35.33,35.36,35.4,35.43,35.47,35.5,35.54,35.57,35.61,35.64,35.68,35.71,35.75,35.78,35.82,35.85,35.89
|
57
|
-
Residential,New Brunswick,Natural Gas,17.16,19.2,10.18,11.87,10.8,15.73,17,17.48,17.03,13.24,11.57,11.91,12.31,12.44,12.56,12.65,12.74,12.81,12.86,12.9,12.93,12.97,13,13.03,13.07,13.1,13.14,13.17,13.2,13.24,13.27,13.31,13.34,13.38,13.41,13.44
|
58
|
-
Residential,New Brunswick,Oil,22.52,23.84,25.83,32.12,21.08,26.51,32.51,33.6,31.58,33.61,26.66,25.73,26.43,26.98,27.26,27.73,28.18,28.53,28.85,29.13,29.42,29.72,30.01,30.32,30.63,30.94,31.11,31.28,31.45,31.63,31.8,31.99,32.17,32.35,32.53,32.71
|
59
|
-
Residential,Newfoundland and Labrador,Electricity,28.31,30.76,32.8,31.77,32.04,33.69,34.84,36.42,37.1,37.47,38.21,38.99,39.77,44.93,44.93,44.93,44.48,44.04,43.59,43.15,42.74,42.29,41.89,41.48,41.03,40.62,40.22,39.85,39.44,39.03,38.66,38.25,37.88,37.51,37.14,36.77
|
60
|
-
Residential,Newfoundland and Labrador,Natural Gas,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
61
|
-
Residential,Newfoundland and Labrador,Oil,21.29,23.87,25.24,30.54,19.8,25.43,32.06,32.43,28.69,31.03,24.96,21.41,22.11,22.66,22.94,23.41,23.86,24.21,24.53,24.82,25.1,25.4,25.7,26,26.31,26.62,26.79,26.96,27.13,27.31,27.49,27.67,27.85,28.03,28.21,28.4
|
62
|
-
Residential,Northwest Territories,Electricity,64.85,65.5,66.16,66.83,67.51,68.19,68.88,69.57,65.55,65.75,65.94,66.14,66.34,66.53,66.73,66.93,67.12,67.32,67.52,67.71,67.98,68.17,68.37,68.57,68.76,68.96,69.16,69.42,69.61,69.81,70.01,70.2,70.47,70.66,70.86,71.06
|
63
|
-
Residential,Northwest Territories,Natural Gas,13.54,14.69,14.99,14.93,13.55,14.81,13.67,12.68,22.02,30.25,28.7,29.02,29.39,29.51,29.62,29.7,29.79,29.85,29.9,29.94,29.97,30,30.03,30.06,30.09,30.13,30.16,30.19,30.22,30.25,30.28,30.32,30.35,30.38,30.41,30.44
|
64
|
-
Residential,Northwest Territories,Oil,22.02,23.88,27.75,34.2,23.19,27.92,34.98,34.62,32.83,34.33,26.83,28.13,28.78,29.29,29.55,29.99,30.41,30.73,31.03,31.29,31.56,31.84,32.11,32.39,32.68,32.97,33.13,33.29,33.45,33.61,33.77,33.94,34.11,34.28,34.45,34.62
|
65
|
-
Residential,Nova Scotia,Electricity,31.01,34.91,37.27,35.79,37.45,41.01,43.94,47.15,46.48,46.95,46.02,46.06,46.11,46.16,46.2,46.25,46.29,46.34,46.39,46.43,46.48,46.53,46.57,46.62,46.67,46.71,46.76,46.81,46.85,46.9,46.95,46.99,47.04,47.09,47.13,47.18
|
66
|
-
Residential,Nova Scotia,Natural Gas,17.16,19.2,17.98,18.38,17,18.23,17.4,46.01,26.6,26.31,24.6,24.95,25.36,25.5,25.61,25.71,25.8,25.87,25.93,25.96,26,26.03,26.06,26.1,26.13,26.17,26.2,26.24,26.27,26.31,26.34,26.38,26.41,26.45,26.48,26.52
|
67
|
-
Residential,Nova Scotia,Oil,22.65,24.75,24.2,29.67,19.8,24.54,31.04,31.74,30.97,33.16,26.45,25.89,26.6,27.17,27.44,27.92,28.38,28.74,29.06,29.35,29.65,29.95,30.25,30.56,30.87,31.19,31.36,31.54,31.71,31.89,32.07,32.26,32.44,32.63,32.81,33
|
68
|
-
Residential,Nunavut,Electricity,64.85,65.5,66.16,66.83,67.51,68.19,68.88,69.57,65.55,65.75,65.94,66.14,66.34,66.53,66.73,66.93,67.12,67.32,67.52,67.71,67.98,68.17,68.37,68.57,68.76,68.96,69.16,69.42,69.61,69.81,70.01,70.2,70.47,70.66,70.86,71.06
|
69
|
-
Residential,Nunavut,Natural Gas,13.54,14.69,14.99,14.93,13.55,14.81,13.67,12.68,11.59,11.1,9.55,9.87,10.24,10.36,10.47,10.55,10.64,10.7,10.76,10.79,10.82,10.85,10.88,10.91,10.95,10.98,11.01,11.04,11.07,11.1,11.14,11.17,11.2,11.23,11.26,11.3
|
70
|
-
Residential,Nunavut,Oil,22.02,23.88,27.75,34.2,23.19,27.92,34.98,34.62,32.83,34.33,26.83,28.13,28.78,29.29,29.55,29.99,30.41,30.73,31.03,31.29,31.56,31.84,32.11,32.39,32.68,32.97,33.13,33.29,33.45,33.61,33.77,33.94,34.11,34.28,34.45,34.62
|
71
|
-
Residential,Ontario,Electricity,30.72,33.9,35.96,33.61,33.19,36.49,40.54,41.57,36.83,39.77,40.58,41.4,42.21,43.05,43.9,44.78,45,45.23,45.48,45.7,45.93,46.15,46.37,46.62,46.85,47.07,47.14,47.18,47.21,47.29,47.32,47.36,47.4,47.47,47.51,47.55
|
72
|
-
Residential,Ontario,Natural Gas,15.27,17.65,15.89,15.33,13.3,12.85,11.41,10.8,10.23,9.86,8.18,8.52,8.92,9.06,9.17,9.26,9.36,9.42,9.48,9.51,9.55,9.58,9.62,9.65,9.69,9.72,9.75,9.79,9.82,9.86,9.89,9.92,9.96,9.99,10.03,10.06
|
73
|
-
Residential,Ontario,Oil,21.13,23.15,25.23,31.45,21.84,27.65,35.37,35.45,34.37,36.09,28.31,27.84,28.54,29.1,29.37,29.84,30.29,30.65,30.96,31.25,31.54,31.83,32.13,32.43,32.74,33.05,33.22,33.39,33.57,33.74,33.92,34.1,34.28,34.47,34.65,34.83
|
74
|
-
Residential,Prince Edward Island,Electricity,34.54,35.19,39.46,41.92,46.71,47.12,42.74,41.62,43.47,44.34,45.21,45.25,45.3,45.38,45.43,45.47,45.51,45.56,45.6,45.65,45.69,45.73,45.78,45.82,45.86,45.91,45.95,45.99,46.04,46.08,46.12,46.17,46.25,46.3,46.34,46.38
|
75
|
-
Residential,Prince Edward Island,Natural Gas,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
76
|
-
Residential,Prince Edward Island,Oil,20,21.84,22.85,28.54,19.13,23.94,30.48,31.18,29.94,32.74,26.13,22.81,23.52,24.08,24.35,24.83,25.28,25.64,25.96,26.24,26.54,26.83,27.13,27.44,27.75,28.07,28.23,28.41,28.58,28.76,28.94,29.12,29.31,29.49,29.67,29.86
|
77
|
-
Residential,Quebec,Electricity,19.18,20.53,21.8,20.72,19.95,21.58,21.8,21.23,20.66,21.28,21.57,21.99,22.01,22.03,22.05,22.09,22.11,22.13,22.15,22.17,22.19,22.21,22.23,22.25,22.28,22.3,22.32,22.34,22.38,22.4,22.42,22.44,22.46,22.48,22.5,22.52
|
78
|
-
Residential,Quebec,Natural Gas,17.14,19.18,17.96,18.36,16.98,17.97,17.23,16.44,15.45,15.46,15.4,16.12,16.89,17.39,17.88,18.34,18.43,18.49,18.55,18.58,18.61,18.65,18.68,18.71,18.74,18.78,18.81,18.84,18.87,18.91,18.94,18.97,19,19.04,19.07,19.1
|
79
|
-
Residential,Quebec,Oil,20.31,22.14,23.61,31.31,20.26,25.29,32.41,33.61,32.1,34.2,29.73,27.86,29.07,30.14,30.92,31.9,32.33,32.67,32.97,33.24,33.52,33.8,34.09,34.38,34.68,34.98,35.14,35.3,35.46,35.63,35.79,35.97,36.14,36.31,36.48,36.66
|
80
|
-
Residential,Saskatchewan,Electricity,30.01,32.1,33.69,32.35,30.88,40.2,42.56,37.68,37.84,39.17,40.34,41.55,41.97,42.38,42.8,43.25,43.67,44.12,44.54,44.99,45.45,45.9,46.36,46.81,47.3,47.76,48.25,48.74,49.19,49.69,50.22,50.71,51.2,51.73,52.22,52.75
|
81
|
-
Residential,Saskatchewan,Natural Gas,11.88,12.61,12.12,11.55,12.08,10.7,10.18,9.68,8.57,7.61,5.98,6.31,6.7,6.83,6.94,7.03,7.12,7.19,7.24,7.27,7.31,7.34,7.37,7.41,7.44,7.47,7.51,7.54,7.57,7.61,7.64,7.67,7.71,7.74,7.77,7.81
|
82
|
-
Residential,Saskatchewan,Oil,21.67,24.06,26.36,31.64,21.58,26.7,29.71,31.24,27.95,30.23,24.31,26.41,27.09,27.63,27.9,28.35,28.8,29.14,29.44,29.72,30.01,30.29,30.58,30.88,31.18,31.48,31.64,31.81,31.98,32.15,32.32,32.5,32.68,32.86,33.03,33.21
|
83
|
-
Residential,Yukon,Electricity,23.13,23.21,24.52,24.69,24.08,28.41,28.28,31.48,30.59,30.68,30.78,30.87,30.96,31.05,31.14,31.24,31.33,31.42,31.51,31.6,31.73,31.82,31.91,32,32.09,32.18,32.28,32.4,32.49,32.58,32.67,32.77,32.89,32.98,33.07,33.16
|
84
|
-
Residential,Yukon,Natural Gas,13.54,14.69,14.99,14.93,13.55,14.81,13.67,12.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
85
|
-
Residential,Yukon,Oil,23.94,26.48,29.46,35.04,25.2,30.58,37.27,37.9,35.71,36.89,28.53,28.67,29.32,29.84,30.09,30.53,30.95,31.28,31.57,31.83,32.1,32.38,32.65,32.93,33.22,33.51,33.67,33.83,33.99,34.15,34.32,34.48,34.65,34.82,34.99,35.16
|
2
|
+
Commercial,Alberta,Electricity,24.54,27.07,30.02,37.34,28.34,23.85,27.21,30.08,47.62,26.06,20.91,21.9,21.97,22.03,21.9,20.8,22.16,23.51,23.95,24.39,25.34,25.42,25.49,25.37,25.54,25.72,25.99,26.12,26.16,26.37,26.53,26.67,26.88,27.04,27.22,27.44,27.61,27.74,27.92,28.07,28.25,28.43,28.56,28.74,28.91,29.09
|
3
|
+
Commercial,Alberta,Natural Gas,10.7,8.78,8.08,9.01,5.67,4.82,4.37,2.82,2.93,4.12,2.62,2.1,3.23,3.51,2.34,3.6,4.16,4.73,4.77,4.81,4.84,4.91,5,5.1,5.16,5.24,5.21,5.19,5.16,5.14,5.13,5.12,5.13,5.14,5.15,5.16,5.15,5.12,5.1,5.08,5.05,5.02,4.99,4.96,4.93,4.91
|
4
|
+
Commercial,Alberta,Oil,23.36,24.5,25.91,31.14,22.8,25.4,27.14,28.95,26.59,32.01,24.11,21.94,25.14,29.54,27.79,23.4,25.17,28.17,30.11,30.9,31.68,32.56,32.4,32.29,32.08,31.9,31.74,31.58,31.41,31.26,31.11,30.98,30.91,30.83,30.77,30.69,30.62,30.52,30.43,30.35,30.23,30.12,30.01,29.9,29.79,29.69
|
5
|
+
Commercial,British Columbia,Electricity,19.52,18.87,18.76,18.85,20.26,20.84,19.17,22.09,23.35,24.78,26.42,27.34,27.74,28.03,28.16,28.3,26.03,27.98,26.69,26.93,27.33,28.12,29.02,29.24,29.72,30.25,30.73,31.07,31.47,31.86,32.26,32.66,33.05,33.45,33.84,34.24,34.44,34.65,34.85,35.05,35.52,35.68,35.66,35.78,35.95,36.15
|
6
|
+
Commercial,British Columbia,Natural Gas,12.77,13.35,12.05,12.45,13.12,13.2,11.99,11.21,11.33,12.22,11.59,9.22,10.9,10.75,11.09,11.31,11.83,11.9,12,12.09,12.27,12.57,12.88,13.28,13.65,14.12,14.48,14.43,14.38,14.34,14.3,14.27,14.26,14.25,14.25,14.24,14.21,14.16,14.12,14.08,14.03,13.99,13.94,13.89,13.85,13.81
|
7
|
+
Commercial,British Columbia,Oil,26.99,26.74,27.34,33.71,25.79,29.2,32.9,34.46,35.7,36.74,30.98,28.68,32.85,37.39,35.83,29.92,31.43,33.57,35.48,36.25,37,37.86,37.67,37.52,37.28,37.06,36.87,36.68,36.47,36.29,36.12,35.97,35.86,35.76,35.68,35.58,35.48,35.35,35.24,35.13,35,34.86,34.73,34.6,34.47,34.35
|
8
|
+
Commercial,Manitoba,Electricity,18.57,17.83,17.51,16.68,18.27,18.45,18.21,18.35,18.48,18.91,19.64,20.27,20.48,20.68,20.89,21.61,21.65,21.7,21.89,21.93,22.18,22.4,22.65,22.66,22.86,23.76,23.95,24.14,24.36,24.6,24.78,24.91,25.26,25.43,25.61,25.81,25.9,26.08,26.5,26.7,27,27.44,27.57,28.03,28.36,28.65
|
9
|
+
Commercial,Manitoba,Natural Gas,11.37,10.47,8.57,9.07,7.94,6.62,5.62,4.26,4.64,5.51,4.93,6.28,6.59,6.03,6.93,7.68,8.23,8.78,8.82,8.86,8.9,8.97,9.06,9.16,9.23,9.3,9.28,9.26,9.23,9.21,9.2,9.19,9.2,9.21,9.23,9.24,9.23,9.2,9.18,9.16,9.13,9.1,9.07,9.04,9.02,8.99
|
10
|
+
Commercial,Manitoba,Oil,23.11,23.31,24.77,30.59,22.18,24.79,29.01,29.22,29.58,30.78,23.55,20.98,22.98,27.44,27.01,21.32,22.66,25.22,27.23,28.1,28.95,29.9,29.79,29.72,29.57,29.45,29.34,29.23,29.11,29.01,28.91,28.82,28.78,28.73,28.71,28.67,28.63,28.56,28.5,28.45,28.37,28.29,28.21,28.13,28.06,27.99
|
11
|
+
Commercial,New Brunswick,Electricity,33.33,32.98,33.49,34.21,36.07,35.09,35,34.58,34,34.02,35,35.29,35.33,35.36,36.25,36.93,37.67,38.33,39,39.59,40.18,40.79,41.4,41.86,42.31,42.77,43.23,43.69,44.15,44.61,45.07,45.53,45.99,46.44,46.9,47.36,47.82,48.28,48.74,49.2,49.66,50.12,50.57,51.03,51.49,51.95
|
12
|
+
Commercial,New Brunswick,Natural Gas,12.54,12.75,7.59,9.8,7.9,11.54,12.11,9.24,8.47,9.44,9.88,9.97,9.66,9.22,10.46,11.17,11.69,12.22,12.26,12.31,12.35,12.43,12.52,12.62,12.69,12.77,12.75,12.73,12.71,12.69,12.68,12.67,12.69,12.7,12.72,12.73,12.72,12.7,12.68,12.66,12.63,12.61,12.58,12.55,12.53,12.51
|
13
|
+
Commercial,New Brunswick,Oil,24.13,24.07,24.8,30.86,21.72,24.6,28.95,30.36,29.29,30.69,25.21,21.7,23.74,27.47,28.57,23.46,25.22,28.22,30.16,30.95,31.73,31.85,32.02,32.11,32.07,31.95,31.79,31.64,31.46,31.31,31.17,31.04,30.96,30.89,30.83,30.75,30.68,30.58,30.49,30.4,30.29,30.18,30.07,29.96,29.85,29.75
|
14
|
+
Commercial,Newfoundland and Labrador,Electricity,27.03,27.42,27.68,25.96,28.61,26.34,26.25,28.53,30.44,28.32,29.27,26.81,27.35,27.35,27.48,29.24,30.84,32.77,33.39,33.87,34.38,34.87,35.45,35.83,36.38,36.82,37.09,37.37,37.61,37.87,38.1,38.3,38.58,38.77,39.01,39.45,39.67,40.4,40.7,40.9,41.14,41.54,41.59,41.94,42.05,42.36
|
15
|
+
Commercial,Newfoundland and Labrador,Natural Gas,12.54,12.75,7.59,9.8,7.9,11.54,12.11,9.24,8.47,9.44,9.88,9.97,9.66,9.57,10.01,10.11,10.12,10.16,10.34,10.51,10.68,10.87,11.07,11.28,11.47,11.67,11.76,11.86,11.9,11.91,11.92,11.93,11.96,11.98,12.02,12.05,12.05,12.04,12.03,12.03,12.02,12.01,11.99,11.98,11.97,11.96
|
16
|
+
Commercial,Newfoundland and Labrador,Oil,22.81,24.11,24.23,29.34,20.4,23.6,28.54,29.3,26.61,26.41,20.47,18.72,21.14,25.07,26.1,20.99,22.16,24.81,27.33,28.47,29.58,30.79,30.71,30.68,30.56,30.47,30.39,30.32,30.22,30.15,30.07,30.01,30,29.98,29.98,29.97,29.95,29.91,29.88,29.84,29.78,29.72,29.66,29.6,29.54,29.49
|
17
|
+
Commercial,Northwest Territories,Electricity,28.51,28.22,28.06,28.19,30.29,32.22,30.67,35.34,35.5,37.05,39.5,40.88,41,41.12,41.24,41.36,41.48,41.6,41.73,41.85,42.01,42.13,42.25,42.38,42.5,42.62,42.74,42.9,43.02,43.14,43.27,43.39,43.55,43.67,43.79,43.91,44.04,44.16,44.28,44.4,44.52,44.64,44.76,44.89,45.01,45.13
|
18
|
+
Commercial,Northwest Territories,Natural Gas,13.58,14.21,13.76,12.8,13.41,13.34,11.34,10.05,9.79,10.52,9.82,6.29,7.85,7.37,8.84,9.69,10.31,10.94,10.97,10.99,11.02,11.09,11.16,11.26,11.31,11.38,11.35,11.32,11.28,11.25,11.23,11.22,11.22,11.23,11.24,11.25,11.22,11.19,11.17,11.14,11.1,11.07,11.04,11,10.97,10.94
|
19
|
+
Commercial,Northwest Territories,Oil,25.34,25.91,28.63,35.34,25.71,27.87,33.5,33.65,32.76,35.17,27.34,24.05,26.55,30.66,29.48,23.28,24.24,26.43,28.5,29.43,30.35,31.34,31.28,31.25,31.15,31.08,31.02,30.95,30.88,30.81,30.75,30.7,30.69,30.68,30.68,30.66,30.65,30.61,30.59,30.56,30.51,30.46,30.41,30.36,30.31,30.27
|
20
|
+
Commercial,Nova Scotia,Electricity,29.64,33.86,33.16,31.61,35.38,34.62,36.44,38.46,39.21,39.67,40.02,39.17,39.21,39.25,39.3,39.77,40.25,40.73,42.22,43.43,44.47,45.33,45.63,45.7,45.99,46.14,46.29,46.44,46.48,46.52,46.56,46.6,46.63,46.67,46.71,46.75,46.79,46.82,46.86,46.9,46.94,46.98,47.01,47.05,47.09,47.13
|
21
|
+
Commercial,Nova Scotia,Natural Gas,17.24,17.48,15.3,14.81,12.85,11.34,9.96,8.94,13.98,15.95,17.29,15.2,11.11,12.4,12.53,12.56,12.57,12.58,12.73,12.87,13.02,13.18,13.35,13.52,13.68,13.84,13.9,13.96,14,14.03,14.06,14.1,14.14,14.19,14.24,14.29,14.31,14.31,14.33,14.34,14.35,14.35,14.36,14.36,14.37,14.38
|
22
|
+
Commercial,Nova Scotia,Oil,24.27,27.25,25.22,30.68,21.96,24.5,29.74,30.86,30.92,33.3,26.56,23.1,24.49,27.26,26.43,20.23,21.19,23.37,25.44,26.38,27.29,28.29,28.22,28.2,28.1,28.02,27.96,27.9,27.82,27.76,27.7,27.65,27.64,27.62,27.62,27.61,27.6,27.56,27.53,27.51,27.46,27.41,27.36,27.31,27.26,27.22
|
23
|
+
Commercial,Nunavut,Electricity,28.51,28.22,28.06,28.19,30.29,32.22,30.67,35.34,35.5,37.05,39.5,40.88,41,41.12,41.22,42.58,43.98,44.59,45.21,45.82,47.85,50.3,50.3,50.3,50.3,50.3,50.3,50.3,50.3,50.3,50.32,50.03,49.89,49.88,49.8,49.83,49.77,49.69,49.6,49.51,49.46,49.38,49.22,49.12,49.03,48.96
|
24
|
+
Commercial,Nunavut,Natural Gas,12.9,13.48,12.18,11.71,11.68,11.38,9.7,8.41,8.37,9.19,8.29,5.7,7.47,7.11,8.36,9.07,9.59,10.13,10.14,10.15,10.16,10.21,10.26,10.33,10.36,10.41,10.38,10.35,10.32,10.29,10.27,10.25,10.25,10.25,10.26,10.26,10.24,10.21,10.19,10.16,10.13,10.1,10.07,10.04,10.01,9.99
|
25
|
+
Commercial,Nunavut,Oil,25.35,25.93,28.65,35.36,25.72,27.88,33.52,33.66,32.78,35.19,27.36,24.06,26.57,30.68,29.49,23.29,24.25,26.44,28.51,29.44,30.36,31.35,31.29,31.26,31.16,31.09,31.03,30.96,30.89,30.83,30.76,30.71,30.7,30.69,30.69,30.68,30.66,30.62,30.6,30.57,30.52,30.48,30.42,30.37,30.32,30.29
|
26
|
+
Commercial,Ontario,Electricity,36.46,30.78,28.81,29.43,28.9,31.26,33.48,36.01,35.78,37.92,31.1,42.93,43.77,44.65,44.55,44.5,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45,44.45
|
27
|
+
Commercial,Ontario,Natural Gas,12.02,13.34,11.66,12.08,9.64,9.52,7.78,6.81,7.22,8.03,8.04,6.21,8.85,7.25,7.32,8.72,9.27,9.82,9.86,9.9,9.94,10.01,10.1,10.2,10.27,10.34,10.32,10.3,10.27,10.25,10.24,10.23,10.24,10.25,10.27,10.28,10.27,10.24,10.22,10.2,10.17,10.14,10.11,10.08,10.05,10.03
|
28
|
+
Commercial,Ontario,Oil,22.6,23.34,24.18,30.17,22.48,25.64,31.46,31.99,31.84,32.72,27.71,24.39,29.6,31.86,30.87,26.66,28.4,31.37,33.31,34.11,34.89,35.78,35.62,35.51,35.3,35.13,34.97,34.82,34.65,34.5,34.36,34.23,34.16,34.08,34.02,33.95,33.88,33.78,33.69,33.61,33.5,33.39,33.28,33.17,33.06,32.97
|
29
|
+
Commercial,Prince Edward Island,Electricity,37.67,36.13,38.45,40.94,49.34,44.5,37.57,37.12,40.26,40.88,42.86,43.8,43.84,43.92,44.67,44.67,45.03,45.04,45.05,45.17,45.28,45.39,45.51,45.62,45.73,45.85,45.96,46.08,46.19,46.31,46.38,46.45,46.52,46.59,46.66,46.73,46.8,46.87,46.94,47.01,47.08,47.15,47.22,47.29,47.36,47.43
|
30
|
+
Commercial,Prince Edward Island,Natural Gas,13.47,13.71,8.16,10.55,8.5,12.42,13.03,9.95,8.4,9.35,7.44,9.97,9.66,9.22,10.01,10.46,10.79,11.13,11.2,11.28,11.36,11.46,11.57,11.7,11.79,11.9,11.9,11.9,11.9,11.91,11.92,11.93,11.96,11.98,12.02,12.05,12.05,12.04,12.03,12.03,12.02,12.01,11.99,11.98,11.97,11.96
|
31
|
+
Commercial,Prince Edward Island,Oil,23.02,23.71,23.59,29.51,21.21,23.91,29.21,30.32,28.09,30.06,23.38,20.18,21.29,25.24,26.27,21.17,22.93,25.93,27.86,28.66,29.44,30.32,30.16,30.05,29.84,29.66,29.5,29.34,29.17,29.02,28.88,28.75,28.67,28.59,28.53,28.46,28.39,28.28,28.2,28.11,27.99,27.88,27.77,27.66,27.55,27.46
|
32
|
+
Commercial,Quebec,Electricity,23.64,24.49,23.96,23.47,24.38,23.84,23.2,23.06,23.28,23.69,24.55,24.52,24.55,24.57,24.66,24.75,24.52,24.29,24.44,24.51,24.71,24.93,25.19,25.19,25.34,25.54,25.8,26.01,26.27,26.64,27.07,27.45,27.84,28.11,28.42,29.13,29.52,29.79,30.54,30.83,31.13,31.43,31.73,32.04,32.34,32.65
|
33
|
+
Commercial,Quebec,Natural Gas,13.79,15.62,11.79,16.88,13.49,13.01,10.56,11.79,10.35,10.78,11.45,12.27,13.01,12.57,12.78,12.94,13.35,13.69,14.14,14.56,15.05,15.45,15.52,15.61,15.66,15.72,15.68,15.65,15.61,15.58,15.55,15.53,15.53,15.53,15.54,15.54,15.51,15.48,15.45,15.41,15.37,15.34,15.3,15.26,15.22,15.19
|
34
|
+
Commercial,Quebec,Oil,20.38,21.02,21.38,28.86,19.62,22.26,27.42,28.66,28.1,28.53,24.7,21.35,24.46,29.1,27.91,21.95,23.35,25.88,28.28,29.51,30.38,31.04,31.39,31.26,31.03,30.83,30.65,30.47,30.29,30.12,29.96,29.82,29.73,29.63,29.56,29.47,29.39,29.27,29.17,29.07,28.95,28.82,28.7,28.58,28.45,28.35
|
35
|
+
Commercial,Saskatchewan,Electricity,29.04,30.72,30.05,28.65,29.33,30.1,30.88,30.51,31.48,32.89,34.16,34.57,34.91,35.26,36.44,36.99,37.54,38.1,38.68,39.26,39.85,39.63,39.84,39.94,39.93,39.74,40.03,40.21,40.32,40.46,40.6,40.62,40.67,40.65,40.7,40.85,40.92,40.97,41.05,41.14,41.23,41.35,41.42,41.56,41.67,41.81
|
36
|
+
Commercial,Saskatchewan,Natural Gas,6.98,8.21,7.84,8.08,6.74,5.11,5.06,4.32,4.64,5.16,4.92,5.65,4.65,4.82,6.09,6.81,7.34,7.88,7.93,7.97,8.01,8.09,8.18,8.28,8.35,8.42,8.4,8.38,8.36,8.34,8.33,8.32,8.33,8.35,8.36,8.38,8.36,8.34,8.32,8.3,8.27,8.24,8.22,8.19,8.16,8.14
|
37
|
+
Commercial,Saskatchewan,Oil,23.33,24.47,25.86,31.1,22.78,25.37,27.12,28.92,26.57,31.99,24.08,21.94,23.18,26.66,28.45,23.32,25.06,28.04,29.98,30.77,31.56,32.44,32.29,32.18,31.97,31.79,31.63,31.48,31.31,31.16,31.02,30.89,30.82,30.74,30.68,30.61,30.54,30.44,30.35,30.27,30.15,30.04,29.93,29.82,29.72,29.63
|
38
|
+
Commercial,Yukon,Electricity,24.05,23.81,23.68,23.78,25.56,27.19,25.87,29.82,29.95,31.26,33.33,34.49,34.59,34.69,34.83,35.62,35.8,35.84,35.87,36.3,36.78,37.26,37.54,37.7,37.98,38.01,38.04,38.42,38.68,38.94,39.23,39.76,40.11,40.28,40.55,40.86,41.15,41.37,41.71,42,42.33,42.71,42.96,43.33,43.68,43.97
|
39
|
+
Commercial,Yukon,Natural Gas,12.9,13.48,12.18,11.71,11.68,11.38,9.7,8.41,8.37,9.19,8.29,5.7,7.47,7.11,8.36,9.07,9.59,10.13,10.14,10.15,10.16,10.21,10.26,10.33,10.36,10.41,10.38,10.35,10.32,10.29,10.27,10.25,10.25,10.25,10.26,10.26,10.24,10.21,10.19,10.16,10.13,10.1,10.07,10.04,10.01,9.99
|
40
|
+
Commercial,Yukon,Oil,27.57,28.75,30.41,36.23,27.94,30.54,35.71,36.85,35.65,35.77,28.91,24.98,26.91,31.77,31.47,25.27,26.23,28.41,30.48,31.42,32.33,33.33,33.26,33.24,33.14,33.06,33,32.94,32.86,32.8,32.74,32.69,32.68,32.66,32.66,32.65,32.64,32.6,32.58,32.55,32.5,32.45,32.4,32.35,32.3,32.26
|
@@ -27,13 +27,15 @@ class Standard
|
|
27
27
|
#
|
28
28
|
# @param name [String] the name of the Standard to build.
|
29
29
|
# valid choices are: DOE Pre-1980, DOE 1980-2004, 90.1-2004,
|
30
|
-
# 90.1-2007, 90.1-2010, 90.1-2013,
|
30
|
+
# 90.1-2007, 90.1-2010, 90.1-2013, 90.1-2016, 90.1-2019,
|
31
|
+
# NREL ZNE Ready 2017, NECB2011
|
31
32
|
# @example Create a new Standard object by name
|
32
33
|
# standard = Standard.build('NECB2011')
|
33
34
|
def self.build(name)
|
34
35
|
if STANDARDS_LIST[name].nil?
|
35
36
|
raise "ERROR: Did not find a class called '#{name}' to create in #{JSON.pretty_generate(STANDARDS_LIST)}"
|
36
37
|
end
|
38
|
+
|
37
39
|
OpenStudio.logFree(OpenStudio::Info, 'openstudio.standards.standard', "Using OpenStudio Standards version #{OpenstudioStandards::VERSION} with template #{name}.")
|
38
40
|
return STANDARDS_LIST[name].new
|
39
41
|
end
|
@@ -73,7 +75,6 @@ class Standard
|
|
73
75
|
return lookup_name
|
74
76
|
end
|
75
77
|
|
76
|
-
|
77
78
|
# Loads the openstudio standards dataset for this standard.
|
78
79
|
# For standards subclassed from other standards, the lowest-level
|
79
80
|
# data will override data supplied at a higher level.
|
@@ -101,7 +102,7 @@ class Standard
|
|
101
102
|
data.each_pair do |key, objs|
|
102
103
|
# Override the template in inherited files to match the instantiated template
|
103
104
|
objs.each do |obj|
|
104
|
-
if obj.
|
105
|
+
if obj.key?('template')
|
105
106
|
obj['template'] = template
|
106
107
|
end
|
107
108
|
end
|
@@ -115,13 +116,13 @@ class Standard
|
|
115
116
|
end
|
116
117
|
else
|
117
118
|
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.standard', "Loading JSON files from #{data_dir}")
|
118
|
-
files = Dir.glob("#{data_dir}/data/*.json").select {|e| File.file? e}
|
119
|
+
files = Dir.glob("#{data_dir}/data/*.json").select { |e| File.file? e }
|
119
120
|
files.each do |file|
|
120
121
|
data = JSON.parse(File.read(file))
|
121
122
|
data.each_pair do |key, objs|
|
122
123
|
# Override the template in inherited files to match the instantiated template
|
123
124
|
objs.each do |obj|
|
124
|
-
if obj.
|
125
|
+
if obj.key?('template')
|
125
126
|
obj['template'] = template
|
126
127
|
end
|
127
128
|
end
|
@@ -9,7 +9,7 @@ class Add_template_field_to_json
|
|
9
9
|
# Name of file you want this script to produce:
|
10
10
|
out_json_file = './necb_hvac_system_selection_type_mod.json'
|
11
11
|
# What template version do you want to add:
|
12
|
-
template_version = {
|
12
|
+
template_version = { 'template' => 'NECB2011' }
|
13
13
|
# Open the json file and put the data in data_tables:
|
14
14
|
file = File.read(in_json_file)
|
15
15
|
data_tables = JSON.parse(file)
|
@@ -18,5 +18,5 @@ class Add_template_field_to_json
|
|
18
18
|
data_tables['tables'][0]['table'][index] = template_version.merge(data_table)
|
19
19
|
end
|
20
20
|
# Save the modified hash to a the file and location defined in out_json_file
|
21
|
-
File.open(out_json_file,
|
22
|
-
end
|
21
|
+
File.open(out_json_file, 'w') { |each_file| each_file.write(JSON.pretty_generate(data_tables)) }
|
22
|
+
end
|
@@ -2,7 +2,7 @@ require_relative 'minitest_helper'
|
|
2
2
|
require_relative 'create_doe_prototype_helper'
|
3
3
|
require 'json'
|
4
4
|
|
5
|
-
$LOAD_PATH.unshift File.expand_path('
|
5
|
+
$LOAD_PATH.unshift File.expand_path('../../../openstudio-standards/lib', __dir__)
|
6
6
|
def run_dir(test_name)
|
7
7
|
# always generate test output in specially named 'output' directory so result files are not made part of the measure
|
8
8
|
"#{File.dirname(__FILE__)}/output/#{test_name}"
|
@@ -40,30 +40,29 @@ def calculate_max_delta_t(adj_DaySchedule, cur_DaySchedule)
|
|
40
40
|
# elsif (cur_DaySchedule.nil? and cur_DaySchedule.nil?)
|
41
41
|
# return nil
|
42
42
|
# end
|
43
|
-
if
|
44
|
-
raise
|
43
|
+
if cur_DaySchedule.nil? || adj_DaySchedule.nil?
|
44
|
+
raise 'cur_DaySchedule or adj_DaySchedule is nil'
|
45
45
|
return nil
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
0.upto(23) do |hour|
|
49
|
-
time = OpenStudio::Time.new(0,hour,0,0)
|
49
|
+
time = OpenStudio::Time.new(0, hour, 0, 0)
|
50
50
|
difference = (cur_DaySchedule.getValue(time) - adj_DaySchedule.getValue(time)).abs
|
51
51
|
max = difference if difference > max
|
52
52
|
end
|
53
53
|
return max
|
54
|
-
|
55
54
|
end
|
56
55
|
|
57
|
-
#returns -999 if current surface does not have heating OR cooling schedule
|
58
|
-
#returns -997 if all adjacent surfaces does not have BOTH heating AND cooling
|
59
|
-
#returns nil if the surface does not have adjacent surface
|
56
|
+
# returns -999 if current surface does not have heating OR cooling schedule
|
57
|
+
# returns -997 if all adjacent surfaces does not have BOTH heating AND cooling
|
58
|
+
# returns nil if the surface does not have adjacent surface
|
60
59
|
def get_schedule_max_delta_t(model, surface)
|
61
|
-
#find spaces that share that surface.
|
62
|
-
#load the schedules for every day type of the year. for both spaces. If the space is does not have a heating schedule..assume the temperature is the -10C always for now.
|
63
|
-
#iterate through every hour. and determine delta T
|
64
|
-
# Store the max delta T.
|
60
|
+
# find spaces that share that surface.
|
61
|
+
# load the schedules for every day type of the year. for both spaces. If the space is does not have a heating schedule..assume the temperature is the -10C always for now.
|
62
|
+
# iterate through every hour. and determine delta T
|
63
|
+
# Store the max delta T.
|
65
64
|
# end iteration
|
66
|
-
#return max deltaT
|
65
|
+
# return max deltaT
|
67
66
|
cur_space = nil
|
68
67
|
delta_t = -998
|
69
68
|
adjacent_surface_found = false
|
@@ -74,52 +73,54 @@ def get_schedule_max_delta_t(model, surface)
|
|
74
73
|
end
|
75
74
|
end
|
76
75
|
if cur_space.nil?
|
77
|
-
raise
|
76
|
+
raise "Surface: [#{surface.name}] does not belong to any space"
|
78
77
|
end
|
78
|
+
|
79
79
|
model.getSpaces.each do |space|
|
80
80
|
if space == surface.space.get
|
81
81
|
next
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
|
+
surf = BTAP::Geometry::Surfaces.get_surfaces_from_spaces([space])
|
84
85
|
surf.each do |surf|
|
85
86
|
unless surf.adjacentSurface.empty?
|
86
87
|
adj_surface = surf.adjacentSurface.get
|
87
88
|
if adj_surface == surface
|
88
89
|
adjacent_surface_found = true
|
89
|
-
unless space.thermalZone
|
90
|
-
adj_surface_thermal_zone = space.thermalZone
|
91
|
-
cur_surface_thermal_zone = cur_space.thermalZone
|
90
|
+
unless space.thermalZone.empty?
|
91
|
+
adj_surface_thermal_zone = space.thermalZone.get
|
92
|
+
cur_surface_thermal_zone = cur_space.thermalZone.get
|
92
93
|
unless adj_surface_thermal_zone.thermostatSetpointDualSetpoint.empty?
|
93
94
|
adj_thermostat = adj_surface_thermal_zone.thermostatSetpointDualSetpoint.get
|
94
95
|
cur_thermostat = cur_surface_thermal_zone.thermostatSetpointDualSetpoint.get
|
95
|
-
#if current surface does not have a thermostat schedule, then it will return -999 instead of nil because nil is reserved for surfaces without adjacent surface
|
96
|
-
if
|
96
|
+
# if current surface does not have a thermostat schedule, then it will return -999 instead of nil because nil is reserved for surfaces without adjacent surface
|
97
|
+
if cur_thermostat.getHeatingSchedule.empty? || cur_thermostat.getCoolingSchedule.empty?
|
97
98
|
return -999
|
98
99
|
end
|
99
|
-
#after this point current surface should have BOTH heating and cooling schedule
|
100
|
-
#if adjacent surface does not have a heating OR cooling schedule it will be skipped
|
101
|
-
if
|
100
|
+
# after this point current surface should have BOTH heating and cooling schedule
|
101
|
+
# if adjacent surface does not have a heating OR cooling schedule it will be skipped
|
102
|
+
if adj_thermostat.getHeatingSchedule.empty? || adj_thermostat.getCoolingSchedule.empty?
|
102
103
|
next
|
103
104
|
else
|
104
105
|
atleast_one_adjacent_surface_has_schedule = true
|
105
106
|
end
|
106
|
-
|
107
|
-
startDate = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(1), 1,2009)
|
108
|
-
endDate = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(1), 7,2009)
|
109
|
-
|
110
|
-
adj_surface_heating_day_schedule_array = adj_thermostat.getHeatingSchedule
|
111
|
-
adj_surface_cooling_day_schedule_array = adj_thermostat.getCoolingSchedule
|
112
|
-
cur_surface_heating_day_schedule_array = cur_thermostat.getHeatingSchedule
|
113
|
-
cur_surface_cooling_day_schedule_array = cur_thermostat.getCoolingSchedule
|
107
|
+
|
108
|
+
startDate = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(1), 1, 2009)
|
109
|
+
endDate = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(1), 7, 2009)
|
110
|
+
|
111
|
+
adj_surface_heating_day_schedule_array = adj_thermostat.getHeatingSchedule.get.to_ScheduleRuleset.get.getDaySchedules(startDate, endDate) unless adj_thermostat.getHeatingSchedule.empty?
|
112
|
+
adj_surface_cooling_day_schedule_array = adj_thermostat.getCoolingSchedule.get.to_ScheduleRuleset.get.getDaySchedules(startDate, endDate) unless adj_thermostat.getCoolingSchedule.empty?
|
113
|
+
cur_surface_heating_day_schedule_array = cur_thermostat.getHeatingSchedule.get.to_ScheduleRuleset.get.getDaySchedules(startDate, endDate) unless cur_thermostat.getHeatingSchedule.empty?
|
114
|
+
cur_surface_cooling_day_schedule_array = cur_thermostat.getCoolingSchedule.get.to_ScheduleRuleset.get.getDaySchedules(startDate, endDate) unless cur_thermostat.getCoolingSchedule.empty?
|
114
115
|
delta_t = -998
|
115
|
-
heating_delta_t =
|
116
|
+
heating_delta_t = []
|
116
117
|
cooling_delta_t = []
|
117
|
-
1.upto(7)
|
118
|
-
puts
|
119
|
-
puts calculate_max_delta_t(adj_surface_heating_day_schedule_array[i-1],cur_surface_heating_day_schedule_array[i-1])
|
120
|
-
heating_delta_t << calculate_max_delta_t(adj_surface_heating_day_schedule_array[i-1],cur_surface_heating_day_schedule_array[i-1])
|
121
|
-
cooling_delta_t << calculate_max_delta_t(adj_surface_cooling_day_schedule_array[i-1],cur_surface_cooling_day_schedule_array[i-1])
|
122
|
-
|
118
|
+
1.upto(7) do |i|
|
119
|
+
puts 'mee mee mee'
|
120
|
+
puts calculate_max_delta_t(adj_surface_heating_day_schedule_array[i - 1], cur_surface_heating_day_schedule_array[i - 1])
|
121
|
+
heating_delta_t << calculate_max_delta_t(adj_surface_heating_day_schedule_array[i - 1], cur_surface_heating_day_schedule_array[i - 1])
|
122
|
+
cooling_delta_t << calculate_max_delta_t(adj_surface_cooling_day_schedule_array[i - 1], cur_surface_cooling_day_schedule_array[i - 1])
|
123
|
+
end
|
123
124
|
delta_t = [heating_delta_t.max, cooling_delta_t.max].max
|
124
125
|
puts "delta_t: #{delta_t}"
|
125
126
|
end
|
@@ -128,7 +129,7 @@ def get_schedule_max_delta_t(model, surface)
|
|
128
129
|
end
|
129
130
|
end
|
130
131
|
end
|
131
|
-
#adjacent_surface_found ? (atleast_one_adjacent_surface_has_schedule ? (return delta_t) : (return -997)) : (return nil)
|
132
|
+
# adjacent_surface_found ? (atleast_one_adjacent_surface_has_schedule ? (return delta_t) : (return -997)) : (return nil)
|
132
133
|
if adjacent_surface_found
|
133
134
|
if atleast_one_adjacent_surface_has_schedule
|
134
135
|
return delta_t
|
@@ -139,7 +140,7 @@ def get_schedule_max_delta_t(model, surface)
|
|
139
140
|
return nil
|
140
141
|
end
|
141
142
|
end
|
142
|
-
#LargeOffice
|
143
|
+
# LargeOffice
|
143
144
|
class TestNECBSurfaces8426Custom < CreateDOEPrototypeBuildingTest
|
144
145
|
building_types = [
|
145
146
|
'LargeOffice',
|
@@ -149,10 +150,10 @@ class TestNECBSurfaces8426Custom < CreateDOEPrototypeBuildingTest
|
|
149
150
|
'PrimarySchool'
|
150
151
|
]
|
151
152
|
|
152
|
-
templates = [
|
153
|
+
templates = ['NECB 2011']
|
153
154
|
climate_zones = ['NECB HDD Method']
|
154
155
|
epw_files = [
|
155
|
-
# 'CAN_BC_Vancouver.718920_CWEC.epw',# CZ 5 - Gas HDD = 3019
|
156
|
+
# 'CAN_BC_Vancouver.718920_CWEC.epw',# CZ 5 - Gas HDD = 3019
|
156
157
|
# 'CAN_ON_Toronto.716240_CWEC.epw', #CZ 6 - Gas HDD = 4088
|
157
158
|
# 'CAN_PQ_Sherbrooke.716100_CWEC.epw', #CZ 7a - Electric HDD = 5068
|
158
159
|
# 'CAN_YT_Whitehorse.719640_CWEC.epw', #CZ 7b - FuelOil1 HDD = 6946
|
@@ -166,39 +167,38 @@ class TestNECBSurfaces8426Custom < CreateDOEPrototypeBuildingTest
|
|
166
167
|
unless File.exist?(run_dir(test_name))
|
167
168
|
FileUtils.mkdir_p(run_dir(test_name))
|
168
169
|
end
|
169
|
-
#assert(File.exist?(run_dir(test_name)))
|
170
|
+
# assert(File.exist?(run_dir(test_name)))
|
170
171
|
|
171
172
|
if File.exist?(report_path(test_name))
|
172
173
|
FileUtils.rm(report_path(test_name))
|
173
174
|
end
|
174
175
|
|
175
|
-
#assert(File.exist?(model_in_path))
|
176
|
+
# assert(File.exist?(model_in_path))
|
176
177
|
|
177
178
|
if File.exist?(model_out_path(test_name))
|
178
179
|
FileUtils.rm(model_out_path(test_name))
|
179
180
|
end
|
180
181
|
output_folder = "#{File.dirname(__FILE__)}/output/#{test_name}"
|
181
182
|
model = OpenStudio::Model::Model.new
|
182
|
-
model.create_prototype_building(building,'NECB 2011','NECB HDD Method',weather,output_folder)
|
183
|
+
model.create_prototype_building(building, 'NECB 2011', 'NECB HDD Method', weather, output_folder)
|
183
184
|
BTAP::Environment::WeatherFile.new(weather).set_weather_file(model)
|
184
185
|
model.getSpaces.each do |space|
|
185
|
-
#puts space.name
|
186
|
+
# puts space.name
|
186
187
|
hash[:"Space: #{space.name}"] = {}
|
187
188
|
hash[:"Space: #{space.name}"][:"With Adjacent Surface"] = {}
|
188
189
|
hash[:"Space: #{space.name}"][:"No Adjacent surface"] = []
|
189
|
-
surfaces = BTAP::Geometry::Surfaces
|
190
|
+
surfaces = BTAP::Geometry::Surfaces.get_surfaces_from_spaces([space])
|
190
191
|
surfaces.each do |surface|
|
191
192
|
max_delta_t = get_schedule_max_delta_t(model, surface)
|
192
|
-
|
193
|
-
hash[:"Space: #{space.name}"][:"With Adjacent Surface"][:"#{surface.name}"] = max_delta_t
|
194
|
-
else
|
193
|
+
if max_delta_t.nil?
|
195
194
|
hash[:"Space: #{space.name}"][:"No Adjacent surface"] << surface.name
|
195
|
+
else
|
196
|
+
hash[:"Space: #{space.name}"][:"With Adjacent Surface"][:"#{surface.name}"] = max_delta_t
|
196
197
|
end
|
197
198
|
end
|
198
199
|
end
|
199
|
-
#model.save(model_out_path(test_name), true)
|
200
|
-
File.open("#{output_folder}/max_delta_t.json", 'w') {|f| f.write(JSON.pretty_generate(hash)) }
|
200
|
+
# model.save(model_out_path(test_name), true)
|
201
|
+
File.open("#{output_folder}/max_delta_t.json", 'w') { |f| f.write(JSON.pretty_generate(hash)) }
|
201
202
|
end
|
202
203
|
end
|
203
|
-
|
204
204
|
end
|