urbanopt-reopt 0.7.0 → 0.9.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/.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"
|