openstudio-workflow 2.0.0 → 2.2.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 +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
|