urbanopt-cli 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/nightly_ci_build.yml +13 -16
- data/CHANGELOG.md +21 -0
- data/CMakeLists.txt +12 -7
- data/FindOpenStudioSDK.cmake +13 -8
- data/Gemfile +3 -3
- data/bin/console +0 -7
- data/example_files/Gemfile +3 -3
- data/example_files/mappers/Baseline.rb +1 -1
- data/example_files/mappers/residential/template/util.rb +0 -2
- data/example_files/mappers/residential/util.rb +0 -1
- data/example_files/measures/BuildResidentialModel/measure.rb +3 -4
- data/example_files/measures/BuildResidentialModel/tests/test_build_residential_model.rb +23 -23
- data/example_files/python_deps/dependencies.json +4 -4
- data/example_files/python_deps/install_python.ps1 +1 -1
- data/example_files/reopt/base_assumptions.json +121 -144
- data/example_files/reopt/multiPV_assumptions.json +160 -180
- data/lib/uo_cli/version.rb +1 -1
- data/lib/uo_cli.rb +97 -44
- data/scripts/setup-env-gitbash.sh +1 -2
- data/scripts/setup-env-unix.sh +1 -1
- data/scripts/setup-env.bat +3 -4
- data/scripts/setup-env.ps1 +6 -7
- data/uo_cli.gemspec +3 -3
- metadata +8 -9
- data/example_files/Gemfile.lock +0 -177
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e5df564dfc3eb3721c92cdbd5b891f4dbe30f25fdbd1675a524bb83405c693e
|
4
|
+
data.tar.gz: 77066270f710fd6e0740b6b4f19a594d9c1678f627e0d44899ef0441631dcfb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b90a53b3af3ff7c9834e2f1d0d258055dd87ec086605e2f4192ba3f8e8d265c9eeca1b244315c821c69a4d789dfb02cca25b75208939631e2d5e58af111aca81
|
7
|
+
data.tar.gz: 91167c44034b9c50ae4399a08d11d11145271f65dea54da400cf7a6b8ac27cb1c3c3dc77961b243f49e6bd6ce0f1c7f8eb4faab51ab81266b9cec92f243d8a44
|
@@ -1,8 +1,9 @@
|
|
1
1
|
name: CLI CI
|
2
2
|
|
3
3
|
on:
|
4
|
-
|
5
|
-
|
4
|
+
workflow_dispatch:
|
5
|
+
# Run on demand and weeknights
|
6
|
+
# push:
|
6
7
|
schedule:
|
7
8
|
# # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
8
9
|
# # 5:24 am UTC (11:24pm MDT the day before) every weekday night in MDT
|
@@ -16,6 +17,7 @@ env:
|
|
16
17
|
# If CI is then successful, we have a breaking change in a dependency somewhere.
|
17
18
|
FAVOR_LOCAL_GEMS: true
|
18
19
|
GEM_DEVELOPER_KEY: ${{ secrets.GEM_DEVELOPER_KEY }}
|
20
|
+
# RUBYLIB: /usr/local/openstudio-3.7.0/Ruby
|
19
21
|
UO_NUM_PARALLEL: 4
|
20
22
|
# GHA machines have 4 cores. Trying to run more concurrently will slow everything down.
|
21
23
|
# https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/
|
@@ -24,29 +26,25 @@ jobs:
|
|
24
26
|
strategy:
|
25
27
|
matrix:
|
26
28
|
# os: container operations in GHA only work on Ubuntu
|
27
|
-
|
28
|
-
|
29
|
+
# https://docs.github.com/en/actions/using-containerized-services/about-service-containers
|
30
|
+
simulation-type: [basic, GHE, GEB, residential, electric]
|
29
31
|
runs-on: ubuntu-latest
|
30
32
|
container:
|
31
33
|
image: docker://nrel/openstudio:3.7.0
|
32
34
|
steps:
|
33
35
|
- uses: actions/checkout@v4
|
34
36
|
- name: Change Owner of Container Working Directory
|
35
|
-
# working dir permissions workaround from https://github.com/actions/runner-images/issues/
|
36
|
-
run:
|
37
|
-
|
38
|
-
if: ${{ matrix.simulation-type == 'electric' }}
|
39
|
-
uses: actions/setup-python@v5
|
40
|
-
with:
|
41
|
-
# Disco needs python ~=3.10
|
42
|
-
python-version: '3.10'
|
37
|
+
# working dir permissions workaround from https://github.com/actions/runner-images/issues/6775s#issuecomment-1377299658
|
38
|
+
run: |
|
39
|
+
chown root:root .
|
43
40
|
- name: Install Ruby dependencies
|
44
41
|
run: |
|
42
|
+
which ruby
|
45
43
|
ruby --version
|
46
44
|
bundle update
|
47
45
|
bundle exec certified-update
|
48
46
|
- name: Install python dependencies
|
49
|
-
if: ${{ matrix.simulation-type == 'electric' || matrix.simulation-type == '
|
47
|
+
if: ${{ matrix.simulation-type == 'electric' || matrix.simulation-type == 'GHE' }}
|
50
48
|
run: bundle exec rspec -e 'Install python dependencies'
|
51
49
|
- name: Test project setup
|
52
50
|
# We only need to run these tests once, not every matrix iteration.
|
@@ -66,6 +64,5 @@ jobs:
|
|
66
64
|
if: failure()
|
67
65
|
with:
|
68
66
|
name: rspec_results
|
69
|
-
path:
|
70
|
-
|
71
|
-
retention-days: 7 # save for 1 week before deleting
|
67
|
+
path: artifact.zip
|
68
|
+
retention-days: 7 # save for 1 week then delete
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Version 0.12.0
|
4
|
+
Date Range: 02/08/2024 - 05/15/2024
|
5
|
+
|
6
|
+
### Exciting New Features 🎉
|
7
|
+
* Update CLI sub-commands to be consistent across commands by @vtnate in https://github.com/urbanopt/urbanopt-cli/pull/455
|
8
|
+
* Update commands, paths, and example files for Reopt v3 by @vtnate in https://github.com/urbanopt/urbanopt-cli/pull/463
|
9
|
+
### Other Changes
|
10
|
+
* Update installer 0.11.1 by @tijcolem in https://github.com/urbanopt/urbanopt-cli/pull/452
|
11
|
+
* adding rescue blocks to catch errors by @kflemin in https://github.com/urbanopt/urbanopt-cli/pull/454
|
12
|
+
* update error handling for installing python and dependencies by @kflemin in https://github.com/urbanopt/urbanopt-cli/pull/458
|
13
|
+
|
14
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-cli/compare/v0.11.1...v0.12.0
|
15
|
+
|
16
|
+
## Version 0.11.1
|
17
|
+
Date Range: 01/26/2024 - 02/08/2024
|
18
|
+
|
19
|
+
* Call GMT-cli correctly by @vtnate in https://github.com/urbanopt/urbanopt-cli/pull/449
|
20
|
+
|
21
|
+
|
22
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-cli/compare/v0.11.0...v0.11.1
|
23
|
+
|
3
24
|
## Version 0.11.0
|
4
25
|
Date Range: 07/20/23 - 01/26/24
|
5
26
|
|
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.11.1)
|
5
5
|
|
6
6
|
include(FindOpenStudioSDK.cmake)
|
7
7
|
|
@@ -89,16 +89,21 @@ 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-20240220-darwin.tar.gz")
|
93
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "1f735d71eab98df9be7b72f9d5d8a940")
|
94
94
|
else()
|
95
|
-
|
96
|
-
|
95
|
+
if (ARCH MATCHES "arm64")
|
96
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20240220-linux-arm.tar.gz")
|
97
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "ceb41bdd108a77bc43c6d260725a399f")
|
98
|
+
else()
|
99
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20240220-linux.tar.gz")
|
100
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "715c40a3bf59d539a18a03ad3932ca67")
|
101
|
+
endif()
|
97
102
|
endif()
|
98
103
|
elseif(WIN32)
|
99
104
|
if(CMAKE_CL_64)
|
100
|
-
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-
|
101
|
-
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "
|
105
|
+
set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20240220-windows.tar.gz")
|
106
|
+
set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "944c39e178651173a03efae1d99713e3")
|
102
107
|
endif()
|
103
108
|
endif()
|
104
109
|
|
data/FindOpenStudioSDK.cmake
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
set(OPENSTUDIO_VERSION_MAJOR 3)
|
2
|
-
set(OPENSTUDIO_VERSION_MINOR
|
3
|
-
set(OPENSTUDIO_VERSION_PATCH
|
2
|
+
set(OPENSTUDIO_VERSION_MINOR 7)
|
3
|
+
set(OPENSTUDIO_VERSION_PATCH 0)
|
4
4
|
set(OPENSTUDIO_VERSION "${OPENSTUDIO_VERSION_MAJOR}.${OPENSTUDIO_VERSION_MINOR}.${OPENSTUDIO_VERSION_PATCH}")
|
5
5
|
|
6
6
|
find_package(openstudio "${OPENSTUDIO_VERSION}" CONFIG)
|
@@ -13,26 +13,31 @@ else()
|
|
13
13
|
# find_package(openstudio "${OPENSTUDIO_VERSION}" CONFIG REQUIRED)
|
14
14
|
|
15
15
|
|
16
|
-
set(OPENSTUDIO_BASELINK "https://
|
16
|
+
set(OPENSTUDIO_BASELINK "https://github.com/NREL/OpenStudio/releases/download/v${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 "+d5269793f1")
|
20
20
|
|
21
21
|
if(APPLE)
|
22
|
-
set(OPENSTUDIO_EXPECTED_HASH
|
22
|
+
set(OPENSTUDIO_EXPECTED_HASH a4585ef0a3523168f8975ecd1cff1d12)
|
23
23
|
set(OPENSTUDIO_PLATFORM "Darwin-x86_64")
|
24
24
|
set(OPENSTUDIO_EXT "tar.gz")
|
25
25
|
elseif(UNIX)
|
26
26
|
if(LSB_RELEASE_VERSION_SHORT MATCHES "20.04")
|
27
|
-
|
27
|
+
if (ARCH MATCHES "arm64")
|
28
|
+
set(OPENSTUDIO_EXPECTED_HASH d98b3d3d133a7c5bc1b9581553d23811)
|
29
|
+
else()
|
30
|
+
set(OPENSTUDIO_EXPECTED_HASH 1e48f36417d3d118d6a10f1a7d61f46e)
|
31
|
+
endif()
|
32
|
+
set(OPENSTUDIO_EXPECTED_HASH 5c006e5e66e5e859206a63626ea2966f)
|
28
33
|
set(OPENSTUDIO_PLATFORM "Ubuntu-20.04-x86_64")
|
29
34
|
else() # Assumes 20.04
|
30
|
-
set(OPENSTUDIO_EXPECTED_HASH
|
35
|
+
set(OPENSTUDIO_EXPECTED_HASH 5c006e5e66e5e859206a63626ea2966f)
|
31
36
|
set(OPENSTUDIO_PLATFORM "Ubuntu-20.04-x86_64")
|
32
37
|
endif()
|
33
38
|
set(OPENSTUDIO_EXT "tar.gz")
|
34
39
|
elseif(WIN32)
|
35
|
-
set(OPENSTUDIO_EXPECTED_HASH
|
40
|
+
set(OPENSTUDIO_EXPECTED_HASH f192860357fdbffb5705942a991b072b)
|
36
41
|
set(OPENSTUDIO_PLATFORM "Windows")
|
37
42
|
set(OPENSTUDIO_EXT "tar.gz")
|
38
43
|
endif()
|
data/Gemfile
CHANGED
@@ -40,16 +40,16 @@ gem 'parser', '3.2.2.2'
|
|
40
40
|
# if allow_local && File.exist?('../urbanopt-reopt-gem')
|
41
41
|
# gem 'urbanopt-reopt', path: '../urbanopt-reopt-gem'
|
42
42
|
# elsif allow_local
|
43
|
-
#
|
43
|
+
# gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop'
|
44
44
|
# end
|
45
45
|
|
46
46
|
# if allow_local && File.exist?('../urbanopt-reporting-gem')
|
47
47
|
# gem 'urbanopt-reporting', path: '../urbanopt-reporting-gem'
|
48
48
|
# elsif allow_local
|
49
|
-
#
|
49
|
+
# gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
|
50
50
|
# end
|
51
51
|
|
52
|
-
#if allow_local && File.exist?('../urbanopt-rnm-us-gem')
|
52
|
+
# if allow_local && File.exist?('../urbanopt-rnm-us-gem')
|
53
53
|
# gem 'urbanopt-rnm-us', path: '../urbanopt-rnm-us-gem'
|
54
54
|
# elsif allow_local
|
55
55
|
# gem 'urbanopt-rnm-us', github: 'URBANopt/urbanopt-rnm-us-gem', branch: 'develop'
|
data/bin/console
CHANGED
@@ -3,12 +3,5 @@
|
|
3
3
|
require 'bundler/setup'
|
4
4
|
require 'uo_cli'
|
5
5
|
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
6
|
require 'irb'
|
14
7
|
IRB.start(__FILE__)
|
data/example_files/Gemfile
CHANGED
@@ -51,7 +51,7 @@ if allow_local && File.exist?('../openstudio-load-flexibility-measures-gem')
|
|
51
51
|
elsif allow_local
|
52
52
|
gem 'openstudio-load-flexibility-measures', github: 'NREL/openstudio-load-flexibility-measures-gem', branch: 'develop'
|
53
53
|
else
|
54
|
-
|
54
|
+
gem 'openstudio-load-flexibility-measures', '~> 0.8.0'
|
55
55
|
end
|
56
56
|
|
57
57
|
if allow_local && File.exist?('../openstudio-ee-gem')
|
@@ -78,7 +78,7 @@ else
|
|
78
78
|
gem 'openstudio-geb', '~> 0.4.0'
|
79
79
|
end
|
80
80
|
|
81
|
-
if allow_local && File.
|
81
|
+
if allow_local && File.exist?('../urbanopt-geojson-gem')
|
82
82
|
gem 'urbanopt-geojson', path: '../../urbanopt-geojson-gem'
|
83
83
|
elsif allow_local
|
84
84
|
gem 'urbanopt-geojson', github: 'URBANopt/urbanopt-geojson-gem', branch: 'develop'
|
@@ -94,5 +94,5 @@ if allow_local && File.exist?('../urbanopt-reporting-gem')
|
|
94
94
|
elsif allow_local
|
95
95
|
gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
|
96
96
|
else
|
97
|
-
gem 'urbanopt-reporting', '~> 0.
|
97
|
+
gem 'urbanopt-reporting', '~> 0.10.0'
|
98
98
|
end
|
@@ -3,7 +3,6 @@
|
|
3
3
|
# See also https://github.com/urbanopt/urbanopt-cli/blob/develop/LICENSE.md
|
4
4
|
# *********************************************************************************
|
5
5
|
|
6
|
-
|
7
6
|
def residential_template(args, template, climate_zone)
|
8
7
|
'''Assign arguments from tsv files.'''
|
9
8
|
|
@@ -44,7 +43,6 @@ def residential_template(args, template, climate_zone)
|
|
44
43
|
{ args[:heating_system_type] => 'iecc/heating_system.tsv',
|
45
44
|
args[:cooling_system_type] => 'iecc/cooling_system.tsv',
|
46
45
|
args[:heat_pump_type] => 'iecc/heat_pump.tsv' }.each do |type, path|
|
47
|
-
|
48
46
|
if type != 'none'
|
49
47
|
filepath = File.join(File.dirname(__FILE__), path)
|
50
48
|
lookup_tsv = get_lookup_tsv(args, filepath)
|
@@ -3,7 +3,6 @@
|
|
3
3
|
# See also https://github.com/urbanopt/urbanopt-cli/blob/develop/LICENSE.md
|
4
4
|
# *********************************************************************************
|
5
5
|
|
6
|
-
|
7
6
|
def residential(scenario, feature, args, building_type)
|
8
7
|
'''Assign arguments from geojson file.'''
|
9
8
|
|
@@ -125,7 +125,7 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
125
125
|
|
126
126
|
standards_number_of_living_units = units.size
|
127
127
|
else
|
128
|
-
xml_building_folder =
|
128
|
+
xml_building_folder = 'xml_building'
|
129
129
|
hpxml_dir = File.join(File.dirname(__FILE__), "../../#{xml_building_folder}/#{args[:hpxml_dir]}")
|
130
130
|
|
131
131
|
if !File.exist?(hpxml_dir)
|
@@ -158,7 +158,6 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
158
158
|
|
159
159
|
hpxml_path = File.expand_path(args[:hpxml_path])
|
160
160
|
units.each_with_index do |unit, unit_num|
|
161
|
-
|
162
161
|
measures = {}
|
163
162
|
if !unit.key?('hpxml_path') # create a single new HPXML file describing all dwelling units of the feature
|
164
163
|
|
@@ -167,7 +166,7 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
167
166
|
full_measure_path = File.join(measures_dir, measure_subdir, 'measure.rb')
|
168
167
|
check_file_exists(full_measure_path, runner)
|
169
168
|
|
170
|
-
measure_args = args.clone.
|
169
|
+
measure_args = args.clone.transform_keys(&:to_s)
|
171
170
|
measure_args['hpxml_path'] = hpxml_path
|
172
171
|
if unit_num > 0
|
173
172
|
measure_args['existing_hpxml_path'] = hpxml_path
|
@@ -208,7 +207,7 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
208
207
|
FileUtils.cp(File.expand_path(unit['hpxml_path']), hpxml_path)
|
209
208
|
|
210
209
|
end
|
211
|
-
end
|
210
|
+
end
|
212
211
|
|
213
212
|
# call BuildResidentialScheduleFile / HPXMLtoOpenStudio after HPXML file is created
|
214
213
|
measures = {}
|
@@ -10,7 +10,7 @@ require_relative '../../../mappers/residential/util'
|
|
10
10
|
require_relative '../../../mappers/residential/template//util'
|
11
11
|
require 'openstudio'
|
12
12
|
require 'openstudio/measure/ShowRunnerOutput'
|
13
|
-
require_relative '../measure
|
13
|
+
require_relative '../measure'
|
14
14
|
require 'csv'
|
15
15
|
|
16
16
|
class BuildResidentialModelTest < Minitest::Test
|
@@ -21,14 +21,14 @@ class BuildResidentialModelTest < Minitest::Test
|
|
21
21
|
FileUtils.mkdir_p(@run_path)
|
22
22
|
|
23
23
|
@args = {}
|
24
|
-
_initialize_arguments
|
24
|
+
_initialize_arguments
|
25
25
|
end
|
26
26
|
|
27
27
|
def teardown
|
28
28
|
FileUtils.rm_rf(@run_path)
|
29
29
|
end
|
30
30
|
|
31
|
-
def _initialize_arguments
|
31
|
+
def _initialize_arguments
|
32
32
|
# BuildResidentialModel arguments
|
33
33
|
@args[:hpxml_path] = @hpxml_path
|
34
34
|
@args[:output_dir] = @run_path
|
@@ -77,7 +77,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
77
77
|
|
78
78
|
@args[:geometry_building_num_units] = 4
|
79
79
|
|
80
|
-
_test_measure
|
80
|
+
_test_measure
|
81
81
|
end
|
82
82
|
|
83
83
|
def test_schedules_type
|
@@ -88,8 +88,8 @@ class BuildResidentialModelTest < Minitest::Test
|
|
88
88
|
schedules_types.each do |schedules_type|
|
89
89
|
@args[:schedules_type] = schedules_type
|
90
90
|
|
91
|
-
_apply_residential
|
92
|
-
_test_measure
|
91
|
+
_apply_residential
|
92
|
+
_test_measure
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
@@ -118,7 +118,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
_apply_residential
|
121
|
+
_apply_residential
|
122
122
|
_test_measure(expected_errors: expected_errors)
|
123
123
|
end
|
124
124
|
end
|
@@ -157,7 +157,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
-
_apply_residential
|
160
|
+
_apply_residential
|
161
161
|
_test_measure(expected_errors: expected_errors)
|
162
162
|
end
|
163
163
|
end
|
@@ -182,8 +182,8 @@ class BuildResidentialModelTest < Minitest::Test
|
|
182
182
|
@args[:geometry_building_num_units] = feature_number_of_residential_units
|
183
183
|
@number_of_bedrooms = feature_number_of_bedrooms
|
184
184
|
|
185
|
-
_apply_residential
|
186
|
-
_test_measure
|
185
|
+
_apply_residential
|
186
|
+
_test_measure
|
187
187
|
end
|
188
188
|
end
|
189
189
|
end
|
@@ -210,8 +210,8 @@ class BuildResidentialModelTest < Minitest::Test
|
|
210
210
|
@args[:geometry_building_num_units] = feature_number_of_residential_units
|
211
211
|
@number_of_occupants = feature_number_of_occupants
|
212
212
|
|
213
|
-
_apply_residential
|
214
|
-
_test_measure
|
213
|
+
_apply_residential
|
214
|
+
_test_measure
|
215
215
|
end
|
216
216
|
end
|
217
217
|
end
|
@@ -244,7 +244,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
244
244
|
expected_errors = ['Conditioned basement/crawlspace foundation type for apartment units is not currently supported.']
|
245
245
|
end
|
246
246
|
|
247
|
-
_apply_residential
|
247
|
+
_apply_residential
|
248
248
|
_test_measure(expected_errors: expected_errors)
|
249
249
|
end
|
250
250
|
end
|
@@ -264,8 +264,8 @@ class BuildResidentialModelTest < Minitest::Test
|
|
264
264
|
@system_type = feature_system_type
|
265
265
|
@heating_system_fuel_type = feature_heating_system_fuel_type
|
266
266
|
|
267
|
-
_apply_residential
|
268
|
-
_test_measure
|
267
|
+
_apply_residential
|
268
|
+
_test_measure
|
269
269
|
end
|
270
270
|
end
|
271
271
|
end
|
@@ -278,17 +278,17 @@ class BuildResidentialModelTest < Minitest::Test
|
|
278
278
|
|
279
279
|
feature_templates.each do |feature_template|
|
280
280
|
@args = {}
|
281
|
-
_initialize_arguments
|
281
|
+
_initialize_arguments
|
282
282
|
|
283
283
|
@template = feature_template
|
284
284
|
|
285
|
-
_apply_residential
|
286
|
-
_apply_residential_template
|
287
|
-
_test_measure
|
285
|
+
_apply_residential
|
286
|
+
_apply_residential_template
|
287
|
+
_test_measure
|
288
288
|
end
|
289
289
|
end
|
290
290
|
|
291
|
-
def _apply_residential
|
291
|
+
def _apply_residential
|
292
292
|
residential_simulation(@args, @timestep, @run_period, @calendar_year, @weather_filename)
|
293
293
|
residential_geometry_unit(@args, @building_type, @floor_area, @number_of_bedrooms, @geometry_unit_orientation, @geometry_unit_aspect_ratio, @occupancy_calculation_type, @number_of_occupants, @maximum_roof_height)
|
294
294
|
residential_geometry_foundation(@args, @foundation_type)
|
@@ -299,7 +299,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
299
299
|
residential_appliances(@args)
|
300
300
|
end
|
301
301
|
|
302
|
-
def _apply_residential_template
|
302
|
+
def _apply_residential_template
|
303
303
|
residential_template(@args, @template, @climate_zone)
|
304
304
|
end
|
305
305
|
|
@@ -317,7 +317,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
317
317
|
# populate argument with specified hash value if specified
|
318
318
|
arguments.each do |arg|
|
319
319
|
temp_arg_var = arg.clone
|
320
|
-
if @args.
|
320
|
+
if @args.key?(arg.name.to_sym)
|
321
321
|
assert(temp_arg_var.setValue(@args[arg.name.to_sym]))
|
322
322
|
end
|
323
323
|
argument_map[arg.name] = temp_arg_var
|
@@ -332,7 +332,7 @@ class BuildResidentialModelTest < Minitest::Test
|
|
332
332
|
# show_output(result) unless result.value.valueName == 'Fail'
|
333
333
|
assert_equal('Fail', result.value.valueName)
|
334
334
|
|
335
|
-
error_msgs = result.errors.map
|
335
|
+
error_msgs = result.errors.map(&:logMessage)
|
336
336
|
expected_errors.each do |expected_error|
|
337
337
|
assert_includes(error_msgs, expected_error)
|
338
338
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[
|
2
|
-
{ "name": "ThermalNetwork", "version": "0.2.
|
3
|
-
{ "name": "urbanopt-ditto-reader", "version": "0.6.
|
4
|
-
{ "name": "NREL-disco", "version": "0.5.
|
5
|
-
{ "name": "geojson-modelica-translator", "version": "0.
|
2
|
+
{ "name": "ThermalNetwork", "version": "0.2.5"},
|
3
|
+
{ "name": "urbanopt-ditto-reader", "version": "0.6.4"},
|
4
|
+
{ "name": "NREL-disco", "version": "0.5.1"},
|
5
|
+
{ "name": "geojson-modelica-translator", "version": "0.7.0"}
|
6
6
|
]
|
@@ -39,7 +39,7 @@ function Get-Python {
|
|
39
39
|
Remove-Item $path
|
40
40
|
}
|
41
41
|
if ($result.ExitCode -ne 0) {
|
42
|
-
$msg = "Failed to run Python installer: ExitCode=${result.ExitCode}"
|
42
|
+
$msg = "Failed to run Python installer: ExitCode=${result.ExitCode}"
|
43
43
|
Write-Error $msg
|
44
44
|
exit $result.ExitCode
|
45
45
|
}
|