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.
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