urbanopt-reopt 0.5.5 → 0.5.6
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 +5 -0
- data/LICENSE.md +33 -21
- data/Rakefile +16 -6
- data/docs/package-lock.json +15 -15
- data/lib/urbanopt-reopt.rb +16 -6
- data/lib/urbanopt/reopt.rb +16 -6
- data/lib/urbanopt/reopt/extension.rb +16 -6
- data/lib/urbanopt/reopt/feature_report_adapter.rb +29 -19
- data/lib/urbanopt/reopt/reopt_lite_api.rb +28 -18
- data/lib/urbanopt/reopt/reopt_logger.rb +16 -6
- data/lib/urbanopt/reopt/reopt_post_processor.rb +16 -6
- data/lib/urbanopt/reopt/scenario/reopt_scenario_csv.rb +16 -6
- data/lib/urbanopt/reopt/scenario_report_adapter.rb +24 -14
- data/lib/urbanopt/reopt/version.rb +17 -7
- data/lib/urbanopt/reopt_scenario.rb +16 -6
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0043f49ee7667b3fb0256db602fcb726d26187faf684363bc21f243eab3e4f58
|
|
4
|
+
data.tar.gz: f37e369a43443c3db69eea5a5318159a73cc9ad9dee276643f3ba251a48e6fe1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0838750509d19c2d76ad23279ac2c64afac7913530d673565b988454dbb3139a90c90a0293b42699d3f8f8cd6c087bb2245d29ff8a4468478098c55207ea286
|
|
7
|
+
data.tar.gz: 653d716e33315fcc9cba61de96b977410b5ea896f532de3b5b39821460ac991e3770b7f83accc043e1822bc3d1923a33a9e541fa49de53c55375681060896430
|
data/CHANGELOG.md
CHANGED
data/LICENSE.md
CHANGED
|
@@ -1,27 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
# License
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
|
4
|
+
contributors. All rights reserved.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Redistribution and use in source and binary forms, with or without modification,
|
|
7
|
+
are permitted provided that the following conditions are met:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
and the following disclaimer
|
|
9
|
+
Redistributions of source code must retain the above copyright notice, this list
|
|
10
|
+
of conditions and the following disclaimer.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
Redistributions in binary form must reproduce the above copyright notice, this
|
|
13
|
+
list of conditions and the following disclaimer in the documentation and/or other
|
|
14
|
+
materials provided with the distribution.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
Neither the name of the copyright holder nor the names of its contributors may be
|
|
17
|
+
used to endorse or promote products derived from this software without specific
|
|
18
|
+
prior written permission.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
Redistribution of this software, without modification, must refer to the software
|
|
21
|
+
by the same designation. Redistribution of a modified version of this software
|
|
22
|
+
(i) may not refer to the modified version by the same designation, or by any
|
|
23
|
+
confusingly similar designation, and (ii) must refer to the underlying software
|
|
24
|
+
originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
|
25
|
+
the term “URBANopt”, or any confusingly similar designation may not be used to
|
|
26
|
+
refer to any modified version of this software or any modified version of the
|
|
27
|
+
underlying software originally provided by Alliance without the prior written
|
|
28
|
+
consent of Alliance.
|
|
29
|
+
|
|
30
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
31
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
32
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
33
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
34
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
35
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
36
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
37
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
38
|
+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
39
|
+
OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/Rakefile
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
data/docs/package-lock.json
CHANGED
|
@@ -3761,23 +3761,23 @@
|
|
|
3761
3761
|
"integrity": "sha512-YbgWXUR2Mu+Fp6rm3GZ5YJdNo8SgZKLUTNSl2PNvdOcM8OIz07jRJnRkIaV9vdszFv9UUuGChh19w9qSuoLJgw=="
|
|
3762
3762
|
},
|
|
3763
3763
|
"elliptic": {
|
|
3764
|
-
"version": "6.5.
|
|
3765
|
-
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.
|
|
3766
|
-
"integrity": "sha512-
|
|
3764
|
+
"version": "6.5.4",
|
|
3765
|
+
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
|
|
3766
|
+
"integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
|
|
3767
3767
|
"requires": {
|
|
3768
|
-
"bn.js": "^4.
|
|
3769
|
-
"brorand": "^1.0
|
|
3768
|
+
"bn.js": "^4.11.9",
|
|
3769
|
+
"brorand": "^1.1.0",
|
|
3770
3770
|
"hash.js": "^1.0.0",
|
|
3771
|
-
"hmac-drbg": "^1.0.
|
|
3772
|
-
"inherits": "^2.0.
|
|
3773
|
-
"minimalistic-assert": "^1.0.
|
|
3774
|
-
"minimalistic-crypto-utils": "^1.0.
|
|
3771
|
+
"hmac-drbg": "^1.0.1",
|
|
3772
|
+
"inherits": "^2.0.4",
|
|
3773
|
+
"minimalistic-assert": "^1.0.1",
|
|
3774
|
+
"minimalistic-crypto-utils": "^1.0.1"
|
|
3775
3775
|
},
|
|
3776
3776
|
"dependencies": {
|
|
3777
3777
|
"bn.js": {
|
|
3778
|
-
"version": "4.
|
|
3779
|
-
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.
|
|
3780
|
-
"integrity": "sha512-
|
|
3778
|
+
"version": "4.12.0",
|
|
3779
|
+
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
|
|
3780
|
+
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
|
|
3781
3781
|
}
|
|
3782
3782
|
}
|
|
3783
3783
|
},
|
|
@@ -7315,9 +7315,9 @@
|
|
|
7315
7315
|
"integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA=="
|
|
7316
7316
|
},
|
|
7317
7317
|
"prismjs": {
|
|
7318
|
-
"version": "1.
|
|
7319
|
-
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.
|
|
7320
|
-
"integrity": "sha512-
|
|
7318
|
+
"version": "1.23.0",
|
|
7319
|
+
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz",
|
|
7320
|
+
"integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==",
|
|
7321
7321
|
"requires": {
|
|
7322
7322
|
"clipboard": "^2.0.0"
|
|
7323
7323
|
}
|
data/lib/urbanopt-reopt.rb
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
data/lib/urbanopt/reopt.rb
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -120,7 +130,7 @@ module URBANopt # :nodoc:
|
|
|
120
130
|
end_ts = (((end_date.yday * 60.0 * 60.0 * 24) + (end_date.hour * 60.0 * 60.0) + (end_date.min * 60.0) + end_date.sec) /
|
|
121
131
|
(( 60 / feature_report.timesteps_per_hour ) * 60)).to_int
|
|
122
132
|
energy_timeseries_kw = [0.0]*(start_ts-1) + energy_timeseries_kw + [0.0]*((feature_report.timesteps_per_hour * 8760) - end_ts)
|
|
123
|
-
end
|
|
133
|
+
end
|
|
124
134
|
#Clip to one non-leap year's worth of data
|
|
125
135
|
energy_timeseries_kw = energy_timeseries_kw.map { |e| e ? e : 0 }[0,(feature_report.timesteps_per_hour * 8760)]
|
|
126
136
|
#Convert from the OpenDSS resolution to the REopt Lite resolution, if necessary
|
|
@@ -128,20 +138,20 @@ module URBANopt # :nodoc:
|
|
|
128
138
|
@@logger.error("Could not parse the annual electric load from the timeseries csv - #{feature_report.timeseries_csv.path}")
|
|
129
139
|
raise "Could not parse the annual electric load from the timeseries csv - #{feature_report.timeseries_csv.path}"
|
|
130
140
|
end
|
|
131
|
-
|
|
141
|
+
|
|
132
142
|
# Convert load to REopt Resolution
|
|
133
143
|
begin
|
|
134
144
|
reopt_inputs[:Scenario][:Site][:LoadProfile][:loads_kw] = convert_powerflow_resolution(energy_timeseries_kw, feature_report.timesteps_per_hour, reopt_inputs[:Scenario][:time_steps_per_hour])
|
|
135
|
-
|
|
145
|
+
|
|
136
146
|
rescue
|
|
137
147
|
@@logger.error("Could not convert the annual electric load from a resolution of #{feature_report.timesteps_per_hour} to #{reopt_inputs[:Scenario][:time_steps_per_hour]}")
|
|
138
148
|
raise "Could not convert the annual electric load from a resolution of #{feature_report.timesteps_per_hour} to #{reopt_inputs[:Scenario][:time_steps_per_hour]}"
|
|
139
149
|
end
|
|
140
|
-
|
|
150
|
+
|
|
141
151
|
if reopt_inputs[:Scenario][:Site][:ElectricTariff][:coincident_peak_load_active_timesteps].nil?
|
|
142
152
|
n_top_values = 100
|
|
143
153
|
tmp1 = reopt_inputs[:Scenario][:Site][:LoadProfile][:loads_kw]
|
|
144
|
-
tmp2 = tmp1.each_index.max_by(n_top_values*reopt_inputs[:Scenario][:time_steps_per_hour]){|i| tmp1[i]}
|
|
154
|
+
tmp2 = tmp1.each_index.max_by(n_top_values*reopt_inputs[:Scenario][:time_steps_per_hour]){|i| tmp1[i]}
|
|
145
155
|
for i in (0...tmp2.count)
|
|
146
156
|
tmp2[i] += 1
|
|
147
157
|
end
|
|
@@ -151,7 +161,7 @@ module URBANopt # :nodoc:
|
|
|
151
161
|
if reopt_inputs[:Scenario][:Site][:ElectricTariff][:coincident_peak_load_charge_us_dollars_per_kw].nil?
|
|
152
162
|
reopt_inputs[:Scenario][:Site][:ElectricTariff][:coincident_peak_load_charge_us_dollars_per_kw] = 0
|
|
153
163
|
end
|
|
154
|
-
|
|
164
|
+
|
|
155
165
|
return reopt_inputs
|
|
156
166
|
end
|
|
157
167
|
|
|
@@ -173,7 +183,7 @@ module URBANopt # :nodoc:
|
|
|
173
183
|
@@logger.info("Warning cannot Feature Report #{feature_report.name} #{feature_report.id} - REopt optimization was non-optimal")
|
|
174
184
|
return feature_report
|
|
175
185
|
end
|
|
176
|
-
|
|
186
|
+
|
|
177
187
|
# Update location
|
|
178
188
|
feature_report.location.latitude_deg = reopt_output['inputs']['Scenario']['Site']['latitude']
|
|
179
189
|
feature_report.location.longitude_deg = reopt_output['inputs']['Scenario']['Site']['longitude']
|
|
@@ -197,9 +207,9 @@ module URBANopt # :nodoc:
|
|
|
197
207
|
feature_report.distributed_generation.resilience_hours_avg = resilience_stats['resilience_hours_avg']
|
|
198
208
|
feature_report.distributed_generation.probs_of_surviving = resilience_stats['probs_of_surviving']
|
|
199
209
|
feature_report.distributed_generation.probs_of_surviving_by_month = resilience_stats['probs_of_surviving_by_month']
|
|
200
|
-
feature_report.distributed_generation.probs_of_surviving_by_hour_of_the_day = resilience_stats['probs_of_surviving_by_hour_of_the_day']
|
|
210
|
+
feature_report.distributed_generation.probs_of_surviving_by_hour_of_the_day = resilience_stats['probs_of_surviving_by_hour_of_the_day']
|
|
201
211
|
end
|
|
202
|
-
|
|
212
|
+
|
|
203
213
|
if reopt_output['outputs']['Scenario']['Site']['PV'].class == Hash
|
|
204
214
|
reopt_output['outputs']['Scenario']['Site']['PV'] = [reopt_output['outputs']['Scenario']['Site']['PV']]
|
|
205
215
|
elsif reopt_output['outputs']['Scenario']['Site']['PV'].nil?
|
|
@@ -430,15 +440,15 @@ module URBANopt # :nodoc:
|
|
|
430
440
|
start_date = Time.parse(old_data[1][0])
|
|
431
441
|
start_ts = (
|
|
432
442
|
(
|
|
433
|
-
((start_date.yday - 1) * 60.0 * 60.0 * 24) +
|
|
434
|
-
(((start_date.hour) - 1) * 60.0 * 60.0) +
|
|
443
|
+
((start_date.yday - 1) * 60.0 * 60.0 * 24) +
|
|
444
|
+
(((start_date.hour) - 1) * 60.0 * 60.0) +
|
|
435
445
|
(start_date.min * 60.0) + start_date.sec ) /
|
|
436
446
|
(( 60 / feature_report.timesteps_per_hour ) * 60)
|
|
437
447
|
).to_int
|
|
438
|
-
|
|
448
|
+
|
|
439
449
|
mod_data = old_data.map.with_index do |x, i|
|
|
440
450
|
if i > 0
|
|
441
|
-
modrow(x, start_ts + i -
|
|
451
|
+
modrow(x, start_ts + i -1)
|
|
442
452
|
else
|
|
443
453
|
x
|
|
444
454
|
end
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -165,7 +175,7 @@ module URBANopt # :nodoc:
|
|
|
165
175
|
# [*return:*] _Bool_ - Returns true if the post succeeeds. Otherwise returns false.
|
|
166
176
|
##
|
|
167
177
|
def resilience_request(run_uuid, filename)
|
|
168
|
-
|
|
178
|
+
|
|
169
179
|
if File.directory? filename
|
|
170
180
|
if run_uuid.nil?
|
|
171
181
|
run_uuid = 'error'
|
|
@@ -176,7 +186,7 @@ module URBANopt # :nodoc:
|
|
|
176
186
|
filename = File.join(filename, "#{run_uuid}_resilience.json")
|
|
177
187
|
@@logger.info("REopt results saved to #{filename}")
|
|
178
188
|
end
|
|
179
|
-
|
|
189
|
+
|
|
180
190
|
#Submit Job
|
|
181
191
|
@@logger.info("Submitting Resilience Statistics job for #{run_uuid}")
|
|
182
192
|
header = { 'Content-Type' => 'application/json' }
|
|
@@ -198,16 +208,16 @@ module URBANopt # :nodoc:
|
|
|
198
208
|
|
|
199
209
|
elapsed_time = 0
|
|
200
210
|
max_elapsed_time = 60 * 5
|
|
201
|
-
|
|
211
|
+
|
|
202
212
|
request = Net::HTTP::Get.new(uri.request_uri)
|
|
203
213
|
response = make_request(http, request)
|
|
204
|
-
|
|
214
|
+
|
|
205
215
|
while (elapsed_time < max_elapsed_time) & (response.code == "404")
|
|
206
216
|
response = make_request(http, request)
|
|
207
|
-
elapsed_time += 5
|
|
217
|
+
elapsed_time += 5
|
|
208
218
|
sleep 5
|
|
209
219
|
end
|
|
210
|
-
|
|
220
|
+
|
|
211
221
|
data = JSON.parse(response.body)
|
|
212
222
|
text = ::JSON.generate(data, allow_nan: true)
|
|
213
223
|
begin
|
|
@@ -221,10 +231,10 @@ module URBANopt # :nodoc:
|
|
|
221
231
|
if response.code == "200"
|
|
222
232
|
return data
|
|
223
233
|
end
|
|
224
|
-
|
|
234
|
+
|
|
225
235
|
@@logger.info("Error from REopt API - #{data['Error']}")
|
|
226
236
|
return {}
|
|
227
|
-
|
|
237
|
+
|
|
228
238
|
end
|
|
229
239
|
|
|
230
240
|
##
|
|
@@ -253,7 +263,7 @@ module URBANopt # :nodoc:
|
|
|
253
263
|
end
|
|
254
264
|
request = Net::HTTP::Post.new(@uri_submit, header)
|
|
255
265
|
request.body = ::JSON.generate(reopt_input, allow_nan: true)
|
|
256
|
-
|
|
266
|
+
|
|
257
267
|
# Send the request
|
|
258
268
|
response = make_request(http, request)
|
|
259
269
|
|
|
@@ -292,14 +302,14 @@ module URBANopt # :nodoc:
|
|
|
292
302
|
|
|
293
303
|
while status == 'Optimizing...'
|
|
294
304
|
response = make_request(http, request)
|
|
295
|
-
|
|
305
|
+
|
|
296
306
|
data = JSON.parse(response.body, allow_nan:true)
|
|
297
307
|
|
|
298
308
|
if data['outputs']['Scenario']['Site']['PV'].kind_of?(Array)
|
|
299
309
|
pv_sizes = 0
|
|
300
310
|
data['outputs']['Scenario']['Site']['PV'].each do |x|
|
|
301
311
|
pv_sizes = pv_sizes + x['size_kw'].to_f
|
|
302
|
-
end
|
|
312
|
+
end
|
|
303
313
|
else
|
|
304
314
|
pv_sizes = data['outputs']['Scenario']['Site']['PV']['size_kw'] || 0
|
|
305
315
|
end
|
|
@@ -320,7 +330,7 @@ module URBANopt # :nodoc:
|
|
|
320
330
|
pv_sizes = 0
|
|
321
331
|
data['outputs']['Scenario']['Site']['PV'].each do |x|
|
|
322
332
|
pv_sizes = pv_sizes + x['size_kw'].to_f
|
|
323
|
-
end
|
|
333
|
+
end
|
|
324
334
|
else
|
|
325
335
|
pv_sizes = data['outputs']['Scenario']['Site']['PV']['size_kw'] || 0
|
|
326
336
|
end
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -157,7 +167,7 @@ module URBANopt # :nodoc:
|
|
|
157
167
|
if reopt_inputs[:Scenario][:Site][:ElectricTariff][:coincident_peak_load_active_timesteps].nil?
|
|
158
168
|
n_top_values = 100
|
|
159
169
|
tmp1 = reopt_inputs[:Scenario][:Site][:LoadProfile][:loads_kw]
|
|
160
|
-
tmp2 = tmp1.each_index.max_by(n_top_values*reopt_inputs[:Scenario][:time_steps_per_hour]){|i| tmp1[i]}
|
|
170
|
+
tmp2 = tmp1.each_index.max_by(n_top_values*reopt_inputs[:Scenario][:time_steps_per_hour]){|i| tmp1[i]}
|
|
161
171
|
for i in (0...tmp2.count)
|
|
162
172
|
tmp2[i] += 1
|
|
163
173
|
end
|
|
@@ -210,7 +220,7 @@ module URBANopt # :nodoc:
|
|
|
210
220
|
@@logger.info("Warning cannot Feature Report #{scenario_report.name} #{scenario_report.id} - REopt optimization was non-optimal")
|
|
211
221
|
return scenario_report
|
|
212
222
|
end
|
|
213
|
-
|
|
223
|
+
|
|
214
224
|
# Update location
|
|
215
225
|
scenario_report.location.latitude_deg = reopt_output['inputs']['Scenario']['Site']['latitude']
|
|
216
226
|
scenario_report.location.longitude_deg = reopt_output['inputs']['Scenario']['Site']['longitude']
|
|
@@ -235,7 +245,7 @@ module URBANopt # :nodoc:
|
|
|
235
245
|
scenario_report.distributed_generation.resilience_hours_avg = resilience_stats['resilience_hours_avg']
|
|
236
246
|
scenario_report.distributed_generation.probs_of_surviving = resilience_stats['probs_of_surviving']
|
|
237
247
|
scenario_report.distributed_generation.probs_of_surviving_by_month = resilience_stats['probs_of_surviving_by_month']
|
|
238
|
-
scenario_report.distributed_generation.probs_of_surviving_by_hour_of_the_day = resilience_stats['probs_of_surviving_by_hour_of_the_day']
|
|
248
|
+
scenario_report.distributed_generation.probs_of_surviving_by_hour_of_the_day = resilience_stats['probs_of_surviving_by_hour_of_the_day']
|
|
239
249
|
end
|
|
240
250
|
|
|
241
251
|
if reopt_output['outputs']['Scenario']['Site']['PV'].class == Hash
|
|
@@ -262,10 +272,10 @@ module URBANopt # :nodoc:
|
|
|
262
272
|
if !storage['size_kw'].nil? and storage['size_kw'] != 0
|
|
263
273
|
scenario_report.distributed_generation.add_tech 'storage', URBANopt::Reporting::DefaultReports::Storage.new( {size_kwh: (storage['size_kwh'] || 0), size_kw: (storage['size_kw'] || 0) })
|
|
264
274
|
end
|
|
265
|
-
|
|
275
|
+
|
|
266
276
|
reopt_resolution = reopt_output['inputs']['Scenario']['time_steps_per_hour']
|
|
267
277
|
generation_timeseries_kwh = Matrix[[0] * (8760 * scenario_report.timesteps_per_hour)]
|
|
268
|
-
|
|
278
|
+
|
|
269
279
|
reopt_output['outputs']['Scenario']['Site']['PV'].each do |pv|
|
|
270
280
|
if (pv['size_kw'] || 0) > 0
|
|
271
281
|
if !pv['year_one_power_production_series_kw'].nil?
|
|
@@ -462,11 +472,11 @@ module URBANopt # :nodoc:
|
|
|
462
472
|
end
|
|
463
473
|
|
|
464
474
|
old_data = CSV.open(scenario_report.timeseries_csv.path).read
|
|
465
|
-
start_date = Time.parse(old_data[1][0]) # Time is the end of the timestep
|
|
475
|
+
start_date = Time.parse(old_data[1][0]) # Time is the end of the timestep
|
|
466
476
|
start_ts = (
|
|
467
477
|
(
|
|
468
|
-
((start_date.yday - 1) * 60.0 * 60.0 * 24) +
|
|
469
|
-
(((start_date.hour) - 1) * 60.0 * 60.0) +
|
|
478
|
+
((start_date.yday - 1) * 60.0 * 60.0 * 24) +
|
|
479
|
+
(((start_date.hour) - 1) * 60.0 * 60.0) +
|
|
470
480
|
(start_date.min * 60.0) + start_date.sec ) /
|
|
471
481
|
(( 60 / scenario_report.timesteps_per_hour ) * 60)
|
|
472
482
|
).to_int
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
@@ -30,6 +40,6 @@
|
|
|
30
40
|
|
|
31
41
|
module URBANopt # :nodoc:
|
|
32
42
|
module REopt # :nodoc:
|
|
33
|
-
VERSION = '0.5.
|
|
43
|
+
VERSION = '0.5.6'.freeze
|
|
34
44
|
end
|
|
35
45
|
end
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# *********************************************************************************
|
|
2
|
-
# URBANopt
|
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, 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
|
-
|
|
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
|
+
|
|
19
29
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
20
30
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
21
31
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
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.5.
|
|
4
|
+
version: 0.5.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ''
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-04-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|