urbanopt-cli 0.6.0 → 0.6.1
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 +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
|