openstudio-workflow 2.0.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -3
- data/README.md +1 -1
- data/Rakefile +11 -0
- data/lib/openstudio-workflow.rb +1 -1
- data/lib/openstudio/workflow/adapters/input/local.rb +19 -1
- data/lib/openstudio/workflow/adapters/output/local.rb +5 -3
- data/lib/openstudio/workflow/adapters/output/socket.rb +2 -6
- data/lib/openstudio/workflow/adapters/output/web.rb +1 -17
- data/lib/openstudio/workflow/adapters/output_adapter.rb +6 -7
- data/lib/openstudio/workflow/job.rb +1 -1
- data/lib/openstudio/workflow/jobs/resources/monthly_report.idf +15 -13
- data/lib/openstudio/workflow/jobs/run_energyplus.rb +1 -1
- data/lib/openstudio/workflow/jobs/run_ep_measures.rb +1 -1
- data/lib/openstudio/workflow/jobs/run_initialization.rb +2 -2
- data/lib/openstudio/workflow/jobs/run_os_measures.rb +1 -1
- data/lib/openstudio/workflow/jobs/run_postprocess.rb +1 -1
- data/lib/openstudio/workflow/jobs/run_preprocess.rb +1 -1
- data/lib/openstudio/workflow/jobs/run_reporting_measures.rb +14 -2
- data/lib/openstudio/workflow/jobs/run_translation.rb +1 -1
- data/lib/openstudio/workflow/multi_delegator.rb +1 -1
- data/lib/openstudio/workflow/registry.rb +1 -1
- data/lib/openstudio/workflow/run.rb +13 -18
- data/lib/openstudio/workflow/time_logger.rb +1 -1
- data/lib/openstudio/workflow/util.rb +1 -1
- data/lib/openstudio/workflow/util/energyplus.rb +29 -33
- data/lib/openstudio/workflow/util/io.rb +1 -1
- data/lib/openstudio/workflow/util/measure.rb +8 -1
- data/lib/openstudio/workflow/util/model.rb +2 -2
- data/lib/openstudio/workflow/util/post_process.rb +3 -3
- data/lib/openstudio/workflow/util/weather_file.rb +2 -2
- data/lib/openstudio/workflow/version.rb +2 -2
- data/lib/openstudio/workflow_json.rb +3 -5
- data/lib/openstudio/workflow_runner.rb +2 -4
- metadata +36 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03716fad02e514aa60fbb2e3a14dd2c50286fe2621219f63137f4e1bb77afcb9
|
4
|
+
data.tar.gz: 525a28b94195445ccf890f784898f9868226aea11d0137d112223c2ea0abd099
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc22ddb2820ea5155ce5308a49cfc405f5bdfa43a6b54fbac46ad8486deadb0f8bd866305566dc6fc70d65dbe71feb2c249fd6c0fa94623427f27b630b4c6fc7
|
7
|
+
data.tar.gz: de613152849f97dd568c2f91a3411cb0c3a0f37d48f3e86a3fd37e7922d074e058eab6515e82f4359edb3e175baa718a91c8cbf6cbe1cc414afacee0d9c3253a
|
data/CHANGELOG.md
CHANGED
@@ -1,15 +1,40 @@
|
|
1
1
|
OpenStudio::Workflow Change Log
|
2
2
|
==================================
|
3
3
|
|
4
|
-
Version 2.
|
5
|
-
|
4
|
+
Version 2.2.1
|
5
|
+
-------------
|
6
|
+
* Fixes [#4150](https://github.com/NREL/OpenStudio/issues/4150) LoadError changes current working directory in CLI
|
7
|
+
* Add skip option to not zip up datapoint results
|
8
|
+
* Update measure tester gem which upgrades Rubocop to 1.15
|
9
|
+
* Update styles to v4 based on new version of Rubocop
|
10
|
+
|
11
|
+
Version 2.2.0
|
12
|
+
-------------
|
13
|
+
* Minimum Ruby version upgraded to 2.7.0
|
14
|
+
* Bundler bumped to ~> 2.2
|
15
|
+
* Updated copyright
|
6
16
|
|
17
|
+
Version 2.1.1
|
18
|
+
-------------
|
19
|
+
* Add support for URBANopt Workflow
|
20
|
+
* Update reporting measure in tests
|
21
|
+
|
22
|
+
Version 2.1.0
|
23
|
+
-------------
|
24
|
+
* Support for EnergyPlus 9.4. This version will not work with prior versions of EnergyPlus.
|
25
|
+
* Add warning when paths are not relative
|
26
|
+
|
27
|
+
Version 2.0.1
|
28
|
+
-------------
|
29
|
+
* Bug fix for idf.addObjects(object) to idf.addObject(object)
|
30
|
+
|
31
|
+
Version 2.0.0
|
32
|
+
-------------
|
7
33
|
* Support Ruby > 2.5
|
8
34
|
* Support OpenStudio 3.x
|
9
35
|
|
10
36
|
Version 1.3.5
|
11
37
|
-------------
|
12
|
-
|
13
38
|
* Allow reporting to fail gracefully so HTML reports are returned Fixed [this](https://github.com/NREL/OpenStudio/issues/864).
|
14
39
|
* Allow EMS:OutputVariable in reporting measure
|
15
40
|
* Fixes [#93](https://github.com/NREL/OpenStudio-workflow-gem/issues/93) - Pass Model to the arguments method of ReportingMeasure
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ This branch is the development branch for the OpenStudio workflow gem.
|
|
9
9
|
|
10
10
|
The OpenStudio Workflow Gem has the following dependencies:
|
11
11
|
|
12
|
-
* Ruby 2.
|
12
|
+
* Ruby 2.7.2
|
13
13
|
* OpenStudio 3.x
|
14
14
|
|
15
15
|
[OpenStudio](https://www.openstudio.net/) needs to be installed and in your path. On Mac/Linux it is easiest to add the following to your .bash_profile or /etc/profile.d/<file>.sh to ensure OpenStudio loads. Assuming OpenStudio 3.0.0 installed:
|
data/Rakefile
CHANGED
@@ -36,3 +36,14 @@ task :test_zip do
|
|
36
36
|
puts "Trying to extract #{f}"
|
37
37
|
OpenStudio::Workflow.extract_archive(f, 'junk_out', true)
|
38
38
|
end
|
39
|
+
|
40
|
+
desc 'Transition IDF Files'
|
41
|
+
task :transition_idf do
|
42
|
+
lst_path = File.join(Dir.pwd, 'IdfFilesToTransition.lst')
|
43
|
+
File.open(lst_path, 'w') do |file|
|
44
|
+
Dir.glob('**/*.idf').each do |idf|
|
45
|
+
file.puts(File.join(Dir.pwd, idf))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
puts "Use the IDFVersionUpdater and point it to #{lst_path}"
|
49
|
+
end
|
data/lib/openstudio-workflow.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -192,6 +192,24 @@ module OpenStudio
|
|
192
192
|
return default
|
193
193
|
end
|
194
194
|
|
195
|
+
def skip_zip_results(user_options, default)
|
196
|
+
# user option trumps all others
|
197
|
+
return user_options[:skip_zip_results] if user_options[:skip_zip_results]
|
198
|
+
|
199
|
+
# try to read from OSW
|
200
|
+
if @run_options && !@run_options.empty?
|
201
|
+
if @run_options.get.respond_to?(:skipZipResults)
|
202
|
+
return @run_options.get.skipZipResults
|
203
|
+
else
|
204
|
+
if @workflow[:run_options]
|
205
|
+
return @workflow[:run_options][:skip_zip_results]
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
return default
|
211
|
+
end
|
212
|
+
|
195
213
|
def preserve_run_dir(user_options, default)
|
196
214
|
# user option trumps all others
|
197
215
|
return user_options[:preserve_run_dir] if user_options[:preserve_run_dir]
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -136,8 +136,10 @@ module OpenStudio
|
|
136
136
|
|
137
137
|
# Write the results of the workflow to the filesystem
|
138
138
|
#
|
139
|
-
def communicate_results(directory, results)
|
140
|
-
|
139
|
+
def communicate_results(directory, results, skip_zip_results)
|
140
|
+
if !skip_zip_results
|
141
|
+
zip_results(directory)
|
142
|
+
end
|
141
143
|
|
142
144
|
if results.is_a? Hash
|
143
145
|
# DLM: don't we want this in the results zip?
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -55,10 +55,6 @@ module OpenStudio
|
|
55
55
|
@socket.write("Started\n")
|
56
56
|
end
|
57
57
|
|
58
|
-
def communicate_results(directory, results)
|
59
|
-
super
|
60
|
-
end
|
61
|
-
|
62
58
|
def communicate_complete
|
63
59
|
super
|
64
60
|
@socket.write("Complete\n")
|
@@ -75,7 +71,7 @@ module OpenStudio
|
|
75
71
|
|
76
72
|
def communicate_transition(message, type, options = {})
|
77
73
|
super
|
78
|
-
@socket.write(message
|
74
|
+
@socket.write("#{message}\n")
|
79
75
|
end
|
80
76
|
|
81
77
|
def communicate_energyplus_stdout(line, options = {})
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -47,22 +47,6 @@ module OpenStudio
|
|
47
47
|
raise 'The required :url option was not passed to the web output adapter' unless options[:url]
|
48
48
|
end
|
49
49
|
|
50
|
-
def communicate_started
|
51
|
-
super
|
52
|
-
end
|
53
|
-
|
54
|
-
def communicate_results(directory, results)
|
55
|
-
super
|
56
|
-
end
|
57
|
-
|
58
|
-
def communicate_complete
|
59
|
-
super
|
60
|
-
end
|
61
|
-
|
62
|
-
def communicate_failure
|
63
|
-
super
|
64
|
-
end
|
65
|
-
|
66
50
|
def communicate_objective_function(objectives, options = {})
|
67
51
|
super
|
68
52
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -113,19 +113,18 @@ module OpenStudio
|
|
113
113
|
end
|
114
114
|
|
115
115
|
# skip x-large directory
|
116
|
-
if File.size?(file)
|
117
|
-
next
|
116
|
+
if File.size?(file) && (File.size?(file) >= 15000000)
|
117
|
+
next
|
118
118
|
end
|
119
|
+
|
119
120
|
add_directory_to_zip(zf, file, directory)
|
120
121
|
else
|
121
122
|
next if File.extname(file) =~ /\.rb.*/
|
122
123
|
next if File.extname(file) =~ /\.zip.*/
|
123
124
|
|
124
125
|
# skip large non-osm/idf files
|
125
|
-
if File.size(file)
|
126
|
-
|
127
|
-
next unless File.extname(file) == '.osm' || File.extname(file) == '.idf'
|
128
|
-
end
|
126
|
+
if File.size(file) && (File.size(file) >= 100000000) && !(File.extname(file) == '.osm' || File.extname(file) == '.idf')
|
127
|
+
next
|
129
128
|
end
|
130
129
|
|
131
130
|
zip_file_to_add = file.gsub("#{directory}/", '')
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,3 +1,5 @@
|
|
1
|
+
Version,9.4;
|
2
|
+
|
1
3
|
Output:Table:Monthly,
|
2
4
|
Building Energy Performance - Electricity, !- Name
|
3
5
|
2, !- Digits After Decimal
|
@@ -33,17 +35,17 @@ Output:Table:Monthly,
|
|
33
35
|
Output:Table:Monthly,
|
34
36
|
Building Energy Performance - Natural Gas, !- Name
|
35
37
|
2, !- Digits After Decimal
|
36
|
-
InteriorEquipment:
|
38
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
37
39
|
SumOrAverage, !- Aggregation Type for Variable or Meter 1
|
38
|
-
ExteriorEquipment:
|
40
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
39
41
|
SumOrAverage, !- Aggregation Type for Variable or Meter 2
|
40
|
-
Heating:
|
42
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
41
43
|
SumOrAverage, !- Aggregation Type for Variable or Meter 3
|
42
|
-
Cooling:
|
44
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
43
45
|
SumOrAverage, !- Aggregation Type for Variable or Meter 4
|
44
|
-
WaterSystems:
|
46
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
45
47
|
SumOrAverage, !- Aggregation Type for Variable or Meter 5
|
46
|
-
Cogeneration:
|
48
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
47
49
|
SumOrAverage; !- Aggregation Type for Variable or Meter 6
|
48
50
|
|
49
51
|
Output:Table:Monthly,
|
@@ -141,19 +143,19 @@ Output:Table:Monthly,
|
|
141
143
|
Output:Table:Monthly,
|
142
144
|
Building Energy Performance - Natural Gas Peak Demand, !- Name
|
143
145
|
2, !- Digits After Decimal
|
144
|
-
|
146
|
+
NaturalGas:Facility, !- Variable or Meter 1 Name
|
145
147
|
Maximum, !- Aggregation Type for Variable or Meter 1
|
146
|
-
InteriorEquipment:
|
148
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
147
149
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 1
|
148
|
-
ExteriorEquipment:
|
150
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
149
151
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 2
|
150
|
-
Heating:
|
152
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
151
153
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 3
|
152
|
-
Cooling:
|
154
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
153
155
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 4
|
154
|
-
WaterSystems:
|
156
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
155
157
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 5
|
156
|
-
Cogeneration:
|
158
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
157
159
|
ValueWhenMaximumOrMinimum; !- Aggregation Type for Variable or Meter 6
|
158
160
|
|
159
161
|
Output:Table:Monthly,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -181,7 +181,7 @@ class RunInitialization < OpenStudio::Workflow::Job
|
|
181
181
|
|
182
182
|
unless weather_path.empty?
|
183
183
|
weather_path = weather_path.get
|
184
|
-
@logger.debug
|
184
|
+
@logger.debug "Searching for weather file #{weather_path}"
|
185
185
|
|
186
186
|
weather_full_path = workflow_json.findFile(weather_path)
|
187
187
|
if weather_full_path.empty?
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -63,8 +63,20 @@ class RunReportingMeasures < OpenStudio::Workflow::Job
|
|
63
63
|
# Ensure output_attributes is initialized in the registry
|
64
64
|
@registry.register(:output_attributes) { {} } unless @registry[:output_attributes]
|
65
65
|
|
66
|
+
# get OSA[:urbanopt] #BLB should prob be sent in as cli arg and used in options but for now just do this
|
67
|
+
@registry.register(:urbanopt) { false }
|
68
|
+
if @registry[:osw_path]
|
69
|
+
workflow = nil
|
70
|
+
if File.exist? @registry[:osw_path]
|
71
|
+
workflow = ::JSON.parse(File.read(@registry[:osw_path]), symbolize_names: true)
|
72
|
+
if !workflow.nil? && !workflow[:urbanopt].nil?
|
73
|
+
@registry.register(:urbanopt) { workflow[:urbanopt] }
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
66
78
|
# Load simulation files as required
|
67
|
-
unless @registry[:runner].halted
|
79
|
+
unless @registry[:runner].halted || @registry[:urbanopt]
|
68
80
|
if @registry[:model].nil?
|
69
81
|
osm_path = File.absolute_path(File.join(@registry[:run_dir], 'in.osm'))
|
70
82
|
@logger.debug "Attempting to load #{osm_path}"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -48,12 +48,7 @@ module OpenStudio
|
|
48
48
|
class Run
|
49
49
|
attr_accessor :registry
|
50
50
|
|
51
|
-
attr_reader :options
|
52
|
-
attr_reader :input_adapter
|
53
|
-
attr_reader :output_adapter
|
54
|
-
attr_reader :final_message
|
55
|
-
attr_reader :job_results
|
56
|
-
attr_reader :current_state
|
51
|
+
attr_reader :options, :input_adapter, :output_adapter, :final_message, :job_results, :current_state
|
57
52
|
|
58
53
|
# Define the default set of jobs. Note that the states of :queued of :finished need to exist for all job arrays.
|
59
54
|
#
|
@@ -90,6 +85,7 @@ module OpenStudio
|
|
90
85
|
# @option user_options [Hash] :debug Print debugging messages, overrides OSW option if set, defaults to false
|
91
86
|
# @option user_options [Hash] :energyplus_path Specifies path to energyplus executable, defaults to empty
|
92
87
|
# @option user_options [Hash] :fast Speeds up workflow by skipping steps not needed for running simulations, defaults to false
|
88
|
+
# @option user_options [Hash] :skip_zip_results Skips creating the data_point.zip file. Setting to `true` can cause issues with workflows expecting .zip files to signal completion (e.g., OpenStudio Analysis Framework), defaults to false
|
93
89
|
# @option user_options [Hash] :jobs Simulation workflow, overrides jobs in OSW if set, defaults to default_jobs
|
94
90
|
# @option user_options [Hash] :output_adapter Output adapter to use, overrides output adapter in OSW if set, defaults to local adapter
|
95
91
|
# @option user_options [Hash] :preserve_run_dir Prevents run directory from being cleaned prior to run, overrides OSW option if set, defaults to false - DLM, Deprecate
|
@@ -158,15 +154,13 @@ module OpenStudio
|
|
158
154
|
end
|
159
155
|
|
160
156
|
# By default blow away the entire run directory every time and recreate it
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
FileUtils.rm_rf(@registry[:run_dir])
|
169
|
-
end
|
157
|
+
if !@options[:preserve_run_dir] && File.exist?(@registry[:run_dir])
|
158
|
+
# logger is not initialized yet (it needs run dir to exist for log)
|
159
|
+
puts "Removing existing run directory #{@registry[:run_dir]}" if @options[:debug]
|
160
|
+
|
161
|
+
# DLM: this is dangerous, we are calling rm_rf on a user entered directory, need to check this first
|
162
|
+
# TODO: Echoing Dan's comment
|
163
|
+
FileUtils.rm_rf(@registry[:run_dir])
|
170
164
|
end
|
171
165
|
FileUtils.mkdir_p(@registry[:run_dir])
|
172
166
|
|
@@ -176,7 +170,7 @@ module OpenStudio
|
|
176
170
|
else
|
177
171
|
# don't create these files unless we want to use them
|
178
172
|
# DLM: TODO, make sure that run.log will be closed later
|
179
|
-
@options[:targets] = [
|
173
|
+
@options[:targets] = [$stdout, File.open(File.join(@registry[:run_dir], 'run.log'), 'a')]
|
180
174
|
end
|
181
175
|
|
182
176
|
@registry.register(:log_targets) { @options[:targets] }
|
@@ -204,6 +198,7 @@ module OpenStudio
|
|
204
198
|
@options[:verify_osw] = @input_adapter.verify_osw(user_options, true)
|
205
199
|
@options[:weather_file] = @input_adapter.weather_file(user_options, nil)
|
206
200
|
@options[:fast] = @input_adapter.fast(user_options, false)
|
201
|
+
@options[:skip_zip_results] = @input_adapter.skip_zip_results(user_options, false)
|
207
202
|
|
208
203
|
openstudio_dir = 'unknown'
|
209
204
|
begin
|
@@ -236,7 +231,7 @@ module OpenStudio
|
|
236
231
|
|
237
232
|
if !@options[:fast]
|
238
233
|
@logger.info 'Finished workflow - communicating results and zipping files'
|
239
|
-
@output_adapter.communicate_results(@registry[:run_dir], @registry[:results])
|
234
|
+
@output_adapter.communicate_results(@registry[:run_dir], @registry[:results], @options[:skip_zip_results])
|
240
235
|
end
|
241
236
|
rescue StandardError => e
|
242
237
|
@logger.info "Error occurred during running with #{e.message}"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -125,7 +125,7 @@ module OpenStudio
|
|
125
125
|
# @return [Void]
|
126
126
|
#
|
127
127
|
def call_energyplus(run_directory, energyplus_path = nil, output_adapter = nil, logger = nil, workflow_json = nil)
|
128
|
-
logger ||= ::Logger.new(
|
128
|
+
logger ||= ::Logger.new($stdout) unless logger
|
129
129
|
|
130
130
|
current_dir = Dir.pwd
|
131
131
|
energyplus_path ||= find_energyplus
|
@@ -227,11 +227,11 @@ module OpenStudio
|
|
227
227
|
# just add this, we don't allow this type in add_energyplus_output_request
|
228
228
|
logger.info 'Adding SQL Output to IDF'
|
229
229
|
object = OpenStudio::IdfObject.load('Output:SQLite,SimpleAndTabular;').get
|
230
|
-
idf.
|
230
|
+
idf.addObject(object)
|
231
231
|
end
|
232
232
|
|
233
233
|
# merge in monthly reports
|
234
|
-
EnergyPlus.monthly_report_idf_text.split(
|
234
|
+
EnergyPlus.monthly_report_idf_text.split(/^\s*$/).each do |object|
|
235
235
|
object = object.strip
|
236
236
|
next if object.empty?
|
237
237
|
|
@@ -239,13 +239,13 @@ module OpenStudio
|
|
239
239
|
end
|
240
240
|
|
241
241
|
# These are needed for the calibration report
|
242
|
-
new_objects << 'Output:Meter:MeterFileOnly,
|
242
|
+
new_objects << 'Output:Meter:MeterFileOnly,NaturalGas:Facility,Daily;'
|
243
243
|
new_objects << 'Output:Meter:MeterFileOnly,Electricity:Facility,Timestep;'
|
244
244
|
new_objects << 'Output:Meter:MeterFileOnly,Electricity:Facility,Daily;'
|
245
245
|
|
246
246
|
# Always add in the timestep facility meters
|
247
247
|
new_objects << 'Output:Meter,Electricity:Facility,Timestep;'
|
248
|
-
new_objects << 'Output:Meter,
|
248
|
+
new_objects << 'Output:Meter,NaturalGas:Facility,Timestep;'
|
249
249
|
new_objects << 'Output:Meter,DistrictCooling:Facility,Timestep;'
|
250
250
|
new_objects << 'Output:Meter,DistrictHeating:Facility,Timestep;'
|
251
251
|
|
@@ -278,11 +278,9 @@ module OpenStudio
|
|
278
278
|
allowed_objects << 'Meter:CustomDecrement'
|
279
279
|
allowed_objects << 'EnergyManagementSystem:OutputVariable'
|
280
280
|
|
281
|
-
if allowed_objects.include?(idd_object.name)
|
282
|
-
|
283
|
-
|
284
|
-
num_added += 1
|
285
|
-
end
|
281
|
+
if allowed_objects.include?(idd_object.name) && !check_for_object(workspace, idf_object, idd_object.type)
|
282
|
+
workspace.addObject(idf_object)
|
283
|
+
num_added += 1
|
286
284
|
end
|
287
285
|
|
288
286
|
allowed_unique_objects = []
|
@@ -293,15 +291,13 @@ module OpenStudio
|
|
293
291
|
# OutputControl:ReportingTolerances # not allowed
|
294
292
|
# Output:SQLite # not allowed
|
295
293
|
|
296
|
-
if allowed_unique_objects.include?(idf_object.iddObject.name)
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
merge_output_table_summary_reports(summary_reports[0], idf_object)
|
304
|
-
end
|
294
|
+
if allowed_unique_objects.include?(idf_object.iddObject.name) && (idf_object.iddObject.name == 'Output:Table:SummaryReports')
|
295
|
+
summary_reports = workspace.getObjectsByType(idf_object.iddObject.type)
|
296
|
+
if summary_reports.empty?
|
297
|
+
workspace.addObject(idf_object)
|
298
|
+
num_added += 1
|
299
|
+
else
|
300
|
+
merge_output_table_summary_reports(summary_reports[0], idf_object)
|
305
301
|
end
|
306
302
|
end
|
307
303
|
|
@@ -384,17 +380,17 @@ module OpenStudio
|
|
384
380
|
Output:Table:Monthly,
|
385
381
|
Building Energy Performance - Natural Gas, !- Name
|
386
382
|
2, !- Digits After Decimal
|
387
|
-
InteriorEquipment:
|
383
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
388
384
|
SumOrAverage, !- Aggregation Type for Variable or Meter 1
|
389
|
-
ExteriorEquipment:
|
385
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
390
386
|
SumOrAverage, !- Aggregation Type for Variable or Meter 2
|
391
|
-
Heating:
|
387
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
392
388
|
SumOrAverage, !- Aggregation Type for Variable or Meter 3
|
393
|
-
Cooling:
|
389
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
394
390
|
SumOrAverage, !- Aggregation Type for Variable or Meter 4
|
395
|
-
WaterSystems:
|
391
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
396
392
|
SumOrAverage, !- Aggregation Type for Variable or Meter 5
|
397
|
-
Cogeneration:
|
393
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
398
394
|
SumOrAverage; !- Aggregation Type for Variable or Meter 6
|
399
395
|
|
400
396
|
Output:Table:Monthly,
|
@@ -492,19 +488,19 @@ module OpenStudio
|
|
492
488
|
Output:Table:Monthly,
|
493
489
|
Building Energy Performance - Natural Gas Peak Demand, !- Name
|
494
490
|
2, !- Digits After Decimal
|
495
|
-
|
491
|
+
NaturalGas:Facility, !- Variable or Meter 1 Name
|
496
492
|
Maximum, !- Aggregation Type for Variable or Meter 1
|
497
|
-
InteriorEquipment:
|
493
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
498
494
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 1
|
499
|
-
ExteriorEquipment:
|
495
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
500
496
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 2
|
501
|
-
Heating:
|
497
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
502
498
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 3
|
503
|
-
Cooling:
|
499
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
504
500
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 4
|
505
|
-
WaterSystems:
|
501
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
506
502
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 5
|
507
|
-
Cogeneration:
|
503
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
508
504
|
ValueWhenMaximumOrMinimum; !- Aggregation Type for Variable or Meter 6
|
509
505
|
|
510
506
|
Output:Table:Monthly,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *******************************************************************************
|
2
|
-
# OpenStudio(R), Copyright (c) 2008-
|
2
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
3
3
|
# All rights reserved.
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
5
5
|
# modification, are permitted provided that the following conditions are met:
|
@@ -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
|
@@ -337,6 +342,8 @@ module OpenStudio
|
|
337
342
|
result = nil
|
338
343
|
begin
|
339
344
|
load measure_path.to_s
|
345
|
+
# load.c in ruby can result in changing dir to root / so preserve cwd here. happens in openstudio cli
|
346
|
+
Dir.chdir measure_run_dir
|
340
347
|
measure_object = Object.const_get(class_name).new
|
341
348
|
rescue => e
|
342
349
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -95,7 +95,7 @@ module OpenStudio
|
|
95
95
|
# @todo (rhorsey) rescue errors here
|
96
96
|
#
|
97
97
|
def translate_to_energyplus(model, logger = nil)
|
98
|
-
logger ||= ::Logger.new(
|
98
|
+
logger ||= ::Logger.new($stdout)
|
99
99
|
logger.info 'Translate object to EnergyPlus IDF in preparation for EnergyPlus'
|
100
100
|
a = ::Time.now
|
101
101
|
# ensure objects exist for reporting purposes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -138,10 +138,10 @@ module OpenStudio
|
|
138
138
|
#
|
139
139
|
def rename_hash_keys(hash, logger)
|
140
140
|
# @todo should we log the name changes?
|
141
|
-
regex = %r{[
|
141
|
+
regex = %r{[|!@#$%^&*()\{\}\\\[\];:'",<.>/?+=]+}
|
142
142
|
|
143
143
|
rename_keys = lambda do |h|
|
144
|
-
if Hash
|
144
|
+
if h.is_a?(Hash)
|
145
145
|
h.each_key do |key|
|
146
146
|
if key.to_s =~ regex
|
147
147
|
logger.warn "Renaming result key '#{key}' to remove invalid characters"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -55,7 +55,7 @@ module OpenStudio
|
|
55
55
|
#
|
56
56
|
def get_weather_file(directory, wf, wf_search_array, model, logger = nil)
|
57
57
|
# TODO: this logic needs some updating, weather file should come from current model, found using search paths
|
58
|
-
logger ||= ::Logger.new(
|
58
|
+
logger ||= ::Logger.new($stdout) unless logger
|
59
59
|
if wf
|
60
60
|
weather_file = get_weather_file_from_fs(directory, wf, wf_search_array, logger)
|
61
61
|
raise 'Could not locate the weather file in the filesystem. Please see the log' if weather_file == false
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -37,6 +37,6 @@
|
|
37
37
|
|
38
38
|
module OpenStudio
|
39
39
|
module Workflow
|
40
|
-
VERSION = '2.
|
40
|
+
VERSION = '2.2.1' # Suffixes must have periods (not dashes)
|
41
41
|
end
|
42
42
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -89,9 +89,7 @@ class WorkflowStepResultValue_Shim
|
|
89
89
|
@type = type
|
90
90
|
end
|
91
91
|
|
92
|
-
attr_reader :name
|
93
|
-
|
94
|
-
attr_reader :value
|
92
|
+
attr_reader :name, :value
|
95
93
|
|
96
94
|
def variantType
|
97
95
|
@type
|
@@ -162,7 +160,7 @@ class WorkflowStepResult_Shim
|
|
162
160
|
|
163
161
|
def setStepResult(step_result)
|
164
162
|
@result[:step_result] = step_result
|
165
|
-
|
163
|
+
end
|
166
164
|
end
|
167
165
|
|
168
166
|
# WorkflowStep_Shim provides a shim interface to the WorkflowStep class in OpenStudio 2.X when running in OpenStudio 1.X
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# *******************************************************************************
|
4
|
-
# OpenStudio(R), Copyright (c) 2008-
|
4
|
+
# OpenStudio(R), Copyright (c) 2008-2021, Alliance for Sustainable Energy, LLC.
|
5
5
|
# All rights reserved.
|
6
6
|
# Redistribution and use in source and binary forms, with or without
|
7
7
|
# modification, are permitted provided that the following conditions are met:
|
@@ -65,14 +65,12 @@ class WorkflowRunner < OpenStudio::Ruleset::OSRunner
|
|
65
65
|
::Time.now.utc.strftime('%Y%m%dT%H%M%SZ')
|
66
66
|
end
|
67
67
|
|
68
|
-
attr_reader :datapoint
|
68
|
+
attr_reader :datapoint, :analysis
|
69
69
|
|
70
70
|
def setDatapoint(datapoint)
|
71
71
|
@datapoint = datapoint
|
72
72
|
end
|
73
73
|
|
74
|
-
attr_reader :analysis
|
75
|
-
|
76
74
|
def setAnalysis(analysis)
|
77
75
|
@analysis = analysis
|
78
76
|
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: 2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Long
|
@@ -9,120 +9,120 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-06-02 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.0
|
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.0
|
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:
|
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:
|
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_measure_tester
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.3.1
|
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.3.1
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
113
|
+
name: openstudio-standards
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - "~>"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 2.
|
118
|
+
version: 0.2.14
|
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: 2.
|
125
|
+
version: 0.2.14
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: parallel
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,33 +166,33 @@ dependencies:
|
|
166
166
|
- !ruby/object:Gem::Version
|
167
167
|
version: 3.0.0
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
|
-
name:
|
169
|
+
name: rake
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
171
171
|
requirements:
|
172
172
|
- - "~>"
|
173
173
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0
|
174
|
+
version: '13.0'
|
175
175
|
type: :development
|
176
176
|
prerelease: false
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
178
178
|
requirements:
|
179
179
|
- - "~>"
|
180
180
|
- !ruby/object:Gem::Version
|
181
|
-
version: 0
|
181
|
+
version: '13.0'
|
182
182
|
- !ruby/object:Gem::Dependency
|
183
|
-
name:
|
183
|
+
name: rspec
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
185
185
|
requirements:
|
186
186
|
- - "~>"
|
187
187
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
188
|
+
version: '3.9'
|
189
189
|
type: :development
|
190
190
|
prerelease: false
|
191
191
|
version_requirements: !ruby/object:Gem::Requirement
|
192
192
|
requirements:
|
193
193
|
- - "~>"
|
194
194
|
- !ruby/object:Gem::Version
|
195
|
-
version:
|
195
|
+
version: '3.9'
|
196
196
|
description: Run OpenStudio based measures and simulations using EnergyPlus
|
197
197
|
email:
|
198
198
|
- nicholas.long@nrel.gov
|
@@ -246,15 +246,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
246
246
|
requirements:
|
247
247
|
- - "~>"
|
248
248
|
- !ruby/object:Gem::Version
|
249
|
-
version: 2.
|
249
|
+
version: 2.7.0
|
250
250
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
251
251
|
requirements:
|
252
252
|
- - ">="
|
253
253
|
- !ruby/object:Gem::Version
|
254
254
|
version: '0'
|
255
255
|
requirements: []
|
256
|
-
|
257
|
-
rubygems_version: 2.7.6.2
|
256
|
+
rubygems_version: 3.1.4
|
258
257
|
signing_key:
|
259
258
|
specification_version: 4
|
260
259
|
summary: OpenStudio Workflow Manager
|