urbanopt-scenario 0.6.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -0
- data/Gemfile +2 -0
- data/LICENSE.md +1 -3
- data/doc_templates/LICENSE.md +37 -0
- data/doc_templates/README.md.erb +42 -0
- data/doc_templates/copyright_erb.txt +41 -0
- data/doc_templates/copyright_js.txt +4 -0
- data/doc_templates/copyright_ruby.txt +39 -0
- data/docs/package-lock.json +4709 -3835
- data/docs/package.json +2 -2
- data/lib/urbanopt/scenario/default_reports.rb +1 -1
- data/lib/urbanopt/scenario/extension.rb +1 -1
- data/lib/urbanopt/scenario/logger.rb +1 -1
- data/lib/urbanopt/scenario/scenario_base.rb +1 -1
- data/lib/urbanopt/scenario/scenario_csv.rb +1 -1
- data/lib/urbanopt/scenario/scenario_datapoint_base.rb +1 -1
- data/lib/urbanopt/scenario/scenario_post_processor_base.rb +1 -1
- data/lib/urbanopt/scenario/scenario_post_processor_default.rb +1 -1
- data/lib/urbanopt/scenario/scenario_post_processor_opendss.rb +157 -4
- data/lib/urbanopt/scenario/scenario_runner_base.rb +1 -1
- data/lib/urbanopt/scenario/scenario_runner_osw.rb +1 -1
- data/lib/urbanopt/scenario/scenario_visualization.rb +25 -17
- data/lib/urbanopt/scenario/simulation_dir_base.rb +1 -1
- data/lib/urbanopt/scenario/simulation_dir_osw.rb +1 -4
- data/lib/urbanopt/scenario/simulation_mapper_base.rb +1 -1
- data/lib/urbanopt/scenario/version.rb +2 -2
- data/lib/urbanopt/scenario.rb +1 -1
- data/lib/urbanopt-scenario.rb +1 -1
- data/urbanopt-scenario-gem.gemspec +3 -3
- metadata +16 -11
data/docs/package.json
CHANGED
@@ -23,10 +23,10 @@
|
|
23
23
|
"is-svg": ">=4.3.1",
|
24
24
|
"js-yaml": "^3.14.0",
|
25
25
|
"minimist": ">=1.2.3",
|
26
|
-
"node-forge": ">=
|
26
|
+
"node-forge": ">=1.3.0",
|
27
27
|
"postcss": "^8.2.15",
|
28
28
|
"serialize-javascript": "^5.0.1",
|
29
|
-
"set-value": "^
|
29
|
+
"set-value": "^4.0.1",
|
30
30
|
"ssri": ">=8.0.1",
|
31
31
|
"vuepress": "^1.8.2",
|
32
32
|
"yargs-parser": "^20.2.1"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -71,6 +71,9 @@ module URBANopt
|
|
71
71
|
# initialize feature_reports data
|
72
72
|
@feature_reports_data = {}
|
73
73
|
|
74
|
+
# initialize opendss json results
|
75
|
+
@opendss_json_results = {}
|
76
|
+
|
74
77
|
# initialize logger
|
75
78
|
@@logger ||= URBANopt::Reporting::DefaultReports.logger
|
76
79
|
end
|
@@ -85,6 +88,12 @@ module URBANopt
|
|
85
88
|
@opendss_data[feature_report.id] = opendss_csv
|
86
89
|
end
|
87
90
|
|
91
|
+
# load Model.json results (if exists)
|
92
|
+
opendss_json_filename = File.join(@opendss_results_dir, 'json_files', 'Model.json')
|
93
|
+
if File.exist?(opendss_json_filename)
|
94
|
+
@opendss_json_results = JSON.parse(File.read(opendss_json_filename))
|
95
|
+
end
|
96
|
+
|
88
97
|
## load transformers data
|
89
98
|
|
90
99
|
# transformers results directory path
|
@@ -140,11 +149,46 @@ module URBANopt
|
|
140
149
|
return output
|
141
150
|
end
|
142
151
|
|
152
|
+
# computer transformer results
|
153
|
+
def compute_transformer_results
|
154
|
+
# using values from opendss Model.json
|
155
|
+
results = {}
|
156
|
+
# retrieve all transformers
|
157
|
+
trsfmrs = @opendss_json_results['model'].select { |d| d['class'] == 'PowerTransformer' }
|
158
|
+
trsfmrs.each do |item|
|
159
|
+
t = { 'nominal_capacity': nil, 'reactance_resistance_ratio': nil }
|
160
|
+
name = item['name']['value']
|
161
|
+
|
162
|
+
# nominal capacity in kVA (Model.json stores it in VA)
|
163
|
+
# TODO: assuming that all windings would have the same rated power, so grabbing first one
|
164
|
+
begin
|
165
|
+
t['nominal_capacity'] = item['windings']['value'][0]['rated_power']['value'] / 1000
|
166
|
+
rescue StandardError
|
167
|
+
end
|
168
|
+
|
169
|
+
# reactance to resistance ratio:
|
170
|
+
begin
|
171
|
+
# TODO: grabbing the first one for now. Handle when there are multiple reactances and winding resistances
|
172
|
+
reactance = item['reactances']['value'][0]['value']
|
173
|
+
resistance = item['windings']['value'][0]['resistance']['value']
|
174
|
+
|
175
|
+
t['reactance_resistance_ratio'] = reactance / resistance
|
176
|
+
rescue StandardError
|
177
|
+
end
|
178
|
+
|
179
|
+
results[name] = t
|
180
|
+
end
|
181
|
+
|
182
|
+
return results
|
183
|
+
end
|
184
|
+
|
143
185
|
# add feature reports for transformers
|
144
186
|
def save_transformers_reports
|
187
|
+
t_res = compute_transformer_results
|
188
|
+
|
145
189
|
@opendss_data.each_key do |k|
|
146
190
|
if k.include? 'Transformer'
|
147
|
-
|
191
|
+
t_key = k.sub('Transformer.', '')
|
148
192
|
# create transformer directory
|
149
193
|
transformer_dir = File.join(@scenario_report.directory_name, k)
|
150
194
|
FileUtils.mkdir_p(File.join(transformer_dir, 'feature_reports'))
|
@@ -153,6 +197,13 @@ module URBANopt
|
|
153
197
|
# store under voltages and over voltages
|
154
198
|
under_voltage_hrs = 0
|
155
199
|
over_voltage_hrs = 0
|
200
|
+
nominal_capacity = nil
|
201
|
+
r_r_ratio = nil
|
202
|
+
begin
|
203
|
+
nominal_capacity = t_res[t_key]['nominal_capacity']
|
204
|
+
r_r_ratio = t_res[t_key]['reactance_resistance_ratio']
|
205
|
+
rescue StandardError
|
206
|
+
end
|
156
207
|
|
157
208
|
transformer_csv = CSV.generate do |csv|
|
158
209
|
@opendss_data[k].each_with_index do |row, i|
|
@@ -178,9 +229,11 @@ module URBANopt
|
|
178
229
|
timesteps_per_hour: @scenario_report.timesteps_per_hour,
|
179
230
|
simulation_status: 'complete')
|
180
231
|
|
181
|
-
# assign results to
|
232
|
+
# assign results to transformer report
|
182
233
|
transformer_report.power_distribution.over_voltage_hours = over_voltage_hrs
|
183
234
|
transformer_report.power_distribution.under_voltage_hours = under_voltage_hrs
|
235
|
+
transformer_report.power_distribution.nominal_capacity = nominal_capacity
|
236
|
+
transformer_report.power_distribution.reactance_resistance_ratio = r_r_ratio
|
184
237
|
|
185
238
|
## save transformer JSON file
|
186
239
|
# transformer_hash
|
@@ -226,6 +279,9 @@ module URBANopt
|
|
226
279
|
def add_summary_results(feature_report)
|
227
280
|
under_voltage_hrs = 0
|
228
281
|
over_voltage_hrs = 0
|
282
|
+
kw = nil
|
283
|
+
kvar = nil
|
284
|
+
nominal_voltage = nil
|
229
285
|
|
230
286
|
id = feature_report.id
|
231
287
|
@opendss_data[id].each_with_index do |row, i|
|
@@ -242,13 +298,107 @@ module URBANopt
|
|
242
298
|
end
|
243
299
|
end
|
244
300
|
|
301
|
+
# also add additional keys for OpenDSS Loads
|
302
|
+
loads = @opendss_json_results['model'].select { |d| d['class'] == 'Load' }
|
303
|
+
if loads
|
304
|
+
bld_load = loads.select { |d| d['name']['value'] == id }
|
305
|
+
if bld_load
|
306
|
+
if bld_load.is_a?(Array)
|
307
|
+
bld_load = bld_load[0]
|
308
|
+
end
|
309
|
+
kw = 0
|
310
|
+
kvar = 0
|
311
|
+
# nominal_voltage (V)
|
312
|
+
nominal_voltage = bld_load['nominal_voltage']['value']
|
313
|
+
if nominal_voltage < 300
|
314
|
+
nominal_voltage *= Math.sqrt(3)
|
315
|
+
end
|
316
|
+
nominal_voltage = nominal_voltage
|
317
|
+
|
318
|
+
# max_power_kw
|
319
|
+
# max_reactive_power_kvar
|
320
|
+
pls = bld_load['phase_loads']['value']
|
321
|
+
pls.each do |pl|
|
322
|
+
kw += pl['p']['value']
|
323
|
+
kvar += pl['q']['value']
|
324
|
+
end
|
325
|
+
|
326
|
+
kw /= 1000
|
327
|
+
kvar /= 1000
|
328
|
+
else
|
329
|
+
@@logger.info("No load matching id #{id} found in OpenDSS Model.json results")
|
330
|
+
end
|
331
|
+
else
|
332
|
+
@@logger.info('No loads information found in OpenDSS Model.json results file')
|
333
|
+
end
|
245
334
|
# assign results to feature report
|
246
335
|
feature_report.power_distribution.over_voltage_hours = over_voltage_hrs
|
247
336
|
feature_report.power_distribution.under_voltage_hours = under_voltage_hrs
|
337
|
+
feature_report.power_distribution.nominal_voltage = nominal_voltage
|
338
|
+
feature_report.power_distribution.max_power_kw = kw
|
339
|
+
feature_report.power_distribution.max_reactive_power_kvar = kvar
|
248
340
|
|
249
341
|
return feature_report
|
250
342
|
end
|
251
343
|
|
344
|
+
##
|
345
|
+
# save opendss scenario fields
|
346
|
+
##
|
347
|
+
def save_opendss_scenario
|
348
|
+
@scenario_report.scenario_power_distribution = URBANopt::Reporting::DefaultReports::ScenarioPowerDistribution.new
|
349
|
+
|
350
|
+
## SUBSTATION
|
351
|
+
subs = []
|
352
|
+
feeders = @opendss_json_results['model'].select { |d| d['class'] == 'Feeder_metadata' }
|
353
|
+
|
354
|
+
feeders.each do |item|
|
355
|
+
# nominal_voltage - RMS voltage low side (V)
|
356
|
+
substation = { nominal_voltage: item['nominal_voltage']['value'] }
|
357
|
+
subs.append(substation)
|
358
|
+
end
|
359
|
+
@scenario_report.scenario_power_distribution.substations = subs
|
360
|
+
|
361
|
+
## LINES
|
362
|
+
# retrieve all lines
|
363
|
+
dist_lines = []
|
364
|
+
lines = @opendss_json_results['model'].select { |d| d['class'] == 'Line' }
|
365
|
+
lines.each do |item|
|
366
|
+
line = {}
|
367
|
+
# length (m)
|
368
|
+
line['length'] = item['length']['value']
|
369
|
+
|
370
|
+
# max ampacity: iterate through N-1 wires and add up ampacity
|
371
|
+
amps = 0
|
372
|
+
num_wires = item['wires']['value'].length
|
373
|
+
(0..(num_wires - 1)).each do |i|
|
374
|
+
amps += item['wires']['value'][i]['ampacity']['value']
|
375
|
+
end
|
376
|
+
line['ampacity'] = amps
|
377
|
+
|
378
|
+
# commercial line type
|
379
|
+
line['commercial_line_type'] = []
|
380
|
+
item['wires']['value'].each do |wire|
|
381
|
+
line['commercial_line_type'].append(wire['nameclass']['value'])
|
382
|
+
end
|
383
|
+
dist_lines.append(line)
|
384
|
+
end
|
385
|
+
@scenario_report.scenario_power_distribution.distribution_lines = dist_lines
|
386
|
+
|
387
|
+
# CAPACITORS
|
388
|
+
caps = []
|
389
|
+
capacitors = @opendss_json_results['model'].select { |d| d['class'] == 'Capacitors' }
|
390
|
+
capacitors.each do |item|
|
391
|
+
cap = 0
|
392
|
+
item['phase_capacitors']['value'].each do |pc|
|
393
|
+
if pc['var']['value']
|
394
|
+
cap += pc['var']['value']
|
395
|
+
end
|
396
|
+
end
|
397
|
+
caps.append({ nominal_capacity: cap })
|
398
|
+
end
|
399
|
+
@scenario_report.scenario_power_distribution.capacitors = caps
|
400
|
+
end
|
401
|
+
|
252
402
|
##
|
253
403
|
# run opendss post_processor
|
254
404
|
##
|
@@ -266,7 +416,7 @@ module URBANopt
|
|
266
416
|
id = feature_report.id
|
267
417
|
updated_feature_csv = merge_data(@feature_reports_data[id], @opendss_data[id])
|
268
418
|
|
269
|
-
# save
|
419
|
+
# save feature reports
|
270
420
|
feature_report.save_json_report('default_feature_report_opendss')
|
271
421
|
|
272
422
|
# resave updated csv report
|
@@ -276,6 +426,9 @@ module URBANopt
|
|
276
426
|
# add transformer reports
|
277
427
|
save_transformers_reports
|
278
428
|
|
429
|
+
# save additional global opendss fields
|
430
|
+
save_opendss_scenario
|
431
|
+
|
279
432
|
# save the updated scenario reports
|
280
433
|
# set save_feature_reports to false since only the scenario reports should be saved now
|
281
434
|
@scenario_report.save(file_name = 'scenario_report_opendss', save_feature_reports = false)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -47,18 +47,19 @@ module URBANopt
|
|
47
47
|
class ResultVisualization
|
48
48
|
def self.create_visualization(run_dir, feature = true, feature_names = false)
|
49
49
|
@all_results = []
|
50
|
-
|
50
|
+
name = nil
|
51
51
|
run_dir.each do |folder|
|
52
52
|
# create visualization for scenarios
|
53
53
|
case feature
|
54
54
|
when false
|
55
|
-
name = folder.split('/')[-
|
56
|
-
csv_dir =
|
55
|
+
name = folder.split('/')[-2]
|
56
|
+
csv_dir = folder
|
57
|
+
|
57
58
|
# create visualization for features
|
58
59
|
when true
|
59
60
|
index = run_dir.index(folder)
|
60
|
-
name = "#{folder.split('/')[-
|
61
|
-
csv_dir =
|
61
|
+
name = "#{folder.split('/')[-3]}-#{feature_names[index]}"
|
62
|
+
csv_dir = folder
|
62
63
|
end
|
63
64
|
|
64
65
|
if File.exist?(csv_dir)
|
@@ -205,38 +206,45 @@ module URBANopt
|
|
205
206
|
annual_values[headers_unitless[j]] = annual_sum
|
206
207
|
end
|
207
208
|
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
209
|
+
results = {}
|
210
|
+
results['name'] = name
|
211
|
+
results['monthly_values'] = {}
|
212
|
+
results['annual_values'] = {}
|
212
213
|
|
213
214
|
if @jan_next_year_index.nil? || @feb_index.nil? || @mar_index.nil? || @apr_index.nil? || @may_index.nil? || @jun_index.nil? || @jul_index.nil? || @aug_index.nil? || @sep_index.nil? || @oct_index.nil? || @nov_index.nil? || @dec_index.nil?
|
214
|
-
|
215
|
+
results['complete_simulation'] = false
|
215
216
|
puts "#{name} did not contain an annual simulation…visualizations will not render for it."
|
216
217
|
else
|
217
|
-
|
218
|
+
results['complete_simulation'] = true
|
218
219
|
end
|
219
220
|
|
220
221
|
monthly_totals&.each do |key, value|
|
221
222
|
unless key == 'Datetime'
|
222
|
-
|
223
|
+
results['monthly_values'][key] = value
|
223
224
|
end
|
224
225
|
end
|
225
226
|
|
226
227
|
annual_values&.each do |key, value|
|
227
228
|
unless key == 'Datetime'
|
228
|
-
|
229
|
+
results['annual_values'][key] = value
|
229
230
|
end
|
230
231
|
end
|
231
232
|
|
232
233
|
end
|
233
234
|
|
234
|
-
unless
|
235
|
-
@all_results <<
|
235
|
+
unless results.nil?
|
236
|
+
@all_results << results
|
236
237
|
end
|
237
238
|
end
|
239
|
+
|
238
240
|
# create json with required data stored in a variable
|
239
|
-
|
241
|
+
if feature == false
|
242
|
+
# In case of scenario visualization store result at top of the run folder
|
243
|
+
results_path = File.expand_path('../../scenarioData.js', run_dir[0])
|
244
|
+
else
|
245
|
+
# In case of feature visualization store result at top of scenario folder folder
|
246
|
+
results_path = File.expand_path('../../../scenarioData.js', run_dir[0])
|
247
|
+
end
|
240
248
|
File.open(results_path, 'w') do |file|
|
241
249
|
file << "var scenarioData = #{JSON.pretty_generate(@all_results)};"
|
242
250
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -174,9 +174,6 @@ module URBANopt
|
|
174
174
|
# depends on the feature file
|
175
175
|
dependencies << scenario.feature_file.path
|
176
176
|
|
177
|
-
# depends on the csv file
|
178
|
-
dependencies << scenario.csv_file
|
179
|
-
|
180
177
|
# depends on the mapper classes
|
181
178
|
Dir.glob(File.join(scenario.mapper_files_dir, '*')).each do |f|
|
182
179
|
dependencies << f
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -40,6 +40,6 @@
|
|
40
40
|
|
41
41
|
module URBANopt
|
42
42
|
module Scenario
|
43
|
-
VERSION = '0.
|
43
|
+
VERSION = '0.8.0'.freeze
|
44
44
|
end
|
45
45
|
end
|
data/lib/urbanopt/scenario.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
data/lib/urbanopt-scenario.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# *********************************************************************************
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
|
5
5
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -25,14 +25,14 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
27
27
|
spec.add_development_dependency 'rake', '~> 13.0'
|
28
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
28
|
+
spec.add_development_dependency 'rspec', '~> 3.9'
|
29
29
|
|
30
30
|
spec.add_runtime_dependency 'json_pure', '~> 2.3'
|
31
31
|
spec.add_runtime_dependency 'json-schema', '~> 2.8'
|
32
32
|
|
33
33
|
spec.add_runtime_dependency 'sqlite3', '1.4.2'
|
34
|
-
spec.add_runtime_dependency 'urbanopt-core', '~> 0.
|
35
|
-
spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.
|
34
|
+
spec.add_runtime_dependency 'urbanopt-core', '~> 0.8.0'
|
35
|
+
spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.6.0'
|
36
36
|
|
37
37
|
# no longer need the below
|
38
38
|
# need to include all measure gems listed in mappers in project gemfiles
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanopt-scenario
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rawad El Kontar
|
8
8
|
- Dan Macumber
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-05-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '3.
|
48
|
+
version: '3.9'
|
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.
|
55
|
+
version: '3.9'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: json_pure
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,28 +101,28 @@ dependencies:
|
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.8.0
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
111
|
+
version: 0.8.0
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: urbanopt-reporting
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - "~>"
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
118
|
+
version: 0.6.0
|
119
119
|
type: :runtime
|
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: 0.
|
125
|
+
version: 0.6.0
|
126
126
|
description: Library to export data point OSW files from URBANopt Scenario CSV
|
127
127
|
email:
|
128
128
|
- rawad.elkontar@nrel.gov
|
@@ -146,6 +146,11 @@ files:
|
|
146
146
|
- README.md
|
147
147
|
- Rakefile
|
148
148
|
- deploy_docs.sh
|
149
|
+
- doc_templates/LICENSE.md
|
150
|
+
- doc_templates/README.md.erb
|
151
|
+
- doc_templates/copyright_erb.txt
|
152
|
+
- doc_templates/copyright_js.txt
|
153
|
+
- doc_templates/copyright_ruby.txt
|
149
154
|
- docs/.gitignore
|
150
155
|
- docs/.vuepress/components/InnerJsonSchema.vue
|
151
156
|
- docs/.vuepress/components/JsonSchema.vue
|
@@ -182,7 +187,7 @@ homepage: https://github.com/urbanopt
|
|
182
187
|
licenses:
|
183
188
|
- Nonstandard
|
184
189
|
metadata: {}
|
185
|
-
post_install_message:
|
190
|
+
post_install_message:
|
186
191
|
rdoc_options: []
|
187
192
|
require_paths:
|
188
193
|
- lib
|
@@ -198,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
203
|
version: '0'
|
199
204
|
requirements: []
|
200
205
|
rubygems_version: 3.1.4
|
201
|
-
signing_key:
|
206
|
+
signing_key:
|
202
207
|
specification_version: 4
|
203
208
|
summary: Library to export data point OSW files from URBANopt Scenario CSV
|
204
209
|
test_files: []
|