openstudio-standards 0.8.3 → 0.8.5.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/geometry/ASHRAECollege.osm +30 -30
- data/data/geometry/ASHRAECourthouse.osm +22 -22
- data/data/geometry/ASHRAESmallOfficeDetailed.osm +2 -2
- data/data/geometry/DEER_Asm.osm +1 -1
- data/data/geometry/DEER_ECC.osm +1 -1
- data/data/geometry/DEER_EPr.osm +1 -1
- data/data/geometry/DEER_ERC.osm +1 -1
- data/data/geometry/DEER_ESe.osm +1 -1
- data/data/geometry/DEER_EUn.osm +1 -1
- data/data/geometry/DEER_Hsp.osm +1 -1
- data/data/geometry/DEER_Htl.osm +1 -1
- data/data/geometry/DEER_MBT.osm +1 -1
- data/data/geometry/DEER_MFm.osm +1 -1
- data/data/geometry/DEER_Nrs.osm +1 -1
- data/data/geometry/DEER_OfL.osm +1 -1
- data/data/geometry/DEER_OfS.osm +1 -1
- data/data/geometry/DEER_RFF.osm +1 -1
- data/data/geometry/DEER_RSD.osm +1 -1
- data/data/geometry/DEER_Rt3.osm +1 -1
- data/data/geometry/DEER_RtS.osm +1 -1
- data/data/standards/export_OpenStudio_libraries.rb +2 -3
- data/data/standards/test_performance_expected_dd_results.csv +42 -42
- data/lib/openstudio-standards/btap/NECB_building_types.csv +35 -0
- data/lib/openstudio-standards/btap/NECB_space_types.csv +109 -0
- data/lib/openstudio-standards/btap/activity.rb +480 -0
- data/lib/openstudio-standards/btap/attributes.rb +166 -0
- data/lib/openstudio-standards/btap/bridging.rb +561 -1402
- data/lib/openstudio-standards/btap/btap.rb +4 -2
- data/lib/openstudio-standards/btap/btap_test_helper.rb +86 -0
- data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +177 -0
- data/lib/openstudio-standards/btap/common_paths.rb +81 -0
- data/lib/openstudio-standards/btap/common_resources/ConstructionProperties.csv +52 -0
- data/lib/openstudio-standards/btap/common_resources/Constructions.csv +37 -0
- data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
- data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
- data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
- data/lib/openstudio-standards/btap/common_resources/construction_sets.csv +1270 -0
- data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
- data/lib/openstudio-standards/btap/common_resources/constructions_opaque.csv +2256 -0
- data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
- data/lib/openstudio-standards/btap/common_resources/costs_local_factors.csv +2315 -0
- data/lib/openstudio-standards/btap/common_resources/hvac_vent_ahu.csv +925 -0
- data/lib/openstudio-standards/btap/common_resources/lighting.csv +364 -0
- data/lib/openstudio-standards/btap/common_resources/lighting_sets.csv +2667 -0
- data/lib/openstudio-standards/btap/common_resources/locations.csv +75 -0
- data/lib/openstudio-standards/btap/common_resources/materials_glazing.csv +35 -0
- data/lib/openstudio-standards/btap/common_resources/materials_hvac.csv +1686 -0
- data/lib/openstudio-standards/btap/common_resources/materials_lighting.csv +267 -0
- data/lib/openstudio-standards/btap/common_resources/materials_opaque.csv +164 -0
- data/lib/openstudio-standards/btap/costing/README.md +502 -0
- data/lib/openstudio-standards/btap/costing/btap_costing.rb +469 -0
- data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +359 -0
- data/lib/openstudio-standards/btap/costing/btap_workflow.rb +117 -0
- data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +11 -0
- data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +136 -0
- data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +173 -0
- data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +354 -0
- data/lib/openstudio-standards/btap/costing/dcv_costing.rb +314 -0
- data/lib/openstudio-standards/btap/costing/dummy.epw +8768 -0
- data/lib/openstudio-standards/btap/costing/dummy.osm +5320 -0
- data/lib/openstudio-standards/btap/costing/envelope_costing.rb +215 -0
- data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2584 -0
- data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +156 -0
- data/lib/openstudio-standards/btap/costing/lighting_costing.rb +209 -0
- data/lib/openstudio-standards/btap/costing/mech_sizing.json +502 -0
- data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +42 -0
- data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +225 -0
- data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +28705 -0
- data/lib/openstudio-standards/btap/costing/nv_costing.rb +547 -0
- data/lib/openstudio-standards/btap/costing/parallel_tests.rb +92 -0
- data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +687 -0
- data/lib/openstudio-standards/btap/costing/shw_costing.rb +705 -0
- data/lib/openstudio-standards/btap/costing/test_list.txt +15 -0
- data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +27 -0
- data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +80 -0
- data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2616 -0
- data/lib/openstudio-standards/btap/geometry.rb +86 -6
- data/lib/openstudio-standards/btap/structure.rb +657 -0
- data/lib/openstudio-standards/constructions/modify.rb +2 -1
- data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
- data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
- data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
- data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
- data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
- data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
- data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
- data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
- data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
- data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
- data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
- data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
- data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
- data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
- data/lib/openstudio-standards/hvac/components/component.rb +39 -0
- data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
- data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
- data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
- data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
- data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
- data/lib/openstudio-standards/hvac/conversions.rb +222 -0
- data/lib/openstudio-standards/hvac/curves.rb +192 -0
- data/lib/openstudio-standards/hvac/helpers.rb +357 -0
- data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
- data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
- data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
- data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
- data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
- data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
- data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
- data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
- data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
- data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
- data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
- data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
- data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
- data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
- data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
- data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
- data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
- data/lib/openstudio-standards/standards/Standards.Model.rb +45 -20
- data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
- data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
- data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
- data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
- 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 +37 -102
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +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 +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +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 +37 -102
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +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 +45 -109
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +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 +45 -109
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
- 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 +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
- 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 +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +7 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
- data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
- data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +21 -37
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +68 -27
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +64 -25
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +9 -14
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +115 -112
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +637 -249
- data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
- data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
- data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +75 -7
- data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +25 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartmentMult.osm +14272 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
- data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2015_table_c1.json +1 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +437 -437
- data/lib/openstudio-standards/standards/necb/NECB2011/data/systems.json +516 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/systems_including_sys5.json +588 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +489 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +18 -6
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +48 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +35 -27
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +34 -23
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +8 -6
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +68 -150
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +444 -134
- data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +61 -1
- data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
- data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +636 -636
- data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +38 -38
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +17 -8
- data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +636 -636
- data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +71 -71
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
- data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
- data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
- data/lib/openstudio-standards/standards/necb/README.md +343 -0
- data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +206 -32
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +75 -43
- data/lib/openstudio-standards/standards/necb/common/eccc_electric_grid_intensity_20250311.csv +14 -0
- data/lib/openstudio-standards/standards/necb/common/nir_gas_grid_intensity_20250311.csv +14 -0
- data/lib/openstudio-standards/standards/necb/common/system_types.yaml +0 -0
- data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
- data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
- data/lib/openstudio-standards/utilities/logging.rb +18 -14
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/modify.rb +2 -2
- data/lib/openstudio-standards/weather/stat_file.rb +2 -2
- data/lib/openstudio-standards.rb +67 -38
- metadata +141 -50
- data/lib/openstudio-standards/hvac/components/create.rb +0 -169
- data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
- data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
- data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
- data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
- data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
# NECB (National Energy Code for Buildings) Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The NECB (National Energy Code for Buildings) standards module provides comprehensive implementation of Canadian building energy codes. This module represents one of the most complete implementations of a national building energy standard, covering multiple versions of the Canadian National Energy Code for Buildings, vintage building standards, and energy conservation measures.
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
The NECB module is organized into four main categories:
|
|
10
|
+
|
|
11
|
+
1. **NECB Standard Versions** (2011, 2015, 2017, 2020)
|
|
12
|
+
2. **BTAP Vintage Standards** (Pre-1980, 1980-2010)
|
|
13
|
+
3. **Energy Conservation Measures (ECMS)**
|
|
14
|
+
4. **Shared Resources** (Common data, documentation, QAQC)
|
|
15
|
+
|
|
16
|
+
## NECB Standard Versions
|
|
17
|
+
|
|
18
|
+
### NECB2011 - Foundation Implementation
|
|
19
|
+
|
|
20
|
+
#### Core Module: `necb_2011.rb`
|
|
21
|
+
**Most comprehensive NECB implementation with full building system coverage**
|
|
22
|
+
|
|
23
|
+
**Key Features:**
|
|
24
|
+
- Complete climate zone implementation for Canada (8 climate zones)
|
|
25
|
+
- All 8 HVAC system types with both single-speed and multi-speed variants
|
|
26
|
+
- Comprehensive building envelope requirements
|
|
27
|
+
- LED lighting compliance and occupancy sensor controls
|
|
28
|
+
- Service water heating system requirements
|
|
29
|
+
- BEPS (Building Energy Performance Standards) compliance pathways
|
|
30
|
+
- Thermal bridging calculations (TBD integration)
|
|
31
|
+
- Quality assurance and quality control (QAQC) framework
|
|
32
|
+
|
|
33
|
+
**Major Subsystems:**
|
|
34
|
+
|
|
35
|
+
##### HVAC Systems (`hvac_system_*.rb`)
|
|
36
|
+
- **System 1**: Single Zone systems (`hvac_system_1_single_speed.rb`, `hvac_system_1_multi_speed.rb`)
|
|
37
|
+
- **Systems 2 & 5**: Multi-zone VAV systems (`hvac_system_2_and_5.rb`)
|
|
38
|
+
- **Systems 3 & 8**: Single zone heat pumps (`hvac_system_3_and_8_single_speed.rb`, `hvac_system_3_and_8_multi_speed.rb`)
|
|
39
|
+
- **System 4**: Multi-zone VAV with reheat (`hvac_system_4.rb`)
|
|
40
|
+
- **System 6**: Multi-zone VAV with PFP boxes (`hvac_system_6.rb`)
|
|
41
|
+
- **General**: `hvac_systems.rb`, `hvac_namer.rb`
|
|
42
|
+
|
|
43
|
+
##### Building Systems
|
|
44
|
+
- **Envelope**: `building_envelope.rb` - Comprehensive building envelope requirements
|
|
45
|
+
- **Lighting**: `lighting.rb` - Interior lighting power density and controls
|
|
46
|
+
- **Service Water Heating**: `service_water_heating.rb` - Hot water system efficiency requirements
|
|
47
|
+
- **Electrical**: `electrical_power_systems_and_motors.rb` - Motor efficiency requirements
|
|
48
|
+
|
|
49
|
+
##### Specialized Features
|
|
50
|
+
- **Auto-zoning**: `autozone.rb` - Automated thermal zone creation
|
|
51
|
+
- **System Fuels**: `system_fuels.rb` - Fuel type selection and mapping
|
|
52
|
+
- **BEPS Compliance**: `beps_compliance_path.rb` - Building Energy Performance Standards
|
|
53
|
+
|
|
54
|
+
##### Data Resources (`data/`)
|
|
55
|
+
**Extensive JSON database covering:**
|
|
56
|
+
- **Climate & Geography**: `climate_zone_sets.json`, `province_map.json`
|
|
57
|
+
- **Building Envelope**: `materials.json`, `surface_thermal_transmittance.json`
|
|
58
|
+
- **HVAC Equipment**: `boilers.json`, `chillers.json`, `furnaces.json`, `heat_pumps.json`, `unitary_acs.json`
|
|
59
|
+
- **System Selection**: `systems.json`, `necb_hvac_system_selection_type.json`
|
|
60
|
+
- **Energy Efficiency**: `motors.json`, `heat_rejection.json`, `erv.json`
|
|
61
|
+
- **Building Types**: `space_types.json`, `prototype_inputs.json`
|
|
62
|
+
- **Lighting**: `led_lighting_data.json`
|
|
63
|
+
- **Economics**: `regional_fuel_use.json`
|
|
64
|
+
- **Reference Data**: `necb_2015_table_c1.json`, `constants.json`, `formulas.json`
|
|
65
|
+
|
|
66
|
+
##### Quality Assurance (`qaqc/`)
|
|
67
|
+
- **Main Module**: `necb_qaqc.rb` - Comprehensive model validation
|
|
68
|
+
- **Resources**: `qaqc_resources/` - Reference data for validation
|
|
69
|
+
- **Data**: `qaqc_data/` - Expected results for testing
|
|
70
|
+
|
|
71
|
+
### NECB2015 - Enhanced Version
|
|
72
|
+
|
|
73
|
+
#### Core Module: `necb_2015.rb`
|
|
74
|
+
**Updated NECB implementation with enhanced lighting and HVAC systems**
|
|
75
|
+
|
|
76
|
+
**Key Improvements over 2011:**
|
|
77
|
+
- Enhanced lighting power density requirements
|
|
78
|
+
- Updated HVAC system efficiency requirements
|
|
79
|
+
- Refined control strategies
|
|
80
|
+
|
|
81
|
+
**Modules:**
|
|
82
|
+
- **Lighting**: `lighting.rb` - Updated lighting requirements
|
|
83
|
+
- **HVAC**: `hvac_systems.rb` - Enhanced system implementations
|
|
84
|
+
- **QAQC**: `qaqc/necb_2015_qaqc.rb` - Version-specific validation
|
|
85
|
+
|
|
86
|
+
### NECB2017 - System Updates
|
|
87
|
+
|
|
88
|
+
#### Core Module: `necb_2017.rb`
|
|
89
|
+
**Newer version focusing on HVAC system improvements**
|
|
90
|
+
|
|
91
|
+
**Key Features:**
|
|
92
|
+
- Updated HVAC system requirements
|
|
93
|
+
- Enhanced system control strategies
|
|
94
|
+
- Refined equipment efficiency requirements
|
|
95
|
+
|
|
96
|
+
**Modules:**
|
|
97
|
+
- **HVAC**: `hvac_systems.rb` - Updated system implementations
|
|
98
|
+
|
|
99
|
+
### NECB2020 - Latest Version
|
|
100
|
+
|
|
101
|
+
#### Core Module: `necb_2020.rb`
|
|
102
|
+
**Latest NECB implementation with building envelope and service water heating improvements**
|
|
103
|
+
|
|
104
|
+
**Key Features:**
|
|
105
|
+
- Enhanced building envelope performance requirements
|
|
106
|
+
- Updated service water heating efficiency standards
|
|
107
|
+
- Latest building code compliance requirements
|
|
108
|
+
|
|
109
|
+
**Modules:**
|
|
110
|
+
- **Envelope**: `building_envelope.rb` - Updated envelope requirements
|
|
111
|
+
- **Service Water Heating**: `service_water_heating.rb` - Enhanced efficiency requirements
|
|
112
|
+
|
|
113
|
+
## BTAP Vintage Standards
|
|
114
|
+
|
|
115
|
+
### BTAPPRE1980 - Pre-1980 Building Standards
|
|
116
|
+
|
|
117
|
+
#### Core Module: `btap_pre1980.rb`
|
|
118
|
+
**Building performance standards for buildings constructed before 1980**
|
|
119
|
+
|
|
120
|
+
**Purpose:** Historical building analysis and retrofit potential assessment
|
|
121
|
+
|
|
122
|
+
**Key Features:**
|
|
123
|
+
- Legacy building envelope performance levels
|
|
124
|
+
- Historical HVAC system types and efficiencies
|
|
125
|
+
- Vintage building infiltration rates
|
|
126
|
+
- Baseline performance for retrofit analysis
|
|
127
|
+
|
|
128
|
+
**Modules:**
|
|
129
|
+
- **Envelope**: `building_envelope.rb` - Pre-1980 construction standards
|
|
130
|
+
- **HVAC Systems**: Multiple system files for historical equipment types
|
|
131
|
+
- **Data**: `data/` - Historical performance data
|
|
132
|
+
|
|
133
|
+
### BTAP1980TO2010 - Transitional Period Standards
|
|
134
|
+
|
|
135
|
+
#### Core Module: `btap_1980to2010.rb`
|
|
136
|
+
**Building standards for the 1980-2010 construction period**
|
|
137
|
+
|
|
138
|
+
**Purpose:** Bridge between historical and modern building standards
|
|
139
|
+
|
|
140
|
+
**Key Features:**
|
|
141
|
+
- Transitional building envelope requirements
|
|
142
|
+
- Equipment efficiency improvements over pre-1980 era
|
|
143
|
+
- Building code evolution tracking
|
|
144
|
+
|
|
145
|
+
## Energy Conservation Measures (ECMS)
|
|
146
|
+
|
|
147
|
+
### ECMS Framework (`ECMS/`)
|
|
148
|
+
|
|
149
|
+
#### Core Module: `ecms.rb`
|
|
150
|
+
**Energy Conservation Measures implementation framework**
|
|
151
|
+
|
|
152
|
+
**Purpose:** Systematic evaluation and implementation of building energy efficiency measures
|
|
153
|
+
|
|
154
|
+
**Key ECM Categories:**
|
|
155
|
+
|
|
156
|
+
##### HVAC ECMs (`hvac_systems.rb`)
|
|
157
|
+
- Advanced HVAC system configurations
|
|
158
|
+
- High-efficiency equipment options
|
|
159
|
+
- System optimization strategies
|
|
160
|
+
|
|
161
|
+
##### Energy Recovery Ventilation (`erv.rb`)
|
|
162
|
+
- Energy recovery ventilator implementation
|
|
163
|
+
- Heat recovery system integration
|
|
164
|
+
- Ventilation system optimization
|
|
165
|
+
|
|
166
|
+
##### Natural Ventilation (`nv.rb`)
|
|
167
|
+
- Natural ventilation strategies
|
|
168
|
+
- Mixed-mode system implementation
|
|
169
|
+
- Climate-responsive ventilation control
|
|
170
|
+
|
|
171
|
+
##### Renewable Energy (`pv_ground.rb`)
|
|
172
|
+
- Ground-mounted photovoltaic systems
|
|
173
|
+
- Solar energy integration
|
|
174
|
+
- On-site renewable energy generation
|
|
175
|
+
|
|
176
|
+
##### Load Optimization (`loads.rb`)
|
|
177
|
+
- Building load reduction strategies
|
|
178
|
+
- Equipment efficiency improvements
|
|
179
|
+
- Operational optimization measures
|
|
180
|
+
|
|
181
|
+
##### Data Resources (`data/`)
|
|
182
|
+
- ECM performance data
|
|
183
|
+
- Cost-benefit analysis parameters
|
|
184
|
+
- Implementation guidelines
|
|
185
|
+
|
|
186
|
+
## Shared Resources
|
|
187
|
+
|
|
188
|
+
### Common Data and Utilities (`common/`)
|
|
189
|
+
|
|
190
|
+
#### BTAP Integration
|
|
191
|
+
- **`btap_datapoint.rb`**: Large-scale building analysis utilities
|
|
192
|
+
- **`btap_data.rb`**: Common BTAP data handling functions
|
|
193
|
+
|
|
194
|
+
#### Economic and Environmental Data
|
|
195
|
+
- **`national_carbon_price_sched_feb_2025.json`**: Canadian carbon pricing schedules
|
|
196
|
+
- **`utility_pricing_2025-02-20.csv`**: Canadian utility rate data
|
|
197
|
+
- **`neb_end_use_prices.csv`**: End-use energy pricing
|
|
198
|
+
- **`eccc_electric_grid_intensity_20250311.csv`**: Electric grid emissions factors
|
|
199
|
+
- **`nir_gas_grid_intensity_20250311.csv`**: Natural gas grid emissions factors
|
|
200
|
+
|
|
201
|
+
#### Reference Data
|
|
202
|
+
- **`necb_reference_runs.csv`**: Reference building performance data
|
|
203
|
+
- **`space_type_upgrade_map.json`**: Space type transformation mappings
|
|
204
|
+
- **`system_types.yaml`**: HVAC system type definitions
|
|
205
|
+
- **`construction_defaults.osm`**: Default construction assemblies
|
|
206
|
+
|
|
207
|
+
#### Documentation (`docs/`)
|
|
208
|
+
- **`air_system_names_method.md`**: Air system naming conventions
|
|
209
|
+
|
|
210
|
+
#### Specialized Resources
|
|
211
|
+
- **`phius.md`**: Passive House Institute US integration notes
|
|
212
|
+
- **`bc_step_code_indicators.md`**: British Columbia Step Code compliance
|
|
213
|
+
|
|
214
|
+
## Key Features and Capabilities
|
|
215
|
+
|
|
216
|
+
### Climate Zone Implementation
|
|
217
|
+
- **8 Canadian Climate Zones**: Complete implementation from Zone 4 (warmest) to Zone 8 (coldest)
|
|
218
|
+
- **Provincial Mapping**: Automatic climate zone determination by province and city
|
|
219
|
+
- **Weather Data Integration**: Seamless integration with Canadian weather files
|
|
220
|
+
|
|
221
|
+
### HVAC System Types
|
|
222
|
+
**Complete implementation of all 8 NECB system types:**
|
|
223
|
+
|
|
224
|
+
1. **System 1**: Residential/Small Commercial (≤ 25,000 ft²)
|
|
225
|
+
2. **System 2**: Multi-zone VAV with reheat
|
|
226
|
+
3. **System 3**: Single-zone heat pump
|
|
227
|
+
4. **System 4**: VAV with reheat (large buildings)
|
|
228
|
+
5. **System 5**: Packaged VAV with reheat
|
|
229
|
+
6. **System 6**: VAV with PFP boxes and reheat
|
|
230
|
+
7. **System 7**: VAV with hot water reheat
|
|
231
|
+
8. **System 8**: VAV with electric reheat
|
|
232
|
+
|
|
233
|
+
**Each system type includes:**
|
|
234
|
+
- Single-speed and multi-speed equipment options
|
|
235
|
+
- Appropriate control strategies
|
|
236
|
+
- Equipment sizing and selection
|
|
237
|
+
- Energy efficiency requirements
|
|
238
|
+
|
|
239
|
+
### Building Performance Standards (BEPS)
|
|
240
|
+
- **Performance Path Compliance**: Alternative compliance using energy modeling
|
|
241
|
+
- **Prescriptive Path Integration**: Seamless integration with prescriptive requirements
|
|
242
|
+
- **Trade-off Analysis**: Building component performance trade-offs
|
|
243
|
+
- **Compliance Reporting**: Automated compliance documentation
|
|
244
|
+
|
|
245
|
+
### Advanced Features
|
|
246
|
+
|
|
247
|
+
#### Thermal Bridging Integration
|
|
248
|
+
- **TBD Integration**: Heat transfer through thermal bridges
|
|
249
|
+
- **Detailed Heat Transfer**: Beyond simple assembly U-values
|
|
250
|
+
- **Whole Building Performance**: Complete thermal performance assessment
|
|
251
|
+
|
|
252
|
+
#### LED Lighting Compliance
|
|
253
|
+
- **Power Density Requirements**: Automatic lighting power density calculations
|
|
254
|
+
- **Control Integration**: Occupancy sensor and daylight dimming controls
|
|
255
|
+
- **Compliance Verification**: Automated lighting compliance checking
|
|
256
|
+
|
|
257
|
+
#### Quality Assurance Framework
|
|
258
|
+
- **Comprehensive QAQC**: Model validation and quality checking
|
|
259
|
+
- **Expected Results Testing**: Comparison against reference buildings
|
|
260
|
+
- **Performance Verification**: Energy use intensity and component performance validation
|
|
261
|
+
|
|
262
|
+
### Canadian-Specific Features
|
|
263
|
+
|
|
264
|
+
#### Provincial Integration
|
|
265
|
+
- **Provincial Fuel Mapping**: Province-specific fuel type availability
|
|
266
|
+
- **Utility Rate Integration**: Provincial electricity and gas rate structures
|
|
267
|
+
- **Climate Data**: Canadian weather station integration
|
|
268
|
+
|
|
269
|
+
#### Economic Analysis
|
|
270
|
+
- **Regional Cost Factors**: Provincial and regional cost adjustments
|
|
271
|
+
- **Carbon Pricing**: Integration with Canadian carbon pricing policies
|
|
272
|
+
- **Lifecycle Cost Analysis**: Complete economic analysis framework
|
|
273
|
+
|
|
274
|
+
## Usage Patterns
|
|
275
|
+
|
|
276
|
+
### Typical Implementation Workflow
|
|
277
|
+
|
|
278
|
+
1. **Standard Selection**: Choose appropriate NECB version (2011, 2015, 2017, 2020)
|
|
279
|
+
2. **Climate Zone Determination**: Automatic based on building location
|
|
280
|
+
3. **System Type Selection**: Based on building type and size
|
|
281
|
+
4. **Component Specification**: Apply standard-specific requirements
|
|
282
|
+
5. **Performance Verification**: QAQC validation and compliance checking
|
|
283
|
+
|
|
284
|
+
### ECM Evaluation Process
|
|
285
|
+
|
|
286
|
+
1. **Baseline Model**: Create NECB-compliant baseline
|
|
287
|
+
2. **ECM Selection**: Choose from available energy conservation measures
|
|
288
|
+
3. **Performance Modeling**: Model ECM implementation
|
|
289
|
+
4. **Economic Analysis**: Cost-benefit analysis using Canadian data
|
|
290
|
+
5. **Optimization**: Identify optimal ECM combinations
|
|
291
|
+
|
|
292
|
+
### Integration Points
|
|
293
|
+
|
|
294
|
+
- **BTAP Framework**: Complete integration with BTAP costing and analysis
|
|
295
|
+
- **OpenStudio Standards**: Seamless integration with base standards framework
|
|
296
|
+
- **Canadian Data**: Weather, utility, and economic data integration
|
|
297
|
+
|
|
298
|
+
## Dependencies
|
|
299
|
+
|
|
300
|
+
### Internal Dependencies
|
|
301
|
+
- **Base Standards Framework**: Inherits from OpenStudio-Standards base classes
|
|
302
|
+
- **BTAP Integration**: Extensive integration with BTAP utilities and costing
|
|
303
|
+
- **Common Utilities**: Uses shared utility functions and data structures
|
|
304
|
+
|
|
305
|
+
### External Dependencies
|
|
306
|
+
- **OpenStudio SDK**: Building energy modeling capabilities
|
|
307
|
+
- **EnergyPlus**: Energy simulation engine
|
|
308
|
+
- **TBD**: Thermal bridging analysis (optional)
|
|
309
|
+
|
|
310
|
+
### Data Dependencies
|
|
311
|
+
- **Canadian Weather Data**: Environment and Climate Change Canada weather files
|
|
312
|
+
- **Economic Data**: Statistics Canada and provincial utility data
|
|
313
|
+
- **Building Code Data**: National Research Council of Canada standards
|
|
314
|
+
|
|
315
|
+
## Development and Maintenance
|
|
316
|
+
|
|
317
|
+
### Version Evolution
|
|
318
|
+
- **NECB2011**: Foundation implementation (most complete)
|
|
319
|
+
- **NECB2015**: Lighting and HVAC updates
|
|
320
|
+
- **NECB2017**: System control improvements
|
|
321
|
+
- **NECB2020**: Envelope and service water heating updates
|
|
322
|
+
|
|
323
|
+
### Testing Framework
|
|
324
|
+
- **Reference Buildings**: Comprehensive test suite using Canadian reference buildings
|
|
325
|
+
- **Regression Testing**: Automated testing against expected results
|
|
326
|
+
- **Compliance Verification**: Validation against published code requirements
|
|
327
|
+
|
|
328
|
+
### Maintenance Considerations
|
|
329
|
+
- **Code Updates**: Regular updates to reflect changes in Canadian building codes
|
|
330
|
+
- **Data Updates**: Annual updates to utility rates, carbon pricing, and cost data
|
|
331
|
+
- **Weather Data**: Updates to Canadian weather files as available
|
|
332
|
+
|
|
333
|
+
## Canadian Building Code Context
|
|
334
|
+
|
|
335
|
+
The NECB standards module provides the most comprehensive implementation of Canadian building energy requirements available in any building energy modeling tool. It reflects the unique aspects of Canadian building codes:
|
|
336
|
+
|
|
337
|
+
- **Climate-Based Requirements**: Robust climate zone implementation
|
|
338
|
+
- **System Type Flexibility**: Complete range of HVAC system options
|
|
339
|
+
- **Performance-Based Compliance**: Both prescriptive and performance path options
|
|
340
|
+
- **Provincial Variations**: Accommodation of provincial building code differences
|
|
341
|
+
- **Economic Integration**: Canadian-specific cost and economic data
|
|
342
|
+
|
|
343
|
+
This makes the NECB module essential for any building energy analysis work in Canada.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
require 'openstudio'
|
|
2
|
+
|
|
3
|
+
# BTAP Analysis:
|
|
4
|
+
# Class to instantiate post-analysis mechanisms like costing or carbon
|
|
5
|
+
# calculation.
|
|
6
|
+
# Can be done during a simulation or without one given an OSM file and its SQL
|
|
7
|
+
# file, along with a few other parameters.
|
|
8
|
+
|
|
9
|
+
# Abstract class, only instantiate BTAPNoSimAnalysis or BTAPDatapointAnalysis.
|
|
10
|
+
class BTAPAnalysis
|
|
11
|
+
def initialize(output_folder:, template:)
|
|
12
|
+
@output_folder = output_folder
|
|
13
|
+
@template = template
|
|
14
|
+
@cp = CommonPaths.instance
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def run_costing(costs_csv: @cp.costs_path, factors_csv: @cp.costs_local_factors_path)
|
|
18
|
+
costing = BTAPCosting.new(costs_csv: costs_csv, factors_csv: factors_csv, attributes: @attributes)
|
|
19
|
+
|
|
20
|
+
cost_result, btap_items = costing.cost_audit_all(
|
|
21
|
+
model: @model,
|
|
22
|
+
prototype_creator: @standard,
|
|
23
|
+
template_type: @template)
|
|
24
|
+
|
|
25
|
+
if not @qaqc.nil?
|
|
26
|
+
@qaqc[:costing_information] = cost_result
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# disable openstudio-version; for debugging only
|
|
30
|
+
# cost_result["openstudio-version"] = OpenstudioStandards::VERSION
|
|
31
|
+
File.open(File.join(@output_folder, 'cost_results.json'), 'w') do |f|
|
|
32
|
+
f.write(JSON.pretty_generate(cost_result, allow_nan: true))
|
|
33
|
+
end
|
|
34
|
+
puts "Wrote File cost_results.json in #{@output_folder} "
|
|
35
|
+
|
|
36
|
+
return cost_result
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def run_carbon
|
|
40
|
+
carbon = BTAPCarbon.new(attributes: @attributes, standards_data: @standard.standards_data)
|
|
41
|
+
carbon_result = carbon.audit_embodied_carbon
|
|
42
|
+
|
|
43
|
+
if not @qaqc.nil?
|
|
44
|
+
@qaqc[:carbon_information] = carbon_result
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
File.open(File.join(@output_folder, 'carbon_results.json'), 'w') do |f|
|
|
48
|
+
f.write(JSON.pretty_generate(carbon_result, allow_nan: true))
|
|
49
|
+
end
|
|
50
|
+
puts "Wrote File carbon_results.json in #{@output_folder} "
|
|
51
|
+
|
|
52
|
+
return carbon_result
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# For a no-simulation run, the SQL file, template, and datapoint ID must be provided.
|
|
57
|
+
class BTAPNoSimAnalysis < BTAPAnalysis
|
|
58
|
+
def initialize(model_path:, sql_file_path:, output_folder:, template:, datapoint_id:, analysis_id: SecureRandom.uuid)
|
|
59
|
+
super(output_folder: output_folder, template: template)
|
|
60
|
+
@model = BTAP::FileIO.load_osm(model_path)
|
|
61
|
+
@template = template
|
|
62
|
+
@standard = Standard.build(template)
|
|
63
|
+
@datapoint_id = datapoint_id
|
|
64
|
+
@analysis_id = analysis_id
|
|
65
|
+
@attributes = BTAP::Attributes.new(@model, @standard)
|
|
66
|
+
@model.setSqlFile(OpenStudio::SqlFile.new(sql_file_path))
|
|
67
|
+
@qaqc = BTAPDatapoint.build_qaqc(@model, @standard, @datapoint_id, @analysis_id)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class BTAPDatapointAnalysis < BTAPAnalysis
|
|
72
|
+
def initialize(model:, output_folder:, template:, standard:, qaqc:)
|
|
73
|
+
super(output_folder: output_folder, template: template)
|
|
74
|
+
@model = model
|
|
75
|
+
@standard = standard
|
|
76
|
+
@qaqc = qaqc
|
|
77
|
+
@attributes = BTAP::Attributes.new(@model, @standard)
|
|
78
|
+
end
|
|
79
|
+
end
|