openstudio-standards 0.2.14 → 0.2.15.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/geometry/ASHRAECollege.json +0 -19
- data/data/geometry/ASHRAEMidriseApartment.json +47 -47
- data/data/geometry/ASHRAESecondarySchool.osm +2 -2
- data/data/standards/OpenStudio_Standards-ashrae_90_1.xlsx +0 -0
- data/data/standards/export_OpenStudio_libraries.rb +1 -1
- data/data/standards/manage_OpenStudio_Standards.rb +43 -87
- data/data/standards/metadata_units_OpenStudio_Standards-ashrae_90_1.csv +9 -0
- data/data/standards/openstudio_standards_duplicates_log.csv +142 -27
- data/data/standards/test_performance_expected_dd_results.csv +2016 -2016
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.ddy +2316 -0
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.epw +8768 -0
- data/data/weather/CAN_NU_Iqaluit.AP.719090_CWEC2016.stat +697 -0
- data/lib/openstudio-standards/btap/WeatherData1.json +54 -0
- data/lib/openstudio-standards/btap/WeatherData1.xlsx +0 -0
- data/lib/openstudio-standards/btap/btap_result.rb +12 -10
- data/lib/openstudio-standards/btap/envelope.rb +2 -2
- data/lib/openstudio-standards/btap/geometry.rb +96 -49
- data/lib/openstudio-standards/{utilities → btap/utilities}/Add_template_field_to_json.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/convert_surfaces_to_adiabatic_necb_8426.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/generate_space_types.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/necb_to_epw_map.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/os_sim_extract.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/rename_surfaces.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/round_surf_coords.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/sched_create.rb +0 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/set_mult_to_adiabatic.rb +0 -0
- data/lib/openstudio-standards/btap/utilities/space_type.rb +78 -0
- data/lib/openstudio-standards/{utilities → btap/utilities}/weatherData1_xlsx_to_json.rb +0 -0
- data/lib/openstudio-standards/hvac_sizing/Siz.AirConditionerVariableRefrigerantFlow.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.HVACComponent.rb +1 -1
- data/lib/openstudio-standards/hvac_sizing/Siz.HeatingCoolingFuels.rb +20 -6
- data/lib/openstudio-standards/hvac_sizing/Siz.Model.rb +6 -6
- data/lib/openstudio-standards/hvac_sizing/Siz.WaterHeaterMixed.rb +2 -2
- data/lib/openstudio-standards/hvac_sizing/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +6 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +6 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.elevators.rb +6 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Model.rb +10 -9
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +9 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Model.rb +17 -16
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +9 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +23 -22
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +9 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +23 -22
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +89 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +9 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +76 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.hvac_systems.rb +22 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.elevators.rb +11 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.CoilHeatingGas.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.elevators.rb +11 -11
- data/lib/openstudio-standards/prototypes/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.HeatExchangerAirToAirSensibleAndLatent.rb +2 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.Model.rb +10 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanConstantVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanOnOff.rb +5 -5
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +5 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerAirToAirSensibleAndLatent.rb +2 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.elevators.rb +11 -7
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +10 -10
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.hvac_systems.rb +4 -2
- data/lib/openstudio-standards/prototypes/cbes/cbes.Model.elevators.rb +3 -6
- data/lib/openstudio-standards/prototypes/cbes/cbes.refrigeration.rb +5 -4
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanConstantVolume.rb +5 -3
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanOnOff.rb +5 -4
- data/lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanVariableVolume.rb +5 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.College.rb +65 -30
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Courthouse.rb +54 -23
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.FullServiceRestaurant.rb +135 -147
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +42 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +85 -12
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Laboratory.rb +42 -30
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterHighITE.rb +39 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeDataCenterLowITE.rb +39 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +60 -12
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +33 -265
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOfficeDetailed.rb +41 -3
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +69 -297
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOfficeDetailed.rb +68 -25
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MidriseApartment.rb +88 -59
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +88 -9
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +48 -10
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.QuickServiceRestaurant.rb +130 -145
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStandalone.rb +29 -101
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.RetailStripmall.rb +24 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +48 -589
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterHighITE.rb +38 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallDataCenterLowITE.rb +38 -8
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallHotel.rb +40 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOffice.rb +85 -171
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +87 -44
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb +46 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperTallBuilding.rb +105 -17
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.TallBuilding.rb +97 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Warehouse.rb +26 -167
- data/lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb +3828 -1131
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +2 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +2 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +2 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +9 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +9 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +3 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoolingTower.rb +4 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +23 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +29 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +29 -5
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +43 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +22 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.HeatExchangerAirToAirSensibleAndLatent.rb +46 -3
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.elevators.rb +27 -22
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.exterior_lights.rb +15 -8
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +22 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +429 -59
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.swh.rb +18 -11
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +11 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +1 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +8 -10
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ServiceWaterHeating.rb +37 -28
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.SizingSystem.rb +24 -6
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +251 -65
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.refrigeration.rb +46 -31
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +62 -10
- data/lib/openstudio-standards/prototypes/common/prototype_metaprogramming.rb +76 -33
- data/lib/openstudio-standards/prototypes/deer/deer.Model.rb +1 -1
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +445 -275
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctParallelPIUReheat.rb +3 -3
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +26 -21
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +5 -2
- data/lib/openstudio-standards/standards/Standards.BuildingStory.rb +7 -9
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +8 -2
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +10 -6
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +5 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +6 -1
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +45 -4
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +18 -8
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +9 -7
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +8 -4
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +86 -3
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +5 -2
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +6 -2
- data/lib/openstudio-standards/standards/Standards.Construction.rb +66 -35
- data/lib/openstudio-standards/standards/Standards.CoolingTower.rb +7 -7
- data/lib/openstudio-standards/standards/Standards.CoolingTowerSingleSpeed.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.CoolingTowerTwoSpeed.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.CoolingTowerVariableSpeed.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.Fan.rb +53 -35
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +22 -16
- data/lib/openstudio-standards/standards/Standards.FluidCooler.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +4 -4
- data/lib/openstudio-standards/standards/Standards.HeatExchangerSensLat.rb +77 -19
- data/lib/openstudio-standards/standards/Standards.Model.rb +387 -245
- data/lib/openstudio-standards/standards/Standards.PlanarSurface.rb +13 -15
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +94 -48
- data/lib/openstudio-standards/standards/Standards.Pump.rb +28 -20
- data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +3 -4
- data/lib/openstudio-standards/standards/Standards.ScheduleCompact.rb +2 -1
- data/lib/openstudio-standards/standards/Standards.ScheduleConstant.rb +2 -0
- data/lib/openstudio-standards/standards/Standards.ScheduleRuleset.rb +34 -24
- data/lib/openstudio-standards/standards/Standards.Space.rb +179 -116
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +23 -12
- data/lib/openstudio-standards/standards/Standards.SubSurface.rb +55 -25
- data/lib/openstudio-standards/standards/Standards.Surface.rb +57 -32
- data/lib/openstudio-standards/standards/Standards.ThermalZone.rb +157 -107
- data/lib/openstudio-standards/standards/Standards.WaterHeaterMixed.rb +9 -6
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +52 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.Standards.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.AirLoopHVAC.rb +28 -18
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/comstock_ashrae_90_1_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/comstock_ashrae_90_1_2004/data/comstock_ashrae_90_1_2004.spc_typ.json +123 -123
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +395 -384
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.AirLoopHVAC.rb +20 -13
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/comstock_ashrae_90_1_2007.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.spc_typ.json +122 -122
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +413 -401
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirLoopHVAC.rb +42 -53
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.FanVariableVolume.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.Space.rb +6 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/comstock_ashrae_90_1_2010.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.spc_typ.json +129 -129
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +210 -42
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +460 -320
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirLoopHVAC.rb +45 -51
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.Space.rb +8 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.WaterHeaterMixed.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.ZoneHVACComponent.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/comstock_ashrae_90_1_2013.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.spc_typ.json +121 -121
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +420 -84
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +12 -12
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +475 -335
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirLoopHVAC.rb +40 -50
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Space.rb +8 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.ZoneHVACComponent.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/comstock_ashrae_90_1_2016.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +152 -128
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.energy_recovery.json +488 -84
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +47 -47
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +342 -56
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Space.rb +25 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ThermalZone.rb +2 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.ZoneHVACComponent.rb +30 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/comstock_ashrae_90_1_2019.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +151 -127
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.boilers.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.energy_recovery.json +2307 -101
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.refrigeration_compressors.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +47 -47
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.unitary_acs.json +69 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +25 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.schedules.json +286 -224
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/comstock_doe_ref_1980_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.ext_ltg.json +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.spc_typ.json +126 -126
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.furnaces.json +26 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +405 -393
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.AirLoopHVAC.rb +15 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/doe_ref_1980_2004.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/comstock_doe_ref_pre_1980.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/ashrae_90_1.schedules.json +696 -2938
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.spc_typ.json +121 -121
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.furnaces.json +37 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.prototype_inputs.json +11 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.refrigeration_system.json +0 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +403 -391
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.AirLoopHVAC.rb +15 -11
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/doe_ref_pre_1980.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/data/nrel_zne_ready_2017.furnaces.json +15 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirLoopHVAC.rb +64 -42
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +4 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.Space.rb +5 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.ZoneHVACComponent.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.rb +4 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/data/ze_aedg_multifamily.furnaces.json +15 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirLoopHVAC.rb +61 -36
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +3 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTower.rb +5 -8
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.CoolingTowerVariableSpeed.rb +2 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.FanVariableVolume.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.HeatExchangerSensLat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Model.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +4 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.Space.rb +6 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.ZoneHVACComponent.rb +3 -0
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes.AirLoopHVAC.rb +20 -14
- data/lib/openstudio-standards/standards/cbes/cbes.PlantLoop.rb +3 -0
- data/lib/openstudio-standards/standards/cbes/cbes.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_pre_1978/cbes_pre_1978.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_1978/cbes_t24_1978.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_1992/cbes_t24_1992.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2001/cbes_t24_2001.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2005/cbes_t24_2005.rb +4 -0
- data/lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer.AirLoopHVAC.rb +10 -5
- data/lib/openstudio-standards/standards/deer/deer.PlanarSurface.rb +1 -1
- data/lib/openstudio-standards/standards/deer/deer.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/comstock_deer_1985.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1985/comstock_deer_1985/data/comstock_deer_1985.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_1985/deer_1985.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/comstock_deer_1996.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_1996/comstock_deer_1996/data/comstock_deer_1996.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_1996/deer_1996.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/comstock_deer_2003.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2003/comstock_deer_2003/data/comstock_deer_2003.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2003/deer_2003.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/comstock_deer_2007.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2007/comstock_deer_2007/data/comstock_deer_2007.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2007/deer_2007.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/comstock_deer_2011.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2011/comstock_deer_2011/data/comstock_deer_2011.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2011/deer_2011.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/comstock_deer_2014.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2014/comstock_deer_2014/data/comstock_deer_2014.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2014/deer_2014.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/comstock_deer_2015.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2015/comstock_deer_2015/data/comstock_deer_2015.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2015/deer_2015.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/comstock_deer_2017.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2017/comstock_deer_2017/data/comstock_deer_2017.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2017/deer_2017.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/comstock_deer_2020/comstock_deer_2020.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2020/deer_2020.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/comstock_deer_2025/comstock_deer_2025.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2025/deer_2025.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/comstock_deer_2030/comstock_deer_2030.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2030/deer_2030.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/comstock_deer_2035/comstock_deer_2035.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2035/deer_2035.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/comstock_deer_2040/comstock_deer_2040.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2040/deer_2040.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/comstock_deer_2045/comstock_deer_2045.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2045/deer_2045.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/comstock_deer_2050/comstock_deer_2050.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2050/deer_2050.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/comstock_deer_2055/comstock_deer_2055.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2055/deer_2055.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/comstock_deer_2060/comstock_deer_2060.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2060/deer_2060.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/comstock_deer_2065/comstock_deer_2065.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2065/deer_2065.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/comstock_deer_2070/comstock_deer_2070.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2070/deer_2070.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/comstock_deer_2075/comstock_deer_2075.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.AirLoopHVAC.rb +9 -5
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.FanVariableVolume.rb +3 -0
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.Space.rb +5 -3
- data/lib/openstudio-standards/standards/deer/deer_2075/deer_2075.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/comstock_deer_pre_1975.rb +4 -0
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/comstock_deer_pre_1975/data/comstock_deer_pre_1975.ext_ltg.json +2 -2
- data/lib/openstudio-standards/standards/deer/deer_pre_1975/deer_pre_1975.rb +4 -0
- data/lib/openstudio-standards/standards/icc_iecc/icc_iecc_2015/icc_iecc_2015.rb +4 -0
- data/lib/openstudio-standards/standards/necb/BTAP1980TO2010/btap_1980to2010.rb +6 -28
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +25 -110
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +45 -60
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +19 -23
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +84 -83
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +52 -47
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +43 -40
- data/lib/openstudio-standards/standards/necb/ECMS/data/boiler_set.json +18 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/chiller_set.json +211 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/curves.json +1195 -20
- data/lib/openstudio-standards/standards/necb/ECMS/data/furnace_set.json +18 -0
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps.json +244 -182
- data/lib/openstudio-standards/standards/necb/ECMS/data/heat_pumps_heating.json +232 -185
- data/lib/openstudio-standards/standards/necb/ECMS/data/shw_set.json +20 -2
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +18 -25
- data/lib/openstudio-standards/standards/necb/ECMS/erv.rb +12 -13
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +1647 -466
- data/lib/openstudio-standards/standards/necb/ECMS/loads.rb +93 -0
- data/lib/openstudio-standards/standards/necb/ECMS/nv.rb +40 -47
- data/lib/openstudio-standards/standards/necb/ECMS/pv_ground.rb +26 -25
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +303 -305
- data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +45 -45
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +90 -120
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/Hospital.osm +1176 -1115
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/LowriseApartment.osm +8279 -28923
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +1173 -1173
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_multi_speed.rb +15 -13
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +32 -29
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +25 -26
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +14 -14
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +24 -29
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +85 -84
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +41 -42
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +209 -197
- data/lib/openstudio-standards/standards/necb/NECB2011/lighting.rb +87 -82
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +510 -406
- data/lib/openstudio-standards/standards/necb/NECB2011/nv.md +3 -3
- data/lib/openstudio-standards/standards/necb/NECB2011/qaqc/necb_qaqc.rb +686 -683
- data/lib/openstudio-standards/standards/necb/NECB2011/service_water_heating.rb +129 -82
- data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +1608 -1608
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +25 -18
- data/lib/openstudio-standards/standards/necb/NECB2015/lighting.rb +73 -67
- data/lib/openstudio-standards/standards/necb/NECB2015/necb_2015.rb +18 -22
- data/lib/openstudio-standards/standards/necb/NECB2015/qaqc/necb_2015_qaqc.rb +59 -63
- data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +1608 -1608
- data/lib/openstudio-standards/standards/necb/NECB2017/hvac_systems.rb +1 -4
- data/lib/openstudio-standards/standards/necb/NECB2017/necb_2017.rb +10 -14
- data/lib/openstudio-standards/standards/necb/NECB2020/building_envelope.rb +779 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/boilers.json +122 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +335 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/constants.json +13 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/furnaces.json +41 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps.json +452 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +164 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_rejection.json +228 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/led_lighting_data.json +2883 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/space_types.json +25851 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/surface_thermal_transmittance.json +60 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +585 -0
- data/lib/openstudio-standards/standards/necb/NECB2020/necb_2020.rb +175 -0
- data/lib/openstudio-standards/standards/necb/common/bc_step_code_indicators.md +10 -0
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +1963 -0
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +410 -0
- data/lib/openstudio-standards/standards/necb/common/neb_end_use_prices.csv +42 -0
- data/lib/openstudio-standards/standards/necb/common/necb_reference_runs.csv +28705 -0
- data/lib/openstudio-standards/standards/necb/common/phius.md +23 -0
- data/lib/openstudio-standards/standards/necb/common/space_type_upgrade_map.json +1158 -386
- data/lib/openstudio-standards/standards/oeesc/oeesc_2014/oeesc_2014.rb +4 -0
- data/lib/openstudio-standards/standards/standard.rb +2 -1
- data/lib/openstudio-standards/utilities/define_thermal_zone_and_mulitpliers.rb +1 -1
- data/lib/openstudio-standards/utilities/logging.rb +6 -0
- data/lib/openstudio-standards/utilities/simulation.rb +30 -14
- data/lib/openstudio-standards/utilities/{speacetype_map_converter.rb → spacetype_map_converter.rb} +0 -0
- data/lib/openstudio-standards/utilities/sqlfile.rb +112 -71
- data/lib/openstudio-standards/version.rb +2 -2
- data/lib/openstudio-standards/weather/Weather.Model.rb +209 -9
- data/lib/openstudio-standards/weather/Weather.stat_file.rb +1 -1
- data/lib/openstudio-standards.rb +9 -0
- metadata +106 -205
- data/data/standards/OpenStudio_Standards-ashrae_90_1-ALL-comstock(space_types).xlsx +0 -0
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.chillers.json +0 -293
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_properties.json +0 -25426
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.economizers.json +0 -564
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps.json +0 -508
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.motors.json +0 -184
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +0 -21446
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.chillers.json +0 -293
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.economizers.json +0 -564
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps.json +0 -466
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +0 -137
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.motors.json +0 -184
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +0 -21380
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.boilers.json +0 -49
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.chillers.json +0 -395
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.economizers.json +0 -592
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.energy_recovery.json +0 -550
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps.json +0 -466
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +0 -137
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.motors.json +0 -238
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +0 -21548
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.unitary_acs.json +0 -554
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.water_source_heat_pumps_heating.json +0 -12
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.boilers.json +0 -64
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.chillers.json +0 -871
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_properties.json +0 -12487
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.construction_sets.json +0 -1600
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.economizers.json +0 -592
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.elevators.json +0 -349
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.energy_recovery.json +0 -1096
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ext_ltg.json +0 -164
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ground_temperatures.json +0 -10663
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps.json +0 -886
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +0 -194
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_rejection.json +0 -44
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.motors.json +0 -247
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.prototype_inputs.json +0 -3094
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_cases.json +0 -829
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.ref_lnup.json +0 -562
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_compressors.json +0 -52
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_condenser.json +0 -220
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_system.json +0 -156
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.refrigeration_walkins.json +0 -1316
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +0 -22079
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.unitary_acs.json +0 -994
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_heaters.json +0 -68
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps.json +0 -28
- data/data/standards/export/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.water_source_heat_pumps_heating.json +0 -12
- data/lib/openstudio-standards/utilities/convert_costing_constructions.rb +0 -105
@@ -0,0 +1,410 @@
|
|
1
|
+
require 'openstudio'
|
2
|
+
require 'securerandom'
|
3
|
+
require 'optparse'
|
4
|
+
require 'yaml'
|
5
|
+
# require 'git-revision'
|
6
|
+
# resource_folder = File.join(__dir__, '..', '..', 'measures/btap_results/resources')
|
7
|
+
# OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
8
|
+
|
9
|
+
class BTAPDatapoint
|
10
|
+
def initialize(input_folder: nil,
|
11
|
+
output_folder: nil,
|
12
|
+
input_folder_cache: File.join(__dir__, 'input_cache'))
|
13
|
+
@failed = false
|
14
|
+
|
15
|
+
# set default input folder.
|
16
|
+
if input_folder.nil?
|
17
|
+
input_folder = File.join(__dir__, 'input')
|
18
|
+
end
|
19
|
+
if output_folder.nil?
|
20
|
+
output_folder = File.join(__dir__, 'output')
|
21
|
+
end
|
22
|
+
|
23
|
+
puts("INPUT FOLDER:#{input_folder}")
|
24
|
+
puts("OUTPUT FOLDER:#{output_folder}")
|
25
|
+
|
26
|
+
# Set local temp cache folders. These are created new for each datapoint.
|
27
|
+
# Location of the datapoint input folder. Could be local, cloud, or VM host.
|
28
|
+
@dp_input_folder = File.join(input_folder)
|
29
|
+
# Location of temp folder, it is always local.
|
30
|
+
@dp_temp_folder = File.join(__dir__, 'temp_folder')
|
31
|
+
|
32
|
+
# Make sure temp folder is always clean.
|
33
|
+
FileUtils.rm_rf(@dp_temp_folder) if Dir.exist?(@dp_temp_folder)
|
34
|
+
FileUtils.mkdir_p(@dp_temp_folder)
|
35
|
+
|
36
|
+
# Create local cache for datapoint folder. Makes everything faster an easier to have a local copy. Mirroring logic
|
37
|
+
# even if running locally to be consistent.
|
38
|
+
FileUtils.rm_rf(input_folder_cache) if Dir.exist?(input_folder_cache)
|
39
|
+
FileUtils.mkdir_p(input_folder_cache)
|
40
|
+
|
41
|
+
# Check if input where input is from.
|
42
|
+
if @dp_input_folder.start_with?('s3:')
|
43
|
+
# Lets dissect the information from the s3 path.
|
44
|
+
m = @dp_input_folder.match(%r{s3://(.*?)/(.*)})
|
45
|
+
puts(m)
|
46
|
+
puts(m[1])
|
47
|
+
puts(m[2])
|
48
|
+
@s3_bucket = m[1]
|
49
|
+
@s3_input_folder_object = m[2]
|
50
|
+
m = output_folder.match(%r{s3://(.*?)/(.*)})
|
51
|
+
puts(m)
|
52
|
+
puts(m[1])
|
53
|
+
puts(m[2])
|
54
|
+
@s3_output_folder_object = m[2]
|
55
|
+
puts("s3_bucket:#{@s3_bucket}")
|
56
|
+
puts("s3_input_folder_object:#{@s3_input_folder_object}")
|
57
|
+
puts("s3_output_folder_object:#{@s3_output_folder_object}")
|
58
|
+
|
59
|
+
s3_copy(source_folder: @dp_input_folder, target_folder: input_folder_cache)
|
60
|
+
else
|
61
|
+
raise("input folder dne:#{@dp_input_folder}") unless Dir.exist?(@dp_input_folder)
|
62
|
+
|
63
|
+
puts @dp_input_folder
|
64
|
+
puts input_folder_cache
|
65
|
+
FileUtils.cp_r(File.join(@dp_input_folder, '.'), input_folder_cache)
|
66
|
+
end
|
67
|
+
run_options_path = File.join(input_folder_cache, 'run_options.yml')
|
68
|
+
raise("Could not read input from #{run_options_path}") unless File.file?(run_options_path)
|
69
|
+
|
70
|
+
@options = YAML.load_file(run_options_path)
|
71
|
+
|
72
|
+
# Location of datapoint output folder. Could be local, cloud, or VM host.
|
73
|
+
@dp_output_folder = File.join(output_folder, @options[:datapoint_id])
|
74
|
+
|
75
|
+
# Show versions in yml file.
|
76
|
+
@options[:btap_costing_git_revision] = Git::Revision.commit_short
|
77
|
+
@options[:os_git_revision] = OpenstudioStandards.git_revision
|
78
|
+
|
79
|
+
# Save configuration to temp folder.
|
80
|
+
File.open(File.join(@dp_temp_folder, 'run_options.yml'), 'w') { |file| file.write(@options.to_yaml) }
|
81
|
+
begin
|
82
|
+
# set up basic model.
|
83
|
+
# This dynamically creates a class by string using the factory method design pattern.
|
84
|
+
@options[:template] = 'NECB2011' if @options[:algorithm_type] == 'osm_batch'
|
85
|
+
@standard = Standard.build(@options[:template])
|
86
|
+
|
87
|
+
# This allows you to select the skeleton model from our built in starting points. You can add a custom file as
|
88
|
+
# it will search the libary first,.
|
89
|
+
# model = load_osm(@options[:building_type]) # loads skeleton file from path.
|
90
|
+
model = @standard.load_building_type_from_library(building_type: @options[:building_type])
|
91
|
+
if false == model
|
92
|
+
osm_model_path = File.absolute_path(File.join(input_folder_cache, @options[:building_type] + '.osm'))
|
93
|
+
raise("File #{osm_model_path} not found") unless File.exist?(osm_model_path)
|
94
|
+
|
95
|
+
model = BTAP::FileIO.load_osm(osm_model_path)
|
96
|
+
end
|
97
|
+
#If analysis type is osm_batch..do nothing to the osm files other than add temporal outputs and weather data.
|
98
|
+
if @options[:algorithm_type] == 'osm_batch'
|
99
|
+
@standard.set_output_variables(model: model, output_variables: @options[:output_variables])
|
100
|
+
@standard.set_output_meters(model: model, output_meters: @options[:output_meters])
|
101
|
+
climate_zone = 'NECB HDD Method'
|
102
|
+
model.getYearDescription.setDayofWeekforStartDay('Sunday')
|
103
|
+
@standard.model_add_design_days_and_weather_file(model, climate_zone, @options[:epw_file]) # Standards
|
104
|
+
@standard.model_add_ground_temperatures(model, nil, climate_zone)
|
105
|
+
else
|
106
|
+
# Otherwise modify osm input with options.
|
107
|
+
@standard.model_apply_standard(model: model,
|
108
|
+
epw_file: @options[:epw_file],
|
109
|
+
sizing_run_dir: File.join(@dp_temp_folder, 'sizing_folder'),
|
110
|
+
primary_heating_fuel: @options[:primary_heating_fuel],
|
111
|
+
dcv_type: @options[:dcv_type], # Four options: @options[: (1) 'NECB_Default', (2) 'No DCV', (3) 'Occupancy-based DCV' , (4) 'CO2-based DCV'
|
112
|
+
lights_type: @options[:lights_type], # Two options: @options[: (1) 'NECB_Default', (2) 'LED'
|
113
|
+
lights_scale: @options[:lights_scale],
|
114
|
+
daylighting_type: @options[:daylighting_type], # Two options: @options[: (1) 'NECB_Default', (2) 'add_daylighting_controls'
|
115
|
+
ecm_system_name: @options[:ecm_system_name],
|
116
|
+
erv_package: @options[:erv_package],
|
117
|
+
boiler_eff: @options[:boiler_eff],
|
118
|
+
# Inconsistent naming Todo Chris K.
|
119
|
+
unitary_cop: @options[:adv_dx_units],
|
120
|
+
furnace_eff: @options[:furnace_eff],
|
121
|
+
shw_eff: @options[:shw_eff],
|
122
|
+
ext_wall_cond: @options[:ext_wall_cond],
|
123
|
+
ext_floor_cond: @options[:ext_floor_cond],
|
124
|
+
ext_roof_cond: @options[:ext_roof_cond],
|
125
|
+
ground_wall_cond: @options[:ground_wall_cond],
|
126
|
+
ground_floor_cond: @options[:ground_floor_cond],
|
127
|
+
ground_roof_cond: @options[:ground_roof_cond],
|
128
|
+
door_construction_cond: @options[:door_construction_cond],
|
129
|
+
fixed_window_cond: @options[:fixed_window_cond],
|
130
|
+
glass_door_cond: @options[:glass_door_cond],
|
131
|
+
overhead_door_cond: @options[:overhead_door_cond],
|
132
|
+
skylight_cond: @options[:skylight_cond],
|
133
|
+
glass_door_solar_trans: @options[:glass_door_solar_trans],
|
134
|
+
fixed_wind_solar_trans: @options[:fixed_wind_solar_trans],
|
135
|
+
skylight_solar_trans: @options[:skylight_solar_trans],
|
136
|
+
fdwr_set: @options[:fdwr_set],
|
137
|
+
srr_set: @options[:srr_set],
|
138
|
+
rotation_degrees: @options[:rotation_degrees],
|
139
|
+
scale_x: @options[:scale_x],
|
140
|
+
scale_y: @options[:scale_y],
|
141
|
+
scale_z: @options[:scale_z],
|
142
|
+
pv_ground_type: @options[:pv_ground_type],
|
143
|
+
pv_ground_total_area_pv_panels_m2: @options[:pv_ground_total_area_pv_panels_m2],
|
144
|
+
pv_ground_tilt_angle: @options[:pv_ground_tilt_angle],
|
145
|
+
pv_ground_azimuth_angle: @options[:pv_ground_azimuth_angle],
|
146
|
+
pv_ground_module_description: @options[:pv_ground_module_description],
|
147
|
+
nv_type: @options[:nv_type],
|
148
|
+
nv_opening_fraction: @options[:nv_opening_fraction],
|
149
|
+
nv_temp_out_min: @options[:nv_temp_out_min],
|
150
|
+
nv_delta_temp_in_out: @options[:nv_delta_temp_in_out],
|
151
|
+
occupancy_loads_scale: @options[:occupancy_loads_scale],
|
152
|
+
electrical_loads_scale: @options[:electrical_loads_scale],
|
153
|
+
oa_scale: @options[:oa_scale],
|
154
|
+
infiltration_scale: @options[:infiltration_scale],
|
155
|
+
chiller_type: @options[:chiller_type],
|
156
|
+
output_variables: @options[:output_variables],
|
157
|
+
output_meters: @options[:output_meters],
|
158
|
+
airloop_economizer_type: @options[:airloop_economizer_type])
|
159
|
+
end
|
160
|
+
|
161
|
+
# Save model to to disk.
|
162
|
+
puts "saving model to #{File.join(@dp_temp_folder, 'output.osm')}"
|
163
|
+
BTAP::FileIO.save_osm(model, File.join(@dp_temp_folder, 'output.osm'))
|
164
|
+
|
165
|
+
# Run annual simulation of model.
|
166
|
+
if @options[:run_annual_simulation]
|
167
|
+
@run_dir = File.join(@dp_temp_folder, 'run_dir')
|
168
|
+
puts "running simulation in #{@run_dir}"
|
169
|
+
@standard.model_run_simulation_and_log_errors(model, @run_dir)
|
170
|
+
#Check if sql file was create.. if not we can't get much output.
|
171
|
+
raise('no sql file found,simulation probably could not start due to error...see error logs.') if model.sqlFile.empty?
|
172
|
+
# Create qaqc file and save it.
|
173
|
+
@qaqc = @standard.init_qaqc(model)
|
174
|
+
command = "SELECT Value
|
175
|
+
FROM TabularDataWithStrings
|
176
|
+
WHERE ReportName='LEEDsummary'
|
177
|
+
AND ReportForString='Entire Facility'
|
178
|
+
AND TableName='Sec1.1A-General Information'
|
179
|
+
AND RowName = 'Principal Heating Source'
|
180
|
+
AND ColumnName='Data'"
|
181
|
+
value = model.sqlFile.get.execAndReturnFirstString(command)
|
182
|
+
# make sure all the data are available
|
183
|
+
@qaqc[:building][:principal_heating_source] = 'unknown'
|
184
|
+
unless value.empty?
|
185
|
+
@qaqc[:building][:principal_heating_source] = value.get
|
186
|
+
end
|
187
|
+
|
188
|
+
if @qaqc[:building][:principal_heating_source] == 'Additional Fuel'
|
189
|
+
model.getPlantLoops.sort.each do |iplantloop|
|
190
|
+
boilers = iplantloop.components.select { |icomponent| icomponent.to_BoilerHotWater.is_initialized }
|
191
|
+
@qaqc[:building][:principal_heating_source] = 'FuelOilNo2' unless boilers.select { |boiler| boiler.to_BoilerHotWater.get.fuelType.to_s == 'FuelOilNo2' }.empty?
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
@qaqc[:aws_datapoint_id] = @options[:datapoint_id]
|
196
|
+
@qaqc[:aws_analysis_id] = @options[:analysis_id]
|
197
|
+
|
198
|
+
# Load the sql file into model
|
199
|
+
sql_path = OpenStudio::Path.new(File.join(@run_dir, 'run/eplusout.sql'))
|
200
|
+
raise(OpenStudio::Error, 'openstudio.model.Model', "Results for the sizing run couldn't be found here: #{sql_path}.") unless OpenStudio.exists(sql_path)
|
201
|
+
|
202
|
+
sql = OpenStudio::SqlFile.new(sql_path)
|
203
|
+
# Check to make sure the sql file is readable,
|
204
|
+
# which won't be true if EnergyPlus crashed during simulation.
|
205
|
+
unless sql.connectionOpen
|
206
|
+
raise(OpenStudio::Error, 'openstudio.model.Model', "The run failed. Look at the eplusout.err file in #{File.dirname(sql_path.to_s)} to see the cause.")
|
207
|
+
return false
|
208
|
+
end
|
209
|
+
# Attach the sql file from the run to the sizing model
|
210
|
+
model.setSqlFile(sql)
|
211
|
+
|
212
|
+
@cost_result = nil
|
213
|
+
if @options[:enable_costing] == true
|
214
|
+
# Perform costing
|
215
|
+
costing = BTAPCosting.new
|
216
|
+
costing.load_database
|
217
|
+
@cost_result, @btap_items = costing.cost_audit_all(model: model, prototype_creator: @standard, template_type: @options[:template])
|
218
|
+
@qaqc[:costing_information] = @cost_result
|
219
|
+
File.open(File.join(@dp_temp_folder, 'cost_results.json'), 'w') { |f| f.write(JSON.pretty_generate(@cost_result, allow_nan: true)) }
|
220
|
+
puts "Wrote File cost_results.json in #{Dir.pwd} "
|
221
|
+
end
|
222
|
+
|
223
|
+
@qaqc[:options] = @options # This is options sent on the command line
|
224
|
+
# BTAPData
|
225
|
+
@btap_data = BTAPData.new(model: model,
|
226
|
+
runner: nil,
|
227
|
+
cost_result: @cost_result,
|
228
|
+
qaqc: @qaqc).btap_data
|
229
|
+
|
230
|
+
# Write Files
|
231
|
+
File.open(File.join(@dp_temp_folder, 'btap_data.json'), 'w') { |f| f.write(JSON.pretty_generate(@btap_data.sort.to_h, allow_nan: true)) }
|
232
|
+
puts "Wrote File btap_data.json in #{Dir.pwd} "
|
233
|
+
|
234
|
+
File.open(File.join(@dp_temp_folder, 'qaqc.json'), 'w') { |f| f.write(JSON.pretty_generate(@qaqc, allow_nan: true)) }
|
235
|
+
puts "Wrote File qaqc.json in #{Dir.pwd} "
|
236
|
+
|
237
|
+
#output hourly data
|
238
|
+
self.output_hourly_data(model,@dp_temp_folder, @options[:datapoint_id])
|
239
|
+
end
|
240
|
+
rescue StandardError => bang
|
241
|
+
puts "Error occured: #{bang}"
|
242
|
+
@bang = bang
|
243
|
+
File.open(File.join(@dp_temp_folder, 'error.txt'), 'w') { |f| f.write(@bang.message + "\n" + @bang.backtrace.join("\n")) }
|
244
|
+
@failed = true
|
245
|
+
ensure # will always get executed
|
246
|
+
if @dp_output_folder.start_with?('s3://')
|
247
|
+
@dp_output_folder = File.join(@s3_output_folder_object, @options[:datapoint_id])
|
248
|
+
s3_copy_folder_to_s3(bucket_name: @s3_bucket,
|
249
|
+
source_folder: @dp_temp_folder,
|
250
|
+
target_folder: @dp_output_folder)
|
251
|
+
else
|
252
|
+
# Copy results to datapoint output folder.
|
253
|
+
@dp_output_folder = File.join(output_folder, @options[:datapoint_id])
|
254
|
+
FileUtils.rm_rf(@dp_output_folder) if Dir.exist?(@dp_output_folder)
|
255
|
+
FileUtils.mkdir_p(@dp_output_folder)
|
256
|
+
FileUtils.cp_r(File.join(@dp_temp_folder, '.'), @dp_output_folder) # Needs dot otherwise will copy temp folder and not just contents.
|
257
|
+
puts "Copied output to your designated output folder in the #{@options[:datapoint_id]} subfolder."
|
258
|
+
end
|
259
|
+
|
260
|
+
# clean temp/cache folder up.
|
261
|
+
FileUtils.rm_rf(input_folder_cache)
|
262
|
+
FileUtils.rm_rf(@dp_temp_folder)
|
263
|
+
if @failed == true
|
264
|
+
raise(@bang)
|
265
|
+
end
|
266
|
+
end
|
267
|
+
end
|
268
|
+
|
269
|
+
def s3_copy_file_to_s3(bucket_name:, source_file:, target_file:, n: 0)
|
270
|
+
require 'aws-sdk-core'
|
271
|
+
require 'aws-sdk-s3'
|
272
|
+
Aws.use_bundled_cert!
|
273
|
+
s3_resource = Aws::S3::Resource.new(region: 'ca-central-1')
|
274
|
+
|
275
|
+
puts("Copying File to S3. source_file:#{source_file} bucket:#{bucket_name} target_folder:#{target_file}")
|
276
|
+
response = nil
|
277
|
+
begin
|
278
|
+
obj = s3_resource.bucket(bucket_name).object(target_file)
|
279
|
+
|
280
|
+
# passing the TempFile object's path is massively faster than passing the TempFile object itself
|
281
|
+
result = obj.upload_file(source_file)
|
282
|
+
|
283
|
+
if result == true
|
284
|
+
puts "Object '#{source_file}' uploaded to bucket '#{bucket_name}'."
|
285
|
+
else
|
286
|
+
puts response
|
287
|
+
raise("Error:Object '#{source_file}' not uploaded to bucket '#{bucket_name}'.")
|
288
|
+
end
|
289
|
+
rescue StandardError => bang
|
290
|
+
# Implementing exponential backoff
|
291
|
+
# Tried 7 times.. give up.
|
292
|
+
if n == 8
|
293
|
+
raise("Giving Up. Failed to submit send file #{source_file} #{target_file} in 8 tries while using exponential backoff. Error was:#{bang}.")
|
294
|
+
end
|
295
|
+
|
296
|
+
# Exponential wait time
|
297
|
+
wait_time = 2**n + rand
|
298
|
+
puts "Implementing exponential backoff for sending #{target_file} for #{wait_time}s. #{n}th try"
|
299
|
+
sleep(wait_time)
|
300
|
+
# Do recursive function.
|
301
|
+
return s3_copy_file_to_s3(bucket_name: bucket_name, source_file: source_file, target_file: target_file, n: n + 1)
|
302
|
+
end
|
303
|
+
return response
|
304
|
+
end
|
305
|
+
|
306
|
+
def s3_copy_folder_to_s3(bucket_name:,
|
307
|
+
source_folder:,
|
308
|
+
target_folder:)
|
309
|
+
puts("Copying Folder to S3. source_folder:#{source_folder} bucket:#{bucket_name} target_folder:#{target_folder}")
|
310
|
+
|
311
|
+
# Iterate over files in folder.
|
312
|
+
Dir[File.join(source_folder, '**/*')].reject { |fn| File.directory?(fn) }.each do |source_file|
|
313
|
+
# Convert to s3 path. Removing source parent folders and replacing with s3 output folder.
|
314
|
+
target_file = File.join(target_folder, source_file.gsub(source_folder, ''))
|
315
|
+
s3_copy_file_to_s3(bucket_name: bucket_name,
|
316
|
+
source_file: source_file,
|
317
|
+
target_file: target_file)
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
def s3_copy(source_folder:,
|
322
|
+
target_folder:)
|
323
|
+
require 'open3'
|
324
|
+
exit_code = nil
|
325
|
+
error = nil
|
326
|
+
Open3.popen2e('aws', 's3', 'cp', source_folder, target_folder, '--recursive') do |stdin, stdout_stderr, wait_thread|
|
327
|
+
error = stdout_stderr.read
|
328
|
+
exit_code = wait_thread.value
|
329
|
+
end
|
330
|
+
if exit_code != 0
|
331
|
+
raise(error)
|
332
|
+
end
|
333
|
+
|
334
|
+
return exit_code
|
335
|
+
end
|
336
|
+
|
337
|
+
|
338
|
+
def output_hourly_data(model, output_folder,datapoint_id)
|
339
|
+
osm_path = File.join(output_folder, "run_dir/in.osm")
|
340
|
+
sql_path = File.join(output_folder, "run_dir/run/eplusout.sql")
|
341
|
+
csv_output = File.join(output_folder, "hourly.csv")
|
342
|
+
|
343
|
+
hours_of_year = []
|
344
|
+
d = Time.new(2006, 1, 1, 1)
|
345
|
+
(0...8760).each do |increment|
|
346
|
+
hours_of_year << (d + (60 * 60) * increment).strftime('%Y-%m-%d %H:%M')
|
347
|
+
end
|
348
|
+
|
349
|
+
|
350
|
+
array_of_hashes = []
|
351
|
+
|
352
|
+
|
353
|
+
#Find hourly outputs available for this datapoint.
|
354
|
+
query = "
|
355
|
+
SELECT ReportDataDictionaryIndex
|
356
|
+
FROM ReportDataDictionary
|
357
|
+
WHERE ReportingFrequency == 'Hourly'
|
358
|
+
"
|
359
|
+
# Get hourly data for each output.
|
360
|
+
model.sqlFile.get.execAndReturnVectorOfInt(query).get.each do |rdd_index|
|
361
|
+
|
362
|
+
#Get Name
|
363
|
+
query = "
|
364
|
+
SELECT Name
|
365
|
+
FROM ReportDataDictionary
|
366
|
+
WHERE ReportDataDictionaryIndex == #{rdd_index}
|
367
|
+
"
|
368
|
+
name = model.sqlFile.get.execAndReturnFirstString(query).get
|
369
|
+
|
370
|
+
#Get KeyValue
|
371
|
+
query = "
|
372
|
+
SELECT KeyValue
|
373
|
+
FROM ReportDataDictionary
|
374
|
+
WHERE ReportDataDictionaryIndex == #{rdd_index}
|
375
|
+
"
|
376
|
+
key_value = model.sqlFile.get.execAndReturnFirstString(query).get
|
377
|
+
|
378
|
+
#Get Units
|
379
|
+
query = "
|
380
|
+
SELECT Units
|
381
|
+
FROM ReportDataDictionary
|
382
|
+
WHERE ReportDataDictionaryIndex == #{rdd_index}
|
383
|
+
"
|
384
|
+
units = model.sqlFile.get.execAndReturnFirstString(query).get
|
385
|
+
|
386
|
+
#Get hourly data
|
387
|
+
query = "
|
388
|
+
Select Value
|
389
|
+
FROM ReportData
|
390
|
+
WHERE
|
391
|
+
ReportDataDictionaryIndex = #{rdd_index}
|
392
|
+
"
|
393
|
+
hourly_values = model.sqlFile.get.execAndReturnVectorOfDouble(query).get
|
394
|
+
|
395
|
+
hourly_hash = Hash[hours_of_year.zip(hourly_values)]
|
396
|
+
|
397
|
+
data_hash = {"datapoint_id": datapoint_id, "Name": name, "KeyValue": key_value, "Units": units}.merge(hourly_hash)
|
398
|
+
array_of_hashes << data_hash
|
399
|
+
end
|
400
|
+
|
401
|
+
CSV.open(csv_output, "wb") do |csv|
|
402
|
+
unless array_of_hashes.empty?
|
403
|
+
csv << array_of_hashes.first.keys # adds the attributes name on the first line
|
404
|
+
array_of_hashes.each do |hash|
|
405
|
+
csv << hash.values
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|
@@ -0,0 +1,42 @@
|
|
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,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
|
41
|
+
|
42
|
+
|