openstudio-workflow 1.3.5 → 2.1.1

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 (35) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +10 -10
  4. data/Rakefile +13 -0
  5. data/lib/openstudio-workflow.rb +2 -0
  6. data/lib/openstudio/workflow/adapters/input/local.rb +3 -0
  7. data/lib/openstudio/workflow/adapters/output/local.rb +3 -0
  8. data/lib/openstudio/workflow/adapters/output/socket.rb +2 -0
  9. data/lib/openstudio/workflow/adapters/output/web.rb +2 -0
  10. data/lib/openstudio/workflow/adapters/output_adapter.rb +4 -0
  11. data/lib/openstudio/workflow/job.rb +2 -0
  12. data/lib/openstudio/workflow/jobs/resources/monthly_report.idf +15 -13
  13. data/lib/openstudio/workflow/jobs/run_energyplus.rb +6 -3
  14. data/lib/openstudio/workflow/jobs/run_ep_measures.rb +5 -2
  15. data/lib/openstudio/workflow/jobs/run_initialization.rb +6 -3
  16. data/lib/openstudio/workflow/jobs/run_os_measures.rb +5 -2
  17. data/lib/openstudio/workflow/jobs/run_postprocess.rb +2 -0
  18. data/lib/openstudio/workflow/jobs/run_preprocess.rb +7 -4
  19. data/lib/openstudio/workflow/jobs/run_reporting_measures.rb +19 -1
  20. data/lib/openstudio/workflow/jobs/run_translation.rb +7 -4
  21. data/lib/openstudio/workflow/multi_delegator.rb +2 -0
  22. data/lib/openstudio/workflow/registry.rb +5 -0
  23. data/lib/openstudio/workflow/run.rb +4 -2
  24. data/lib/openstudio/workflow/time_logger.rb +2 -0
  25. data/lib/openstudio/workflow/util.rb +2 -0
  26. data/lib/openstudio/workflow/util/energyplus.rb +232 -229
  27. data/lib/openstudio/workflow/util/io.rb +2 -0
  28. data/lib/openstudio/workflow/util/measure.rb +5 -0
  29. data/lib/openstudio/workflow/util/model.rb +4 -0
  30. data/lib/openstudio/workflow/util/post_process.rb +4 -1
  31. data/lib/openstudio/workflow/util/weather_file.rb +5 -0
  32. data/lib/openstudio/workflow/version.rb +3 -1
  33. data/lib/openstudio/workflow_json.rb +5 -0
  34. data/lib/openstudio/workflow_runner.rb +4 -0
  35. metadata +84 -56
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -76,6 +76,11 @@ module OpenStudio
76
76
 
77
77
  measure_dir_name = step.measureDirName
78
78
 
79
+ pn = Pathname.new(measure_dir_name)
80
+ if pn.absolute?
81
+ logger.warn "measure_dir_name should not be a full path. It should be a relative path to the measure directory or the name of the measure directory containing the measure.rb file."
82
+ end
83
+
79
84
  measure_dir = workflow_json.findMeasure(measure_dir_name)
80
85
  fail "Cannot find #{measure_dir_name}" if measure_dir.empty?
81
86
  measure_dir = measure_dir.get
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -63,6 +65,7 @@ module OpenStudio
63
65
  loaded_model = OpenStudio::Model::Model.load(osm_path)
64
66
  end
65
67
  raise "Failed to load OSM file #{osm_path}" if loaded_model.empty?
68
+
66
69
  loaded_model.get
67
70
  end
68
71
 
@@ -80,6 +83,7 @@ module OpenStudio
80
83
 
81
84
  idf = OpenStudio::Workspace.load(idf_path)
82
85
  raise "Failed to load IDF file #{idf_path}" if idf.empty?
86
+
83
87
  idf.get
84
88
  end
85
89
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -52,6 +54,7 @@ module OpenStudio
52
54
  #
53
55
  def load_sql_file(sql_file)
54
56
  return nil unless File.exist? sql_file
57
+
55
58
  OpenStudio::SqlFile.new(@sql_filename)
56
59
  end
57
60
 
@@ -135,7 +138,7 @@ module OpenStudio
135
138
  #
136
139
  def rename_hash_keys(hash, logger)
137
140
  # @todo should we log the name changes?
138
- regex = /[|!@#\$%^&\*\(\)\{\}\\\[\];:'",<.>\/?\+=]+/
141
+ regex = %r{[|!@#\$%^&\*\(\)\{\}\\\[\];:'",<.>/?\+=]+}
139
142
 
140
143
  rename_keys = lambda do |h|
141
144
  if Hash === h
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -60,6 +62,7 @@ module OpenStudio
60
62
  end
61
63
  weather_file = get_weather_file_from_osm(model, logger) if weather_file.nil?
62
64
  raise 'Could not locate the weather file in the filesystem. Please see the log' if weather_file == false
65
+
63
66
  logger.warn 'The weather file could not be determined. Please see the log for details' unless weather_file
64
67
  weather_file
65
68
  end
@@ -113,6 +116,7 @@ module OpenStudio
113
116
  #
114
117
  def get_weather_file_from_fs(directory, wf, wf_search_array, logger)
115
118
  raise "wf was defined as #{wf}. Please correct" unless wf
119
+
116
120
  weather_file = nil
117
121
  if Pathname.new(wf).absolute?
118
122
  weather_file = wf
@@ -120,6 +124,7 @@ module OpenStudio
120
124
  wf_search_array.each do |wf_dir|
121
125
  logger.warn "The path #{wf_dir} does not exist" unless File.exist? File.join(directory, wf_dir)
122
126
  next unless File.exist? File.join(directory, wf_dir)
127
+
123
128
  if Dir.entries(File.join(directory, wf_dir)).include? File.basename(wf)
124
129
  weather_file = File.absolute_path(File.join(directory, wf_dir, wf))
125
130
  break
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -35,6 +37,6 @@
35
37
 
36
38
  module OpenStudio
37
39
  module Workflow
38
- VERSION = '1.3.5'.freeze # Suffixes must have periods (not dashes)
40
+ VERSION = '2.1.1' # Suffixes must have periods (not dashes)
39
41
  end
40
42
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -51,6 +53,7 @@ class Optional_Shim
51
53
 
52
54
  def get
53
55
  raise 'Uninitialized Optional_Shim' if @obj.nil?
56
+
54
57
  @obj
55
58
  end
56
59
  end
@@ -121,6 +124,7 @@ class WorkflowStepResult_Shim
121
124
  if @result[:initial_condition]
122
125
  return Optional_Shim.new(@result[:initial_condition])
123
126
  end
127
+
124
128
  return Optional_Shim.new(nil)
125
129
  end
126
130
 
@@ -128,6 +132,7 @@ class WorkflowStepResult_Shim
128
132
  if @result[:final_condition]
129
133
  return Optional_Shim.new(@result[:final_condition])
130
134
  end
135
+
131
136
  return Optional_Shim.new(nil)
132
137
  end
133
138
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # *******************************************************************************
2
4
  # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
3
5
  # All rights reserved.
@@ -138,6 +140,7 @@ class WorkflowRunner < OpenStudio::Ruleset::OSRunner
138
140
  if current_step.empty?
139
141
  raise 'Cannot find current_step'
140
142
  end
143
+
141
144
  current_step = current_step.get
142
145
 
143
146
  if current_step.step[:result].nil?
@@ -258,6 +261,7 @@ class WorkflowRunner < OpenStudio::Ruleset::OSRunner
258
261
  # Overload halted
259
262
  def halted
260
263
  return @halted unless @use_os_halted
264
+
261
265
  super
262
266
  end
263
267
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstudio-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Long
@@ -9,174 +9,202 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-24 00:00:00.000000000 Z
12
+ date: 2020-12-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bundler
15
+ name: builder
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.6'
20
+ version: 3.2.4
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.6'
27
+ version: 3.2.4
28
28
  - !ruby/object:Gem::Dependency
29
- name: rspec
29
+ name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 3.7.0
34
+ version: '2.1'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 3.7.0
41
+ version: '2.1'
42
42
  - !ruby/object:Gem::Dependency
43
- name: json-schema
43
+ name: ci_reporter
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '='
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 2.8.0
48
+ version: 2.0.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '='
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 2.8.0
55
+ version: 2.0.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: builder
57
+ name: ci_reporter_rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '='
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 2.1.2
62
+ version: 1.0.0
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '='
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 2.1.2
69
+ version: 1.0.0
70
70
  - !ruby/object:Gem::Dependency
71
- name: ci_reporter
71
+ name: coveralls
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '='
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 2.0.0
76
+ version: 0.8.21
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '='
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 2.0.0
83
+ version: 0.8.21
84
84
  - !ruby/object:Gem::Dependency
85
- name: ci_reporter_rspec
85
+ name: json-schema
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '='
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: 1.0.0
90
+ version: 2.8.0
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '='
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: 1.0.0
97
+ version: 2.8.0
98
98
  - !ruby/object:Gem::Dependency
99
- name: coveralls
99
+ name: openstudio-standards
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '='
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 0.8.21
104
+ version: 0.2.12
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '='
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 0.8.21
111
+ version: 0.2.12
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: parallel
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '='
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: 1.12.1
118
+ version: 1.19.1
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '='
123
+ - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: 1.12.1
125
+ version: 1.19.1
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: public_suffix
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '='
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: 2.0.5
132
+ version: 4.0.3
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '='
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 2.0.5
139
+ version: 4.0.3
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rainbow
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '='
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: 2.2.2
146
+ version: 3.0.0
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - '='
151
+ - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: 2.2.2
153
+ version: 3.0.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: rake
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '12.3'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '12.3'
168
+ - !ruby/object:Gem::Dependency
169
+ name: rspec
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '3.9'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '3.9'
154
182
  - !ruby/object:Gem::Dependency
155
183
  name: rubocop
156
184
  requirement: !ruby/object:Gem::Requirement
157
185
  requirements:
158
- - - '='
186
+ - - "~>"
159
187
  - !ruby/object:Gem::Version
160
- version: 0.54.0
188
+ version: 0.80.1
161
189
  type: :development
162
190
  prerelease: false
163
191
  version_requirements: !ruby/object:Gem::Requirement
164
192
  requirements:
165
- - - '='
193
+ - - "~>"
166
194
  - !ruby/object:Gem::Version
167
- version: 0.54.0
195
+ version: 0.80.1
168
196
  - !ruby/object:Gem::Dependency
169
197
  name: rubocop-checkstyle_formatter
170
198
  requirement: !ruby/object:Gem::Requirement
171
199
  requirements:
172
- - - '='
200
+ - - "~>"
173
201
  - !ruby/object:Gem::Version
174
202
  version: 0.4.0
175
203
  type: :development
176
204
  prerelease: false
177
205
  version_requirements: !ruby/object:Gem::Requirement
178
206
  requirements:
179
- - - '='
207
+ - - "~>"
180
208
  - !ruby/object:Gem::Version
181
209
  version: 0.4.0
182
210
  description: Run OpenStudio based measures and simulations using EnergyPlus
@@ -230,9 +258,9 @@ require_paths:
230
258
  - lib
231
259
  required_ruby_version: !ruby/object:Gem::Requirement
232
260
  requirements:
233
- - - ">="
261
+ - - "~>"
234
262
  - !ruby/object:Gem::Version
235
- version: 2.2.4
263
+ version: 2.5.0
236
264
  required_rubygems_version: !ruby/object:Gem::Requirement
237
265
  requirements:
238
266
  - - ">="
@@ -240,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
268
  version: '0'
241
269
  requirements: []
242
270
  rubyforge_project:
243
- rubygems_version: 2.4.5.1
271
+ rubygems_version: 2.7.6.2
244
272
  signing_key:
245
273
  specification_version: 4
246
274
  summary: OpenStudio Workflow Manager