From ac34cbc0f61b1b97fd34658327f53f4012a8a234 Mon Sep 17 00:00:00 2001 From: Tim Coleman Date: Tue, 11 May 2021 14:34:10 -0500 Subject: [PATCH 01/19] updates to use OpenStudio 3.2.0, updates for osx --- CMakeLists.txt | 10 +++++----- FindOpenStudioSDK.cmake | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29ebd9bc..c5eb26af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.10.2) cmake_policy(SET CMP0048 NEW) -project(UrbanOptCLI VERSION 0.5.1) +project(UrbanOptCLI VERSION 0.6.0) include(FindOpenStudioSDK.cmake) @@ -89,8 +89,8 @@ option(BUILD_PACKAGE "Build package" OFF) # need to update the MD5sum for each platform and url below if(UNIX) if(APPLE) - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210315-darwin.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "5df336da22c90534c8940c41e6489b37") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210511-darwin.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "30375e80df3e7e1ef1866aac2a834119") else() set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210315-linux.tar.gz") set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "6e92becdac2d67046340daf16faea8b2") @@ -125,8 +125,8 @@ set(RUBY_DIR "${PROJECT_BINARY_DIR}/ruby") if(UNIX) if(APPLE) - set(RUBY_ZIP_FILENAME "ruby-2.5.5-darwin.tar.gz") - set(RUBY_ZIP_EXPECTED_MD5 "27e3e91bd19f4edf1c04d31c7345ce5d") + set(RUBY_ZIP_FILENAME "ruby-2.7.2-darwin.tar.gz") + set(RUBY_ZIP_EXPECTED_MD5 "537d784d0154294e073688d713e167c4") else() set(RUBY_ZIP_FILENAME "ruby-2.5.5-linux.tar.gz") set(RUBY_ZIP_EXPECTED_MD5 "5c9ab1aeb3366e6e579592cbb72ddbef") diff --git a/FindOpenStudioSDK.cmake b/FindOpenStudioSDK.cmake index c358aa44..d68c29e7 100644 --- a/FindOpenStudioSDK.cmake +++ b/FindOpenStudioSDK.cmake @@ -1,5 +1,5 @@ set(OPENSTUDIO_VERSION_MAJOR 3) -set(OPENSTUDIO_VERSION_MINOR 1) +set(OPENSTUDIO_VERSION_MINOR 2) set(OPENSTUDIO_VERSION_PATCH 0) set(OPENSTUDIO_VERSION "${OPENSTUDIO_VERSION_MAJOR}.${OPENSTUDIO_VERSION_MINOR}.${OPENSTUDIO_VERSION_PATCH}") @@ -16,18 +16,18 @@ else() set(OPENSTUDIO_BASELINK "https://openstudio-builds.s3.amazonaws.com/${OPENSTUDIO_VERSION}" CACHE STRING "Base link to where the openstudio archives are hosted" FORCE) - set(OPENSTUDIO_VERSION_SHA "+e165090621") + set(OPENSTUDIO_VERSION_SHA "+e11f0a08b2") if(APPLE) - set(OPENSTUDIO_EXPECTED_HASH 20d74394f0889261ee1c382383461b0b) + set(OPENSTUDIO_EXPECTED_HASH 883c0f83ab7a09875e851726e32ba591) set(OPENSTUDIO_PLATFORM "Darwin") set(OPENSTUDIO_EXT "tar.gz") elseif(UNIX) - set(OPENSTUDIO_EXPECTED_HASH 866cdac61ca955ce6d13ecf0fa5230a2) + set(OPENSTUDIO_EXPECTED_HASH 623d3e10c17f1dc99bb869deb8a2550e) set(OPENSTUDIO_PLATFORM "Linux") set(OPENSTUDIO_EXT "tar.gz") elseif(WIN32) - set(OPENSTUDIO_EXPECTED_HASH aa04ed795c6d2b558df6175fad042f1f) + set(OPENSTUDIO_EXPECTED_HASH 740d5d8ba67ca914412e12c618d2cc28) set(OPENSTUDIO_PLATFORM "Windows") set(OPENSTUDIO_EXT "tar.gz") endif() From 7ad049338d6cbfc32fe7bba7baee1cf7cbb67f68 Mon Sep 17 00:00:00 2001 From: Tim Coleman Date: Tue, 11 May 2021 14:48:18 -0500 Subject: [PATCH 02/19] Update the gem paths for ruby 2.7 --- scripts/setup-env-gitbash.sh | 8 ++++---- scripts/setup-env-unix.sh | 8 ++++---- scripts/setup-env.bat | 6 +++--- scripts/setup-env.ps1 | 6 +++--- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/setup-env-gitbash.sh b/scripts/setup-env-gitbash.sh index f9947c0b..61bd2395 100755 --- a/scripts/setup-env-gitbash.sh +++ b/scripts/setup-env-gitbash.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # This is a simple setup script that generates an enviroment file that # is used to setup the ruby enviroment to run the urbanopt-cli tool. # To use, just run this script in bash (e.g. ./setup-env.sh) @@ -8,9 +8,9 @@ BASE_DIR_NAME=$(dirname `which $0`) -GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.5.0 -GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.5.0 -PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.5.0/bin:$PATH +GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.7.0 +GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.7.0 +PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.7.0/bin:$PATH RUBYLIB=${BASE_DIR_NAME}/OpenStudio/Ruby RUBY_DLL_PATH=${BASE_DIR_NAME}/OpenStudio/Ruby diff --git a/scripts/setup-env-unix.sh b/scripts/setup-env-unix.sh index 648e3ce3..72653ba8 100755 --- a/scripts/setup-env-unix.sh +++ b/scripts/setup-env-unix.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # This is a simple setup script that generates an enviroment file that # is used to setup the ruby enviroment to run the urbanopt-cli tool. # To use, just run this script in bash (e.g. ./setup-env.sh) @@ -7,9 +7,9 @@ BASE_DIR_NAME="$(cd "$(dirname "$0")" && pwd)" -GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.5.0 -GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.5.0 -PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.5.0/bin:$PATH +GEM_HOME=${BASE_DIR_NAME}/gems/ruby/2.7.0 +GEM_PATH=${BASE_DIR_NAME}/gems/ruby/2.7.0 +PATH=${BASE_DIR_NAME}/ruby/bin:${BASE_DIR_NAME}/gems/ruby/2.7.0/bin:$PATH RUBYLIB=${BASE_DIR_NAME}/OpenStudio/Ruby RUBY_DLL_PATH=${BASE_DIR_NAME}/OpenStudio/Ruby diff --git a/scripts/setup-env.bat b/scripts/setup-env.bat index 3c26df4c..f5a0a9f3 100644 --- a/scripts/setup-env.bat +++ b/scripts/setup-env.bat @@ -3,9 +3,9 @@ IF "%HOMEPATH%"=="" exit /B SET BASE_DIR_NAME=%~d0%~p0 -SET GEM_HOME=%BASE_DIR_NAME%\gems\ruby\2.5.0 -SET GEM_PATH=%BASE_DIR_NAME%\gems\ruby\2.5.0 -SET PATH=%BASE_DIR_NAME%\ruby\bin;%BASE_DIR_NAME%\gems\ruby\2.5.0\bin;%PATH% +SET GEM_HOME=%BASE_DIR_NAME%\gems\ruby\2.7.0 +SET GEM_PATH=%BASE_DIR_NAME%\gems\ruby\2.7.0 +SET PATH=%BASE_DIR_NAME%\ruby\bin;%BASE_DIR_NAME%\gems\ruby\2.7.0\bin;%PATH% SET RUBYLIB=%BASE_DIR_NAME%\OpenStudio\Ruby SET RUBY_DLL_PATH=%BASE_DIR_NAME%\OpenStudio\Ruby diff --git a/scripts/setup-env.ps1 b/scripts/setup-env.ps1 index aa21ed80..c824b757 100644 --- a/scripts/setup-env.ps1 +++ b/scripts/setup-env.ps1 @@ -9,9 +9,9 @@ if (-not (Test-Path $HOME)) { exit } $BASE_DIR_NAME = $PSScriptRoot -$env:GEM_HOME = "$BASE_DIR_NAME\gems\ruby\2.5.0" -$env:GEM_PATH = "$BASE_DIR_NAME\gems\ruby\2.5.0" -$env:PATH += ";$BASE_DIR_NAME\ruby\bin;$BASE_DIR_NAME\gems\ruby\2.5.0\bin" +$env:GEM_HOME = "$BASE_DIR_NAME\gems\ruby\2.7.0" +$env:GEM_PATH = "$BASE_DIR_NAME\gems\ruby\2.7.0" +$env:PATH += ";$BASE_DIR_NAME\ruby\bin;$BASE_DIR_NAME\gems\ruby\2.7.0\bin" $env:RUBYLIB = "$BASE_DIR_NAME\OpenStudio\Ruby" $env:RUBY_DLL_PATH = "$BASE_DIR_NAME\OpenStudio\Ruby" From 7c2508e18a36d5a596b539b8a1638880bc673c00 Mon Sep 17 00:00:00 2001 From: Nathan Moore Date: Thu, 13 May 2021 08:50:19 -0600 Subject: [PATCH 03/19] update internal requirement to reporting-gem (#225) --- example_files/mappers/CreateBar.rb | 2 +- example_files/mappers/Floorspace.rb | 2 +- example_files/mappers/HighEfficiencyCreateBar.rb | 2 +- example_files/mappers/HighEfficiencyFloorspace.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/example_files/mappers/CreateBar.rb b/example_files/mappers/CreateBar.rb index 9e7dc863..2288624a 100644 --- a/example_files/mappers/CreateBar.rb +++ b/example_files/mappers/CreateBar.rb @@ -38,7 +38,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/scenario' +require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' require 'openstudio/ee_measures' diff --git a/example_files/mappers/Floorspace.rb b/example_files/mappers/Floorspace.rb index 4f245a08..88bbd785 100644 --- a/example_files/mappers/Floorspace.rb +++ b/example_files/mappers/Floorspace.rb @@ -38,7 +38,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/scenario' +require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' require 'openstudio/ee_measures' diff --git a/example_files/mappers/HighEfficiencyCreateBar.rb b/example_files/mappers/HighEfficiencyCreateBar.rb index 6904dc19..031422c3 100644 --- a/example_files/mappers/HighEfficiencyCreateBar.rb +++ b/example_files/mappers/HighEfficiencyCreateBar.rb @@ -39,7 +39,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/scenario' +require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' diff --git a/example_files/mappers/HighEfficiencyFloorspace.rb b/example_files/mappers/HighEfficiencyFloorspace.rb index 3bf5178c..cb05fe93 100644 --- a/example_files/mappers/HighEfficiencyFloorspace.rb +++ b/example_files/mappers/HighEfficiencyFloorspace.rb @@ -39,7 +39,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/scenario' +require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' From 2af3af2835a6612ee65637bbf3e1fd9c6f626aa4 Mon Sep 17 00:00:00 2001 From: tijcolem Date: Thu, 13 May 2021 20:10:52 +0000 Subject: [PATCH 04/19] updates for windows --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c5eb26af..d83f1cd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,8 +97,8 @@ if(UNIX) endif() elseif(WIN32) if(CMAKE_CL_64) - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210315-windows.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "be2cde77dde2891d8111454bb280bbdc") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210513-windows.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "4499a3889d5d352380fd3ce6cf971d4f") endif() endif() @@ -132,8 +132,8 @@ if(UNIX) set(RUBY_ZIP_EXPECTED_MD5 "5c9ab1aeb3366e6e579592cbb72ddbef") endif() elseif(WIN32) - set(RUBY_ZIP_FILENAME "ruby-2.5.1-win32.tar.gz") - set(RUBY_ZIP_EXPECTED_MD5 "96495c32f5933250663df7561fdd6226") + set(RUBY_ZIP_FILENAME "ruby-2.7.2-win32.tar.gz") + set(RUBY_ZIP_EXPECTED_MD5 "414a24f3ebb074534d2186595683c5b4") endif() set(RUBY_ZIP_LOCAL_PATH "${PROJECT_BINARY_DIR}/${RUBY_ZIP_FILENAME}") From ec4e53f17366b2b30367095ecf02f370538a028d Mon Sep 17 00:00:00 2001 From: Nathan Moore Date: Thu, 13 May 2021 15:15:39 -0600 Subject: [PATCH 05/19] Reopt resilience (#226) * add resilience flag to reopt post-processor * add test for resilience in reopt post-processor * clean up formatting of process help text * more better way of using the reopt_resilience flag * update reopt resilience test to see if a json file key has actual values --- lib/uo_cli.rb | 9 ++++++--- spec/uo_cli_spec.rb | 12 ++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/uo_cli.rb b/lib/uo_cli.rb index b07f8fcb..7193f1c3 100755 --- a/lib/uo_cli.rb +++ b/lib/uo_cli.rb @@ -219,10 +219,13 @@ def opt_process opt :reopt_feature, "\nOptimize for each building individually with REopt\n" \ 'Example: uo process --reopt-feature' + opt :reopt_resilience, "\nInclude resilience reporting in REopt optimization\n" \ + 'Example: uo process --reopt-scenario --reopt-resilience' + opt :with_database, "\nInclude a sql database output of post-processed results\n" \ 'Example: uo process --default --with-database' - opt :reopt_scenario_assumptions_file, "\nPath to the scenario REopt assumptions JSON file you want to use. Use with the --reopt-scenario post-processor. " \ + 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" \ "If not specified, the reopt/base_assumptions.json file will be used", type: String, short: :a opt :scenario, "\nSelect which scenario to optimize", default: 'baseline_scenario.csv', required: true, short: :s @@ -851,12 +854,12 @@ def self.check_reader reopt_post_processor = URBANopt::REopt::REoptPostProcessor.new(scenario_report, scenario_assumptions, scenario_base.reopt_feature_assumptions, DEVELOPER_NREL_KEY) if @opthash.subopts[:reopt_scenario] == true puts "\nPost-processing entire scenario with REopt\n" - scenario_report_scenario = reopt_post_processor.run_scenario_report(scenario_report: scenario_report, save_name: 'scenario_optimization') + scenario_report_scenario = reopt_post_processor.run_scenario_report(scenario_report: scenario_report, save_name: 'scenario_optimization', run_resilience: @opthash.subopts[:reopt_resilience]) results << { "process_type": 'reopt_scenario', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') } puts "\nDone\n" elsif @opthash.subopts[:reopt_feature] == true puts "\nPost-processing each building individually with REopt\n" - scenario_report_features = reopt_post_processor.run_scenario_report_features(scenario_report: scenario_report, save_names_feature_reports: ['feature_optimization'] * scenario_report.feature_reports.length, save_name_scenario_report: 'feature_optimization') + scenario_report_features = reopt_post_processor.run_scenario_report_features(scenario_report: scenario_report, save_names_feature_reports: ['feature_optimization'] * scenario_report.feature_reports.length, save_name_scenario_report: 'feature_optimization', run_resilience: @opthash.subopts[:reopt_resilience]) results << { "process_type": 'reopt_feature', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') } puts "\nDone\n" end diff --git a/spec/uo_cli_spec.rb b/spec/uo_cli_spec.rb index 84145829..1168fb2a 100644 --- a/spec/uo_cli_spec.rb +++ b/spec/uo_cli_spec.rb @@ -38,6 +38,8 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* +require 'json' + RSpec.describe URBANopt::CLI do test_directory = File.join('spec', 'test_directory') test_directory_res = File.join('spec', 'test_directory_res') @@ -346,6 +348,16 @@ def delete_directory_or_file(dir_or_file) expect(File.exist?(File.join(test_directory, 'run', 'reopt_scenario', 'process_status.json'))).to be true end + it 'reopt post-processes a scenario with resilience reporting' do + system("#{call_cli} process --reopt-scenario --reopt-resilience --scenario #{test_reopt_scenario} --feature #{test_feature}") + expect(File.exist?(File.join(test_directory, 'run', 'reopt_scenario', 'scenario_optimization.json'))).to be true + expect(File.exist?(File.join(test_directory, 'run', 'reopt_scenario', 'process_status.json'))).to be true + path_to_resilience_report_file = File.join(test_directory, 'run', 'reopt_scenario', 'reopt', 'scenario_report_reopt_scenario_reopt_run_resilience.json') + resilience_file_hash = JSON.parse(File.read(path_to_resilience_report_file), symbolize_names: true) + sample_key = resilience_file_hash[:outage_sim_results][:probs_of_surviving] + expect(sample_key).not_to be_nil + end + it 'reopt post-processes each feature' do system("#{call_cli} process --reopt-feature --scenario #{test_reopt_scenario} --feature #{test_feature}") expect(File.exist?(File.join(test_directory, 'run', 'reopt_scenario', 'feature_optimization.csv'))).to be true From 5e9085d2983bf104d7b0e2a86af3ca696e020a12 Mon Sep 17 00:00:00 2001 From: Tim Coleman Date: Fri, 14 May 2021 15:23:30 -0600 Subject: [PATCH 06/19] add in updates for gems and mutli linux platform for OpenStudio SDK retrival --- CMakeLists.txt | 16 ++++++++-------- FindOpenStudioSDK.cmake | 9 +++++++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d83f1cd6..18e98bc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,16 +89,16 @@ option(BUILD_PACKAGE "Build package" OFF) # need to update the MD5sum for each platform and url below if(UNIX) if(APPLE) - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210511-darwin.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "30375e80df3e7e1ef1866aac2a834119") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210515-darwin.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "c9e813c773f047b6e2e7db342d9a0d75") else() - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210315-linux.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "6e92becdac2d67046340daf16faea8b2") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210514-linux.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "5dd39375b9b5d3a947ef761f5dd2333a") endif() elseif(WIN32) if(CMAKE_CL_64) - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210513-windows.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "4499a3889d5d352380fd3ce6cf971d4f") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210514-windows.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "2f403a31d7192fdb457e6fcfd0d47156") endif() endif() @@ -128,8 +128,8 @@ if(UNIX) set(RUBY_ZIP_FILENAME "ruby-2.7.2-darwin.tar.gz") set(RUBY_ZIP_EXPECTED_MD5 "537d784d0154294e073688d713e167c4") else() - set(RUBY_ZIP_FILENAME "ruby-2.5.5-linux.tar.gz") - set(RUBY_ZIP_EXPECTED_MD5 "5c9ab1aeb3366e6e579592cbb72ddbef") + set(RUBY_ZIP_FILENAME "ruby-2.7.2-linux.tar.gz") + set(RUBY_ZIP_EXPECTED_MD5 "853425b0c9878b064937f9e49688c6c6") endif() elseif(WIN32) set(RUBY_ZIP_FILENAME "ruby-2.7.2-win32.tar.gz") diff --git a/FindOpenStudioSDK.cmake b/FindOpenStudioSDK.cmake index d68c29e7..417eae27 100644 --- a/FindOpenStudioSDK.cmake +++ b/FindOpenStudioSDK.cmake @@ -23,8 +23,13 @@ else() set(OPENSTUDIO_PLATFORM "Darwin") set(OPENSTUDIO_EXT "tar.gz") elseif(UNIX) - set(OPENSTUDIO_EXPECTED_HASH 623d3e10c17f1dc99bb869deb8a2550e) - set(OPENSTUDIO_PLATFORM "Linux") + if(LSB_RELEASE_VERSION_SHORT MATCHES "20.04") + set(OPENSTUDIO_EXPECTED_HASH 25c4cfe614676376581657440ba447ae) + set(OPENSTUDIO_PLATFORM "Ubuntu-20.04") + else() # Assumes 18.04 + set(OPENSTUDIO_EXPECTED_HASH 623d3e10c17f1dc99bb869deb8a2550e) + set(OPENSTUDIO_PLATFORM "Ubuntu-18.04") + endif() set(OPENSTUDIO_EXT "tar.gz") elseif(WIN32) set(OPENSTUDIO_EXPECTED_HASH 740d5d8ba67ca914412e12c618d2cc28) From 26552df14dfc4029b5f47bb4f605073d75bcb8f8 Mon Sep 17 00:00:00 2001 From: Katherine Fleming Date: Mon, 14 Jun 2021 08:30:30 -0600 Subject: [PATCH 07/19] add reopt_keep_existing flag (#231) * add reopt_keep_existing flag * clean up code display for developers * point to reopt-gem branch instead of local checkout * restore lines accidentally removed in merge * Gah, remove keep_existing flag from scenario because that is nonsensical * point to reopt-develop now that branch has been merged * use reopt-develop instead of released version Co-authored-by: Nathan Moore --- Gemfile | 4 ++-- lib/uo_cli.rb | 24 +++++++++++++++++++++--- uo_cli.gemspec | 2 +- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 528ab216..76d83940 100644 --- a/Gemfile +++ b/Gemfile @@ -46,9 +46,9 @@ allow_local = ENV['FAVOR_LOCAL_GEMS'] # end # if allow_local && File.exist?('../urbanopt-reopt-gem') -# gem 'urbanopt-reopt', path: '../urbanopt-reopt-gem' + # gem 'urbanopt-reopt', path: '../urbanopt-reopt-gem' # elsif allow_local -# gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop' +gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop' # end # if allow_local && File.exist?('../openstudio-load-flexibility-measures') diff --git a/lib/uo_cli.rb b/lib/uo_cli.rb index 7193f1c3..d2673579 100755 --- a/lib/uo_cli.rb +++ b/lib/uo_cli.rb @@ -222,6 +222,9 @@ def opt_process opt :reopt_resilience, "\nInclude resilience reporting in REopt optimization\n" \ 'Example: uo process --reopt-scenario --reopt-resilience' + opt :reopt_keep_existing, "\nKeep existing reopt feature optimizations instead of rerunning them to avoid rate limit issues.\n" \ + 'Example: uo process --reopt-feature --reopt-keep-existing', short: :k + opt :with_database, "\nInclude a sql database output of post-processed results\n" \ 'Example: uo process --default --with-database' @@ -851,15 +854,30 @@ def self.check_reader scenario_assumptions = File.expand_path(@opthash.subopts[:reopt_scenario_assumptions_file]).to_s end puts "\nRunning the REopt Scenario post-processor with scenario assumptions file: #{scenario_assumptions}\n" - reopt_post_processor = URBANopt::REopt::REoptPostProcessor.new(scenario_report, scenario_assumptions, scenario_base.reopt_feature_assumptions, DEVELOPER_NREL_KEY) + reopt_post_processor = URBANopt::REopt::REoptPostProcessor.new( + scenario_report, + scenario_assumptions, + scenario_base.reopt_feature_assumptions, + DEVELOPER_NREL_KEY + ) if @opthash.subopts[:reopt_scenario] == true puts "\nPost-processing entire scenario with REopt\n" - scenario_report_scenario = reopt_post_processor.run_scenario_report(scenario_report: scenario_report, save_name: 'scenario_optimization', run_resilience: @opthash.subopts[:reopt_resilience]) + scenario_report_scenario = reopt_post_processor.run_scenario_report( + scenario_report: scenario_report, + save_name: 'scenario_optimization', + run_resilience: @opthash.subopts[:reopt_resilience] + ) results << { "process_type": 'reopt_scenario', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') } puts "\nDone\n" elsif @opthash.subopts[:reopt_feature] == true puts "\nPost-processing each building individually with REopt\n" - scenario_report_features = reopt_post_processor.run_scenario_report_features(scenario_report: scenario_report, save_names_feature_reports: ['feature_optimization'] * scenario_report.feature_reports.length, save_name_scenario_report: 'feature_optimization', run_resilience: @opthash.subopts[:reopt_resilience]) + scenario_report_features = reopt_post_processor.run_scenario_report_features( + scenario_report: scenario_report, + save_names_feature_reports: ['feature_optimization'] * scenario_report.feature_reports.length, + save_name_scenario_report: 'feature_optimization', + run_resilience: @opthash.subopts[:reopt_resilience], + keep_existing_output: @opthash.subopts[:reopt_keep_existing] + ) results << { "process_type": 'reopt_feature', "status": 'Complete', "timestamp": Time.now.strftime('%Y-%m-%dT%k:%M:%S.%L') } puts "\nDone\n" end diff --git a/uo_cli.gemspec b/uo_cli.gemspec index d326d657..89659309 100644 --- a/uo_cli.gemspec +++ b/uo_cli.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| # use specific versions of urbanopt and openstudio dependencies while under heavy development spec.add_runtime_dependency 'optimist', '~> 3' spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.1' - spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.0' + # spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.0' spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.0' spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.4.0' From 7bc644ab0ab4795c343d6bc813c6f6c4afa42215 Mon Sep 17 00:00:00 2001 From: kflemin Date: Wed, 16 Jun 2021 16:12:07 -0600 Subject: [PATCH 08/19] update rubocop configs to v4 --- .rubocop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index b42ed4ff..e820b3ef 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,4 +6,4 @@ AllCops: - lib/openstudio/extension/core/**/* inherit_from: - - http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v3.yml \ No newline at end of file + - http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml \ No newline at end of file From 135d8a32101bc24ff9c93ccef6be82d20ce6c719 Mon Sep 17 00:00:00 2001 From: kflemin Date: Wed, 16 Jun 2021 21:30:57 -0600 Subject: [PATCH 09/19] add additional rubocop dependencies --- uo_cli.gemspec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/uo_cli.gemspec b/uo_cli.gemspec index 89659309..24ec16fe 100644 --- a/uo_cli.gemspec +++ b/uo_cli.gemspec @@ -42,5 +42,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '>= 2.1.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.7' - spec.add_development_dependency 'rubocop', '~> 0.54' + spec.add_development_dependency 'rubocop', '~> 1.15.0' + spec.add_development_dependency 'rubocop-performance', '~> 1.11.3' + spec.add_development_dependency 'rubocop-checkstyle_formatter', '~> 0.4.0' end From 98f5ae4d8c0b4353698596afa5314eecbb656bcf Mon Sep 17 00:00:00 2001 From: kflemin Date: Thu, 17 Jun 2021 10:41:09 -0600 Subject: [PATCH 10/19] rubocop-performance --- .rubocop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index e820b3ef..6de7c546 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -4,6 +4,6 @@ AllCops: - init_templates/**/* - lib/measures/**/resources/* - lib/openstudio/extension/core/**/* - +require: rubocop-performance inherit_from: - http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml \ No newline at end of file From a342139febcc2565a31ee570d5047e7e362a53fb Mon Sep 17 00:00:00 2001 From: Katherine Fleming Date: Tue, 22 Jun 2021 09:53:30 -0600 Subject: [PATCH 11/19] restore old res types (#236) --- example_files/mappers/Baseline.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/example_files/mappers/Baseline.rb b/example_files/mappers/Baseline.rb index 19c16bc9..d82d07d9 100644 --- a/example_files/mappers/Baseline.rb +++ b/example_files/mappers/Baseline.rb @@ -278,7 +278,10 @@ def commercial_building_types 'Service', 'Uncovered Parking', 'Covered Parking', - 'Mixed use' + 'Mixed use', + 'Multifamily (2 to 4 units)', + 'Multifamily (5 or more units)', + 'Single-Family' ] end From d3bceafd909d496c2f7e0087aaca50b2092ead6a Mon Sep 17 00:00:00 2001 From: TJC Date: Tue, 22 Jun 2021 11:49:59 -0600 Subject: [PATCH 12/19] fix mac installer by removing homebrew deps (#232) --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 18e98bc1..3fd60aed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,8 +89,8 @@ option(BUILD_PACKAGE "Build package" OFF) # need to update the MD5sum for each platform and url below if(UNIX) if(APPLE) - set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210515-darwin.tar.gz") - set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "c9e813c773f047b6e2e7db342d9a0d75") + set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210608-darwin.tar.gz") + set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "c169a00c4b01e4a7e69321d0def3f72d") else() set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20210514-linux.tar.gz") set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "5dd39375b9b5d3a947ef761f5dd2333a") @@ -126,7 +126,7 @@ set(RUBY_DIR "${PROJECT_BINARY_DIR}/ruby") if(UNIX) if(APPLE) set(RUBY_ZIP_FILENAME "ruby-2.7.2-darwin.tar.gz") - set(RUBY_ZIP_EXPECTED_MD5 "537d784d0154294e073688d713e167c4") + set(RUBY_ZIP_EXPECTED_MD5 "1ee27d6381797a5af7398f8eee8edb07") else() set(RUBY_ZIP_FILENAME "ruby-2.7.2-linux.tar.gz") set(RUBY_ZIP_EXPECTED_MD5 "853425b0c9878b064937f9e49688c6c6") From 07c505252c36710e39583d40cbbfd88d7d5eb7a0 Mon Sep 17 00:00:00 2001 From: kflemin Date: Thu, 24 Jun 2021 12:47:16 -0600 Subject: [PATCH 13/19] fix BuildResidentialModel feature_id argument - JSON parsing issue --- example_files/mappers/Baseline.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/example_files/mappers/Baseline.rb b/example_files/mappers/Baseline.rb index d82d07d9..5f5ba5fe 100644 --- a/example_files/mappers/Baseline.rb +++ b/example_files/mappers/Baseline.rb @@ -523,8 +523,13 @@ def create_osw(scenario, features, feature_names) # SCHEDULES + feature_ids = [] + scenario.feature_file.features.each do |feature| + feature_ids << feature.id + end + args[:schedules_type] = 'stochastic' - args[:feature_id] = feature_id.hex + args[:feature_id] = feature_ids.index(feature_id) args[:schedules_variation] = 'building' # building or unit # HVAC From a88e78170803ed4d57ba458b4826fea442fa8259 Mon Sep 17 00:00:00 2001 From: kflemin Date: Mon, 28 Jun 2021 15:09:31 -0600 Subject: [PATCH 14/19] updating mappers to align with example project repo --- example_files/mappers/Baseline.rb | 41 +++++++++++++++---- example_files/mappers/HighEfficiency.rb | 28 +++++++++---- .../mappers/HighEfficiencyCreateBar.rb | 3 +- .../mappers/HighEfficiencyFloorspace.rb | 5 ++- 4 files changed, 58 insertions(+), 19 deletions(-) diff --git a/example_files/mappers/Baseline.rb b/example_files/mappers/Baseline.rb index d82d07d9..b2e498ce 100644 --- a/example_files/mappers/Baseline.rb +++ b/example_files/mappers/Baseline.rb @@ -1,21 +1,31 @@ -#********************************************************************************* -# URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other +# ********************************************************************************* +# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other # contributors. All rights reserved. -# + # Redistribution and use in source and binary forms, with or without modification, # are permitted provided that the following conditions are met: -# + # Redistributions of source code must retain the above copyright notice, this list # of conditions and the following disclaimer. -# + # Redistributions in binary form must reproduce the above copyright notice, this # list of conditions and the following disclaimer in the documentation and/or other # materials provided with the distribution. -# + # Neither the name of the copyright holder nor the names of its contributors may be # used to endorse or promote products derived from this software without specific # prior written permission. -# + +# Redistribution of this software, without modification, must refer to the software +# by the same designation. Redistribution of a modified version of this software +# (i) may not refer to the modified version by the same designation, or by any +# confusingly similar designation, and (ii) must refer to the underlying software +# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing, +# the term “URBANopt”, or any confusingly similar designation may not be used to +# refer to any modified version of this software or any modified version of the +# underlying software originally provided by Alliance without the prior written +# consent of Alliance. + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. @@ -26,7 +36,7 @@ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED # OF THE POSSIBILITY OF SUCH DAMAGE. -#********************************************************************************* +# ********************************************************************************* require 'urbanopt/reporting' require 'openstudio/common_measures' @@ -414,6 +424,11 @@ def create_osw(scenario, features, feature_names) building_type = feature.building_type + if building_type.nil? + # need building type + raise "Building type is not set" + end + if residential_building_types.include? building_type debug = false @@ -726,10 +741,13 @@ def create_osw(scenario, features, feature_names) OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', '__SKIP__', false) # set_run_period + begin timesteps_per_hour = feature.timesteps_per_hour if timesteps_per_hour OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'timesteps_per_hour', timesteps_per_hour) + else + puts "No timesteps_per_hours set in the feature file...using default" end rescue StandardError end @@ -741,6 +759,8 @@ def create_osw(scenario, features, feature_names) begin_date = begin_date[0, 10] end OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'begin_date', begin_date) + else + puts "no simulation begin_date set in the feature file...using default" end rescue StandardError end @@ -752,6 +772,8 @@ def create_osw(scenario, features, feature_names) end_date = end_date[0, 10] end OpenStudio::Extension.set_measure_argument(osw, 'set_run_period', 'end_date', end_date) + else + puts "no simulation end_date set in the feature file...using default" end rescue StandardError end @@ -783,6 +805,9 @@ def create_osw(scenario, features, feature_names) number_of_stories_below_ground = 0 end template = building_hash.key?(:template) ? building_hash[:template] : nil + if template.nil? + raise "Template is not defined in the feature file" + end footprint_area = building_hash[:footprint_area] mapped_building_type_1 = lookup_building_type(building_type_1, template, footprint_area, number_of_stories) diff --git a/example_files/mappers/HighEfficiency.rb b/example_files/mappers/HighEfficiency.rb index 9503e898..d6c26546 100644 --- a/example_files/mappers/HighEfficiency.rb +++ b/example_files/mappers/HighEfficiency.rb @@ -1,21 +1,31 @@ -#********************************************************************************* -# URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other +# ********************************************************************************* +# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other # contributors. All rights reserved. -# + # Redistribution and use in source and binary forms, with or without modification, # are permitted provided that the following conditions are met: -# + # Redistributions of source code must retain the above copyright notice, this list # of conditions and the following disclaimer. -# + # Redistributions in binary form must reproduce the above copyright notice, this # list of conditions and the following disclaimer in the documentation and/or other # materials provided with the distribution. -# + # Neither the name of the copyright holder nor the names of its contributors may be # used to endorse or promote products derived from this software without specific # prior written permission. -# + +# Redistribution of this software, without modification, must refer to the software +# by the same designation. Redistribution of a modified version of this software +# (i) may not refer to the modified version by the same designation, or by any +# confusingly similar designation, and (ii) must refer to the underlying software +# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing, +# the term “URBANopt”, or any confusingly similar designation may not be used to +# refer to any modified version of this software or any modified version of the +# underlying software originally provided by Alliance without the prior written +# consent of Alliance. + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. @@ -26,11 +36,13 @@ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED # OF THE POSSIBILITY OF SUCH DAMAGE. -#********************************************************************************* +# ********************************************************************************* require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' +require 'openstudio/ee_measures' +require 'openstudio/calibration' require_relative 'Baseline' diff --git a/example_files/mappers/HighEfficiencyCreateBar.rb b/example_files/mappers/HighEfficiencyCreateBar.rb index 031422c3..fe12d06d 100644 --- a/example_files/mappers/HighEfficiencyCreateBar.rb +++ b/example_files/mappers/HighEfficiencyCreateBar.rb @@ -1,4 +1,3 @@ - # ********************************************************************************* # URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other # contributors. All rights reserved. @@ -42,6 +41,8 @@ require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' +require 'openstudio/ee_measures' +require 'openstudio/calibration' require_relative 'CreateBar' diff --git a/example_files/mappers/HighEfficiencyFloorspace.rb b/example_files/mappers/HighEfficiencyFloorspace.rb index cb05fe93..50cf7df4 100644 --- a/example_files/mappers/HighEfficiencyFloorspace.rb +++ b/example_files/mappers/HighEfficiencyFloorspace.rb @@ -1,4 +1,3 @@ - # ********************************************************************************* # URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other # contributors. All rights reserved. @@ -39,9 +38,11 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/reporting' +require 'urbanopt/scenario' require 'openstudio/common_measures' require 'openstudio/model_articulation' +require 'openstudio/ee_measures' +require 'openstudio/calibration' require_relative 'Floorspace' From 3e654fb116a45c32a533a27176598c3a83559050 Mon Sep 17 00:00:00 2001 From: kflemin Date: Mon, 28 Jun 2021 15:57:48 -0600 Subject: [PATCH 15/19] fix bad dependency --- example_files/mappers/HighEfficiencyFloorspace.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example_files/mappers/HighEfficiencyFloorspace.rb b/example_files/mappers/HighEfficiencyFloorspace.rb index 50cf7df4..d9805438 100644 --- a/example_files/mappers/HighEfficiencyFloorspace.rb +++ b/example_files/mappers/HighEfficiencyFloorspace.rb @@ -38,7 +38,7 @@ # OF THE POSSIBILITY OF SUCH DAMAGE. # ********************************************************************************* -require 'urbanopt/scenario' +require 'urbanopt/reporting' require 'openstudio/common_measures' require 'openstudio/model_articulation' require 'openstudio/ee_measures' From d4abb1bbb3fae0160647369ccc8bd562afd64682 Mon Sep 17 00:00:00 2001 From: kflemin Date: Wed, 30 Jun 2021 16:06:36 -0600 Subject: [PATCH 16/19] add load-flexibility dependency to baseline mapper --- example_files/mappers/Baseline.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/example_files/mappers/Baseline.rb b/example_files/mappers/Baseline.rb index 50034dc8..d2f12f8d 100644 --- a/example_files/mappers/Baseline.rb +++ b/example_files/mappers/Baseline.rb @@ -43,6 +43,7 @@ require 'openstudio/model_articulation' require 'openstudio/ee_measures' require 'openstudio/calibration' +require 'openstudio/load_flexibility_measures' require 'json' require 'rexml/document' From a644d69d37ad28260a9eca3edcf41ced7cc2e938 Mon Sep 17 00:00:00 2001 From: kflemin Date: Thu, 1 Jul 2021 13:38:25 -0600 Subject: [PATCH 17/19] prep 0.6.1 --- CHANGELOG.md | 13 +++++++++++++ lib/uo_cli/version.rb | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9edb6430..775823bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## Version 0.6.1 + +Date Range 5/1/21 - 7/1/21 + +- Fixed [#222]( https://github.com/urbanopt/urbanopt-cli/issues/222 ), Add a resilience flag to reopt processing +- Fixed [#224]( https://github.com/urbanopt/urbanopt-cli/issues/224 ), Createbar and Floorspace mappers are out of date +- Fixed [#227]( https://github.com/urbanopt/urbanopt-cli/issues/227 ), Runtime error when running urbanopt cli example project +- Fixed [#233]( https://github.com/urbanopt/urbanopt-cli/issues/233 ), update rubocop configs to v4 +- Fixed [#235]( https://github.com/urbanopt/urbanopt-cli/issues/235 ), Re-add old residential types to the commercial hash +- Fixed [#238]( https://github.com/urbanopt/urbanopt-cli/issues/238 ), Fix BuildingResidentialModel feature_id argument - JSON parse bug +- Fixed [#240]( https://github.com/urbanopt/urbanopt-cli/issues/240 ), Update example mappers from urbanopt-example-geojson-project +- Fixed [#242]( https://github.com/urbanopt/urbanopt-cli/issues/242 ), Add load_flexibility require to baseline mapper + ## Version 0.6.0 Date Range 3/31/21 - 4/30/21 diff --git a/lib/uo_cli/version.rb b/lib/uo_cli/version.rb index 388e687c..b52aa2b4 100644 --- a/lib/uo_cli/version.rb +++ b/lib/uo_cli/version.rb @@ -40,6 +40,6 @@ module URBANopt module CLI - VERSION = '0.6.0'.freeze + VERSION = '0.6.1'.freeze end end From 23bcbadd8254563a1ae1cd434d3a3ac9d1367840 Mon Sep 17 00:00:00 2001 From: kflemin Date: Thu, 1 Jul 2021 16:51:00 -0600 Subject: [PATCH 18/19] update gems --- uo_cli.gemspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/uo_cli.gemspec b/uo_cli.gemspec index 24ec16fe..083de4e7 100644 --- a/uo_cli.gemspec +++ b/uo_cli.gemspec @@ -34,10 +34,10 @@ Gem::Specification.new do |spec| # use specific versions of urbanopt and openstudio dependencies while under heavy development spec.add_runtime_dependency 'optimist', '~> 3' - spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.1' + spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.3' # spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.0' - spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.0' - spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.4.0' + spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.2' + spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.4.1' spec.add_development_dependency 'bundler', '>= 2.1.0' spec.add_development_dependency 'rake', '~> 13.0' From 4712efc86c31dc3ed2bed1d7f2c5835cfab726a2 Mon Sep 17 00:00:00 2001 From: kflemin Date: Thu, 1 Jul 2021 21:17:34 -0600 Subject: [PATCH 19/19] update depends --- uo_cli.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uo_cli.gemspec b/uo_cli.gemspec index 083de4e7..47ebf3bc 100644 --- a/uo_cli.gemspec +++ b/uo_cli.gemspec @@ -35,9 +35,9 @@ Gem::Specification.new do |spec| # use specific versions of urbanopt and openstudio dependencies while under heavy development spec.add_runtime_dependency 'optimist', '~> 3' spec.add_runtime_dependency 'urbanopt-geojson', '~> 0.6.3' - # spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.0' - spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.2' spec.add_runtime_dependency 'urbanopt-reporting', '~> 0.4.1' + spec.add_runtime_dependency 'urbanopt-scenario', '~> 0.6.2' + spec.add_runtime_dependency 'urbanopt-reopt', '~> 0.6.1' spec.add_development_dependency 'bundler', '>= 2.1.0' spec.add_development_dependency 'rake', '~> 13.0'