lbt-measures 0.3.2

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 (171) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yaml +63 -0
  3. data/.gitignore +34 -0
  4. data/.releaserc.json +7 -0
  5. data/Gemfile +11 -0
  6. data/LICENSE.md +23 -0
  7. data/README.md +13 -0
  8. data/lbt-measures.gemspec +31 -0
  9. data/lib/efficiency_standard/LICENSE.md +27 -0
  10. data/lib/efficiency_standard/README.md +32 -0
  11. data/lib/efficiency_standard/README.md.erb +42 -0
  12. data/lib/efficiency_standard/measure.rb +142 -0
  13. data/lib/efficiency_standard/measure.xml +70 -0
  14. data/lib/inject_idf/LICENSE.md +27 -0
  15. data/lib/inject_idf/README.md +32 -0
  16. data/lib/inject_idf/README.md.erb +42 -0
  17. data/lib/inject_idf/measure.rb +107 -0
  18. data/lib/inject_idf/measure.xml +72 -0
  19. data/lib/openstudio_results/LICENSE.md +13 -0
  20. data/lib/openstudio_results/README.md +266 -0
  21. data/lib/openstudio_results/README.md.erb +46 -0
  22. data/lib/openstudio_results/measure.rb +384 -0
  23. data/lib/openstudio_results/measure.xml +1546 -0
  24. data/lib/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +82 -0
  25. data/lib/openstudio_results/resources/Siz.AirLoopHVAC.rb +23 -0
  26. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass.rb +66 -0
  27. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +66 -0
  28. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +108 -0
  29. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitarySystem.rb +84 -0
  30. data/lib/openstudio_results/resources/Siz.AirTerminalDualDuctVAV.rb +23 -0
  31. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeCooledBeam.rb +40 -0
  32. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction.rb +84 -0
  33. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeReheat.rb +45 -0
  34. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctParallelPIUReheat.rb +46 -0
  35. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctSeriesPIUReheat.rb +46 -0
  36. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctUncontrolled.rb +23 -0
  37. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat.rb +23 -0
  38. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat.rb +45 -0
  39. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVNoReheat.rb +23 -0
  40. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVReheat.rb +45 -0
  41. data/lib/openstudio_results/resources/Siz.BoilerHotWater.rb +46 -0
  42. data/lib/openstudio_results/resources/Siz.BoilerSteam.rb +29 -0
  43. data/lib/openstudio_results/resources/Siz.ChillerAbsorption.rb +40 -0
  44. data/lib/openstudio_results/resources/Siz.ChillerAbsorptionIndirect.rb +40 -0
  45. data/lib/openstudio_results/resources/Siz.ChillerElectricEIR.rb +69 -0
  46. data/lib/openstudio_results/resources/Siz.ChillerHeaterPerformanceElectricEIR.rb +52 -0
  47. data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +32 -0
  48. data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +49 -0
  49. data/lib/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +47 -0
  50. data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +50 -0
  51. data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb +100 -0
  52. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +40 -0
  53. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeed.rb +40 -0
  54. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeedSpeedData.rb +13 -0
  55. data/lib/openstudio_results/resources/Siz.CoilCoolingLowTempRadiantVarFlow.rb +18 -0
  56. data/lib/openstudio_results/resources/Siz.CoilCoolingWater.rb +40 -0
  57. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +63 -0
  58. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
  59. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
  60. data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +32 -0
  61. data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeedStageData.rb +46 -0
  62. data/lib/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +46 -0
  63. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +40 -0
  64. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeed.rb +40 -0
  65. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeedSpeedData.rb +12 -0
  66. data/lib/openstudio_results/resources/Siz.CoilHeatingDesuperheater.rb +12 -0
  67. data/lib/openstudio_results/resources/Siz.CoilHeatingElectric.rb +29 -0
  68. data/lib/openstudio_results/resources/Siz.CoilHeatingGas.rb +29 -0
  69. data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStage.rb +14 -0
  70. data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStageStageData.rb +29 -0
  71. data/lib/openstudio_results/resources/Siz.CoilHeatingLowTempRadiantVarFlow.rb +18 -0
  72. data/lib/openstudio_results/resources/Siz.CoilHeatingWater.rb +40 -0
  73. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboard.rb +40 -0
  74. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboardRadiant.rb +40 -0
  75. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +63 -0
  76. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
  77. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
  78. data/lib/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +47 -0
  79. data/lib/openstudio_results/resources/Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb +12 -0
  80. data/lib/openstudio_results/resources/Siz.CoilSystemCoolingWaterHeatExchangerAssisted.rb +12 -0
  81. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPump.rb +46 -0
  82. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped.rb +12 -0
  83. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingDesuperheater.rb +12 -0
  84. data/lib/openstudio_results/resources/Siz.ControllerOutdoorAir.rb +23 -0
  85. data/lib/openstudio_results/resources/Siz.CoolingTowerSingleSpeed.rb +40 -0
  86. data/lib/openstudio_results/resources/Siz.CoolingTowerTwoSpeed.rb +40 -0
  87. data/lib/openstudio_results/resources/Siz.CoolingTowerVariableSpeed.rb +40 -0
  88. data/lib/openstudio_results/resources/Siz.DistrictCooling.rb +23 -0
  89. data/lib/openstudio_results/resources/Siz.DistrictHeating.rb +23 -0
  90. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterLookUpTable.rb +17 -0
  91. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterSimple.rb +12 -0
  92. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageConverter.rb +12 -0
  93. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageSimple.rb +13 -0
  94. data/lib/openstudio_results/resources/Siz.EvaporativeCoolerDirectResearchSpecial.rb +29 -0
  95. data/lib/openstudio_results/resources/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +32 -0
  96. data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerSingleSpeed.rb +40 -0
  97. data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerTwoSpeed.rb +40 -0
  98. data/lib/openstudio_results/resources/Siz.FanConstantVolume.rb +31 -0
  99. data/lib/openstudio_results/resources/Siz.FanOnOff.rb +31 -0
  100. data/lib/openstudio_results/resources/Siz.FanSystemModel.rb +31 -0
  101. data/lib/openstudio_results/resources/Siz.FanVariableVolume.rb +31 -0
  102. data/lib/openstudio_results/resources/Siz.FanZoneExhaust.rb +13 -0
  103. data/lib/openstudio_results/resources/Siz.FluidCoolerSingleSpeed.rb +40 -0
  104. data/lib/openstudio_results/resources/Siz.FluidCoolerTwoSpeed.rb +40 -0
  105. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellElectricalStorage.rb +13 -0
  106. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellInverter.rb +12 -0
  107. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellPowerModule.rb +12 -0
  108. data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbine.rb +12 -0
  109. data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbineHeatRecovery.rb +12 -0
  110. data/lib/openstudio_results/resources/Siz.HVACComponent.rb +127 -0
  111. data/lib/openstudio_results/resources/Siz.HeaderedPumpsConstantSpeed.rb +30 -0
  112. data/lib/openstudio_results/resources/Siz.HeaderedPumpsVariableSpeed.rb +30 -0
  113. data/lib/openstudio_results/resources/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +36 -0
  114. data/lib/openstudio_results/resources/Siz.HeatExchangerFluidToFluid.rb +23 -0
  115. data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitCooling.rb +40 -0
  116. data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitHeating.rb +40 -0
  117. data/lib/openstudio_results/resources/Siz.HumidifierSteamElectric.rb +23 -0
  118. data/lib/openstudio_results/resources/Siz.Model.rb +134 -0
  119. data/lib/openstudio_results/resources/Siz.ModelObject.rb +40 -0
  120. data/lib/openstudio_results/resources/Siz.PhotovoltaicPerformanceSimple.rb +12 -0
  121. data/lib/openstudio_results/resources/Siz.PlantComponentTemperatureSource.rb +23 -0
  122. data/lib/openstudio_results/resources/Siz.PlantLoop.rb +40 -0
  123. data/lib/openstudio_results/resources/Siz.PumpConstantSpeed.rb +30 -0
  124. data/lib/openstudio_results/resources/Siz.PumpVariableSpeed.rb +30 -0
  125. data/lib/openstudio_results/resources/Siz.RefrigerationSecondarySystem.rb +12 -0
  126. data/lib/openstudio_results/resources/Siz.RefrigerationSystem.rb +12 -0
  127. data/lib/openstudio_results/resources/Siz.RefrigerationTranscriticalSystem.rb +13 -0
  128. data/lib/openstudio_results/resources/Siz.SizingSystem.rb +57 -0
  129. data/lib/openstudio_results/resources/Siz.SolarCollectorFlatPlatePhotovoltaicThermal.rb +23 -0
  130. data/lib/openstudio_results/resources/Siz.SolarCollectorPerformancePhotovoltaicThermalSimple.rb +12 -0
  131. data/lib/openstudio_results/resources/Siz.ThermalStorageChilledWaterStratified.rb +30 -0
  132. data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPump.rb +29 -0
  133. data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPumpWrappedCondenser.rb +12 -0
  134. data/lib/openstudio_results/resources/Siz.WaterHeaterMixed.rb +48 -0
  135. data/lib/openstudio_results/resources/Siz.WaterHeaterStratified.rb +48 -0
  136. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveElectric.rb +29 -0
  137. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveWater.rb +28 -0
  138. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveElectric.rb +29 -0
  139. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveWater.rb +28 -0
  140. data/lib/openstudio_results/resources/Siz.ZoneHVACEnergyRecoveryVentilator.rb +29 -0
  141. data/lib/openstudio_results/resources/Siz.ZoneHVACFourPipeFanCoil.rb +72 -0
  142. data/lib/openstudio_results/resources/Siz.ZoneHVACHighTemperatureRadiant.rb +12 -0
  143. data/lib/openstudio_results/resources/Siz.ZoneHVACIdealLoadsAirSystem.rb +64 -0
  144. data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantConstFlow.rb +20 -0
  145. data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantVarFlow.rb +38 -0
  146. data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +91 -0
  147. data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalHeatPump.rb +91 -0
  148. data/lib/openstudio_results/resources/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +122 -0
  149. data/lib/openstudio_results/resources/Siz.ZoneHVACUnitHeater.rb +46 -0
  150. data/lib/openstudio_results/resources/Siz.ZoneHVACUnitVentilator.rb +98 -0
  151. data/lib/openstudio_results/resources/Siz.ZoneHVACWaterToAirHeatPump.rb +91 -0
  152. data/lib/openstudio_results/resources/Siz.ZoneVentilationDesignFlowRate.rb +13 -0
  153. data/lib/openstudio_results/resources/bootstrap.min.css +5 -0
  154. data/lib/openstudio_results/resources/bootstrap.min.js +6 -0
  155. data/lib/openstudio_results/resources/d3.min.js +5 -0
  156. data/lib/openstudio_results/resources/dimple.v2.1.2.min.js +3 -0
  157. data/lib/openstudio_results/resources/jquery.min.js +6 -0
  158. data/lib/openstudio_results/resources/os_lib_reporting.rb +4891 -0
  159. data/lib/openstudio_results/resources/report.html.erb +501 -0
  160. data/lib/view_data/LICENSE.md +13 -0
  161. data/lib/view_data/README.md +72 -0
  162. data/lib/view_data/README.md.erb +42 -0
  163. data/lib/view_data/measure.rb +449 -0
  164. data/lib/view_data/measure.xml +202 -0
  165. data/lib/view_data/resources/js/TweenLite.2.1.3.min.js +12 -0
  166. data/lib/view_data/resources/js/dat.gui.0.7.9.min.js +13 -0
  167. data/lib/view_data/resources/js/three.orbitcontrols.js +706 -0
  168. data/lib/view_data/resources/js/three.r98.min.js +964 -0
  169. data/lib/view_data/resources/report.html.in +1577 -0
  170. data/lib/view_data/resources/va3c.rb +996 -0
  171. metadata +227 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7cfb82786f5aebc9b1c98b395067bca39937be7c492d7d3cb03da0e7f31c813c
4
+ data.tar.gz: 7300b076bebfdbcf1596b84813c709f770de598a130ce912678f81f6907a148f
5
+ SHA512:
6
+ metadata.gz: da96b007a05b62df9a1582be8a85c50b50448fe1bf51174215d823bdcf7f47b0be0a6e0f0f9d4117fd33c1d1896b970a8775379cffffc8714cb053e30a79edb3
7
+ data.tar.gz: 9de2bf9aecfa609b086e6eb17bbdbcf584ca597049706c358aebe5c39d8f13eac00a9722e1fed767fed9d2238a813bfa5c61f54f85c2d7d47dfa3baabf42d04b
@@ -0,0 +1,63 @@
1
+ name: CI
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+
7
+ deploy:
8
+ name: Deploy to GitHub and Rubygems.org
9
+ runs-on: ubuntu-latest
10
+ if: github.ref == 'refs/heads/master' && github.repository_owner == 'ladybug-tools'
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - name: set up node # we need node for for semantic release
14
+ uses: actions/setup-node@v3.6.0
15
+ with:
16
+ node-version: 14.17.0
17
+ - name: install semantic-release
18
+ run:
19
+ npm install @semantic-release/exec
20
+ - name: run semantic release
21
+ uses: cycjimmy/semantic-release-action@v3
22
+ id: semantic # Need an `id` for output variables
23
+ env:
24
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25
+ - name: Update gemspec
26
+ if: steps.semantic.outputs.new_release_published == 'true'
27
+ env:
28
+ RELEASE_TAG: ${{ steps.semantic.outputs.new_release_version }}
29
+ run: |
30
+ export CLEAN_TAG=$(echo $RELEASE_TAG | sed 's/v//g')
31
+ sed -i 's/"0.0.0"/'"'$CLEAN_TAG'"'/g' lbt-measures.gemspec
32
+ - name: Release Gem
33
+ if: steps.semantic.outputs.new_release_published == 'true'
34
+ uses: dawidd6/action-publish-gem@v1
35
+ with:
36
+ api_key: ${{secrets.RUBYGEMS_API_KEY}}
37
+ - name: Update lbt-grasshopper
38
+ if: steps.semantic.outputs.new_release_published == 'true'
39
+ env:
40
+ RELEASE_TAG: ${{ steps.semantic.outputs.new_release_version }}
41
+ DISPATCH_REPO: ladybug-tools/lbt-grasshopper
42
+ DEPS_TOKEN: ${{ secrets.DEPS_UPDATING }}
43
+ run: |
44
+ curl -X POST https://api.github.com/repos/$DISPATCH_REPO/dispatches \
45
+ -H "Accept: application/vnd.github.everest-preview+json" \
46
+ -d '{
47
+ "event_type": "lbt_measures_release",
48
+ "client_payload": {
49
+ "version" : "'$RELEASE_TAG'"
50
+ }
51
+ }' \
52
+ -u ladybugbot:$DEPS_TOKEN
53
+ - name: Update honeybee-energy
54
+ if: steps.semantic.outputs.new_release_published == 'true'
55
+ env:
56
+ RELEASE_TAG: ${{ steps.semantic.outputs.new_release_version }}
57
+ DISPATCH_REPO: ladybug-tools/honeybee-energy
58
+ DEPS_TOKEN: ${{ secrets.DEPS_UPDATING }}
59
+ run: |
60
+ curl -X POST https://api.github.com/repos/$DISPATCH_REPO/dispatches \
61
+ -H "Accept: application/vnd.github.everest-preview+json" \
62
+ -d '{"event_type": "lbt_measures_release", "client_payload": {"version": "'$RELEASE_TAG'"}}' \
63
+ -u ladybugbot:$DEPS_TOKEN
data/.gitignore ADDED
@@ -0,0 +1,34 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /.ruby-version
4
+ /Gemfile.lock
5
+ /gems
6
+ /_yardoc/
7
+ /coverage/
8
+ /doc/
9
+ /pkg/
10
+ /spec/coverage/
11
+ /spec/output/
12
+ /spec/reports/
13
+ /spec/test/
14
+ /tmp/
15
+ /test/
16
+ /lib/measures/test_results
17
+ /lib/measures/.rubocop*
18
+ /.vscode
19
+ /.vs
20
+
21
+ # rspec failure tracking
22
+ .rspec_status
23
+ .rakeTasks
24
+
25
+ # Ignore IDE files
26
+ /.idea
27
+ *.rubocop-http*
28
+
29
+ # measures tests
30
+ lib/measures/.rubocop.yml
31
+ lib/measures/test_results/*
32
+ lib/measures/*/tests/output
33
+
34
+ out.txt
data/.releaserc.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "plugins": [
3
+ "@semantic-release/commit-analyzer",
4
+ "@semantic-release/release-notes-generator",
5
+ "@semantic-release/github"
6
+ ]
7
+ }
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'http://rubygems.org'
2
+
3
+ # Specify your gem's dependencies
4
+ gemspec
5
+
6
+ # get the openstudio-extension gem
7
+ if File.exist?('../OpenStudio-extension-gem') # local development copy
8
+ gem 'openstudio-extension', path: '../OpenStudio-extension-gem'
9
+ else # get it from rubygems.org
10
+ gem 'openstudio-extension', '0.8.3'
11
+ end
data/LICENSE.md ADDED
@@ -0,0 +1,23 @@
1
+ Honeybee OpenStudio Gem, Copyright (c) 2020, Alliance for Sustainable Energy, LLC,
2
+ Ladybug Tools LLC and other contributors. All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
5
+ following conditions are met:
6
+
7
+ (1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following
8
+ disclaimer.
9
+
10
+ (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
11
+ disclaimer in the documentation and/or other materials provided with the distribution.
12
+
13
+ (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse or promote products
14
+ derived from this software without specific prior written permission from the respective party.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
17
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE UNITED STATES GOVERNMENT, OR THE UNITED
19
+ STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
21
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
22
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # lbt-measures
2
+
3
+ :straight_ruler: :straight_ruler: :straight_ruler: Collection of
4
+ [Openstudio measures](https://nrel.github.io/OpenStudio-user-documentation/getting_started/about_measures/)
5
+ that ship with the Ladybug Tools plugins.
6
+
7
+ Most (if not all) of the measures in this gem can be found on the [BCL](https://bcl.nrel.gov/)
8
+ and are maintained by [NREL](https://www.nrel.gov/) or other contributors. However,
9
+ the versions of the measures in this gem are regularly tested for compatibility
10
+ with Ladybug Tools.
11
+
12
+ Given that different measures can have different authors, one should refer to the
13
+ individual license files with each measure for limitations about redistribution.
@@ -0,0 +1,31 @@
1
+
2
+ lib = File.expand_path('lib', __dir__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'lbt-measures'
7
+ spec.version = '0.3.2'
8
+ spec.authors = ['Dan Macumber', 'Chris Mackey']
9
+ spec.email = ['chris@ladybug.tools']
10
+
11
+ spec.summary = 'Collection of measures that ship with Ladybug Tools plugins.'
12
+ spec.description = 'Measures that ship with Ladybug Tools plugins and are regularly tested for compatibility with them.'
13
+ spec.homepage = 'https://github.com/ladybug-tools/lbt-measures'
14
+
15
+ # Specify which files should be added to the gem when it is released.
16
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
17
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
18
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ end
20
+ spec.bindir = 'exe'
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ['lib']
23
+
24
+ if /^3.2.2/.match(RUBY_VERSION)
25
+ spec.required_ruby_version = "~> 3.2.2"
26
+ spec.add_development_dependency "bundler", "~> 2.4.10"
27
+ end
28
+
29
+ spec.add_dependency 'openstudio-extension', '0.8.3'
30
+
31
+ end
@@ -0,0 +1,27 @@
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted
4
+ provided that the following conditions are met:
5
+
6
+ (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
+ and the following disclaimer.
8
+
9
+ (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
+ and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
+
12
+ (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
+ or promote products derived from this software without specific prior written permission from the
14
+ respective party.
15
+
16
+ (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
+ derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
+ designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
+ OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,32 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Apply Efficiency Standard
6
+
7
+ ## Description
8
+ Apply an efficiency standard to HVAC equipment using openStudio-standards
9
+
10
+ ## Modeler Description
11
+
12
+
13
+ ## Measure Type
14
+ ModelMeasure
15
+
16
+ ## Taxonomy
17
+
18
+
19
+ ## Arguments
20
+
21
+
22
+ ### Standard
23
+ Text for the standard to be applied to the HVAC equipment. Choose from the following. DOE_Ref_Pre_1980, DOE_Ref_1980_2004, ASHRAE_2004, ASHRAE_2007, ASHRAE_2010, ASHRAE_2013, ASHRAE_2016, ASHRAE_2019
24
+ **Name:** standard,
25
+ **Type:** String,
26
+ **Units:** ,
27
+ **Required:** true,
28
+ **Model Dependent:** false
29
+
30
+
31
+
32
+
@@ -0,0 +1,42 @@
1
+ <%#= README.md.erb is used to auto-generate README.md. %>
2
+ <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
+ ###### (Automatically generated documentation)
4
+
5
+ # <%= name %>
6
+
7
+ ## Description
8
+ <%= description %>
9
+
10
+ ## Modeler Description
11
+ <%= modelerDescription %>
12
+
13
+ ## Measure Type
14
+ <%= measureType %>
15
+
16
+ ## Taxonomy
17
+ <%= taxonomy %>
18
+
19
+ ## Arguments
20
+
21
+ <% arguments.each do |argument| %>
22
+ ### <%= argument[:display_name] %>
23
+ <%= argument[:description] %>
24
+ **Name:** <%= argument[:name] %>,
25
+ **Type:** <%= argument[:type] %>,
26
+ **Units:** <%= argument[:units] %>,
27
+ **Required:** <%= argument[:required] %>,
28
+ **Model Dependent:** <%= argument[:model_dependent] %>
29
+ <% end %>
30
+
31
+ <% if arguments.size == 0 %>
32
+ <%= "This measure does not have any user arguments" %>
33
+ <% end %>
34
+
35
+ <% if outputs.size > 0 %>
36
+ ## Outputs
37
+ <% output_names = [] %>
38
+ <% outputs.each do |output| %>
39
+ <% output_names << output[:display_name] %>
40
+ <% end %>
41
+ <%= output_names.join(", ") %>
42
+ <% end %>
@@ -0,0 +1,142 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
3
+ # All rights reserved.
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+ #
7
+ # (1) Redistributions of source code must retain the above copyright notice,
8
+ # this list of conditions and the following disclaimer.
9
+ #
10
+ # (2) Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ #
14
+ # (3) Neither the name of the copyright holder nor the names of any contributors
15
+ # may be used to endorse or promote products derived from this software without
16
+ # specific prior written permission from the respective party.
17
+ #
18
+ # (4) Other than as required in clauses (1) and (2), distributions in any form
19
+ # of modifications or other derivative works may not use the "OpenStudio"
20
+ # trademark, "OS", "os", or any other confusingly similar designation without
21
+ # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
+ #
23
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
+ # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
+ # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+ # *******************************************************************************
35
+
36
+ # see the URL below for information on how to write OpenStudio measures
37
+ # http://openstudio.nrel.gov/openstudio-measure-writing-guide
38
+
39
+ # see your EnergyPlus installation or the URL below for information on EnergyPlus objects
40
+ # http://apps1.eere.energy.gov/buildings/energyplus/pdfs/inputoutputreference.pdf
41
+
42
+ # see the URL below for information on using life cycle cost objects in OpenStudio
43
+ # http://openstudio.nrel.gov/openstudio-life-cycle-examples
44
+
45
+ # see the URL below for access to C++ documentation on workspace objects (click on "workspace" in the main window to view workspace objects)
46
+ # http://openstudio.nrel.gov/sites/openstudio.nrel.gov/files/nv_data/cpp_documentation_it/utilities/html/idf_page.html
47
+
48
+ require 'openstudio-standards'
49
+
50
+ # start the measure
51
+ class ApplyEfficiencyStandard < OpenStudio::Measure::ModelMeasure
52
+ # human readable name
53
+ def name
54
+ return ' Apply Efficiency Standard'
55
+ end
56
+
57
+ # human readable description
58
+ def description
59
+ return 'Apply an efficiency standard to HVAC equipment using openStudio-standards.'
60
+ end
61
+
62
+ # human readable description of modeling approach
63
+ def modeler_description
64
+ return 'Apply an efficiency standard to HVAC equipment using openStudio-standards.'
65
+ end
66
+
67
+ # define the arguments that the user will input
68
+ def arguments(workspace)
69
+ args = OpenStudio::Measure::OSArgumentVector.new
70
+
71
+ # make an argument for external idf
72
+ standard = OpenStudio::Measure::OSArgument.makeStringArgument('standard', true)
73
+ standard.setDisplayName('Standard to Apply')
74
+ standard.setDescription('Text for the standard to be applied to the HVAC equipment. Choose from the following. DOE_Ref_Pre_1980, DOE_Ref_1980_2004, ASHRAE_2004, ASHRAE_2007, ASHRAE_2010, ASHRAE_2013, ASHRAE_2016, ASHRAE_2019')
75
+ args << standard
76
+
77
+ return args
78
+ end
79
+
80
+ # define what happens when the measure is run
81
+ def run(model, runner, user_arguments)
82
+ super(model, runner, user_arguments)
83
+ STDOUT.flush
84
+ if !runner.validateUserArguments(arguments(model), user_arguments)
85
+ return false
86
+ end
87
+
88
+ # get the standard to apply
89
+ standard_str = runner.getStringArgumentValue('standard', user_arguments)
90
+ standard_mapper = {
91
+ DOE_Ref_Pre_1980: 'DOE Ref Pre-1980',
92
+ DOE_Ref_1980_2004: 'DOE Ref 1980-2004',
93
+ ASHRAE_2004: '90.1-2004',
94
+ ASHRAE_2007: '90.1-2007',
95
+ ASHRAE_2010: '90.1-2010',
96
+ ASHRAE_2013: '90.1-2013',
97
+ ASHRAE_2016: '90.1-2016',
98
+ ASHRAE_2019: '90.1-2019'
99
+ }
100
+ std_gem_standard = standard_mapper[standard_str.to_sym]
101
+ # std_gem_standard = '90.1-2019'
102
+ building = model.getBuilding
103
+ building.setStandardsTemplate(std_gem_standard)
104
+ standard_id = building.standardsTemplate.get
105
+ standard = Standard.build(standard_id)
106
+
107
+ # Set the heating and cooling sizing parameters
108
+ puts 'Autosizing HVAC systems and assigning efficiencies'
109
+ standard.model_apply_prm_sizing_parameters(model)
110
+ # Perform a sizing run
111
+ if standard.model_run_sizing_run(model, "#{Dir.pwd}/SR1") == false
112
+ log_messages_to_runner(runner, debug = true)
113
+ return false
114
+ end
115
+ puts 'Done with autosizing HVAC systems!'
116
+ # If there are any multizone systems, reset damper positions
117
+ # to achieve a 60% ventilation effectiveness minimum for the system
118
+ # following the ventilation rate procedure from 62.1
119
+ standard.model_apply_multizone_vav_outdoor_air_sizing(model)
120
+ # get the climate zone
121
+ climate_zone_obj = model.getClimateZones.getClimateZone('ASHRAE', 2006)
122
+ if climate_zone_obj.empty
123
+ climate_zone_obj = model.getClimateZones.getClimateZone('ASHRAE', 2013)
124
+ end
125
+ climate_zone = climate_zone_obj.value
126
+ # get the building type
127
+ bldg_type = nil
128
+ unless building.standardsBuildingType.empty?
129
+ bldg_type = building.standardsBuildingType.get
130
+ end
131
+ # Apply the prototype HVAC assumptions
132
+ standard.model_apply_prototype_hvac_assumptions(model, bldg_type, climate_zone)
133
+ # Apply the HVAC efficiency standard
134
+ standard.model_apply_hvac_efficiency_standard(model, climate_zone)
135
+ puts 'Done with applying efficiencies!'
136
+
137
+ return true
138
+ end
139
+ end
140
+
141
+ # this allows the measure to be use by the application
142
+ ApplyEfficiencyStandard.new.registerWithApplication
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0"?>
2
+ <measure>
3
+ <schema_version>3.0</schema_version>
4
+ <name>apply_efficiency_standard</name>
5
+ <uid>89367df4-a09c-4125-b5c3-1417bd04a552</uid>
6
+ <version_id>9b6b3ec5-5f6d-4444-a30c-c34b8efd766d</version_id>
7
+ <version_modified>20210406T220305Z</version_modified>
8
+ <xml_checksum>A8BAB05F</xml_checksum>
9
+ <class_name>ApplyEfficiencyStandard</class_name>
10
+ <display_name>Apply Efficiency Standard</display_name>
11
+ <description>Apply an efficiency standard to HVAC equipment using openStudio-standards.</description>
12
+ <modeler_description>Apply an efficiency standard to HVAC equipment using openStudio-standards.</modeler_description>
13
+ <arguments>
14
+ <argument>
15
+ <name>standard</name>
16
+ <display_name>Standard to Apply</display_name>
17
+ <type>String</type>
18
+ <required>true</required>
19
+ <model_dependent>false</model_dependent>
20
+ </argument>
21
+ </arguments>
22
+ <outputs />
23
+ <provenances />
24
+ <tags>
25
+ <tag>Whole Building.Space Types</tag>
26
+ </tags>
27
+ <attributes>
28
+ <attribute>
29
+ <name>Measure Type</name>
30
+ <value>ModelMeasure</value>
31
+ <datatype>string</datatype>
32
+ </attribute>
33
+ <attribute>
34
+ <name>Uses SketchUp API</name>
35
+ <value>false</value>
36
+ <datatype>boolean</datatype>
37
+ </attribute>
38
+ </attributes>
39
+ <files>
40
+ <file>
41
+ <filename>README.md.erb</filename>
42
+ <filetype>erb</filetype>
43
+ <usage_type>readmeerb</usage_type>
44
+ <checksum>703C9964</checksum>
45
+ </file>
46
+ <file>
47
+ <filename>README.md</filename>
48
+ <filetype>md</filetype>
49
+ <usage_type>readme</usage_type>
50
+ <checksum>70F4784D</checksum>
51
+ </file>
52
+ <file>
53
+ <filename>LICENSE.md</filename>
54
+ <filetype>md</filetype>
55
+ <usage_type>license</usage_type>
56
+ <checksum>64FFEBDE</checksum>
57
+ </file>
58
+ <file>
59
+ <version>
60
+ <software_program>OpenStudio</software_program>
61
+ <identifier>2.7.0</identifier>
62
+ <min_compatible>2.7.0</min_compatible>
63
+ </version>
64
+ <filename>measure.rb</filename>
65
+ <filetype>rb</filetype>
66
+ <usage_type>script</usage_type>
67
+ <checksum>39164A78</checksum>
68
+ </file>
69
+ </files>
70
+ </measure>
@@ -0,0 +1,27 @@
1
+ OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted
4
+ provided that the following conditions are met:
5
+
6
+ (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
+ and the following disclaimer.
8
+
9
+ (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
+ and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
+
12
+ (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
+ or promote products derived from this software without specific prior written permission from the
14
+ respective party.
15
+
16
+ (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
+ derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
+ designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
+ OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,32 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Inject IDF Objects
6
+
7
+ ## Description
8
+
9
+
10
+ ## Modeler Description
11
+
12
+
13
+ ## Measure Type
14
+ EnergyPlusMeasure
15
+
16
+ ## Taxonomy
17
+
18
+
19
+ ## Arguments
20
+
21
+
22
+ ### External IDF File Name
23
+ Name of the IDF file to inject objects from. This is the filename with the extension (e.g. MyModel.idf). Optionally this can inclucde the full file path, but for most use cases should just be file name.
24
+ **Name:** source_idf_path,
25
+ **Type:** String,
26
+ **Units:** ,
27
+ **Required:** true,
28
+ **Model Dependent:** false
29
+
30
+
31
+
32
+
@@ -0,0 +1,42 @@
1
+ <%#= README.md.erb is used to auto-generate README.md. %>
2
+ <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
+ ###### (Automatically generated documentation)
4
+
5
+ # <%= name %>
6
+
7
+ ## Description
8
+ <%= description %>
9
+
10
+ ## Modeler Description
11
+ <%= modelerDescription %>
12
+
13
+ ## Measure Type
14
+ <%= measureType %>
15
+
16
+ ## Taxonomy
17
+ <%= taxonomy %>
18
+
19
+ ## Arguments
20
+
21
+ <% arguments.each do |argument| %>
22
+ ### <%= argument[:display_name] %>
23
+ <%= argument[:description] %>
24
+ **Name:** <%= argument[:name] %>,
25
+ **Type:** <%= argument[:type] %>,
26
+ **Units:** <%= argument[:units] %>,
27
+ **Required:** <%= argument[:required] %>,
28
+ **Model Dependent:** <%= argument[:model_dependent] %>
29
+ <% end %>
30
+
31
+ <% if arguments.size == 0 %>
32
+ <%= "This measure does not have any user arguments" %>
33
+ <% end %>
34
+
35
+ <% if outputs.size > 0 %>
36
+ ## Outputs
37
+ <% output_names = [] %>
38
+ <% outputs.each do |output| %>
39
+ <% output_names << output[:display_name] %>
40
+ <% end %>
41
+ <%= output_names.join(", ") %>
42
+ <% end %>