urbanopt-reopt 0.7.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/nightly_build.yml +36 -0
- data/CHANGELOG.md +32 -0
- data/Gemfile +1 -3
- data/LICENSE.md +1 -13
- data/RDOC_MAIN.md +2 -2
- data/README.md +4 -2
- data/Rakefile +1 -1
- data/developer_nrel_key.rb +1 -1
- data/doc_templates/LICENSE.md +17 -17
- data/doc_templates/copyright_erb.txt +2 -2
- data/doc_templates/copyright_js.txt +2 -2
- data/doc_templates/copyright_ruby.txt +2 -2
- data/docs/README.md +2 -2
- data/docs/package-lock.json +6199 -4852
- data/index.md +2 -2
- data/lib/urbanopt/reopt/extension.rb +6 -16
- data/lib/urbanopt/reopt/feature_report_adapter.rb +23 -19
- data/lib/urbanopt/reopt/reopt_lite_api.rb +26 -32
- data/lib/urbanopt/reopt/reopt_logger.rb +9 -16
- data/lib/urbanopt/reopt/reopt_post_processor.rb +25 -25
- data/lib/urbanopt/reopt/reopt_schema/reopt_input_schema.json +1 -2
- data/lib/urbanopt/reopt/reopt_schema/reopt_output_schema.json +6 -1
- data/lib/urbanopt/reopt/scenario/reopt_scenario_csv.rb +7 -17
- data/lib/urbanopt/reopt/scenario_report_adapter.rb +74 -47
- data/lib/urbanopt/reopt/utilities.rb +30 -0
- data/lib/urbanopt/reopt/version.rb +7 -17
- data/lib/urbanopt/reopt.rb +6 -16
- data/lib/urbanopt/reopt_scenario.rb +6 -16
- data/lib/urbanopt-reopt.rb +6 -16
- data/urbanopt-reopt.gemspec +3 -2
- metadata +25 -10
@@ -1,31 +1,21 @@
|
|
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,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
#
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
#
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
#
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
19
|
-
# Redistribution of this software, without modification, must refer to the software
|
20
|
-
# by the same designation. Redistribution of a modified version of this software
|
21
|
-
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
-
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
-
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
-
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
-
# refer to any modified version of this software or any modified version of the
|
26
|
-
# underlying software originally provided by Alliance without the prior written
|
27
|
-
# consent of Alliance.
|
28
|
-
|
18
|
+
#
|
29
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
20
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
21
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -85,7 +75,7 @@ module URBANopt # :nodoc:
|
|
85
75
|
lats = []
|
86
76
|
longs = []
|
87
77
|
scenario_report.feature_reports.each do |x|
|
88
|
-
|
78
|
+
@@logger.debug("Latitude '#{x.location.latitude_deg}' in feature report but not in scenario report. Adding it now.")
|
89
79
|
if ![nil].include?(x.location.latitude_deg) && ![nil].include?(x.location.longitude_deg)
|
90
80
|
lats.push(x.location.latitude_deg)
|
91
81
|
longs.push(x.location.longitude_deg)
|
@@ -200,6 +190,29 @@ module URBANopt # :nodoc:
|
|
200
190
|
return results
|
201
191
|
end
|
202
192
|
|
193
|
+
def modrow(data, idx) # :nodoc:
|
194
|
+
data[$generation_timeseries_kwh_col] = $generation_timeseries_kwh[idx] || 0
|
195
|
+
data[$load_col] = $load[idx] || 0
|
196
|
+
data[$utility_to_load_col] = $utility_to_load[idx] || 0
|
197
|
+
data[$utility_to_battery_col] = $utility_to_battery[idx] || 0
|
198
|
+
data[$storage_to_load_col] = $storage_to_load[idx] || 0
|
199
|
+
data[$storage_to_grid_col] = $storage_to_grid[idx] || 0
|
200
|
+
data[$storage_soc_col] = $storage_soc[idx] || 0
|
201
|
+
data[$generator_total_col] = $generator_total[idx] || 0
|
202
|
+
data[$generator_to_battery_col] = $generator_to_battery[idx] || 0
|
203
|
+
data[$generator_to_load_col] = $generator_to_load[idx] || 0
|
204
|
+
data[$generator_to_grid_col] = $generator_to_grid[idx] || 0
|
205
|
+
data[$pv_total_col] = $pv_total[idx] || 0
|
206
|
+
data[$pv_to_battery_col] = $pv_to_battery[idx] || 0
|
207
|
+
data[$pv_to_load_col] = $pv_to_load[idx] || 0
|
208
|
+
data[$pv_to_grid_col] = $pv_to_grid[idx] || 0
|
209
|
+
data[$wind_total_col] = $wind_total[idx] || 0
|
210
|
+
data[$wind_to_battery_col] = $wind_to_battery[idx] || 0
|
211
|
+
data[$wind_to_load_col] = $wind_to_load[idx] || 0
|
212
|
+
data[$wind_to_grid_col] = $wind_to_grid[idx] || 0
|
213
|
+
return data
|
214
|
+
end
|
215
|
+
|
203
216
|
##
|
204
217
|
# Updates a ScenarioReport from a \REopt Lite response
|
205
218
|
#
|
@@ -222,7 +235,7 @@ module URBANopt # :nodoc:
|
|
222
235
|
scenario_report.location.longitude_deg = reopt_output['inputs']['Scenario']['Site']['longitude']
|
223
236
|
|
224
237
|
# Update distributed generation sizing and financials
|
225
|
-
|
238
|
+
scenario_report.distributed_generation.annual_renewable_electricity_pct = reopt_output['outputs']['Scenario']['Site']['annual_renewable_electricity_pct'] || 0
|
226
239
|
scenario_report.distributed_generation.lcc_us_dollars = reopt_output['outputs']['Scenario']['Site']['Financial']['lcc_us_dollars'] || 0
|
227
240
|
scenario_report.distributed_generation.npv_us_dollars = reopt_output['outputs']['Scenario']['Site']['Financial']['npv_us_dollars'] || 0
|
228
241
|
scenario_report.distributed_generation.year_one_energy_cost_us_dollars = reopt_output['outputs']['Scenario']['Site']['ElectricTariff']['year_one_energy_cost_us_dollars'] || 0
|
@@ -252,22 +265,59 @@ module URBANopt # :nodoc:
|
|
252
265
|
|
253
266
|
# Store the PV name and location in a hash
|
254
267
|
location = {}
|
268
|
+
azimuth = {}
|
269
|
+
tilt = {}
|
270
|
+
module_type = {}
|
271
|
+
gcr = {}
|
255
272
|
# Check whether multi PV assumption input file is used or single PV
|
256
273
|
if reopt_output['inputs']['Scenario']['Site']['PV'].is_a?(Array)
|
257
274
|
reopt_output['inputs']['Scenario']['Site']['PV'].each do |pv|
|
258
275
|
location[pv['pv_name']] = pv['location']
|
276
|
+
azimuth[pv['pv_name']] = pv['azimuth']
|
277
|
+
tilt[pv['pv_name']] = pv['tilt']
|
278
|
+
module_type[pv['pv_name']] = pv['module_type']
|
279
|
+
gcr[pv['pv_name']] = pv['gcr']
|
259
280
|
end
|
260
281
|
else
|
261
282
|
location[reopt_output['inputs']['Scenario']['Site']['PV']['pv_name']] = reopt_output['inputs']['Scenario']['Site']['PV']['location']
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
283
|
+
azimuth[reopt_output['inputs']['Scenario']['Site']['PV']['pv_name']] = reopt_output['inputs']['Scenario']['Site']['PV']['azimuth']
|
284
|
+
tilt[reopt_output['inputs']['Scenario']['Site']['PV']['pv_name']] = reopt_output['inputs']['Scenario']['Site']['PV']['tilt']
|
285
|
+
module_type[reopt_output['inputs']['Scenario']['Site']['PV']['pv_name']] = reopt_output['inputs']['Scenario']['Site']['PV']['module_type']
|
286
|
+
gcr[reopt_output['inputs']['Scenario']['Site']['PV']['pv_name']] = reopt_output['inputs']['Scenario']['Site']['PV']['gcr']
|
287
|
+
end
|
288
|
+
pv_inputs = reopt_output['inputs']['Scenario']['Site']['PV']
|
289
|
+
if pv_inputs.is_a?(Hash)
|
290
|
+
pv_inputs = [pv_inputs]
|
291
|
+
end
|
292
|
+
pv_outputs = reopt_output['outputs']['Scenario']['Site']['PV']
|
293
|
+
if pv_outputs.is_a?(Hash)
|
294
|
+
pv_outputs = [pv_outputs]
|
295
|
+
end
|
296
|
+
pv_outputs.each_with_index do |pv, i|
|
297
|
+
if pv_inputs[i]
|
298
|
+
if pv_inputs[i]['tilt']
|
299
|
+
tilt[pv['pv_name']] = pv_inputs[i]['tilt']
|
300
|
+
end
|
301
|
+
if pv_inputs[i]['azimuth']
|
302
|
+
azimuth[pv['pv_name']] = pv_inputs[i]['azimuth']
|
303
|
+
end
|
304
|
+
if pv_inputs[i]['module_type']
|
305
|
+
module_type[pv['pv_name']] = pv_inputs[i]['module_type']
|
306
|
+
end
|
307
|
+
end
|
308
|
+
scenario_report.distributed_generation.add_tech 'solar_pv', URBANopt::Reporting::DefaultReports::SolarPV.new({ size_kw: (pv['size_kw'] || 0), id: i, location: location[pv['pv_name']], average_yearly_energy_produced_kwh: pv['average_yearly_energy_produced_kwh'], azimuth: azimuth[pv['pv_name']], tilt: tilt[pv['pv_name']], module_type: module_type[pv['pv_name']], gcr: gcr[pv['pv_name']] })
|
266
309
|
end
|
267
310
|
|
268
311
|
wind = reopt_output['outputs']['Scenario']['Site']['Wind']
|
269
312
|
if !wind['size_kw'].nil? && (wind['size_kw'] != 0)
|
270
|
-
|
313
|
+
# find size_class
|
314
|
+
size_class = nil
|
315
|
+
if reopt_output['inputs']['Scenario']['Site']['Wind']['size_class']
|
316
|
+
size_class = reopt_output['inputs']['Scenario']['Site']['Wind']['size_class']
|
317
|
+
else
|
318
|
+
size_class = 'commercial' # default
|
319
|
+
end
|
320
|
+
scenario_report.distributed_generation.add_tech 'wind', URBANopt::Reporting::DefaultReports::Wind.new({ size_kw: (wind['size_kw'] || 0), size_class: size_class, average_yearly_energy_produced_kwh: (wind['average_yearly_energy_produced_kwh'] || 0) })
|
271
321
|
end
|
272
322
|
|
273
323
|
generator = reopt_output['outputs']['Scenario']['Site']['Generator']
|
@@ -445,36 +495,13 @@ module URBANopt # :nodoc:
|
|
445
495
|
scenario_report.timeseries_csv.column_names.push('REopt:ElectricityProduced:Wind:ToGrid(kw)')
|
446
496
|
end
|
447
497
|
|
448
|
-
def modrow(x, i) # :nodoc:
|
449
|
-
x[$generation_timeseries_kwh_col] = $generation_timeseries_kwh[i] || 0
|
450
|
-
x[$load_col] = $load[i] || 0
|
451
|
-
x[$utility_to_load_col] = $utility_to_load[i] || 0
|
452
|
-
x[$utility_to_battery_col] = $utility_to_battery[i] || 0
|
453
|
-
x[$storage_to_load_col] = $storage_to_load[i] || 0
|
454
|
-
x[$storage_to_grid_col] = $storage_to_grid[i] || 0
|
455
|
-
x[$storage_soc_col] = $storage_soc[i] || 0
|
456
|
-
x[$generator_total_col] = $generator_total[i] || 0
|
457
|
-
x[$generator_to_battery_col] = $generator_to_battery[i] || 0
|
458
|
-
x[$generator_to_load_col] = $generator_to_load[i] || 0
|
459
|
-
x[$generator_to_grid_col] = $generator_to_grid[i] || 0
|
460
|
-
x[$pv_total_col] = $pv_total[i] || 0
|
461
|
-
x[$pv_to_battery_col] = $pv_to_battery[i] || 0
|
462
|
-
x[$pv_to_load_col] = $pv_to_load[i] || 0
|
463
|
-
x[$pv_to_grid_col] = $pv_to_grid[i] || 0
|
464
|
-
x[$wind_total_col] = $wind_total[i] || 0
|
465
|
-
x[$wind_to_battery_col] = $wind_to_battery[i] || 0
|
466
|
-
x[$wind_to_load_col] = $wind_to_load[i] || 0
|
467
|
-
x[$wind_to_grid_col] = $wind_to_grid[i] || 0
|
468
|
-
return x
|
469
|
-
end
|
470
|
-
|
471
498
|
old_data = CSV.open(scenario_report.timeseries_csv.path).read
|
472
499
|
start_date = Time.parse(old_data[1][0]) # Time is the end of the timestep
|
473
500
|
start_ts = (
|
474
501
|
(
|
475
502
|
((start_date.yday - 1) * 60.0 * 60.0 * 24) +
|
476
503
|
((start_date.hour - 1) * 60.0 * 60.0) +
|
477
|
-
(start_date.min * 60.0) + start_date.sec) /
|
504
|
+
(start_date.min * 60.0) + start_date.sec) / \
|
478
505
|
((60 / scenario_report.timesteps_per_hour) * 60)
|
479
506
|
).to_int
|
480
507
|
mod_data = old_data.map.with_index do |x, i|
|
@@ -1,3 +1,33 @@
|
|
1
|
+
# *********************************************************************************
|
2
|
+
# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
|
3
|
+
# contributors. All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
6
|
+
# are permitted provided that the following conditions are met:
|
7
|
+
#
|
8
|
+
# Redistributions of source code must retain the above copyright notice, this list
|
9
|
+
# of conditions and the following disclaimer.
|
10
|
+
#
|
11
|
+
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
|
+
# list of conditions and the following disclaimer in the documentation and/or other
|
13
|
+
# materials provided with the distribution.
|
14
|
+
#
|
15
|
+
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
|
+
# used to endorse or promote products derived from this software without specific
|
17
|
+
# prior written permission.
|
18
|
+
#
|
19
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
20
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
21
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
22
|
+
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
23
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
24
|
+
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
25
|
+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
26
|
+
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
27
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
28
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
# *********************************************************************************
|
30
|
+
|
1
31
|
def convert_powerflow_resolution(timeseries_kw, original_res, destination_res)
|
2
32
|
if timeseries_kw.nil?
|
3
33
|
return nil
|
@@ -1,31 +1,21 @@
|
|
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,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
#
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
#
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
#
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
19
|
-
# Redistribution of this software, without modification, must refer to the software
|
20
|
-
# by the same designation. Redistribution of a modified version of this software
|
21
|
-
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
-
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
-
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
-
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
-
# refer to any modified version of this software or any modified version of the
|
26
|
-
# underlying software originally provided by Alliance without the prior written
|
27
|
-
# consent of Alliance.
|
28
|
-
|
18
|
+
#
|
29
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
20
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
21
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -40,6 +30,6 @@
|
|
40
30
|
|
41
31
|
module URBANopt # :nodoc:
|
42
32
|
module REopt # :nodoc:
|
43
|
-
VERSION = '0.
|
33
|
+
VERSION = '0.9.0'.freeze
|
44
34
|
end
|
45
35
|
end
|
data/lib/urbanopt/reopt.rb
CHANGED
@@ -1,31 +1,21 @@
|
|
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,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
#
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
#
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
#
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
19
|
-
# Redistribution of this software, without modification, must refer to the software
|
20
|
-
# by the same designation. Redistribution of a modified version of this software
|
21
|
-
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
-
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
-
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
-
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
-
# refer to any modified version of this software or any modified version of the
|
26
|
-
# underlying software originally provided by Alliance without the prior written
|
27
|
-
# consent of Alliance.
|
28
|
-
|
18
|
+
#
|
29
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
20
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
21
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
@@ -1,31 +1,21 @@
|
|
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,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
#
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
#
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
#
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
19
|
-
# Redistribution of this software, without modification, must refer to the software
|
20
|
-
# by the same designation. Redistribution of a modified version of this software
|
21
|
-
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
-
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
-
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
-
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
-
# refer to any modified version of this software or any modified version of the
|
26
|
-
# underlying software originally provided by Alliance without the prior written
|
27
|
-
# consent of Alliance.
|
28
|
-
|
18
|
+
#
|
29
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
20
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
21
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
data/lib/urbanopt-reopt.rb
CHANGED
@@ -1,31 +1,21 @@
|
|
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,
|
6
6
|
# are permitted provided that the following conditions are met:
|
7
|
-
|
7
|
+
#
|
8
8
|
# Redistributions of source code must retain the above copyright notice, this list
|
9
9
|
# of conditions and the following disclaimer.
|
10
|
-
|
10
|
+
#
|
11
11
|
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
12
|
# list of conditions and the following disclaimer in the documentation and/or other
|
13
13
|
# materials provided with the distribution.
|
14
|
-
|
14
|
+
#
|
15
15
|
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
16
|
# used to endorse or promote products derived from this software without specific
|
17
17
|
# prior written permission.
|
18
|
-
|
19
|
-
# Redistribution of this software, without modification, must refer to the software
|
20
|
-
# by the same designation. Redistribution of a modified version of this software
|
21
|
-
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
-
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
-
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
-
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
-
# refer to any modified version of this software or any modified version of the
|
26
|
-
# underlying software originally provided by Alliance without the prior written
|
27
|
-
# consent of Alliance.
|
28
|
-
|
18
|
+
#
|
29
19
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
20
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
21
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
data/urbanopt-reopt.gemspec
CHANGED
@@ -26,10 +26,11 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_development_dependency 'bundler', '>= 2.1.0'
|
28
28
|
spec.add_development_dependency 'rake', '~> 13.0'
|
29
|
-
spec.add_development_dependency 'rdoc', '~> 4.3.0'
|
30
29
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
30
|
+
spec.add_development_dependency 'simplecov', '~> 0.18.2'
|
31
|
+
spec.add_development_dependency 'simplecov-lcov', '~> 0.8.0'
|
31
32
|
|
32
33
|
spec.add_dependency 'certified', '~> 1'
|
33
34
|
spec.add_dependency 'json_pure', '~> 2'
|
34
|
-
spec.add_dependency 'urbanopt-scenario', '~> 0.
|
35
|
+
spec.add_dependency 'urbanopt-scenario', '~> 0.9.0'
|
35
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanopt-reopt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -39,33 +39,47 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '3.9'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '3.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: simplecov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.18.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.18.2
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: simplecov-lcov
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.8.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.8.0
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: certified
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +114,14 @@ dependencies:
|
|
100
114
|
requirements:
|
101
115
|
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
117
|
+
version: 0.9.0
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
124
|
+
version: 0.9.0
|
111
125
|
description: Classes and measures for utilizing the REopt Lite API within OpenStudio
|
112
126
|
workflows.
|
113
127
|
email:
|
@@ -119,6 +133,7 @@ files:
|
|
119
133
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
120
134
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
121
135
|
- ".github/pull_request_template.md"
|
136
|
+
- ".github/workflows/nightly_build.yml"
|
122
137
|
- ".gitignore"
|
123
138
|
- ".rakeTasks"
|
124
139
|
- ".rdoc_options"
|