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.
- checksums.yaml +7 -0
- data/.github/workflows/ci.yaml +63 -0
- data/.gitignore +34 -0
- data/.releaserc.json +7 -0
- data/Gemfile +11 -0
- data/LICENSE.md +23 -0
- data/README.md +13 -0
- data/lbt-measures.gemspec +31 -0
- data/lib/efficiency_standard/LICENSE.md +27 -0
- data/lib/efficiency_standard/README.md +32 -0
- data/lib/efficiency_standard/README.md.erb +42 -0
- data/lib/efficiency_standard/measure.rb +142 -0
- data/lib/efficiency_standard/measure.xml +70 -0
- data/lib/inject_idf/LICENSE.md +27 -0
- data/lib/inject_idf/README.md +32 -0
- data/lib/inject_idf/README.md.erb +42 -0
- data/lib/inject_idf/measure.rb +107 -0
- data/lib/inject_idf/measure.xml +72 -0
- data/lib/openstudio_results/LICENSE.md +13 -0
- data/lib/openstudio_results/README.md +266 -0
- data/lib/openstudio_results/README.md.erb +46 -0
- data/lib/openstudio_results/measure.rb +384 -0
- data/lib/openstudio_results/measure.xml +1546 -0
- data/lib/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +82 -0
- data/lib/openstudio_results/resources/Siz.AirLoopHVAC.rb +23 -0
- data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass.rb +66 -0
- data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +66 -0
- data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +108 -0
- data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitarySystem.rb +84 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalDualDuctVAV.rb +23 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeCooledBeam.rb +40 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction.rb +84 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeReheat.rb +45 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctParallelPIUReheat.rb +46 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctSeriesPIUReheat.rb +46 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctUncontrolled.rb +23 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat.rb +23 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat.rb +45 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVNoReheat.rb +23 -0
- data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVReheat.rb +45 -0
- data/lib/openstudio_results/resources/Siz.BoilerHotWater.rb +46 -0
- data/lib/openstudio_results/resources/Siz.BoilerSteam.rb +29 -0
- data/lib/openstudio_results/resources/Siz.ChillerAbsorption.rb +40 -0
- data/lib/openstudio_results/resources/Siz.ChillerAbsorptionIndirect.rb +40 -0
- data/lib/openstudio_results/resources/Siz.ChillerElectricEIR.rb +69 -0
- data/lib/openstudio_results/resources/Siz.ChillerHeaterPerformanceElectricEIR.rb +52 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +32 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +49 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +47 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +50 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb +100 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeedSpeedData.rb +13 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingLowTempRadiantVarFlow.rb +18 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingWater.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +63 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
- data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +32 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeedStageData.rb +46 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +46 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeedSpeedData.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingDesuperheater.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingElectric.rb +29 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingGas.rb +29 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStage.rb +14 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStageStageData.rb +29 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingLowTempRadiantVarFlow.rb +18 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWater.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboard.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboardRadiant.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +63 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
- data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +47 -0
- data/lib/openstudio_results/resources/Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilSystemCoolingWaterHeatExchangerAssisted.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPump.rb +46 -0
- data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped.rb +12 -0
- data/lib/openstudio_results/resources/Siz.CoilWaterHeatingDesuperheater.rb +12 -0
- data/lib/openstudio_results/resources/Siz.ControllerOutdoorAir.rb +23 -0
- data/lib/openstudio_results/resources/Siz.CoolingTowerSingleSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoolingTowerTwoSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.CoolingTowerVariableSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.DistrictCooling.rb +23 -0
- data/lib/openstudio_results/resources/Siz.DistrictHeating.rb +23 -0
- data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterLookUpTable.rb +17 -0
- data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterSimple.rb +12 -0
- data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageConverter.rb +12 -0
- data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageSimple.rb +13 -0
- data/lib/openstudio_results/resources/Siz.EvaporativeCoolerDirectResearchSpecial.rb +29 -0
- data/lib/openstudio_results/resources/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +32 -0
- data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerSingleSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerTwoSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.FanConstantVolume.rb +31 -0
- data/lib/openstudio_results/resources/Siz.FanOnOff.rb +31 -0
- data/lib/openstudio_results/resources/Siz.FanSystemModel.rb +31 -0
- data/lib/openstudio_results/resources/Siz.FanVariableVolume.rb +31 -0
- data/lib/openstudio_results/resources/Siz.FanZoneExhaust.rb +13 -0
- data/lib/openstudio_results/resources/Siz.FluidCoolerSingleSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.FluidCoolerTwoSpeed.rb +40 -0
- data/lib/openstudio_results/resources/Siz.GeneratorFuelCellElectricalStorage.rb +13 -0
- data/lib/openstudio_results/resources/Siz.GeneratorFuelCellInverter.rb +12 -0
- data/lib/openstudio_results/resources/Siz.GeneratorFuelCellPowerModule.rb +12 -0
- data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbine.rb +12 -0
- data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbineHeatRecovery.rb +12 -0
- data/lib/openstudio_results/resources/Siz.HVACComponent.rb +127 -0
- data/lib/openstudio_results/resources/Siz.HeaderedPumpsConstantSpeed.rb +30 -0
- data/lib/openstudio_results/resources/Siz.HeaderedPumpsVariableSpeed.rb +30 -0
- data/lib/openstudio_results/resources/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +36 -0
- data/lib/openstudio_results/resources/Siz.HeatExchangerFluidToFluid.rb +23 -0
- data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitCooling.rb +40 -0
- data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitHeating.rb +40 -0
- data/lib/openstudio_results/resources/Siz.HumidifierSteamElectric.rb +23 -0
- data/lib/openstudio_results/resources/Siz.Model.rb +134 -0
- data/lib/openstudio_results/resources/Siz.ModelObject.rb +40 -0
- data/lib/openstudio_results/resources/Siz.PhotovoltaicPerformanceSimple.rb +12 -0
- data/lib/openstudio_results/resources/Siz.PlantComponentTemperatureSource.rb +23 -0
- data/lib/openstudio_results/resources/Siz.PlantLoop.rb +40 -0
- data/lib/openstudio_results/resources/Siz.PumpConstantSpeed.rb +30 -0
- data/lib/openstudio_results/resources/Siz.PumpVariableSpeed.rb +30 -0
- data/lib/openstudio_results/resources/Siz.RefrigerationSecondarySystem.rb +12 -0
- data/lib/openstudio_results/resources/Siz.RefrigerationSystem.rb +12 -0
- data/lib/openstudio_results/resources/Siz.RefrigerationTranscriticalSystem.rb +13 -0
- data/lib/openstudio_results/resources/Siz.SizingSystem.rb +57 -0
- data/lib/openstudio_results/resources/Siz.SolarCollectorFlatPlatePhotovoltaicThermal.rb +23 -0
- data/lib/openstudio_results/resources/Siz.SolarCollectorPerformancePhotovoltaicThermalSimple.rb +12 -0
- data/lib/openstudio_results/resources/Siz.ThermalStorageChilledWaterStratified.rb +30 -0
- data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPump.rb +29 -0
- data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPumpWrappedCondenser.rb +12 -0
- data/lib/openstudio_results/resources/Siz.WaterHeaterMixed.rb +48 -0
- data/lib/openstudio_results/resources/Siz.WaterHeaterStratified.rb +48 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveElectric.rb +29 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveWater.rb +28 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveElectric.rb +29 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveWater.rb +28 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACEnergyRecoveryVentilator.rb +29 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACFourPipeFanCoil.rb +72 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACHighTemperatureRadiant.rb +12 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACIdealLoadsAirSystem.rb +64 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantConstFlow.rb +20 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantVarFlow.rb +38 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +91 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalHeatPump.rb +91 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +122 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACUnitHeater.rb +46 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACUnitVentilator.rb +98 -0
- data/lib/openstudio_results/resources/Siz.ZoneHVACWaterToAirHeatPump.rb +91 -0
- data/lib/openstudio_results/resources/Siz.ZoneVentilationDesignFlowRate.rb +13 -0
- data/lib/openstudio_results/resources/bootstrap.min.css +5 -0
- data/lib/openstudio_results/resources/bootstrap.min.js +6 -0
- data/lib/openstudio_results/resources/d3.min.js +5 -0
- data/lib/openstudio_results/resources/dimple.v2.1.2.min.js +3 -0
- data/lib/openstudio_results/resources/jquery.min.js +6 -0
- data/lib/openstudio_results/resources/os_lib_reporting.rb +4891 -0
- data/lib/openstudio_results/resources/report.html.erb +501 -0
- data/lib/view_data/LICENSE.md +13 -0
- data/lib/view_data/README.md +72 -0
- data/lib/view_data/README.md.erb +42 -0
- data/lib/view_data/measure.rb +449 -0
- data/lib/view_data/measure.xml +202 -0
- data/lib/view_data/resources/js/TweenLite.2.1.3.min.js +12 -0
- data/lib/view_data/resources/js/dat.gui.0.7.9.min.js +13 -0
- data/lib/view_data/resources/js/three.orbitcontrols.js +706 -0
- data/lib/view_data/resources/js/three.r98.min.js +964 -0
- data/lib/view_data/resources/report.html.in +1577 -0
- data/lib/view_data/resources/va3c.rb +996 -0
- 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
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 %>
|