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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +21 -0
- data/README.md +10 -10
- data/Rakefile +13 -0
- data/lib/openstudio-workflow.rb +2 -0
- data/lib/openstudio/workflow/adapters/input/local.rb +3 -0
- data/lib/openstudio/workflow/adapters/output/local.rb +3 -0
- data/lib/openstudio/workflow/adapters/output/socket.rb +2 -0
- data/lib/openstudio/workflow/adapters/output/web.rb +2 -0
- data/lib/openstudio/workflow/adapters/output_adapter.rb +4 -0
- data/lib/openstudio/workflow/job.rb +2 -0
- data/lib/openstudio/workflow/jobs/resources/monthly_report.idf +15 -13
- data/lib/openstudio/workflow/jobs/run_energyplus.rb +6 -3
- data/lib/openstudio/workflow/jobs/run_ep_measures.rb +5 -2
- data/lib/openstudio/workflow/jobs/run_initialization.rb +6 -3
- data/lib/openstudio/workflow/jobs/run_os_measures.rb +5 -2
- data/lib/openstudio/workflow/jobs/run_postprocess.rb +2 -0
- data/lib/openstudio/workflow/jobs/run_preprocess.rb +7 -4
- data/lib/openstudio/workflow/jobs/run_reporting_measures.rb +19 -1
- data/lib/openstudio/workflow/jobs/run_translation.rb +7 -4
- data/lib/openstudio/workflow/multi_delegator.rb +2 -0
- data/lib/openstudio/workflow/registry.rb +5 -0
- data/lib/openstudio/workflow/run.rb +4 -2
- data/lib/openstudio/workflow/time_logger.rb +2 -0
- data/lib/openstudio/workflow/util.rb +2 -0
- data/lib/openstudio/workflow/util/energyplus.rb +232 -229
- data/lib/openstudio/workflow/util/io.rb +2 -0
- data/lib/openstudio/workflow/util/measure.rb +5 -0
- data/lib/openstudio/workflow/util/model.rb +4 -0
- data/lib/openstudio/workflow/util/post_process.rb +4 -1
- data/lib/openstudio/workflow/util/weather_file.rb +5 -0
- data/lib/openstudio/workflow/version.rb +3 -1
- data/lib/openstudio/workflow_json.rb +5 -0
- data/lib/openstudio/workflow_runner.rb +4 -0
- metadata +84 -56
@@ -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.
|
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.
|
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-
|
12
|
+
date: 2020-12-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: builder
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
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:
|
27
|
+
version: 3.2.4
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: bundler
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
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:
|
41
|
+
version: '2.1'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
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.
|
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.
|
55
|
+
version: 2.0.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
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:
|
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:
|
69
|
+
version: 1.0.0
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: coveralls
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
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:
|
83
|
+
version: 0.8.21
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: json-schema
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
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:
|
97
|
+
version: 2.8.0
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
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.
|
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.
|
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.
|
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.
|
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:
|
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:
|
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:
|
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:
|
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.
|
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.
|
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.
|
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.
|
271
|
+
rubygems_version: 2.7.6.2
|
244
272
|
signing_key:
|
245
273
|
specification_version: 4
|
246
274
|
summary: OpenStudio Workflow Manager
|