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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -3
  3. data/README.md +1 -1
  4. data/Rakefile +11 -0
  5. data/lib/openstudio-workflow.rb +1 -1
  6. data/lib/openstudio/workflow/adapters/input/local.rb +19 -1
  7. data/lib/openstudio/workflow/adapters/output/local.rb +5 -3
  8. data/lib/openstudio/workflow/adapters/output/socket.rb +2 -6
  9. data/lib/openstudio/workflow/adapters/output/web.rb +1 -17
  10. data/lib/openstudio/workflow/adapters/output_adapter.rb +6 -7
  11. data/lib/openstudio/workflow/job.rb +1 -1
  12. data/lib/openstudio/workflow/jobs/resources/monthly_report.idf +15 -13
  13. data/lib/openstudio/workflow/jobs/run_energyplus.rb +1 -1
  14. data/lib/openstudio/workflow/jobs/run_ep_measures.rb +1 -1
  15. data/lib/openstudio/workflow/jobs/run_initialization.rb +2 -2
  16. data/lib/openstudio/workflow/jobs/run_os_measures.rb +1 -1
  17. data/lib/openstudio/workflow/jobs/run_postprocess.rb +1 -1
  18. data/lib/openstudio/workflow/jobs/run_preprocess.rb +1 -1
  19. data/lib/openstudio/workflow/jobs/run_reporting_measures.rb +14 -2
  20. data/lib/openstudio/workflow/jobs/run_translation.rb +1 -1
  21. data/lib/openstudio/workflow/multi_delegator.rb +1 -1
  22. data/lib/openstudio/workflow/registry.rb +1 -1
  23. data/lib/openstudio/workflow/run.rb +13 -18
  24. data/lib/openstudio/workflow/time_logger.rb +1 -1
  25. data/lib/openstudio/workflow/util.rb +1 -1
  26. data/lib/openstudio/workflow/util/energyplus.rb +29 -33
  27. data/lib/openstudio/workflow/util/io.rb +1 -1
  28. data/lib/openstudio/workflow/util/measure.rb +8 -1
  29. data/lib/openstudio/workflow/util/model.rb +2 -2
  30. data/lib/openstudio/workflow/util/post_process.rb +3 -3
  31. data/lib/openstudio/workflow/util/weather_file.rb +2 -2
  32. data/lib/openstudio/workflow/version.rb +2 -2
  33. data/lib/openstudio/workflow_json.rb +3 -5
  34. data/lib/openstudio/workflow_runner.rb +2 -4
  35. metadata +36 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b37064821f7652a02c395020618c2114e3cc3d37964dec1755b42fae9d26a0a
4
- data.tar.gz: 233aa4e9853d36c6e458c36fafb6744fd0f2bed9c2964b9d1dc2140391bc821b
3
+ metadata.gz: 03716fad02e514aa60fbb2e3a14dd2c50286fe2621219f63137f4e1bb77afcb9
4
+ data.tar.gz: 525a28b94195445ccf890f784898f9868226aea11d0137d112223c2ea0abd099
5
5
  SHA512:
6
- metadata.gz: dbf3a08bb437fdf223169542f594de40b954dbf18faba043257ac938c5814e25943d7f373c118bc8610c4a9739e33b304f43fcc9da4895c6ca46ee4c2b77ac03
7
- data.tar.gz: 71ec39bf063b61f0e5cce55c1fdfd76484b10a212248789608c6f737320d6e4f291464506fdf1d66a69c8c64fc1260fac11b6b92660bcaccd6aec18bd796af54
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.0.0
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.5.5
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
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # *******************************************************************************
4
- # OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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
- zip_results(directory)
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-2020, Alliance for Sustainable Energy, LLC.
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 + "\n")
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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 if File.size?(file) >= 15000000
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
- if File.size(file) >= 100000000
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-2020, Alliance for Sustainable Energy, LLC.
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:Gas, !- Variable or Meter 1 Name
38
+ InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
37
39
  SumOrAverage, !- Aggregation Type for Variable or Meter 1
38
- ExteriorEquipment:Gas, !- Variable or Meter 2 Name
40
+ ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
39
41
  SumOrAverage, !- Aggregation Type for Variable or Meter 2
40
- Heating:Gas, !- Variable or Meter 3 Name
42
+ Heating:NaturalGas, !- Variable or Meter 3 Name
41
43
  SumOrAverage, !- Aggregation Type for Variable or Meter 3
42
- Cooling:Gas, !- Variable or Meter 4 Name
44
+ Cooling:NaturalGas, !- Variable or Meter 4 Name
43
45
  SumOrAverage, !- Aggregation Type for Variable or Meter 4
44
- WaterSystems:Gas, !- Variable or Meter 5 Name
46
+ WaterSystems:NaturalGas, !- Variable or Meter 5 Name
45
47
  SumOrAverage, !- Aggregation Type for Variable or Meter 5
46
- Cogeneration:Gas, !- Variable or Meter 6 Name
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
- Gas:Facility, !- Variable or Meter 1 Name
146
+ NaturalGas:Facility, !- Variable or Meter 1 Name
145
147
  Maximum, !- Aggregation Type for Variable or Meter 1
146
- InteriorEquipment:Gas, !- Variable or Meter 1 Name
148
+ InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
147
149
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 1
148
- ExteriorEquipment:Gas, !- Variable or Meter 2 Name
150
+ ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
149
151
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 2
150
- Heating:Gas, !- Variable or Meter 3 Name
152
+ Heating:NaturalGas, !- Variable or Meter 3 Name
151
153
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 3
152
- Cooling:Gas, !- Variable or Meter 4 Name
154
+ Cooling:NaturalGas, !- Variable or Meter 4 Name
153
155
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 4
154
- WaterSystems:Gas, !- Variable or Meter 5 Name
156
+ WaterSystems:NaturalGas, !- Variable or Meter 5 Name
155
157
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 5
156
- Cogeneration:Gas, !- Variable or Meter 6 Name
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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 'Searching for weather file #{weather_path}'
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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
- unless @options[:preserve_run_dir]
162
- if File.exist?(@registry[:run_dir])
163
- # logger is not initialized yet (it needs run dir to exist for log)
164
- puts "Removing existing run directory #{@registry[:run_dir]}" if @options[:debug]
165
-
166
- # DLM: this is dangerous, we are calling rm_rf on a user entered directory, need to check this first
167
- # TODO: Echoing Dan's comment
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] = [STDOUT, File.open(File.join(@registry[:run_dir], 'run.log'), 'a')]
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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(STDOUT) unless logger
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.addObjects(object)
230
+ idf.addObject(object)
231
231
  end
232
232
 
233
233
  # merge in monthly reports
234
- EnergyPlus.monthly_report_idf_text.split(/^[\s]*$/).each do |object|
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,Gas:Facility,Daily;'
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,Gas:Facility,Timestep;'
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
- unless check_for_object(workspace, idf_object, idd_object.type)
283
- workspace.addObject(idf_object)
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
- if idf_object.iddObject.name == 'Output:Table:SummaryReports'
298
- summary_reports = workspace.getObjectsByType(idf_object.iddObject.type)
299
- if summary_reports.empty?
300
- workspace.addObject(idf_object)
301
- num_added += 1
302
- else
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:Gas, !- Variable or Meter 1 Name
383
+ InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
388
384
  SumOrAverage, !- Aggregation Type for Variable or Meter 1
389
- ExteriorEquipment:Gas, !- Variable or Meter 2 Name
385
+ ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
390
386
  SumOrAverage, !- Aggregation Type for Variable or Meter 2
391
- Heating:Gas, !- Variable or Meter 3 Name
387
+ Heating:NaturalGas, !- Variable or Meter 3 Name
392
388
  SumOrAverage, !- Aggregation Type for Variable or Meter 3
393
- Cooling:Gas, !- Variable or Meter 4 Name
389
+ Cooling:NaturalGas, !- Variable or Meter 4 Name
394
390
  SumOrAverage, !- Aggregation Type for Variable or Meter 4
395
- WaterSystems:Gas, !- Variable or Meter 5 Name
391
+ WaterSystems:NaturalGas, !- Variable or Meter 5 Name
396
392
  SumOrAverage, !- Aggregation Type for Variable or Meter 5
397
- Cogeneration:Gas, !- Variable or Meter 6 Name
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
- Gas:Facility, !- Variable or Meter 1 Name
491
+ NaturalGas:Facility, !- Variable or Meter 1 Name
496
492
  Maximum, !- Aggregation Type for Variable or Meter 1
497
- InteriorEquipment:Gas, !- Variable or Meter 1 Name
493
+ InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
498
494
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 1
499
- ExteriorEquipment:Gas, !- Variable or Meter 2 Name
495
+ ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
500
496
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 2
501
- Heating:Gas, !- Variable or Meter 3 Name
497
+ Heating:NaturalGas, !- Variable or Meter 3 Name
502
498
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 3
503
- Cooling:Gas, !- Variable or Meter 4 Name
499
+ Cooling:NaturalGas, !- Variable or Meter 4 Name
504
500
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 4
505
- WaterSystems:Gas, !- Variable or Meter 5 Name
501
+ WaterSystems:NaturalGas, !- Variable or Meter 5 Name
506
502
  ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 5
507
- Cogeneration:Gas, !- Variable or Meter 6 Name
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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-2020, Alliance for Sustainable Energy, LLC.
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(STDOUT)
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-2020, Alliance for Sustainable Energy, LLC.
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 === h
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-2020, Alliance for Sustainable Energy, LLC.
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(STDOUT) unless logger
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-2020, Alliance for Sustainable Energy, LLC.
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.0.0' # Suffixes must have periods (not dashes)
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-2020, Alliance for Sustainable Energy, LLC.
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
- end
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-2020, Alliance for Sustainable Energy, LLC.
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.0.0
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: 2020-03-26 00:00:00.000000000 Z
12
+ date: 2021-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bundler
15
+ name: builder
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '2.1'
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: '2.1'
27
+ version: 3.2.4
28
28
  - !ruby/object:Gem::Dependency
29
- name: rake
29
+ name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '12.3'
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: '12.3'
41
+ version: 2.1.0
42
42
  - !ruby/object:Gem::Dependency
43
- name: rspec
43
+ name: ci_reporter
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '3.9'
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: '3.9'
55
+ version: 2.0.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: builder
57
+ name: ci_reporter_rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 3.2.4
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: 3.2.4
69
+ version: 1.0.0
70
70
  - !ruby/object:Gem::Dependency
71
- name: ci_reporter
71
+ name: coveralls
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 2.0.0
76
+ version: 0.8.21
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 2.0.0
83
+ version: 0.8.21
84
84
  - !ruby/object:Gem::Dependency
85
- name: ci_reporter_rspec
85
+ name: json-schema
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: 1.0.0
90
+ version: 2.8.0
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: 1.0.0
97
+ version: 2.8.0
98
98
  - !ruby/object:Gem::Dependency
99
- name: coveralls
99
+ name: openstudio_measure_tester
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 0.8.21
104
+ version: 0.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.8.21
111
+ version: 0.3.1
112
112
  - !ruby/object:Gem::Dependency
113
- name: json-schema
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.8.0
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.8.0
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: rubocop
169
+ name: rake
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: 0.80.1
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.80.1
181
+ version: '13.0'
182
182
  - !ruby/object:Gem::Dependency
183
- name: rubocop-checkstyle_formatter
183
+ name: rspec
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: 0.4.0
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: 0.4.0
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.5.0
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
- rubyforge_project:
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