honeybee-openstudio 2.7.5 → 2.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '059c1b63676053fb14b460d18b2f8cadab0ab7638a4632560861bf7e02b9db28'
4
- data.tar.gz: 125278d93d4ef1ff13e9bf025154566cfce9b05d56474fd32037d840edba0510
3
+ metadata.gz: 544e602c7a0c32ac70d1b6635a3bd3dfec44d1b2e80e58833025c94f37fa98cf
4
+ data.tar.gz: 658f8b8062c2004bf3e5bc01505220482ca70ebf4a68aeb81ac74c71d6eb8d63
5
5
  SHA512:
6
- metadata.gz: e5b62b5173f80a27a21d85eb565bf1546c779595dd5505d8b718aec5cceef98a9b1e017e70be302daf2a276cc083f51be6b7d379bd197658c7ef3dc181fb3245
7
- data.tar.gz: 386187297eda2342a16bacc18bd33c804a50ce203a44983ee3f254ae192e6432fb19a96558b40e9e6fc8dd4f8a27da517c704ae5037e0d4c39eb9732208e999f
6
+ metadata.gz: 8d316bbfbeeba44c92915d1c76124ab510781e02ac053fd56f41b1a48aae60856a50b6c0f70aa0b3993ab46b18b0835624f50e809cb080219c98f18e24995ea4
7
+ data.tar.gz: 7fb71a158188765c0a858a6948ba30f85d58323721425af3752cefcbecbc5764a65fd6e54a413cf14fa37e8d752b7623e74fb46d0aa8674b2bf9523044905378
@@ -5,8 +5,8 @@ on:
5
5
  types: [published]
6
6
 
7
7
  jobs:
8
- dispatchSchema:
9
- name: "Dispatch Schema to Clients"
8
+ dispatch_schema:
9
+ name: Dispatch Schema to Clients
10
10
  runs-on: ubuntu-latest
11
11
 
12
12
  strategy:
@@ -15,7 +15,7 @@ jobs:
15
15
  - ladybug-tools/lbt-grasshopper
16
16
 
17
17
  steps:
18
- - name: "send repo dispatch to lbt-grasshopper"
18
+ - name: Send repo dispatch to lbt-grasshopper
19
19
  env:
20
20
  RELEASE_TAG: ${{ github.event.release.tag_name }}
21
21
  DISPATCH_URL: https://api.github.com/repos/${{ matrix.client_repo }}/dispatches
@@ -0,0 +1,56 @@
1
+ name: CI
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+
7
+ test:
8
+ name: Unit tests
9
+ runs-on: ubuntu-18.04
10
+
11
+ steps:
12
+ - name: Check out repository
13
+ uses: actions/checkout@v2
14
+ - name: Run Tests
15
+ run: |
16
+ echo $(pwd)
17
+ echo $(ls)
18
+ docker pull nrel/openstudio:3.1.0
19
+ docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.1.0
20
+ docker exec -t test pwd
21
+ docker exec -t test ls
22
+ docker exec -t test bundle update
23
+ docker exec -t test bundle exec rake
24
+ docker kill test
25
+
26
+ deploy:
27
+ name: Deploy to GitHub and Rubygems.org
28
+ runs-on: ubuntu-latest
29
+ needs: test
30
+ if: github.ref == 'refs/heads/master' && github.repository_owner == 'ladybug-tools'
31
+ steps:
32
+ - uses: actions/checkout@v2
33
+ - name: set up node # we need node for for semantic release
34
+ uses: actions/setup-node@v2.1.2
35
+ with:
36
+ node-version: 14.2.0
37
+ - name: install semantic-release
38
+ run:
39
+ npm install @semantic-release/exec
40
+ - name: run semantic release
41
+ uses: cycjimmy/semantic-release-action@v2
42
+ id: semantic # Need an `id` for output variables
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45
+ - name: Update gemspec
46
+ if: steps.semantic.outputs.new_release_published == 'true'
47
+ env:
48
+ RELEASE_TAG: ${{ steps.semantic.outputs.new_release_version }}
49
+ run: |
50
+ export CLEAN_TAG=$(echo $RELEASE_TAG | sed 's/v//g')
51
+ sed -i 's/"0.0.0"/'"'$CLEAN_TAG'"'/g' honeybee-openstudio.gemspec
52
+ - name: Release Gem
53
+ if: steps.semantic.outputs.new_release_published == 'true'
54
+ uses: dawidd6/action-publish-gem@v1
55
+ with:
56
+ api_key: ${{secrets.RUBYGEMS_API_KEY}}
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.org/ladybug-tools/honeybee-openstudio-gem.svg?branch=master)](https://travis-ci.org/ladybug-tools/honeybee-openstudio-gem)
1
+ [![Build Status](https://github.com/ladybug-tools/honeybee-openstudio-gem/workflows/CI/badge.svg)](https://github.com/ladybug-tools/honeybee-openstudio-gem/actions)
2
2
  [![Coverage Status](https://coveralls.io/repos/github/ladybug-tools/honeybee-openstudio-gem/badge.svg?branch=master)](https://coveralls.io/github/ladybug-tools/honeybee-openstudio-gem)
3
3
 
4
4
  ![Ruby 2.5](https://img.shields.io/badge/ruby-2.5-blue.svg)
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'honeybee-openstudio'
7
- spec.version = '2.7.5'
7
+ spec.version = '2.8.3'
8
8
  spec.authors = ['Tanushree Charan', 'Dan Macumber', 'Chris Mackey', 'Mostapha Sadeghipour Roudsari']
9
9
  spec.email = ['tanushree.charan@nrel.gov', 'chris@ladybug.tools']
10
10
 
@@ -46,12 +46,7 @@ module Honeybee
46
46
  os_construction = OpenStudio::Model::ConstructionAirBoundary.new(openstudio_model)
47
47
  os_construction.setName(@hash[:identifier])
48
48
  os_construction.setSolarAndDaylightingMethod('GroupedZones')
49
- # REMOVE: Remove the use of IRTSurface once the AFN works with GroupedZone air walls
50
- if !$use_simple_vent # we're using the AFN!
51
- os_construction.setRadiantExchangeMethod('IRTSurface')
52
- else
53
- os_construction.setRadiantExchangeMethod('GroupedZones')
54
- end
49
+ os_construction.setRadiantExchangeMethod('GroupedZones')
55
50
  os_construction.setAirExchangeMethod('None')
56
51
 
57
52
  os_construction
@@ -33,13 +33,15 @@ require 'honeybee/hvac/template'
33
33
 
34
34
  require 'to_openstudio/model_object'
35
35
 
36
- require 'openstudio-standards'
37
- require_relative 'Model.hvac'
38
-
39
36
  module Honeybee
40
37
  class TemplateHVAC
41
38
 
42
39
  def to_openstudio(openstudio_model, room_ids)
40
+
41
+ # only load openstudio-standards when needed
42
+ require 'openstudio-standards'
43
+ require_relative 'Model.hvac'
44
+
43
45
  # get the defaults for the specific system type
44
46
  hvac_defaults = defaults(@hash[:type])
45
47
 
@@ -82,14 +84,6 @@ module Honeybee
82
84
  end
83
85
  end
84
86
 
85
- # TODO: consider adding the ability to decentralize the plant by changing loop names
86
- #os_hvac.each do |hvac_loop|
87
- # loop_name = hvac_loop.name
88
- # unless loop_name.empty?
89
- # hvac_loop.setName(@hash[:identifier] + ' - ' + loop_name.get)
90
- # end
91
- #end
92
-
93
87
  # assign the economizer type if there's an air loop and the economizer is specified
94
88
  if @hash[:economizer_type] && @hash[:economizer_type] != 'Inferred' && os_air_loop
95
89
  oasys = os_air_loop.airLoopHVACOutdoorAirSystem
@@ -126,9 +120,17 @@ module Honeybee
126
120
  erv.setLatentEffectivenessat75HeatingAirFlow(@hash[:latent_heat_recovery])
127
121
  end
128
122
 
123
+ # set all plants to non-coincident sizing to avoid simualtion control on design days
124
+ openstudio_model.getPlantLoops.each do |loop|
125
+ sizing = loop.sizingPlant
126
+ sizing.setSizingOption('NonCoincident')
127
+ end
128
+
129
129
  os_hvac
130
130
  end
131
131
 
132
+ private
133
+
132
134
  def get_existing_erv(os_air_loop)
133
135
  # get an existing heat ecovery unit from an air loop; will be nil if there is none
134
136
  os_air_loop.oaComponents.each do |supply_component|
@@ -85,10 +85,7 @@ module Honeybee
85
85
  holiday_schedule = openstudio_model.getScheduleDayByName(@hash[:holiday_schedule])
86
86
  unless holiday_schedule.empty?
87
87
  holiday_schedule_object = holiday_schedule.get
88
- begin
89
- os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
90
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
91
- end
88
+ os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
92
89
  end
93
90
  end
94
91
 
@@ -98,54 +98,28 @@ module Honeybee
98
98
 
99
99
  # set defaults for the Model's ShadowCalculation object
100
100
  os_shadow_calc = @openstudio_model.getShadowCalculation
101
- begin
102
- os_shadow_calc.setShadingCalculationMethod(
103
- shdw_defaults[:calculation_method][:default])
104
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
105
- os_shadow_calc.setCalculationMethod(
106
- shdw_defaults[:calculation_method][:default])
107
- end
108
- begin
109
- os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
110
- shdw_defaults[:calculation_update_method][:default])
111
- rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
112
- end
113
- begin
114
- os_shadow_calc.setShadingCalculationUpdateFrequency(
115
- shdw_defaults[:calculation_frequency][:default])
116
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
117
- os_shadow_calc.setCalculationFrequency(
118
- shdw_defaults[:calculation_frequency][:default])
119
- end
101
+ os_shadow_calc.setShadingCalculationMethod(
102
+ shdw_defaults[:calculation_method][:default])
103
+ os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
104
+ shdw_defaults[:calculation_update_method][:default])
105
+ os_shadow_calc.setShadingCalculationUpdateFrequency(
106
+ shdw_defaults[:calculation_frequency][:default])
120
107
  os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
121
108
  shdw_defaults[:maximum_figures][:default])
122
109
 
123
110
  # override any ShadowCalculation defaults with lodaded JSON
124
111
  if @hash[:shadow_calculation]
125
112
  if @hash[:shadow_calculation][:calculation_method]
126
- begin
127
- os_shadow_calc.setShadingCalculationMethod(
128
- @hash[:shadow_calculation][:calculation_method])
129
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
130
- os_shadow_calc.setCalculationMethod(
131
- @hash[:shadow_calculation][:calculation_method])
132
- end
113
+ os_shadow_calc.setShadingCalculationMethod(
114
+ @hash[:shadow_calculation][:calculation_method])
133
115
  end
134
116
  if @hash[:shadow_calculation][:calculation_update_method]
135
- begin
136
- os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
137
- @hash[:shadow_calculation][:calculation_update_method])
138
- rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
139
- end
117
+ os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
118
+ @hash[:shadow_calculation][:calculation_update_method])
140
119
  end
141
120
  if @hash[:shadow_calculation][:calculation_frequency]
142
- begin
143
- os_shadow_calc.setShadingCalculationUpdateFrequency(
144
- @hash[:shadow_calculation][:calculation_frequency])
145
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
146
- os_shadow_calc.setCalculationFrequency(
147
- @hash[:shadow_calculation][:calculation_frequency])
148
- end
121
+ os_shadow_calc.setShadingCalculationUpdateFrequency(
122
+ @hash[:shadow_calculation][:calculation_frequency])
149
123
  end
150
124
  if @hash[:shadow_calculation][:maximum_figures]
151
125
  os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
@@ -192,15 +166,9 @@ module Honeybee
192
166
  end
193
167
  end
194
168
  if @hash[:output][:summary_reports]
195
- begin
196
- os_report = @openstudio_model.getOutputTableSummaryReports
197
- rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
198
- end
169
+ os_report = @openstudio_model.getOutputTableSummaryReports
199
170
  @hash[:output][:summary_reports].each do |report|
200
- begin
201
- os_report.addSummaryReport(report)
202
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
203
- end
171
+ os_report.addSummaryReport(report)
204
172
  end
205
173
  end
206
174
  end
@@ -242,13 +210,10 @@ module Honeybee
242
210
  # Set the holidays
243
211
  if @hash[:run_period][:holidays]
244
212
  @hash[:run_period][:holidays].each do |hol|
245
- begin
246
- os_hol = OpenStudio::Model::RunPeriodControlSpecialDays.new(
247
- OpenStudio::MonthOfYear.new(hol[0]), hol[1], @openstudio_model)
248
- os_hol.setDuration(1)
249
- os_hol.setSpecialDayType('Holiday')
250
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
251
- end
213
+ os_hol = OpenStudio::Model::RunPeriodControlSpecialDays.new(
214
+ OpenStudio::MonthOfYear.new(hol[0]), hol[1], @openstudio_model)
215
+ os_hol.setDuration(1)
216
+ os_hol.setSpecialDayType('Holiday')
252
217
  end
253
218
  end
254
219
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybee-openstudio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.5
4
+ version: 2.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanushree Charan
@@ -11,8 +11,92 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2020-11-25 00:00:00.000000000 Z
14
+ date: 2020-12-10 00:00:00.000000000 Z
15
15
  dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: bundler
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.1'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: public_suffix
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: 3.1.1
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: 3.1.1
44
+ - !ruby/object:Gem::Dependency
45
+ name: json-schema
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.8.1
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: 2.8.1
58
+ - !ruby/object:Gem::Dependency
59
+ name: rake
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - "~>"
63
+ - !ruby/object:Gem::Version
64
+ version: '13.0'
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '13.0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rspec
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '3.9'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '3.9'
86
+ - !ruby/object:Gem::Dependency
87
+ name: rubocop
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: 0.54.0
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 0.54.0
16
100
  - !ruby/object:Gem::Dependency
17
101
  name: json_pure
18
102
  requirement: !ruby/object:Gem::Requirement
@@ -64,12 +148,10 @@ executables: []
64
148
  extensions: []
65
149
  extra_rdoc_files: []
66
150
  files:
67
- - ".coveralls.yml"
68
- - ".github/workflows/emit-release-event.yaml"
69
- - ".github/workflows/pull_request.yaml"
151
+ - ".github/workflows/cd.yml"
152
+ - ".github/workflows/ci.yaml"
70
153
  - ".gitignore"
71
154
  - ".releaserc.json"
72
- - ".travis.yml"
73
155
  - Gemfile
74
156
  - LICENSE.md
75
157
  - README.md
@@ -204,16 +286,16 @@ require_paths:
204
286
  - lib
205
287
  required_ruby_version: !ruby/object:Gem::Requirement
206
288
  requirements:
207
- - - ">="
289
+ - - "~>"
208
290
  - !ruby/object:Gem::Version
209
- version: '0'
291
+ version: 2.5.0
210
292
  required_rubygems_version: !ruby/object:Gem::Requirement
211
293
  requirements:
212
294
  - - ">="
213
295
  - !ruby/object:Gem::Version
214
296
  version: '0'
215
297
  requirements: []
216
- rubygems_version: 3.0.6
298
+ rubygems_version: 3.1.4
217
299
  signing_key:
218
300
  specification_version: 4
219
301
  summary: Gem for translating between Honeybee JSON and OpenStudio Model.
@@ -1 +0,0 @@
1
- service_name: travis-ci
@@ -1,25 +0,0 @@
1
- name: Pull Request CI
2
-
3
- on:
4
- pull_request:
5
- branches:
6
- - master
7
- - develop
8
-
9
- jobs:
10
- test_3x:
11
- runs-on: ubuntu-18.04
12
- steps:
13
- - name: Check out repository
14
- uses: actions/checkout@v2
15
- - name: Run Tests
16
- run: |
17
- echo $(pwd)
18
- echo $(ls)
19
- docker pull nrel/openstudio:3.1.0
20
- docker run --name test --rm -d -t -v $(pwd):/work -w /work nrel/openstudio:3.1.0
21
- docker exec -t test pwd
22
- docker exec -t test ls
23
- docker exec -t test bundle update
24
- docker exec -t test bundle exec rake
25
- docker kill test
@@ -1,44 +0,0 @@
1
- dist: bionic
2
- language: ruby
3
-
4
- rvm:
5
- - 2.5
6
-
7
- before_install:
8
- # install openstudio
9
- - wget https://github.com/NREL/OpenStudio/releases/download/v3.0.0/OpenStudio-3.0.0+1c9617fa4e-Linux.deb
10
- - sudo dpkg -i ./OpenStudio-3.0.0+1c9617fa4e-Linux.deb
11
- # install the openstudio extension gem
12
- - export RUBYLIB=/usr/local/openstudio-3.0.0/Ruby
13
- - gem install openstudio-extension -v 0.2.3
14
-
15
- install:
16
- - bundle install
17
-
18
- jobs:
19
- include:
20
- - stage: test
21
- script:
22
- - rake
23
- - stage: deploy
24
- if: branch = master AND (NOT type IN (pull_request))
25
- before_install:
26
- - nvm install lts/* --latest-npm
27
- install:
28
- - npm install @semantic-release/exec
29
- script:
30
- - git config --global user.email "releases@ladybug.tools"
31
- - git config --global user.name "ladybugbot"
32
- - npx semantic-release
33
- - stage: deploy
34
- if: tag IS present
35
- script:
36
- - export CLEAN_TAG=$(echo $TRAVIS_TAG | sed 's/v//g')
37
- - sed -i 's/"0.0.0"/'"'$CLEAN_TAG'"'/g' honeybee-openstudio.gemspec
38
- deploy:
39
- on:
40
- tags: true
41
- provider: rubygems
42
- skip_cleanup: true
43
- api_key: $API_KEY
44
- gem: honeybee-openstudio