urbanopt-cli 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/CMakeLists.txt +13 -13
- data/FindOpenStudioSDK.cmake +11 -6
- data/Gemfile +2 -2
- data/example_files/mappers/Baseline.rb +44 -10
- data/example_files/mappers/CreateBar.rb +1 -1
- data/example_files/mappers/Floorspace.rb +1 -1
- data/example_files/mappers/HighEfficiency.rb +20 -8
- data/example_files/mappers/HighEfficiencyCreateBar.rb +3 -2
- data/example_files/mappers/HighEfficiencyFloorspace.rb +3 -2
- data/lib/uo_cli.rb +25 -4
- data/lib/uo_cli/version.rb +1 -1
- data/scripts/setup-env-gitbash.sh +4 -4
- data/scripts/setup-env-unix.sh +4 -4
- data/scripts/setup-env.bat +3 -3
- data/scripts/setup-env.ps1 +3 -3
- data/uo_cli.gemspec +7 -5
- metadata +42 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aff17fbc8bc992bae6f6996722aaffe1c5c6da618808eb3da7c65e38091531f2
|
4
|
+
data.tar.gz: 8cc4327c2e5d9d81937c76fc3371795673b1a3f46783bb1794f00b687bf3ec1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a46b6736438e5ffa779321ee1fa9e20a4bdb5b7fe067891f763da4d650da66e576ecaf2e9ab9a984cb2212f2b8316c6a47d25e1fe2eecc8c3e141bb094fafef
|
7
|
+
data.tar.gz: f1aca2e9be941ba1c8a21a2072c9110de9837f5d2128139f0c7e9fa175865ff1269c29e03c7f9e3883cbe64c27672873a4a5f7d6fcc6d2e75bcf7d07a473b688
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Version 0.6.1
|
4
|
+
|
5
|
+
Date Range 5/1/21 - 7/1/21
|
6
|
+
|
7
|
+
- Fixed [#222]( https://github.com/urbanopt/urbanopt-cli/issues/222 ), Add a resilience flag to reopt processing
|
8
|
+
- Fixed [#224]( https://github.com/urbanopt/urbanopt-cli/issues/224 ), Createbar and Floorspace mappers are out of date
|
9
|
+
- Fixed [#227]( https://github.com/urbanopt/urbanopt-cli/issues/227 ), Runtime error when running urbanopt cli example project
|
10
|
+
- Fixed [#233]( https://github.com/urbanopt/urbanopt-cli/issues/233 ), update rubocop configs to v4
|
11
|
+
- Fixed [#235]( https://github.com/urbanopt/urbanopt-cli/issues/235 ), Re-add old residential types to the commercial hash
|
12
|
+
- Fixed [#238]( https://github.com/urbanopt/urbanopt-cli/issues/238 ), Fix BuildingResidentialModel feature_id argument - JSON parse bug
|
13
|
+
- Fixed [#240]( https://github.com/urbanopt/urbanopt-cli/issues/240 ), Update example mappers from urbanopt-example-geojson-project
|
14
|
+
- Fixed [#242]( https://github.com/urbanopt/urbanopt-cli/issues/242 ), Add load_flexibility require to baseline mapper
|
15
|
+
|
3
16
|
## Version 0.6.0
|
4
17
|
|
5
18
|
Date Range 3/31/21 - 4/30/21
|
data/CMakeLists.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
cmake_minimum_required(VERSION 3.10.2)
|
2
2
|
cmake_policy(SET CMP0048 NEW)
|
3
3
|
|
4
|
-
project(UrbanOptCLI VERSION 0.
|
4
|
+
project(UrbanOptCLI VERSION 0.6.0)
|
5
5
|
|
6
6
|
include(FindOpenStudioSDK.cmake)
|
7
7
|
|
@@ -89,16 +89,16 @@ option(BUILD_PACKAGE "Build package" OFF)
|
|
89
89
|
# need to update the MD5sum for each platform and url below
|
90
90
|
if(UNIX)
|
91
91
|
if(APPLE)
|
92
|
-
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-
|
93
|
-
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "
|
92
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210608-darwin.tar.gz")
|
93
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "c169a00c4b01e4a7e69321d0def3f72d")
|
94
94
|
else()
|
95
|
-
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-
|
96
|
-
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "
|
95
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210514-linux.tar.gz")
|
96
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "5dd39375b9b5d3a947ef761f5dd2333a")
|
97
97
|
endif()
|
98
98
|
elseif(WIN32)
|
99
99
|
if(CMAKE_CL_64)
|
100
|
-
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-
|
101
|
-
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "
|
100
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210514-windows.tar.gz")
|
101
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "2f403a31d7192fdb457e6fcfd0d47156")
|
102
102
|
endif()
|
103
103
|
endif()
|
104
104
|
|
@@ -125,15 +125,15 @@ set(RUBY_DIR "${PROJECT_BINARY_DIR}/ruby")
|
|
125
125
|
|
126
126
|
if(UNIX)
|
127
127
|
if(APPLE)
|
128
|
-
set(RUBY_ZIP_FILENAME "ruby-2.
|
129
|
-
set(RUBY_ZIP_EXPECTED_MD5 "
|
128
|
+
set(RUBY_ZIP_FILENAME "ruby-2.7.2-darwin.tar.gz")
|
129
|
+
set(RUBY_ZIP_EXPECTED_MD5 "1ee27d6381797a5af7398f8eee8edb07")
|
130
130
|
else()
|
131
|
-
set(RUBY_ZIP_FILENAME "ruby-2.
|
132
|
-
set(RUBY_ZIP_EXPECTED_MD5 "
|
131
|
+
set(RUBY_ZIP_FILENAME "ruby-2.7.2-linux.tar.gz")
|
132
|
+
set(RUBY_ZIP_EXPECTED_MD5 "853425b0c9878b064937f9e49688c6c6")
|
133
133
|
endif()
|
134
134
|
elseif(WIN32)
|
135
|
-
set(RUBY_ZIP_FILENAME "ruby-2.
|
136
|
-
set(RUBY_ZIP_EXPECTED_MD5 "
|
135
|
+
set(RUBY_ZIP_FILENAME "ruby-2.7.2-win32.tar.gz")
|
136
|
+
set(RUBY_ZIP_EXPECTED_MD5 "414a24f3ebb074534d2186595683c5b4")
|
137
137
|
endif()
|
138
138
|
|
139
139
|
set(RUBY_ZIP_LOCAL_PATH "${PROJECT_BINARY_DIR}/${RUBY_ZIP_FILENAME}")
|
data/FindOpenStudioSDK.cmake
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
set(OPENSTUDIO_VERSION_MAJOR 3)
|
2
|
-
set(OPENSTUDIO_VERSION_MINOR
|
2
|
+
set(OPENSTUDIO_VERSION_MINOR 2)
|
3
3
|
set(OPENSTUDIO_VERSION_PATCH 0)
|
4
4
|
set(OPENSTUDIO_VERSION "${OPENSTUDIO_VERSION_MAJOR}.${OPENSTUDIO_VERSION_MINOR}.${OPENSTUDIO_VERSION_PATCH}")
|
5
5
|
|
@@ -16,18 +16,23 @@ else()
|
|
16
16
|
set(OPENSTUDIO_BASELINK "https://openstudio-builds.s3.amazonaws.com/${OPENSTUDIO_VERSION}"
|
17
17
|
CACHE STRING "Base link to where the openstudio archives are hosted" FORCE)
|
18
18
|
|
19
|
-
set(OPENSTUDIO_VERSION_SHA "+
|
19
|
+
set(OPENSTUDIO_VERSION_SHA "+e11f0a08b2")
|
20
20
|
|
21
21
|
if(APPLE)
|
22
|
-
set(OPENSTUDIO_EXPECTED_HASH
|
22
|
+
set(OPENSTUDIO_EXPECTED_HASH 883c0f83ab7a09875e851726e32ba591)
|
23
23
|
set(OPENSTUDIO_PLATFORM "Darwin")
|
24
24
|
set(OPENSTUDIO_EXT "tar.gz")
|
25
25
|
elseif(UNIX)
|
26
|
-
|
27
|
-
|
26
|
+
if(LSB_RELEASE_VERSION_SHORT MATCHES "20.04")
|
27
|
+
set(OPENSTUDIO_EXPECTED_HASH 25c4cfe614676376581657440ba447ae)
|
28
|
+
set(OPENSTUDIO_PLATFORM "Ubuntu-20.04")
|
29
|
+
else() # Assumes 18.04
|
30
|
+
set(OPENSTUDIO_EXPECTED_HASH 623d3e10c17f1dc99bb869deb8a2550e)
|
31
|
+
set(OPENSTUDIO_PLATFORM "Ubuntu-18.04")
|
32
|
+
endif()
|
28
33
|
set(OPENSTUDIO_EXT "tar.gz")
|
29
34
|
elseif(WIN32)
|
30
|
-
set(OPENSTUDIO_EXPECTED_HASH
|
35
|
+
set(OPENSTUDIO_EXPECTED_HASH 740d5d8ba67ca914412e12c618d2cc28)
|
31
36
|
set(OPENSTUDIO_PLATFORM "Windows")
|
32
37
|
set(OPENSTUDIO_EXT "tar.gz")
|
33
38
|
endif()
|
data/Gemfile
CHANGED
@@ -46,9 +46,9 @@ allow_local = ENV['FAVOR_LOCAL_GEMS']
|
|
46
46
|
# end
|
47
47
|
|
48
48
|
# if allow_local && File.exist?('../urbanopt-reopt-gem')
|
49
|
-
#
|
49
|
+
# gem 'urbanopt-reopt', path: '../urbanopt-reopt-gem'
|
50
50
|
# elsif allow_local
|
51
|
-
|
51
|
+
gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop'
|
52
52
|
# end
|
53
53
|
|
54
54
|
# if allow_local && File.exist?('../openstudio-load-flexibility-measures')
|
@@ -1,21 +1,31 @@
|
|
1
|
-
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
1
|
+
# *********************************************************************************
|
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.
|
@@ -26,13 +36,14 @@
|
|
26
36
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
27
37
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
28
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
|
39
|
+
# *********************************************************************************
|
30
40
|
|
31
41
|
require 'urbanopt/reporting'
|
32
42
|
require 'openstudio/common_measures'
|
33
43
|
require 'openstudio/model_articulation'
|
34
44
|
require 'openstudio/ee_measures'
|
35
45
|
require 'openstudio/calibration'
|
46
|
+
require 'openstudio/load_flexibility_measures'
|
36
47
|
|
37
48
|
require 'json'
|
38
49
|
require 'rexml/document'
|
@@ -278,7 +289,10 @@ module URBANopt
|
|
278
289
|
'Service',
|
279
290
|
'Uncovered Parking',
|
280
291
|
'Covered Parking',
|
281
|
-
'Mixed use'
|
292
|
+
'Mixed use',
|
293
|
+
'Multifamily (2 to 4 units)',
|
294
|
+
'Multifamily (5 or more units)',
|
295
|
+
'Single-Family'
|
282
296
|
]
|
283
297
|
end
|
284
298
|
|
@@ -411,6 +425,11 @@ module URBANopt
|
|
411
425
|
|
412
426
|
building_type = feature.building_type
|
413
427
|
|
428
|
+
if building_type.nil?
|
429
|
+
# need building type
|
430
|
+
raise "Building type is not set"
|
431
|
+
end
|
432
|
+
|
414
433
|
if residential_building_types.include? building_type
|
415
434
|
debug = false
|
416
435
|
|
@@ -520,8 +539,13 @@ module URBANopt
|
|
520
539
|
|
521
540
|
# SCHEDULES
|
522
541
|
|
542
|
+
feature_ids = []
|
543
|
+
scenario.feature_file.features.each do |feature|
|
544
|
+
feature_ids << feature.id
|
545
|
+
end
|
546
|
+
|
523
547
|
args[:schedules_type] = 'stochastic'
|
524
|
-
args[:feature_id] = feature_id
|
548
|
+
args[:feature_id] = feature_ids.index(feature_id)
|
525
549
|
args[:schedules_variation] = 'building' # building or unit
|
526
550
|
|
527
551
|
# HVAC
|
@@ -723,10 +747,13 @@ module URBANopt
|
|
723
747
|
|
724
748
|
OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', '__SKIP__', false)
|
725
749
|
# set_run_period
|
750
|
+
|
726
751
|
begin
|
727
752
|
timesteps_per_hour = feature.timesteps_per_hour
|
728
753
|
if timesteps_per_hour
|
729
754
|
OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'timesteps_per_hour', timesteps_per_hour)
|
755
|
+
else
|
756
|
+
puts "No timesteps_per_hours set in the feature file...using default"
|
730
757
|
end
|
731
758
|
rescue StandardError
|
732
759
|
end
|
@@ -738,6 +765,8 @@ module URBANopt
|
|
738
765
|
begin_date = begin_date[0, 10]
|
739
766
|
end
|
740
767
|
OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'begin_date', begin_date)
|
768
|
+
else
|
769
|
+
puts "no simulation begin_date set in the feature file...using default"
|
741
770
|
end
|
742
771
|
rescue StandardError
|
743
772
|
end
|
@@ -749,6 +778,8 @@ module URBANopt
|
|
749
778
|
end_date = end_date[0, 10]
|
750
779
|
end
|
751
780
|
OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'end_date', end_date)
|
781
|
+
else
|
782
|
+
puts "no simulation end_date set in the feature file...using default"
|
752
783
|
end
|
753
784
|
rescue StandardError
|
754
785
|
end
|
@@ -780,6 +811,9 @@ module URBANopt
|
|
780
811
|
number_of_stories_below_ground = 0
|
781
812
|
end
|
782
813
|
template = building_hash.key?(:template) ? building_hash[:template] : nil
|
814
|
+
if template.nil?
|
815
|
+
raise "Template is not defined in the feature file"
|
816
|
+
end
|
783
817
|
footprint_area = building_hash[:footprint_area]
|
784
818
|
|
785
819
|
mapped_building_type_1 = lookup_building_type(building_type_1, template, footprint_area, number_of_stories)
|
@@ -38,7 +38,7 @@
|
|
38
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
39
39
|
# *********************************************************************************
|
40
40
|
|
41
|
-
require 'urbanopt/
|
41
|
+
require 'urbanopt/reporting'
|
42
42
|
require 'openstudio/common_measures'
|
43
43
|
require 'openstudio/model_articulation'
|
44
44
|
require 'openstudio/ee_measures'
|
@@ -38,7 +38,7 @@
|
|
38
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
39
39
|
# *********************************************************************************
|
40
40
|
|
41
|
-
require 'urbanopt/
|
41
|
+
require 'urbanopt/reporting'
|
42
42
|
require 'openstudio/common_measures'
|
43
43
|
require 'openstudio/model_articulation'
|
44
44
|
require 'openstudio/ee_measures'
|
@@ -1,21 +1,31 @@
|
|
1
|
-
|
2
|
-
# URBANopt™, Copyright (c) 2019-
|
1
|
+
# *********************************************************************************
|
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.
|
@@ -26,11 +36,13 @@
|
|
26
36
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
27
37
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
28
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
|
39
|
+
# *********************************************************************************
|
30
40
|
|
31
41
|
require 'urbanopt/reporting'
|
32
42
|
require 'openstudio/common_measures'
|
33
43
|
require 'openstudio/model_articulation'
|
44
|
+
require 'openstudio/ee_measures'
|
45
|
+
require 'openstudio/calibration'
|
34
46
|
|
35
47
|
require_relative 'Baseline'
|
36
48
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
# *********************************************************************************
|
3
2
|
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
4
3
|
# contributors. All rights reserved.
|
@@ -39,9 +38,11 @@
|
|
39
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
40
39
|
# *********************************************************************************
|
41
40
|
|
42
|
-
require 'urbanopt/
|
41
|
+
require 'urbanopt/reporting'
|
43
42
|
require 'openstudio/common_measures'
|
44
43
|
require 'openstudio/model_articulation'
|
44
|
+
require 'openstudio/ee_measures'
|
45
|
+
require 'openstudio/calibration'
|
45
46
|
|
46
47
|
require_relative 'CreateBar'
|
47
48
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
# *********************************************************************************
|
3
2
|
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
4
3
|
# contributors. All rights reserved.
|
@@ -39,9 +38,11 @@
|
|
39
38
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
40
39
|
# *********************************************************************************
|
41
40
|
|
42
|
-
require 'urbanopt/
|
41
|
+
require 'urbanopt/reporting'
|
43
42
|
require 'openstudio/common_measures'
|
44
43
|
require 'openstudio/model_articulation'
|
44
|
+
require 'openstudio/ee_measures'
|
45
|
+
require 'openstudio/calibration'
|
45
46
|
|
46
47
|
require_relative 'Floorspace'
|
47
48
|
|
data/lib/uo_cli.rb
CHANGED
@@ -219,10 +219,16 @@ module URBANopt
|
|
219
219
|
opt :reopt_feature, "\nOptimize for each building individually with REopt\n" \
|
220
220
|
'Example: uo process --reopt-feature'
|
221
221
|
|
222
|
+
opt :reopt_resilience, "\nInclude resilience reporting in REopt optimization\n" \
|
223
|
+
'Example: uo process --reopt-scenario --reopt-resilience'
|
224
|
+
|
225
|
+
opt :reopt_keep_existing, "\nKeep existing reopt feature optimizations instead of rerunning them to avoid rate limit issues.\n" \
|
226
|
+
'Example: uo process --reopt-feature --reopt-keep-existing', short: :k
|
227
|
+
|
222
228
|
opt :with_database, "\nInclude a sql database output of post-processed results\n" \
|
223
229
|
'Example: uo process --default --with-database'
|
224
230
|
|
225
|
-
opt :reopt_scenario_assumptions_file, "\nPath to the scenario REopt assumptions JSON file you want to use. Use with the --reopt-scenario post-processor
|
231
|
+
opt :reopt_scenario_assumptions_file, "\nPath to the scenario REopt assumptions JSON file you want to use. Use with the --reopt-scenario post-processor.\n" \
|
226
232
|
"If not specified, the reopt/base_assumptions.json file will be used", type: String, short: :a
|
227
233
|
|
228
234
|
opt :scenario, "\nSelect which scenario to optimize", default: 'baseline_scenario.csv', required: true, short: :s
|
@@ -848,15 +854,30 @@ module URBANopt
|
|
848
854
|
scenario_assumptions = File.expand_path(@opthash.subopts[:reopt_scenario_assumptions_file]).to_s
|
849
855
|
end
|
850
856
|
puts "\nRunning the REopt Scenario post-processor with scenario assumptions file: #{scenario_assumptions}\n"
|
851
|
-
reopt_post_processor = URBANopt::REopt::REoptPostProcessor.new(
|
857
|
+
reopt_post_processor = URBANopt::REopt::REoptPostProcessor.new(
|
858
|
+
scenario_report,
|
859
|
+
scenario_assumptions,
|
860
|
+
scenario_base.reopt_feature_assumptions,
|
861
|
+
DEVELOPER_NREL_KEY
|
862
|
+
)
|
852
863
|
if @opthash.subopts[:reopt_scenario] == true
|
853
864
|
puts "\nPost-processing entire scenario with REopt\n"
|
854
|
-
scenario_report_scenario = reopt_post_processor.run_scenario_report(
|
865
|
+
scenario_report_scenario = reopt_post_processor.run_scenario_report(
|
866
|
+
scenario_report: scenario_report,
|
867
|
+
save_name: 'scenario_optimization',
|
868
|
+
run_resilience: @opthash.subopts[:reopt_resilience]
|
869
|
+
)
|
855
870
|
results << { "process_type": 'reopt_scenario', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') }
|
856
871
|
puts "\nDone\n"
|
857
872
|
elsif @opthash.subopts[:reopt_feature] == true
|
858
873
|
puts "\nPost-processing each building individually with REopt\n"
|
859
|
-
|
874
|
+
scenario_report_features = reopt_post_processor.run_scenario_report_features(
|
875
|
+
scenario_report: scenario_report,
|
876
|
+
save_names_feature_reports: ['feature_optimization'] * scenario_report.feature_reports.length,
|
877
|
+
save_name_scenario_report: 'feature_optimization',
|
878
|
+
run_resilience: @opthash.subopts[:reopt_resilience],
|
879
|
+
keep_existing_output: @opthash.subopts[:reopt_keep_existing]
|
880
|
+
)
|
860
881
|
results << { "process_type": 'reopt_feature', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') }
|
861
882
|
puts "\nDone\n"
|
862
883
|
end
|
data/lib/uo_cli/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/bin/bash
|
1
|
+
#!/bin/bash
|
2
2
|
# This is a simple setup script that generates an enviroment file that
|
3
3
|
# is used to setup the ruby enviroment to run the urbanopt-cli tool.
|
4
4
|
# To use, just run this script in bash (e.g. ./setup-env.sh)
|
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
BASE_DIR_NAME=$(dirname `which $0`)
|
10
10
|
|
11
|
-
GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.
|
12
|
-
GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.
|
13
|
-
PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.
|
11
|
+
GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.7.0
|
12
|
+
GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.7.0
|
13
|
+
PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.7.0/bin:$PATH
|
14
14
|
RUBYLIB=${BASE_DIR_NAME}/OpenStudio/Ruby
|
15
15
|
RUBY_DLL_PATH=${BASE_DIR_NAME}/OpenStudio/Ruby
|
16
16
|
|
data/scripts/setup-env-unix.sh
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/bin/bash
|
1
|
+
#!/bin/bash
|
2
2
|
# This is a simple setup script that generates an enviroment file that
|
3
3
|
# is used to setup the ruby enviroment to run the urbanopt-cli tool.
|
4
4
|
# To use, just run this script in bash (e.g. ./setup-env.sh)
|
@@ -7,9 +7,9 @@
|
|
7
7
|
|
8
8
|
BASE_DIR_NAME="$(cd "$(dirname "$0")" && pwd)"
|
9
9
|
|
10
|
-
GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.
|
11
|
-
GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.
|
12
|
-
PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.
|
10
|
+
GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.7.0
|
11
|
+
GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.7.0
|
12
|
+
PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.7.0/bin:$PATH
|
13
13
|
RUBYLIB=${BASE_DIR_NAME}/OpenStudio/Ruby
|
14
14
|
RUBY_DLL_PATH=${BASE_DIR_NAME}/OpenStudio/Ruby
|
15
15
|
|
data/scripts/setup-env.bat
CHANGED
@@ -3,9 +3,9 @@ IF "%HOMEPATH%"=="" exit /B
|
|
3
3
|
|
4
4
|
SET BASE_DIR_NAME=%~d0%~p0
|
5
5
|
|
6
|
-
SET GEM_HOME=%BASE_DIR_NAME%\gems\ruby\2.
|
7
|
-
SET GEM_PATH=%BASE_DIR_NAME%\gems\ruby\2.
|
8
|
-
SET PATH=%BASE_DIR_NAME%\ruby\bin;%BASE_DIR_NAME%\gems\ruby\2.
|
6
|
+
SET GEM_HOME=%BASE_DIR_NAME%\gems\ruby\2.7.0
|
7
|
+
SET GEM_PATH=%BASE_DIR_NAME%\gems\ruby\2.7.0
|
8
|
+
SET PATH=%BASE_DIR_NAME%\ruby\bin;%BASE_DIR_NAME%\gems\ruby\2.7.0\bin;%PATH%
|
9
9
|
SET RUBYLIB=%BASE_DIR_NAME%\OpenStudio\Ruby
|
10
10
|
SET RUBY_DLL_PATH=%BASE_DIR_NAME%\OpenStudio\Ruby
|
11
11
|
|
data/scripts/setup-env.ps1
CHANGED
@@ -9,9 +9,9 @@ if (-not (Test-Path $HOME)) { exit }
|
|
9
9
|
|
10
10
|
$BASE_DIR_NAME = $PSScriptRoot
|
11
11
|
|
12
|
-
$env:GEM_HOME = "$BASE_DIR_NAME\gems\ruby\2.
|
13
|
-
$env:GEM_PATH = "$BASE_DIR_NAME\gems\ruby\2.
|
14
|
-
$env:PATH += ";$BASE_DIR_NAME\ruby\bin;$BASE_DIR_NAME\gems\ruby\2.
|
12
|
+
$env:GEM_HOME = "$BASE_DIR_NAME\gems\ruby\2.7.0"
|
13
|
+
$env:GEM_PATH = "$BASE_DIR_NAME\gems\ruby\2.7.0"
|
14
|
+
$env:PATH += ";$BASE_DIR_NAME\ruby\bin;$BASE_DIR_NAME\gems\ruby\2.7.0\bin"
|
15
15
|
$env:RUBYLIB = "$BASE_DIR_NAME\OpenStudio\Ruby"
|
16
16
|
$env:RUBY_DLL_PATH = "$BASE_DIR_NAME\OpenStudio\Ruby"
|
17
17
|
|
data/uo_cli.gemspec
CHANGED
@@ -34,13 +34,15 @@ Gem::Specification.new do |spec|
|
|
34
34
|
|
35
35
|
# use specific versions of urbanopt and openstudio dependencies while under heavy development
|
36
36
|
spec.add_runtime_dependency 'optimist', '~> 3'
|
37
|
-
spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.
|
38
|
-
spec.add_runtime_dependency 'urbanopt-
|
39
|
-
spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.
|
40
|
-
spec.add_runtime_dependency 'urbanopt-
|
37
|
+
spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.3'
|
38
|
+
spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.4.1'
|
39
|
+
spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.2'
|
40
|
+
spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.1'
|
41
41
|
|
42
42
|
spec.add_development_dependency 'bundler', '>= 2.1.0'
|
43
43
|
spec.add_development_dependency 'rake', '~> 13.0'
|
44
44
|
spec.add_development_dependency 'rspec', '~> 3.7'
|
45
|
-
spec.add_development_dependency 'rubocop', '~> 0
|
45
|
+
spec.add_development_dependency 'rubocop', '~> 1.15.0'
|
46
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.11.3'
|
47
|
+
spec.add_development_dependency 'rubocop-checkstyle_formatter', '~> 0.4.0'
|
46
48
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanopt-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Moore
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: optimist
|
@@ -30,56 +30,56 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.6.
|
33
|
+
version: 0.6.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.6.
|
40
|
+
version: 0.6.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: urbanopt-
|
42
|
+
name: urbanopt-reporting
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.4.1
|
48
48
|
type: :runtime
|
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: 0.
|
54
|
+
version: 0.4.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: urbanopt-scenario
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.6.
|
61
|
+
version: 0.6.2
|
62
62
|
type: :runtime
|
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: 0.6.
|
68
|
+
version: 0.6.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: urbanopt-
|
70
|
+
name: urbanopt-reopt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.6.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.6.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: bundler
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +128,42 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 1.15.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.15.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-performance
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 1.11.3
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: 1.11.3
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-checkstyle_formatter
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.4.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.4.0
|
139
167
|
description: Interfacing with URBANopt
|
140
168
|
email:
|
141
169
|
- nathan.moore@nrel.gov
|