openstudio-workflow 1.3.5 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +21 -0
- data/README.md +10 -10
- data/Rakefile +13 -0
- data/lib/openstudio-workflow.rb +2 -0
- data/lib/openstudio/workflow/adapters/input/local.rb +3 -0
- data/lib/openstudio/workflow/adapters/output/local.rb +3 -0
- data/lib/openstudio/workflow/adapters/output/socket.rb +2 -0
- data/lib/openstudio/workflow/adapters/output/web.rb +2 -0
- data/lib/openstudio/workflow/adapters/output_adapter.rb +4 -0
- data/lib/openstudio/workflow/job.rb +2 -0
- data/lib/openstudio/workflow/jobs/resources/monthly_report.idf +15 -13
- data/lib/openstudio/workflow/jobs/run_energyplus.rb +6 -3
- data/lib/openstudio/workflow/jobs/run_ep_measures.rb +5 -2
- data/lib/openstudio/workflow/jobs/run_initialization.rb +6 -3
- data/lib/openstudio/workflow/jobs/run_os_measures.rb +5 -2
- data/lib/openstudio/workflow/jobs/run_postprocess.rb +2 -0
- data/lib/openstudio/workflow/jobs/run_preprocess.rb +7 -4
- data/lib/openstudio/workflow/jobs/run_reporting_measures.rb +19 -1
- data/lib/openstudio/workflow/jobs/run_translation.rb +7 -4
- data/lib/openstudio/workflow/multi_delegator.rb +2 -0
- data/lib/openstudio/workflow/registry.rb +5 -0
- data/lib/openstudio/workflow/run.rb +4 -2
- data/lib/openstudio/workflow/time_logger.rb +2 -0
- data/lib/openstudio/workflow/util.rb +2 -0
- data/lib/openstudio/workflow/util/energyplus.rb +232 -229
- data/lib/openstudio/workflow/util/io.rb +2 -0
- data/lib/openstudio/workflow/util/measure.rb +5 -0
- data/lib/openstudio/workflow/util/model.rb +4 -0
- data/lib/openstudio/workflow/util/post_process.rb +4 -1
- data/lib/openstudio/workflow/util/weather_file.rb +5 -0
- data/lib/openstudio/workflow/version.rb +3 -1
- data/lib/openstudio/workflow_json.rb +5 -0
- data/lib/openstudio/workflow_runner.rb +4 -0
- metadata +84 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c632f0a2834a490fbd25b21ef3f17ff07d77e08bdf76db7d1737a2843665d2b6
|
4
|
+
data.tar.gz: 6ac3e3165ddac8de85d5a364878e4ae18089a9b7c2171b9bf2341cd1c4c9438e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e274ab7d2787530a70ea4b5f17859640597044b72ec0c62a5b1c35dd459b7e013fe248e8454526998ed66ec22750a4fc02831a30314cf50639717f608b11fa8f
|
7
|
+
data.tar.gz: 830be90f370e3f1290c3dddeeaa63c6e1b7d7f9b4bb7e64747ac04fbf44bd3e89b2f07d11683249aa19600dd331095a87694c55f1bc9fa9102d93bd65bb05071
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
OpenStudio::Workflow Change Log
|
2
2
|
==================================
|
3
3
|
|
4
|
+
Version 2.1.1
|
5
|
+
-------------
|
6
|
+
* Add support for URBANopt Workflow
|
7
|
+
* Update reporting measure in tests
|
8
|
+
|
9
|
+
Version 2.1.0
|
10
|
+
-------------
|
11
|
+
* Support for EnergyPlus 9.4. This version will not work with prior versions of EnergyPlus.
|
12
|
+
* Add warning when paths are not relative
|
13
|
+
|
14
|
+
Version 2.0.1
|
15
|
+
-------------
|
16
|
+
|
17
|
+
* Bug fix for idf.addObjects(object) to idf.addObject(object)
|
18
|
+
|
19
|
+
Version 2.0.0
|
20
|
+
-------------
|
21
|
+
|
22
|
+
* Support Ruby > 2.5
|
23
|
+
* Support OpenStudio 3.x
|
24
|
+
|
4
25
|
Version 1.3.5
|
5
26
|
-------------
|
6
27
|
|
data/README.md
CHANGED
@@ -4,30 +4,30 @@
|
|
4
4
|
|
5
5
|
## OpenStudio Workflow Gem
|
6
6
|
|
7
|
-
This branch is the development branch for the OpenStudio workflow gem.
|
7
|
+
This branch is the development branch for the OpenStudio workflow gem.
|
8
8
|
## Installation
|
9
9
|
|
10
10
|
The OpenStudio Workflow Gem has the following dependencies:
|
11
11
|
|
12
|
-
* Ruby 2.
|
13
|
-
* OpenStudio
|
12
|
+
* Ruby 2.5.5
|
13
|
+
* OpenStudio 3.x
|
14
14
|
|
15
|
-
[OpenStudio](
|
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:
|
16
16
|
|
17
|
-
export RUBYLIB=/usr/local/openstudio-
|
17
|
+
export RUBYLIB=/usr/local/openstudio-3.0.0/Ruby
|
18
18
|
|
19
19
|
Add this line to your application's Gemfile:
|
20
20
|
|
21
21
|
gem 'OpenStudio-workflow'
|
22
22
|
|
23
23
|
And then execute:
|
24
|
-
|
24
|
+
|
25
25
|
bundle install
|
26
|
-
|
26
|
+
|
27
27
|
Or install it yourself as:
|
28
|
-
|
28
|
+
|
29
29
|
$ gem install openstudio-workflow
|
30
|
-
|
30
|
+
|
31
31
|
## Usage
|
32
32
|
|
33
33
|
There are currently two adapters to run OpenStudio workflow. The first is a simple Local adapter allowing the user to pass in the directory to simulation. The directory must have an [analysis/problem JSON file](spec/files/local_ex1/analysis_1.json) and a [datapoint JSON file](spec/files/local_ex1/datapoint_1.json).
|
@@ -52,7 +52,7 @@ rspec spec/
|
|
52
52
|
### Docker
|
53
53
|
|
54
54
|
```
|
55
|
-
export OPENSTUDIO_VERSION=
|
55
|
+
export OPENSTUDIO_VERSION=3.0.0
|
56
56
|
docker run -v $(pwd):/var/simdata/openstudio \
|
57
57
|
nrel/openstudio:$OPENSTUDIO_VERSION \
|
58
58
|
/var/simdata/openstudio/test/bin/docker-run.sh
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'bundler'
|
2
4
|
Bundler.setup
|
3
5
|
|
@@ -34,3 +36,14 @@ task :test_zip do
|
|
34
36
|
puts "Trying to extract #{f}"
|
35
37
|
OpenStudio::Workflow.extract_archive(f, 'junk_out', true)
|
36
38
|
end
|
39
|
+
|
40
|
+
desc 'Transition IDF Files'
|
41
|
+
task :transition_idf do
|
42
|
+
lst_path = File.join(Dir.pwd, 'IdfFilesToTransition.lst')
|
43
|
+
File.open(lst_path, 'w') do |file|
|
44
|
+
Dir.glob('**/*.idf').each do |idf|
|
45
|
+
file.puts(File.join(Dir.pwd, idf))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
puts "Use the IDFVersionUpdater and point it to #{lst_path}"
|
49
|
+
end
|
data/lib/openstudio-workflow.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -77,6 +79,7 @@ module OpenStudio
|
|
77
79
|
#
|
78
80
|
def workflow
|
79
81
|
raise "Could not read workflow from #{@osw_abs_path}" if @workflow.nil?
|
82
|
+
|
80
83
|
@workflow
|
81
84
|
end
|
82
85
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -42,6 +44,7 @@ module OpenStudio
|
|
42
44
|
class Local < OutputAdapters
|
43
45
|
def initialize(options = {})
|
44
46
|
raise 'The required :output_directory option was not passed to the local output adapter' unless options[:output_directory]
|
47
|
+
|
45
48
|
super
|
46
49
|
end
|
47
50
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -109,6 +111,7 @@ module OpenStudio
|
|
109
111
|
if File.basename(file) =~ /seed|measures|weather/
|
110
112
|
next
|
111
113
|
end
|
114
|
+
|
112
115
|
# skip x-large directory
|
113
116
|
if File.size?(file)
|
114
117
|
next if File.size?(file) >= 15000000
|
@@ -117,6 +120,7 @@ module OpenStudio
|
|
117
120
|
else
|
118
121
|
next if File.extname(file) =~ /\.rb.*/
|
119
122
|
next if File.extname(file) =~ /\.zip.*/
|
123
|
+
|
120
124
|
# skip large non-osm/idf files
|
121
125
|
if File.size(file)
|
122
126
|
if File.size(file) >= 100000000
|
@@ -1,3 +1,5 @@
|
|
1
|
+
Version,9.4;
|
2
|
+
|
1
3
|
Output:Table:Monthly,
|
2
4
|
Building Energy Performance - Electricity, !- Name
|
3
5
|
2, !- Digits After Decimal
|
@@ -33,17 +35,17 @@ Output:Table:Monthly,
|
|
33
35
|
Output:Table:Monthly,
|
34
36
|
Building Energy Performance - Natural Gas, !- Name
|
35
37
|
2, !- Digits After Decimal
|
36
|
-
InteriorEquipment:
|
38
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
37
39
|
SumOrAverage, !- Aggregation Type for Variable or Meter 1
|
38
|
-
ExteriorEquipment:
|
40
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
39
41
|
SumOrAverage, !- Aggregation Type for Variable or Meter 2
|
40
|
-
Heating:
|
42
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
41
43
|
SumOrAverage, !- Aggregation Type for Variable or Meter 3
|
42
|
-
Cooling:
|
44
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
43
45
|
SumOrAverage, !- Aggregation Type for Variable or Meter 4
|
44
|
-
WaterSystems:
|
46
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
45
47
|
SumOrAverage, !- Aggregation Type for Variable or Meter 5
|
46
|
-
Cogeneration:
|
48
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
47
49
|
SumOrAverage; !- Aggregation Type for Variable or Meter 6
|
48
50
|
|
49
51
|
Output:Table:Monthly,
|
@@ -141,19 +143,19 @@ Output:Table:Monthly,
|
|
141
143
|
Output:Table:Monthly,
|
142
144
|
Building Energy Performance - Natural Gas Peak Demand, !- Name
|
143
145
|
2, !- Digits After Decimal
|
144
|
-
|
146
|
+
NaturalGas:Facility, !- Variable or Meter 1 Name
|
145
147
|
Maximum, !- Aggregation Type for Variable or Meter 1
|
146
|
-
InteriorEquipment:
|
148
|
+
InteriorEquipment:NaturalGas, !- Variable or Meter 1 Name
|
147
149
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 1
|
148
|
-
ExteriorEquipment:
|
150
|
+
ExteriorEquipment:NaturalGas, !- Variable or Meter 2 Name
|
149
151
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 2
|
150
|
-
Heating:
|
152
|
+
Heating:NaturalGas, !- Variable or Meter 3 Name
|
151
153
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 3
|
152
|
-
Cooling:
|
154
|
+
Cooling:NaturalGas, !- Variable or Meter 4 Name
|
153
155
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 4
|
154
|
-
WaterSystems:
|
156
|
+
WaterSystems:NaturalGas, !- Variable or Meter 5 Name
|
155
157
|
ValueWhenMaximumOrMinimum, !- Aggregation Type for Variable or Meter 5
|
156
|
-
Cogeneration:
|
158
|
+
Cogeneration:NaturalGas, !- Variable or Meter 6 Name
|
157
159
|
ValueWhenMaximumOrMinimum; !- Aggregation Type for Variable or Meter 6
|
158
160
|
|
159
161
|
Output:Table:Monthly,
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -52,13 +54,14 @@ class RunEnergyPlus < OpenStudio::Workflow::Job
|
|
52
54
|
|
53
55
|
# Checks and configuration
|
54
56
|
raise 'No run_dir specified in the registry' unless @registry[:run_dir]
|
55
|
-
|
57
|
+
|
58
|
+
ep_path = @options[:energyplus_path] || nil
|
56
59
|
@logger.warn "Using EnergyPlus path specified in options #{ep_path}" if ep_path
|
57
60
|
|
58
61
|
@logger.info 'Starting the EnergyPlus simulation'
|
59
|
-
@registry[:time_logger]
|
62
|
+
@registry[:time_logger]&.start('Running EnergyPlus')
|
60
63
|
call_energyplus(@registry[:run_dir], ep_path, @output_adapter, @logger, @registry[:workflow_json])
|
61
|
-
@registry[:time_logger]
|
64
|
+
@registry[:time_logger]&.stop('Running EnergyPlus')
|
62
65
|
@logger.info 'Completed the EnergyPlus simulation'
|
63
66
|
|
64
67
|
sql_path = File.join(@registry[:run_dir], 'eplusout.sql')
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -63,9 +65,10 @@ class RunEnergyPlusMeasures < OpenStudio::Workflow::Job
|
|
63
65
|
|
64
66
|
# Save both the OSM and IDF if the :debug option is true
|
65
67
|
return nil unless @options[:debug]
|
66
|
-
|
68
|
+
|
69
|
+
@registry[:time_logger]&.start('Saving IDF')
|
67
70
|
idf_name = save_idf(@registry[:model_idf], @registry[:root_dir])
|
68
|
-
@registry[:time_logger]
|
71
|
+
@registry[:time_logger]&.stop('Saving IDF')
|
69
72
|
@logger.debug "Saved IDF as #{idf_name}"
|
70
73
|
|
71
74
|
nil
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -62,6 +64,7 @@ class RunInitialization < OpenStudio::Workflow::Job
|
|
62
64
|
# DLM: this key is the raw JSON object, it is deprecated and should not be used, use :workflow_json instead
|
63
65
|
@registry.register(:workflow) { @input_adapter.workflow }
|
64
66
|
raise 'Specified workflow was nil' unless @registry[:workflow]
|
67
|
+
|
65
68
|
@logger.debug 'Retrieved the workflow from the adapter'
|
66
69
|
|
67
70
|
@registry.register(:osw_dir) { @input_adapter.osw_dir }
|
@@ -129,6 +132,7 @@ class RunInitialization < OpenStudio::Workflow::Job
|
|
129
132
|
if model_full_path.empty?
|
130
133
|
raise "Seed model #{model_path.get} specified in OSW cannot be found"
|
131
134
|
end
|
135
|
+
|
132
136
|
model_full_path = model_full_path.get
|
133
137
|
|
134
138
|
if File.extname(model_full_path.to_s) == '.idf'
|
@@ -157,9 +161,7 @@ class RunInitialization < OpenStudio::Workflow::Job
|
|
157
161
|
end
|
158
162
|
|
159
163
|
if @registry[:openstudio_2]
|
160
|
-
|
161
|
-
@registry[:model].setWorkflowJSON(workflow_json.clone)
|
162
|
-
end
|
164
|
+
@registry[:model]&.setWorkflowJSON(workflow_json.clone)
|
163
165
|
end
|
164
166
|
|
165
167
|
# DLM: TODO, load weather_file from options so it can be overriden by user_options
|
@@ -189,6 +191,7 @@ class RunInitialization < OpenStudio::Workflow::Job
|
|
189
191
|
if weather_full_path.empty?
|
190
192
|
raise "Weather file '#{weather_path}' specified but cannot be found"
|
191
193
|
end
|
194
|
+
|
192
195
|
weather_full_path = weather_full_path.get
|
193
196
|
|
194
197
|
@registry.register(:wf) { weather_full_path.to_s }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -79,9 +81,10 @@ class RunOpenStudioMeasures < OpenStudio::Workflow::Job
|
|
79
81
|
|
80
82
|
# Save the OSM if the :debug option is true
|
81
83
|
return nil unless @options[:debug]
|
82
|
-
|
84
|
+
|
85
|
+
@registry[:time_logger]&.start('Saving OSM')
|
83
86
|
osm_name = save_osm(@registry[:model], @registry[:root_dir])
|
84
|
-
@registry[:time_logger]
|
87
|
+
@registry[:time_logger]&.stop('Saving OSM')
|
85
88
|
@logger.debug "Saved model as #{osm_name}"
|
86
89
|
|
87
90
|
nil
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -78,9 +80,9 @@ class RunPreprocess < OpenStudio::Workflow::Job
|
|
78
80
|
|
79
81
|
# Perform pre-processing on in.idf to capture logic in RunManager
|
80
82
|
if !@options[:skip_energyplus_preprocess]
|
81
|
-
@registry[:time_logger]
|
83
|
+
@registry[:time_logger]&.start('Running EnergyPlus Preprocess')
|
82
84
|
energyplus_preprocess(@registry[:model_idf], @logger)
|
83
|
-
@registry[:time_logger]
|
85
|
+
@registry[:time_logger]&.start('Running EnergyPlus Preprocess')
|
84
86
|
@logger.info 'Finished preprocess job for EnergyPlus simulation'
|
85
87
|
end
|
86
88
|
|
@@ -94,9 +96,10 @@ class RunPreprocess < OpenStudio::Workflow::Job
|
|
94
96
|
|
95
97
|
# Save the generated IDF file if the :debug option is true
|
96
98
|
return nil unless @options[:debug]
|
97
|
-
|
99
|
+
|
100
|
+
@registry[:time_logger]&.start('Saving IDF')
|
98
101
|
idf_name = save_idf(@registry[:model_idf], @registry[:root_dir])
|
99
|
-
@registry[:time_logger]
|
102
|
+
@registry[:time_logger]&.stop('Saving IDF')
|
100
103
|
@logger.debug "Saved IDF as #{idf_name}"
|
101
104
|
|
102
105
|
nil
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -60,14 +62,29 @@ class RunReportingMeasures < OpenStudio::Workflow::Job
|
|
60
62
|
|
61
63
|
# Ensure output_attributes is initialized in the registry
|
62
64
|
@registry.register(:output_attributes) { {} } unless @registry[:output_attributes]
|
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?
|
73
|
+
if !workflow[:urbanopt].nil?
|
74
|
+
@registry.register(:urbanopt) { workflow[:urbanopt] }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
63
79
|
|
64
80
|
# Load simulation files as required
|
65
|
-
unless @registry[:runner].halted
|
81
|
+
unless @registry[:runner].halted || @registry[:urbanopt]
|
66
82
|
if @registry[:model].nil?
|
67
83
|
osm_path = File.absolute_path(File.join(@registry[:run_dir], 'in.osm'))
|
68
84
|
@logger.debug "Attempting to load #{osm_path}"
|
69
85
|
@registry.register(:model) { load_osm('.', osm_path) }
|
70
86
|
raise "Unable to load #{osm_path}" unless @registry[:model]
|
87
|
+
|
71
88
|
@logger.debug "Successfully loaded #{osm_path}"
|
72
89
|
end
|
73
90
|
if @registry[:model_idf].nil?
|
@@ -75,6 +92,7 @@ class RunReportingMeasures < OpenStudio::Workflow::Job
|
|
75
92
|
@logger.debug "Attempting to load #{idf_path}"
|
76
93
|
@registry.register(:model_idf) { load_idf(idf_path, @logger) }
|
77
94
|
raise "Unable to load #{idf_path}" unless @registry[:model_idf]
|
95
|
+
|
78
96
|
@logger.debug "Successfully loaded #{idf_path}"
|
79
97
|
end
|
80
98
|
if @registry[:sql].nil?
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# *******************************************************************************
|
2
4
|
# OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC.
|
3
5
|
# All rights reserved.
|
@@ -66,17 +68,18 @@ class RunTranslation < OpenStudio::Workflow::Job
|
|
66
68
|
|
67
69
|
# Translate the OSM to an IDF
|
68
70
|
@logger.info 'Beginning the translation to IDF'
|
69
|
-
@registry[:time_logger]
|
71
|
+
@registry[:time_logger]&.start('Translating to EnergyPlus')
|
70
72
|
model_idf = translate_to_energyplus @registry[:model], @logger
|
71
|
-
@registry[:time_logger]
|
73
|
+
@registry[:time_logger]&.stop('Translating to EnergyPlus')
|
72
74
|
@registry.register(:model_idf) { model_idf }
|
73
75
|
@logger.info 'Successfully translated to IDF'
|
74
76
|
|
75
77
|
# Save the generated IDF file if the :debug option is true
|
76
78
|
return nil unless @options[:debug]
|
77
|
-
|
79
|
+
|
80
|
+
@registry[:time_logger]&.start('Saving IDF')
|
78
81
|
idf_name = save_idf(@registry[:model_idf], @registry[:root_dir])
|
79
|
-
@registry[:time_logger]
|
82
|
+
@registry[:time_logger]&.stop('Saving IDF')
|
80
83
|
@logger.debug "Saved IDF as #{idf_name}"
|
81
84
|
|
82
85
|
nil
|