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.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAECollege.osm +30 -30
  3. data/data/geometry/ASHRAECourthouse.osm +22 -22
  4. data/data/geometry/ASHRAESmallOfficeDetailed.osm +2 -2
  5. data/data/geometry/DEER_Asm.osm +1 -1
  6. data/data/geometry/DEER_ECC.osm +1 -1
  7. data/data/geometry/DEER_EPr.osm +1 -1
  8. data/data/geometry/DEER_ERC.osm +1 -1
  9. data/data/geometry/DEER_ESe.osm +1 -1
  10. data/data/geometry/DEER_EUn.osm +1 -1
  11. data/data/geometry/DEER_Hsp.osm +1 -1
  12. data/data/geometry/DEER_Htl.osm +1 -1
  13. data/data/geometry/DEER_MBT.osm +1 -1
  14. data/data/geometry/DEER_MFm.osm +1 -1
  15. data/data/geometry/DEER_Nrs.osm +1 -1
  16. data/data/geometry/DEER_OfL.osm +1 -1
  17. data/data/geometry/DEER_OfS.osm +1 -1
  18. data/data/geometry/DEER_RFF.osm +1 -1
  19. data/data/geometry/DEER_RSD.osm +1 -1
  20. data/data/geometry/DEER_Rt3.osm +1 -1
  21. data/data/geometry/DEER_RtS.osm +1 -1
  22. data/data/standards/export_OpenStudio_libraries.rb +2 -3
  23. data/data/standards/test_performance_expected_dd_results.csv +42 -42
  24. data/lib/openstudio-standards/btap/NECB_building_types.csv +35 -0
  25. data/lib/openstudio-standards/btap/NECB_space_types.csv +109 -0
  26. data/lib/openstudio-standards/btap/activity.rb +480 -0
  27. data/lib/openstudio-standards/btap/attributes.rb +166 -0
  28. data/lib/openstudio-standards/btap/bridging.rb +561 -1402
  29. data/lib/openstudio-standards/btap/btap.rb +4 -2
  30. data/lib/openstudio-standards/btap/btap_test_helper.rb +86 -0
  31. data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +177 -0
  32. data/lib/openstudio-standards/btap/common_paths.rb +81 -0
  33. data/lib/openstudio-standards/btap/common_resources/ConstructionProperties.csv +52 -0
  34. data/lib/openstudio-standards/btap/common_resources/Constructions.csv +37 -0
  35. data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
  36. data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
  37. data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
  38. data/lib/openstudio-standards/btap/common_resources/construction_sets.csv +1270 -0
  39. data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
  40. data/lib/openstudio-standards/btap/common_resources/constructions_opaque.csv +2256 -0
  41. data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
  42. data/lib/openstudio-standards/btap/common_resources/costs_local_factors.csv +2315 -0
  43. data/lib/openstudio-standards/btap/common_resources/hvac_vent_ahu.csv +925 -0
  44. data/lib/openstudio-standards/btap/common_resources/lighting.csv +364 -0
  45. data/lib/openstudio-standards/btap/common_resources/lighting_sets.csv +2667 -0
  46. data/lib/openstudio-standards/btap/common_resources/locations.csv +75 -0
  47. data/lib/openstudio-standards/btap/common_resources/materials_glazing.csv +35 -0
  48. data/lib/openstudio-standards/btap/common_resources/materials_hvac.csv +1686 -0
  49. data/lib/openstudio-standards/btap/common_resources/materials_lighting.csv +267 -0
  50. data/lib/openstudio-standards/btap/common_resources/materials_opaque.csv +164 -0
  51. data/lib/openstudio-standards/btap/costing/README.md +502 -0
  52. data/lib/openstudio-standards/btap/costing/btap_costing.rb +469 -0
  53. data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +359 -0
  54. data/lib/openstudio-standards/btap/costing/btap_workflow.rb +117 -0
  55. data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +11 -0
  56. data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +136 -0
  57. data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +173 -0
  58. data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +354 -0
  59. data/lib/openstudio-standards/btap/costing/dcv_costing.rb +314 -0
  60. data/lib/openstudio-standards/btap/costing/dummy.epw +8768 -0
  61. data/lib/openstudio-standards/btap/costing/dummy.osm +5320 -0
  62. data/lib/openstudio-standards/btap/costing/envelope_costing.rb +215 -0
  63. data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2584 -0
  64. data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +156 -0
  65. data/lib/openstudio-standards/btap/costing/lighting_costing.rb +209 -0
  66. data/lib/openstudio-standards/btap/costing/mech_sizing.json +502 -0
  67. data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +42 -0
  68. data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +225 -0
  69. data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +28705 -0
  70. data/lib/openstudio-standards/btap/costing/nv_costing.rb +547 -0
  71. data/lib/openstudio-standards/btap/costing/parallel_tests.rb +92 -0
  72. data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +687 -0
  73. data/lib/openstudio-standards/btap/costing/shw_costing.rb +705 -0
  74. data/lib/openstudio-standards/btap/costing/test_list.txt +15 -0
  75. data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +27 -0
  76. data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +80 -0
  77. data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2616 -0
  78. data/lib/openstudio-standards/btap/geometry.rb +86 -6
  79. data/lib/openstudio-standards/btap/structure.rb +657 -0
  80. data/lib/openstudio-standards/constructions/modify.rb +2 -1
  81. data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
  82. data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
  83. data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
  84. data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
  85. data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
  86. data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
  87. data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
  88. data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
  89. data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
  90. data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
  91. data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
  92. data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
  93. data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
  94. data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
  95. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
  96. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
  97. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
  98. data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
  99. data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
  100. data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
  101. data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
  102. data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
  103. data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
  104. data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
  105. data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
  106. data/lib/openstudio-standards/hvac/components/component.rb +39 -0
  107. data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
  108. data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
  109. data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
  110. data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
  111. data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
  112. data/lib/openstudio-standards/hvac/conversions.rb +222 -0
  113. data/lib/openstudio-standards/hvac/curves.rb +192 -0
  114. data/lib/openstudio-standards/hvac/helpers.rb +357 -0
  115. data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
  116. data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
  117. data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
  118. data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
  119. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
  120. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
  121. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
  122. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
  123. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  124. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  125. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  126. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
  127. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  128. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
  129. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  130. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  131. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
  132. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
  133. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
  134. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
  135. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
  136. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
  137. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
  138. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
  139. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
  140. data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
  141. data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
  142. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
  143. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
  144. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
  145. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
  146. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
  147. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
  148. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
  149. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
  150. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
  151. data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
  152. data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
  153. data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
  154. data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
  155. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
  156. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
  157. data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
  158. data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
  159. data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
  160. data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
  161. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
  162. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
  163. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
  164. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
  165. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
  166. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
  167. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
  168. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
  169. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
  170. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
  171. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
  172. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
  173. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
  174. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
  175. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
  176. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
  177. data/lib/openstudio-standards/standards/Standards.Model.rb +45 -20
  178. data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
  179. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
  180. data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
  181. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
  182. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
  183. data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
  184. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
  185. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
  186. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
  187. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
  188. 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
  189. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
  190. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
  191. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  192. 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
  193. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
  194. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
  195. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  196. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +1 -1
  197. 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
  198. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
  199. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
  200. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  201. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +1 -1
  202. 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
  203. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
  204. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
  205. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
  206. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  207. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
  208. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +1 -1
  209. 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
  210. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
  211. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
  212. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
  213. 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
  214. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
  215. 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
  216. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
  217. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  218. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
  219. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  220. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
  221. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
  222. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
  223. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
  224. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
  225. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
  226. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
  227. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
  228. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +2 -2
  229. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
  230. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
  231. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
  232. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
  233. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
  234. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
  235. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +7 -1
  236. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
  237. data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
  238. data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
  239. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +21 -37
  240. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
  241. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +68 -27
  242. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +64 -25
  243. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +9 -14
  244. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
  245. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
  246. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +115 -112
  247. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +637 -249
  248. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
  249. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
  250. data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
  251. data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +75 -7
  252. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +25 -1
  253. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartmentMult.osm +14272 -0
  254. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
  255. data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2015_table_c1.json +1 -1
  256. data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +437 -437
  257. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems.json +516 -0
  258. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems_including_sys5.json +588 -0
  259. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +489 -0
  260. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +18 -6
  261. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +48 -5
  262. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +2 -2
  263. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +35 -27
  264. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +34 -23
  265. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +8 -6
  266. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +68 -150
  267. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +444 -134
  268. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +61 -1
  269. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
  270. data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +636 -636
  271. data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +38 -38
  272. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +17 -8
  273. data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +636 -636
  274. data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +71 -71
  275. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
  276. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
  277. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
  278. data/lib/openstudio-standards/standards/necb/README.md +343 -0
  279. data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
  280. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +206 -32
  281. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +75 -43
  282. data/lib/openstudio-standards/standards/necb/common/eccc_electric_grid_intensity_20250311.csv +14 -0
  283. data/lib/openstudio-standards/standards/necb/common/nir_gas_grid_intensity_20250311.csv +14 -0
  284. data/lib/openstudio-standards/standards/necb/common/system_types.yaml +0 -0
  285. data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
  286. data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
  287. data/lib/openstudio-standards/utilities/logging.rb +18 -14
  288. data/lib/openstudio-standards/version.rb +1 -1
  289. data/lib/openstudio-standards/weather/modify.rb +2 -2
  290. data/lib/openstudio-standards/weather/stat_file.rb +2 -2
  291. data/lib/openstudio-standards.rb +67 -38
  292. metadata +141 -50
  293. data/lib/openstudio-standards/hvac/components/create.rb +0 -169
  294. data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
  295. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
  296. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
  297. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
  298. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
  299. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
  300. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
  301. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
  302. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
  303. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
  304. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
  305. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
  306. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
  307. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
  308. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
  309. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
  310. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
  311. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
  312. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
  313. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
  314. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
  315. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
  316. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
  317. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
  318. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
  319. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
  320. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
  321. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
  322. data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
  323. data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
  324. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
  325. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
  326. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
  327. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
  328. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
  329. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
  330. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************
2
- # * Copyright (c) 2008-2015, Natural Resources Canada
2
+ # * Copyright (c) 2008-2025, Natural Resources Canada
3
3
  # * All rights reserved.
4
4
  # *
5
5
  # * This library is free software; you can redistribute it and/or
@@ -22,7 +22,10 @@ require 'fileutils'
22
22
  require 'singleton'
23
23
  require 'find'
24
24
  require 'date'
25
+ require_relative 'attributes'
25
26
  require_relative 'fileio'
27
+ require_relative 'activity'
28
+ require_relative 'structure'
26
29
  require_relative 'geometry'
27
30
  require_relative 'envelope'
28
31
  require_relative 'bridging'
@@ -341,4 +344,3 @@ module BTAP
341
344
  end
342
345
  end
343
346
  #module BTAP
344
-
@@ -0,0 +1,86 @@
1
+ require 'fileutils'
2
+ require 'minitest'
3
+
4
+ # BTAPResultsHelper
5
+ # Helper methods for the BtapResults suite of tests.
6
+ class BTAPResultsHelper < Minitest::Test
7
+ @@cached = false
8
+
9
+ def initialize(test_path:, model_name:, run_dir:)
10
+ @test_path = File.expand_path(test_path)
11
+ @test_filename = File.basename(test_path, '.rb')
12
+ @model_name = model_name
13
+ @run_dir = File.expand_path(run_dir)
14
+ cached_folder = ""
15
+ @model_cached_path = cached_folder + "/output.osm"
16
+ @sql_cached_path = cached_folder + "/eplusout.sql"
17
+ end
18
+
19
+ class << self
20
+ def cached
21
+ return @@cached
22
+ end
23
+ end
24
+
25
+ def cache_osm_and_sql(model_path:, sql_path:)
26
+ FileUtils.cp(model_path, @model_cached_path)
27
+ FileUtils.cp(sql_path, @sql_cached_path)
28
+ end
29
+
30
+ def get_analysis(output_folder:, template:)
31
+ return BTAPNoSimAnalysis.new(
32
+ model_path: @model_cached_path,
33
+ sql_file_path: @sql_cached_path,
34
+ output_folder: output_folder,
35
+ template: template,
36
+ datapoint_id: 'test_run')
37
+ end
38
+
39
+ def evaluate_regression_files(test_instance:, cost_result:)
40
+ cost_result_json_path = "#{@run_dir}/cost_results.json"
41
+ cost_list_json_path = "#{@run_dir}/btap_items.json"
42
+ test_instance.assert(File.exist?(cost_result_json_path), "Could not find costing json at this path:#{cost_result_json_path}")
43
+ regression_files_folder = "#{File.dirname(@test_path)}/regression_files"
44
+ expected_result_filename = "#{regression_files_folder}/#{@model_name}_expected_result.cost.json"
45
+ test_result_filename = "#{regression_files_folder}/#{@model_name}_test_result.cost.json"
46
+
47
+ FileUtils.rm(test_result_filename) if File.exist?(test_result_filename)
48
+ if File.exist?(expected_result_filename)
49
+ unless FileUtils.compare_file(cost_result_json_path, expected_result_filename)
50
+ FileUtils.cp(cost_result_json_path, test_result_filename)
51
+ test_instance.assert(false, "Regression test for #{@model_name} produces differences. Examine expected and test result differences in the #{File.dirname(@test_filename)}/regression_files folder ")
52
+ end
53
+ else
54
+ puts "No expected test file...Generating expected file #{expected_result_filename}. Please verify."
55
+ FileUtils.cp(cost_result_json_path, expected_result_filename)
56
+ end
57
+ puts "Regression test for #{@model_name} passed."
58
+
59
+ # Do comparison of direct btap_costing results and those derived from the itemized cost list
60
+ # Check if an itemized cost list file exists. If it exists, do the comparison. If not, Ignore the comparison.
61
+ if File.exist?(cost_list_json_path)
62
+ # Get the itemized cost list file.
63
+ cost_list = JSON.parse(File.read(cost_list_json_path))
64
+ # Cost the building based on the itemized cost list.
65
+ cost_list_output = BTAPCosting.new().cost_list_items(btap_items: cost_list)
66
+ # Get the detailed btap_costing result file:
67
+ cost_result = JSON.parse(File.read(cost_result_json_path))
68
+ cost_sum = cost_result['totals']
69
+ # Compare the results and let the user know if there are differences. Do not fail test if there are.
70
+ puts("")
71
+ puts("Comparing BTAP_Costing results and itemized costing list cost results:")
72
+ puts("Envelope Cost Difference: #{cost_sum['envelope'].to_f - cost_list_output['envelope'].to_f}")
73
+ puts("Lighting Cost Difference: #{cost_sum['lighting'].to_f - cost_list_output['lighting'].to_f}")
74
+ puts("Heating and Cooling Cost Difference: #{cost_sum['heating_and_cooling'].to_f - cost_list_output['heating_and_cooling'].to_f}")
75
+ puts("SHW Cost Difference: #{cost_sum['shw'].to_f - cost_list_output['shw'].to_f}")
76
+ puts("Ventilation Cost Difference: #{cost_sum['ventilation'].to_f - cost_list_output['ventilation'].to_f}")
77
+ cost_sum['renewables'].nil? ? sum_renew = 0.00 : sum_renew = cost_sum['renewables'].to_f
78
+ puts("Renewables Cost Difference: #{sum_renew - cost_list_output['renewables'].to_f}")
79
+ if cost_sum['grand_total'] == cost_list_output['grand_total']
80
+ puts("No difference in costing between BTAP_Costing results and itemized cost list results.")
81
+ else
82
+ puts("Total Cost Difference: #{cost_sum['grand_total'].to_f - cost_list_output['grand_total'].to_f}")
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,177 @@
1
+ class BTAPCarbon
2
+ def initialize(attributes:, standards_data:)
3
+ @carbon_database = {}
4
+ @costing_database = CostingDatabase.instance
5
+ @cp = CommonPaths.instance
6
+ @attributes = attributes
7
+ @carbon_report = {}
8
+ @frame_m_to_kg = standards_data["constants"]["glazing_frame_m_to_kg"]
9
+
10
+ # Build the carbon database.
11
+ carbon_opaque = CSV.read(@cp.carbon_opaque_path)
12
+ @carbon_database["opaque"] = Array.new
13
+
14
+ 1.upto carbon_opaque.length - 1 do |i|
15
+ row = carbon_opaque[i]
16
+ index = row.each
17
+ item = Hash.new
18
+
19
+ item["materials_opaque_id"] = index.next
20
+ item["description"] = index.next
21
+ item["type"] = index.next
22
+ item["quantity"] = index.next.to_f
23
+ item["per m2"] = index.next.to_f
24
+ item["Product Category"] = index.next
25
+ item["Embodied Carbon (A1-A5)"] = index.next.to_f
26
+ item["Embodied Carbon (A-C)"] = index.next.to_f
27
+ item["Environmental Product Declaration (EPD)"] = index.next
28
+
29
+ @carbon_database["opaque"] << item
30
+ end
31
+
32
+ carbon_glazing = CSV.read(@cp.carbon_glazing_path)
33
+ @carbon_database["glazing"] = Array.new
34
+
35
+ 1.upto carbon_glazing.length - 1 do |i|
36
+ row = carbon_glazing[i]
37
+ index = row.each
38
+ item = Hash.new
39
+
40
+ item["materials_glazing_id"] = index.next
41
+ item["description"] = index.next
42
+ item["per m2"] = index.next.to_f
43
+ item["Embodied Carbon (A1-A5)"] = index.next.to_f
44
+ item["Embodied Carbon (A-C)"] = index.next.to_f
45
+ item["Environmental Product Declaration (EPD)"] = index.next
46
+
47
+ @carbon_database["glazing"] << item
48
+ end
49
+
50
+ carbon_frame = CSV.read(@cp.carbon_frame_path)
51
+ @carbon_database["frame"] = Array.new
52
+
53
+ 1.upto carbon_frame.length - 1 do |i|
54
+ row = carbon_frame[i]
55
+ index = row.each
56
+ item = Hash.new
57
+
58
+ item["materials_glazing_id"] = index.next
59
+ item["description"] = index.next
60
+ item["per m2"] = index.next.to_f
61
+ item["Embodied Carbon (A1-A5)"] = index.next.to_f
62
+ item["Embodied Carbon (A-C)"] = index.next.to_f
63
+ item["Environmental Product Declaration (EPD)"] = index.next
64
+
65
+ @carbon_database["frame"] << item
66
+ end
67
+ end
68
+
69
+ def audit_embodied_carbon
70
+ @attributes.surface_types.each do |surface_type|
71
+ @carbon_report["#{surface_type.underscore}_area_m2"] = 0.0
72
+ @carbon_report["#{surface_type.underscore}_carbon"] = 0.0
73
+ end
74
+
75
+ @attributes.spaces.each do |space|
76
+ @attributes.surface_types.each do |surface_type|
77
+ space.surfaces_hash[surface_type].each do |surface|
78
+ surface_area = surface.netArea * space.thermalZone.get.multiplier
79
+ @carbon_report["#{surface_type.underscore}_area_m2"] = \
80
+ (@carbon_report["#{surface_type.underscore}_area_m2"] + surface_area).round(2)
81
+
82
+ # Get the carbon emissions for each material in the space.
83
+ if surface.construction_hash.nil?
84
+ emissions = 0.0
85
+ else
86
+ emissions = get_carbon_emissions(surface.construction_hash, surface, surface_area)
87
+ construction = surface.construction_hash
88
+ end
89
+
90
+ # Calculate the carbon emissions
91
+ @carbon_report["#{surface_type.underscore}_carbon"] = \
92
+ (@carbon_report["#{surface_type.underscore}_carbon"] + emissions).round(2)
93
+ end
94
+ end
95
+ end
96
+
97
+ # Get the total emissions from all the surface types.
98
+ total_emissions = 0
99
+ @attributes.surface_types.each do |surface_type|
100
+ total_emissions += @carbon_report["#{surface_type.underscore}_carbon"]
101
+ end
102
+
103
+ @carbon_report["total"] = total_emissions
104
+ return @carbon_report
105
+ end
106
+
107
+ # Retrieve the carbon emissions given a surface, its construction, and its area.
108
+ def get_carbon_emissions(construction, surface, surface_area)
109
+ total_emissions = 0.0
110
+ materials_file = "materials_#{construction["type"]}"
111
+ id_column = materials_file + "_id"
112
+ id_layers_column = "material_#{construction["type"]}_id_layers"
113
+
114
+ construction[id_layers_column].split(',').each do |material_id|
115
+
116
+ # Locate the material entry in the carbon database
117
+ material_carbon = @carbon_database[construction["type"]].find { |row|
118
+ row[id_column] == material_id }["Embodied Carbon (A-C)"]
119
+
120
+ if material_carbon.nil?
121
+ raise("Error: Could not find material with ID #{material_id} in the carbon database.")
122
+ end
123
+
124
+ # If the material is glazing, the frame must be calculated by retrieving the perimeter of the window
125
+ # and converting according to the correct attributes of the window.
126
+ if construction["type"] == "glazing"
127
+ fenestration_type = construction["fenestration_type"]
128
+
129
+ # Skip skylights and doors since we don't have the data for them.
130
+ # Only consider fixed and operable windows.
131
+ if fenestration_type != "FixedWindow" and fenestration_type != "OperableWindow"
132
+ puts "Fenestration type #{fenestration_type} is not defined for carbon calculation, skipping this component."
133
+ next
134
+ end
135
+
136
+ material_frame = @carbon_database["frame"].find { |row|
137
+ row[id_column] == material_id }["Embodied Carbon (A-C)"]
138
+
139
+ # Get the materials_glazing entry from the costing database to access the number of panes the window has.
140
+ material_costing = @costing_database["raw"][materials_file].find { |row| row[id_column] == material_id }
141
+
142
+ if material_costing.nil?
143
+ raise("Error: Could not find material with ID #{material_id} in the costing database.")
144
+ end
145
+
146
+ fenestration_number_of_panes = material_costing["fenestration_number_of_panes"]
147
+
148
+ # Try to get the correct frame material.
149
+ frame_material = nil
150
+ construction_component = construction["component"].downcase
151
+ construction_description = construction["description"].downcase
152
+ ["vinyl-wood", "plastic", "aluminum"].each do |material|
153
+ if material in construction_component
154
+ frame_material = material
155
+ break
156
+ elsif material in construction_description
157
+ frame_material = material
158
+ break
159
+ end
160
+ end
161
+
162
+ if frame_material.nil?
163
+ raise("Error: Could not find frame material for glazing ID #{material_id} in constructions_glazing.csv.")
164
+ end
165
+
166
+ # Get the conversion factor for the window frame and add it to the total emissions.
167
+ conversion_factor = @frame_m_to_kg[frame_material][fenestration_type][fenestration_number_of_panes]
168
+ perimeter = BTAP::Geometry::Surfaces.getSurfacePerimeterFromVertices(vertices: surface.vertices)
169
+ total_emissions += material_frame * perimeter * conversion_factor
170
+ end
171
+
172
+ total_emissions += material_carbon * surface_area
173
+ end
174
+
175
+ return total_emissions
176
+ end
177
+ end
@@ -0,0 +1,81 @@
1
+ require 'singleton'
2
+
3
+ class CommonPaths
4
+ include Singleton
5
+
6
+ # Raw data
7
+ attr_reader :raw_paths
8
+
9
+ attr_reader :locations_path
10
+ attr_reader :construction_sets_path
11
+ attr_reader :constructions_opaque_path
12
+ attr_reader :materials_opaque_path
13
+ attr_reader :constructions_glazing_path
14
+ attr_reader :materials_glazing_path
15
+ attr_reader :constructions_path
16
+ attr_reader :construction_properties_path
17
+ attr_reader :lighting_sets_path
18
+ attr_reader :lighting_path
19
+ attr_reader :materials_lighting_path
20
+ attr_reader :hvac_vent_ahu_path
21
+ attr_reader :materials_hvac_path
22
+
23
+ # Costing data
24
+ attr_accessor :costs_path
25
+ attr_accessor :costs_local_factors_path
26
+
27
+ # Embodied carbon data
28
+ attr_reader :carbon_opaque_path
29
+ attr_reader :carbon_glazing_path
30
+ attr_reader :carbon_frame_path
31
+
32
+ # Other
33
+ attr_reader :error_log
34
+ attr_reader :cost_output_file
35
+ attr_reader :mech_sizing_data_file
36
+
37
+ def initialize
38
+ dir_database = "#{__dir__}/common_resources"
39
+
40
+ @locations_path = "#{dir_database}/locations.csv"
41
+ @construction_sets_path = "#{dir_database}/construction_sets.csv"
42
+ @constructions_opaque_path = "#{dir_database}/constructions_opaque.csv"
43
+ @materials_opaque_path = "#{dir_database}/materials_opaque.csv"
44
+ @constructions_glazing_path = "#{dir_database}/constructions_glazing.csv"
45
+ @materials_glazing_path = "#{dir_database}/materials_glazing.csv"
46
+ @constructions_path = "#{dir_database}/Constructions.csv"
47
+ @construction_properties_path = "#{dir_database}/ConstructionProperties.csv"
48
+ @lighting_sets_path = "#{dir_database}/lighting_sets.csv"
49
+ @lighting_path = "#{dir_database}/lighting.csv"
50
+ @materials_lighting_path = "#{dir_database}/materials_lighting.csv"
51
+ @hvac_vent_ahu_path = "#{dir_database}/hvac_vent_ahu.csv"
52
+ @materials_hvac_path = "#{dir_database}/materials_hvac.csv"
53
+
54
+ @raw_paths = [
55
+ @locations_path,
56
+ @construction_sets_path,
57
+ @constructions_opaque_path,
58
+ @materials_opaque_path,
59
+ @constructions_glazing_path,
60
+ @materials_glazing_path,
61
+ @constructions_path,
62
+ @construction_properties_path,
63
+ @lighting_sets_path,
64
+ @lighting_path,
65
+ @materials_lighting_path,
66
+ @hvac_vent_ahu_path,
67
+ @materials_hvac_path
68
+ ]
69
+
70
+ @costs_path = "#{dir_database}/costs.csv"
71
+ @costs_local_factors_path = "#{dir_database}/costs_local_factors.csv"
72
+
73
+ @carbon_opaque_path = "#{dir_database}/carbon_opaque.csv"
74
+ @carbon_glazing_path = "#{dir_database}/carbon_glazing.csv"
75
+ @carbon_frame_path = "#{dir_database}/carbon_frame.csv"
76
+
77
+ @error_log = "#{__dir__}/errors.json"
78
+ @cost_output_file = "#{__dir__}/cost_output.json"
79
+ @mech_sizing_data_file = "#{__dir__}/costing/mech_sizing.json"
80
+ end
81
+ end
@@ -0,0 +1,52 @@
1
+ Template,Climate Zone Set,Intended Surface Type,Standards Construction Type,Building Category,Construction,Minimum Percent of Surface,Maximum Percent of Surface,Assembly Maximum U-Value,Assembly Maximum F Factor,Assembly Maximum C Factor,Assembly Maximum Solar Heat Gain Coefficient
2
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorFloor,BTAP-ExteriorFloor-SteelFramed-1,Nonresidential,BTAP - Typical Insulated Steel Framed Exterior Floor-1,,,,,,
3
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorFloor,BTAP-ExteriorFloor-WoodFramed-1,Nonresidential,BTAP - Typical Insulated Wood Framed Exterior Floor-1,,,,,,
4
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-1,Nonresidential,BTAP - Typical IEAD Roof-1,,,,,,
5
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-2,Nonresidential,BTAP - Typical IEAD Roof-2,,,,,,
6
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-3,Nonresidential,BTAP - Typical IEAD Roof-3,,,,,,
7
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-4,Nonresidential,BTAP - Typical IEAD Roof-4,,,,,,
8
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-5,Nonresidential,BTAP - Typical IEAD Roof-5,,,,,,
9
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-IEAD-6,Nonresidential,BTAP - Typical IEAD Roof-6,,,,,,
10
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-Metal-1,Nonresidential,BTAP - Typical Insulated Metal Building Roof-1,,,,,,
11
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,BTAP-ExteriorRoof-Metal-2,Nonresidential,BTAP - Typical Insulated Metal Building Roof-2,,,,,,
12
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-1,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-1,,,,,,
13
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-2,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-2,,,,,,
14
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-3,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-3,,,,,,
15
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-4,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-4,,,,,,
16
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-5,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-5,,,,,,
17
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-6,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-6,,,,,,
18
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-7,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-7,,,,,,
19
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-8,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-8,,,,,,
20
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Mass-9,Nonresidential,BTAP - Typical Insulated Exterior Mass Wall-9,,,,,,
21
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Metal-1,Nonresidential,BTAP - Typical Insulated Metal Building Wall-1,,,,,,
22
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Metal-2,Nonresidential,BTAP - Typical Insulated Metal Building Wall-2,,,,,,
23
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-Metal-3,Nonresidential,BTAP - Typical Insulated Metal Building Wall-3,,,,,,
24
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-SteelFramed-1,Nonresidential,BTAP - Typical Insulated Steel Framed Exterior Wall-1,,,,,,
25
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-WoodFramed-1,Nonresidential,BTAP -Typical Insulated Wood Framed Exterior Wall-1,,,,,,
26
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-WoodFramed-2,Nonresidential,BTAP -Typical Insulated Wood Framed Exterior Wall-2,,,,,,
27
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-WoodFramed-3,Nonresidential,BTAP -Typical Insulated Wood Framed Exterior Wall-3,,,,,,
28
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-WoodFramed-4,Nonresidential,BTAP -Typical Insulated Wood Framed Exterior Wall-4,,,,,,
29
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,BTAP-ExteriorWall-WoodFramed-5,Nonresidential,BTAP -Typical Insulated Wood Framed Exterior Wall-5,,,,,,
30
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactFloor,BTAP-GroundContactFloor-Unheated-1,Nonresidential,BTAP - Typical Insulated Carpeted 8in Slab Floor-1,,,,,,
31
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactRoof,BTAP-GroundContactRoof-Mass-1,Nonresidential,BTAP - Typical Insulated Carpeted 6in Slab Floor,,,,,,
32
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactRoof,BTAP-GroundContactRoof-Mass-2,Nonresidential,BTAP - Typical Insulated Carpeted 6in Slab Floor,,,,,,
33
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactWall,BTAP-GroundContactWall-Mass-1,Nonresidential,BTAP - Typical Insulated Basement Mass Wall-1,,,,,,
34
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactWall,BTAP-GroundContactWall-Mass-2,Nonresidential,BTAP - Typical Insulated Basement Mass Wall-2,,,,,,
35
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWindow,Nonmetal framing (all),Nonresidential,U 0.35 SHGC 0.35 Dbl LoE (e2-.1) Tint 6mm/13mm Air,,,0.35,,,0.4
36
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorDoor,Swinging,Nonresidential,Typical Insulated Metal Door,,,0.7,,,
37
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorDoor,OverheadDoor,Nonresidential,Typical Overhead Door,,,0.5,,,
38
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorFloor,Mass,Nonresidential,Typical Insulated Exterior Mass Floor,,,0.064,,,
39
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorRoof,Metal Building,Nonresidential,Typical Insulated Metal Building Roof,,,0.049,,,
40
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,Mass,Nonresidential,Typical Insulated Exterior Mass Wall,,,0.08,,,
41
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWall,WoodFramed,Nonresidential,Typical Insulated Wood Framed Exterior Wall,,,0.051,,,
42
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorWindow,Metal framing (all other),Nonresidential,U 0.55 SHGC 0.31 Dbl Ref-D Tint 6mm/6mm Air,,,0.55,,,0.4
43
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactFloor,Unheated,Nonresidential,Typical Insulated Carpeted 6in Slab Floor,,,,0.54,,
44
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactWall,Mass,Nonresidential,Typical Insulated Carpeted 6in Slab Floor,,,,,0.119,
45
+ NECB 2011,NECB-CNEB ClimatZone 4-8,Skylight,Glass with Curb,Nonresidential,U 0.48 SHGC 0.40 Dbl Ref-D Clr 6mm/13mm,0.0,2.0,0.5,,,0.19
46
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GroundContactRoof,Mass,Nonresidential,Typical Insulated Carpeted 6in Slab Floor,,,,,0.119,
47
+ NECB 2011,NECB-CNEB ClimatZone 4-8,GlassDoor,Nonmetal framing (all),Nonresidential,U 0.35 SHGC 0.35 Dbl LoE (e2-.1) Tint 6mm/13mm Air,,,0.35,,,0.4
48
+ NECB 2011,NECB-CNEB ClimatZone 4-8,TubularDaylightDome,Glass with Curb,Nonresidential,U 0.48 SHGC 0.40 Dbl Ref-D Clr 6mm/13mm,0.0,2.0,0.5,,,0.19
49
+ NECB 2011,NECB-CNEB ClimatZone 4-8,TubularDaylightDiffuser,Glass with Curb,Nonresidential,U 0.48 SHGC 0.40 Dbl Ref-D Clr 6mm/13mm,0.0,2.0,0.5,,,0.19
50
+ ,,,,Nonresidential,Typical Insulated Steel Framed Exterior Floor,,,,,,
51
+ ,,,,Nonresidential,Typical Insulated Wood Framed Exterior Floor,,,,,,
52
+ NECB 2011,NECB-CNEB ClimatZone 4-8,ExteriorFloor,Mass,Nonresidential,Typical Insulated Exterior Mass Floor,,,0.064,,,
@@ -0,0 +1,37 @@
1
+ Name,Intended Surface Type,Standards Construction Type,Insulation Layer,Material 1,Material 2,Material 3,Material 4,Material 5
2
+ BTAP - Typical Insulated Steel Framed Exterior Floor-1,ExteriorFloor,BTAP-ExteriorFloor-SteelFramed-1,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,Typical Carpet Pad
3
+ BTAP - Typical Insulated Wood Framed Exterior Floor-1,ExteriorFloor,BTAP-ExteriorFloor-WoodFramed-1,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,Typical Carpet Pad
4
+ BTAP - Typical IEAD Roof-1,ExteriorRoof,BTAP-ExteriorRoof-IEAD-1,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
5
+ BTAP - Typical IEAD Roof-2,ExteriorRoof,BTAP-ExteriorRoof-IEAD-2,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
6
+ BTAP - Typical IEAD Roof-3,ExteriorRoof,BTAP-ExteriorRoof-IEAD-3,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
7
+ BTAP - Typical IEAD Roof-4,ExteriorRoof,BTAP-ExteriorRoof-IEAD-4,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
8
+ BTAP - Typical IEAD Roof-5,ExteriorRoof,BTAP-ExteriorRoof-IEAD-5,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
9
+ BTAP - Typical IEAD Roof-6,ExteriorRoof,BTAP-ExteriorRoof-IEAD-6,Typical Insulation,Roof Membrane,Typical Insulation,Metal Roof Surface,,
10
+ BTAP - Typical Insulated Metal Building Roof-1,ExteriorRoof,BTAP-ExteriorRoof-Metal-1,Typical Insulation,Metal Roof Surface,Typical Insulation,,,
11
+ BTAP - Typical Insulated Metal Building Roof-2,ExteriorRoof,BTAP-ExteriorRoof-Metal-2,Typical Insulation,Metal Roof Surface,Typical Insulation,,,
12
+ BTAP - Typical Insulated Exterior Mass Wall-1,ExteriorWall,BTAP-ExteriorWall-Mass-1,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
13
+ BTAP - Typical Insulated Exterior Mass Wall-2,ExteriorWall,BTAP-ExteriorWall-Mass-2,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
14
+ BTAP - Typical Insulated Exterior Mass Wall-3,ExteriorWall,BTAP-ExteriorWall-Mass-3,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
15
+ BTAP - Typical Insulated Exterior Mass Wall-4,ExteriorWall,BTAP-ExteriorWall-Mass-4,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
16
+ BTAP - Typical Insulated Exterior Mass Wall-5,ExteriorWall,BTAP-ExteriorWall-Mass-5,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
17
+ BTAP - Typical Insulated Exterior Mass Wall-6,ExteriorWall,BTAP-ExteriorWall-Mass-6,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
18
+ BTAP - Typical Insulated Exterior Mass Wall-7,ExteriorWall,BTAP-ExteriorWall-Mass-7,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
19
+ BTAP - Typical Insulated Exterior Mass Wall-8,ExteriorWall,BTAP-ExteriorWall-Mass-8,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
20
+ BTAP - Typical Insulated Exterior Mass Wall-9,ExteriorWall,BTAP-ExteriorWall-Mass-9,Typical Insulation,1IN Stucco,8IN CONCRETE HW RefBldg,Typical Insulation,1/2IN Gypsum,
21
+ BTAP - Typical Insulated Metal Building Wall-1,ExteriorWall,BTAP-ExteriorWall-Metal-1,Typical Insulation,Metal Siding,Typical Insulation,1/2IN Gypsum,,
22
+ BTAP - Typical Insulated Metal Building Wall-2,ExteriorWall,BTAP-ExteriorWall-Metal-2,Typical Insulation,Metal Siding,Typical Insulation,1/2IN Gypsum,,
23
+ BTAP - Typical Insulated Metal Building Wall-3,ExteriorWall,BTAP-ExteriorWall-Metal-3,Typical Insulation,Metal Siding,Typical Insulation,1/2IN Gypsum,,
24
+ BTAP - Typical Insulated Steel Framed Exterior Wall-1,ExteriorWall,BTAP-ExteriorWall-SteelFramed-1,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
25
+ BTAP -Typical Insulated Wood Framed Exterior Wall-1,ExteriorWall,BTAP-ExteriorWall-WoodFramed-1,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
26
+ BTAP -Typical Insulated Wood Framed Exterior Wall-2,ExteriorWall,BTAP-ExteriorWall-WoodFramed-2,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
27
+ BTAP -Typical Insulated Wood Framed Exterior Wall-3,ExteriorWall,BTAP-ExteriorWall-WoodFramed-3,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
28
+ BTAP -Typical Insulated Wood Framed Exterior Wall-4,ExteriorWall,BTAP-ExteriorWall-WoodFramed-4,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
29
+ BTAP -Typical Insulated Wood Framed Exterior Wall-5,ExteriorWall,BTAP-ExteriorWall-WoodFramed-5,Typical Insulation,25mm Stucco,5/8 in. Gypsum Board,Typical Insulation,5/8 in. Gypsum Board,
30
+ BTAP - Typical Insulated Carpeted 8in Slab Floor-1,GroundContactFloor,BTAP-GroundContactFloor-Unheated-1,Typical Insulation,Typical Insulation,8 in. Normalweight Concrete Floor,Typical Carpet Pad,,
31
+ BTAP - Typical Insulated Carpeted 6in Slab Floor-1,GroundContactRoof,BTAP-GroundContactRoof-Mass-1,Typical Insulation,Typical Insulation,6 in. Normalweight Concrete Floor,Typical Carpet Pad,,
32
+ BTAP - Typical Insulated Carpeted 6in Slab Floor-2,GroundContactRoof,BTAP-GroundContactRoof-Mass-2,Typical Insulation,Typical Insulation,6 in. Normalweight Concrete Floor,Typical Carpet Pad,,
33
+ BTAP - Typical Insulated Basement Mass Wall-1,GroundContactWall,BTAP-GroundContactWall-Mass-1,Typical Insulation,Typical Insulation,8 in. Concrete Block Basement Wall,,,
34
+ BTAP - Typical Insulated Basement Mass Wall-2,GroundContactWall,BTAP-GroundContactWall-Mass-2,Typical Insulation,Typical Insulation,8 in. Concrete Block Basement Wall,,,
35
+ BTAP - Typical Interior Wall-1,InteriorWall,BTAP-InteriorWall-1,,G01 13mm gypsum board,G01 13mm gypsum board,,,
36
+ BTAP - Typical Interior Window-1,InteriorWindow,BTAP-InteriorWindow-1,,Clear 3mm,,,,
37
+ BTAP - Typical Overhead Door-1,OverheadDoor,BTAP-OverheadDoor-1,Typical Insulation,Typical Insulation,,,,
@@ -0,0 +1,35 @@
1
+ materials_glazing_id,description,per m2,Embodied Carbon (A1-A5),Embodied Carbon (A-C),Environmental Product Declaration (EPD)
2
+ 1,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.577,74.325,81.603,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
3
+ 2,"6' x 7' aluminum patio, tempered glass, zero frame thermal break",2.44,105.126,14.428,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
4
+ 3,"entrance, door 5'x7', opening 12'x7'-6', electric operator, zero frame thermal break",1.21,33.645,14.061,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
5
+ 4,"fixed mall front panels, aluminum finish 48' x 9' opening, zero frame thermal break",0.987,29.979,34.366,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
6
+ 5,"aluminum window: stock 5'x3' including framing and insulated glazing, zero frame thermal break",2.47,73.957,74.74,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
7
+ 6,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.577,61.989,21.861,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
8
+ 7,"6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs, zero frame thermal break",2.45,53.215,79.335,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
9
+ 8,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.577,30.867,38.24,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
10
+ 9,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.577,71.347,75.847,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
11
+ 10,"6' x 7' aluminum patio, tempered glass",2.44,54.103,57.343,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
12
+ 11,"entrance, door 5'x7', opening 12'x7'-6', electric operator",1.21,38.802,64.185,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
13
+ 12,"fixed mall front panels, aluminum finish 48' x 9' opening",0.987,28.019,20.609,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
14
+ 13,aluminum window: stock 5'x3' including framing and insulated glazing,2.47,117.479,40.687,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
15
+ 14,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.577,44.207,49.426,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
16
+ 15,"6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs",2.45,6.292,63.919,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
17
+ 16,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.577,62.329,74.157,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
18
+ 17,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.58,34.727,65.656,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
19
+ 18,"triple glazed U= 1.6 W/m2-K, 6' x 7' aluminum patio, tempered glass",1.12,37.717,56.548,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
20
+ 19,"triple glazed U= 1.6 W/m2-K, entrance, door 5'x7', opening 12'x7'-6', electric operator",1.458,37.961,3.095,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
21
+ 20,"triple glazed U= 1.6 W/m2-K, fixed mall front panels, aluminum finish 48' x 9' opening",1.181,11.762,48.437,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
22
+ 21,"triple glazed U= 1.6 W/m2-K, aluminum window: stock 5'x3' including framing and insulated glazing",1.15,7.371,61.662,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
23
+ 22,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.58,37.711,81.091,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
24
+ 23,"triple glazed U= 1.6 W/m2-K, 6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs",2.95,37.719,12.907,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
25
+ 24,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.58,42.808,9.411,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
26
+ 25,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",2.06,75.551,42.545,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
27
+ 26,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",2.06,74.951,105.124,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
28
+ 27,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",2.06,4.912,84.376,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
29
+ 28,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",2.06,43.099,107.422,"Thermally improved aluminium extrusions (profiles), anodized (Aluminum Extruders Council (AEC))"
30
+ 29,bronze film (glass not included) 20% VLT,0.0,0.0,0.0,
31
+ 30,bronze film (glass not included) 50% VLT,0.0,0.0,0.0,
32
+ 31,Silver film (glass not included) 15% VLT,0.0,0.0,0.0,
33
+ 32,Silver film (glass not included) 35% VLT,0.0,0.0,0.0,
34
+ 33,Silver film (glass not included) 68% VLT,0.0,0.0,0.0,
35
+ 34,Neutral film (glass not included) 20% VLT,0.0,0.0,0.0,
@@ -0,0 +1,35 @@
1
+ materials_glazing_id,description,per m2,Embodied Carbon (A1-A5),Embodied Carbon (A-C),Environmental Product Declaration (EPD)
2
+ 1,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.0,109.812,123.989,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
3
+ 2,"6' x 7' aluminum patio, tempered glass, zero frame thermal break",1.0,108.37,15.261,"Argon gas filled insulating glass unit (IGU) with tempered glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
4
+ 3,"entrance, door 5'x7', opening 12'x7'-6', electric operator, zero frame thermal break",1.0,64.786,27.844,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
5
+ 4,"fixed mall front panels, aluminum finish 48' x 9' opening, zero frame thermal break",1.0,70.769,83.429,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
6
+ 5,"aluminum window: stock 5'x3' including framing and insulated glazing, zero frame thermal break",1.0,69.764,72.504,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
7
+ 6,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.0,91.585,33.216,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
8
+ 7,"6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs, zero frame thermal break",1.0,50.607,77.591,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
9
+ 8,"Windows, aluminum, awning, standard glass, 4'-5"" x 5'-3""",1.0,45.604,58.102,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
10
+ 9,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.0,105.412,115.244,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
11
+ 10,"6' x 7' aluminum patio, tempered glass",1.0,55.773,60.652,"Argon gas filled insulating glass unit (IGU) with tempered glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
12
+ 11,"entrance, door 5'x7', opening 12'x7'-6', electric operator",1.0,74.716,127.103,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
13
+ 12,"fixed mall front panels, aluminum finish 48' x 9' opening",1.0,66.143,50.032,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
14
+ 13,aluminum window: stock 5'x3' including framing and insulated glazing,1.0,110.817,39.47,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
15
+ 14,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.0,65.314,75.099,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
16
+ 15,"6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs",1.0,5.983,62.514,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
17
+ 16,"Windows, aluminum, awning, insulated glass, 4'-5"" x 5'-3""",1.0,92.088,112.675,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
18
+ 17,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.0,51.21,99.57,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
19
+ 18,"triple glazed U= 1.6 W/m2-K, 6' x 7' aluminum patio, tempered glass",1.0,298.056,458.834,"Argon gas filled insulating glass unit (IGU) with one laminated and two tempered glass panes, triple glazed, 10-14-6-14-12.76, 71.9 kg/m2 (One Click LCA)"
20
+ 19,"triple glazed U= 1.6 W/m2-K, entrance, door 5'x7', opening 12'x7'-6', electric operator",1.0,94.614,7.92,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, triple glazed, 4-14-4-14-4, 30 kg/m2 (One Click LCA)"
21
+ 20,"triple glazed U= 1.6 W/m2-K, fixed mall front panels, aluminum finish 48' x 9' opening",1.0,36.191,153.033,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, triple glazed, 4-14-4-14-4, 30 kg/m2 (One Click LCA)"
22
+ 21,"triple glazed U= 1.6 W/m2-K, aluminum window: stock 5'x3' including framing and insulated glazing",1.0,23.291,200.07,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, triple glazed, 4-14-4-14-4, 30 kg/m2 (One Click LCA)"
23
+ 22,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.0,55.61,122.977,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
24
+ 23,"triple glazed U= 1.6 W/m2-K, 6' x 4' picture with insulating glass, 2 lites, low E, finished extensions and jambs",1.0,46.464,16.326,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, triple glazed, 4-14-4-14-4, 30 kg/m2 (One Click LCA)"
25
+ 24,"Windows, aluminum, double hung, insul. glass, 3'-0"" x 4'-0""",1.0,63.127,14.273,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
26
+ 25,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",1.0,85.451,49.487,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
27
+ 26,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",1.0,84.772,122.276,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
28
+ 27,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",1.0,5.556,98.143,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
29
+ 28,"Skylights, non venting, insulated, plexiglass dome with curb mount, 46"" x 46""",1.0,48.746,124.949,"Argon gas filled insulating glass unit (IGU) with clear float glass panes, double glazed, 4-16-4, 20 kg/m2 (One Click LCA)"
30
+ 29,bronze film (glass not included) 20% VLT,0.0,0.0,0.0,
31
+ 30,bronze film (glass not included) 50% VLT,0.0,0.0,0.0,
32
+ 31,Silver film (glass not included) 15% VLT,0.0,0.0,0.0,
33
+ 32,Silver film (glass not included) 35% VLT,0.0,0.0,0.0,
34
+ 33,Silver film (glass not included) 68% VLT,0.0,0.0,0.0,
35
+ 34,Neutral film (glass not included) 20% VLT,0.0,0.0,0.0,