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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4748528e1bec16cb2fd5ceee5a33e8eb971e0413c98afc8749c25713e48b8115
4
- data.tar.gz: 38ddd809cc529d9424d8fd53bb8bf577cee995c1cc2d8fe9cfa6e01893329c31
3
+ metadata.gz: 6e5df564dfc3eb3721c92cdbd5b891f4dbe30f25fdbd1675a524bb83405c693e
4
+ data.tar.gz: 77066270f710fd6e0740b6b4f19a594d9c1678f627e0d44899ef0441631dcfb8
5
5
  SHA512:
6
- metadata.gz: 8b2411b0c69344f0280cddd43027ed866288c0cc9f15a2535677b7e2ef94aded45067927b3a1fcc5eee094aa180c2160fd36139b5a6ceb4d6ece0d31a3c7c590
7
- data.tar.gz: 779a0410116101dede994285d6b15c6639f98fd52f9e3157d6251eca847ebf63976c6d585ab05fe0c3bc467a09d14edbdde16ac81d182f3e0561882b514bf909
6
+ metadata.gz: b90a53b3af3ff7c9834e2f1d0d258055dd87ec086605e2f4192ba3f8e8d265c9eeca1b244315c821c69a4d789dfb02cca25b75208939631e2d5e58af111aca81
7
+ data.tar.gz: 91167c44034b9c50ae4399a08d11d11145271f65dea54da400cf7a6b8ac27cb1c3c3dc77961b243f49e6bd6ce0f1c7f8eb4faab51ab81266b9cec92f243d8a44
@@ -1,8 +1,9 @@
1
1
  name: CLI CI
2
2
 
3
3
  on:
4
- # Run on weeknights, and also whenever a push is made
5
- push:
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
- simulation-type: [basic, GEB, residential, electric]
28
- # python-version: No need to test more than 1 python-version
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/6775#issuecomment-1377299658
36
- run: chown root:root .
37
- - name: Set up Python
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 == 'basic' }}
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
- spec/test_directory**/
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.10.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-20230731-darwin.tar.gz")
93
- set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "6dcaeb17c6567d5e5242c470b0ff2eb0")
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
- set(URBANOPT_CLI_GEMS_ZIP_FILENAME "urbanopt-cli-gems-20230731-linux.tar.gz")
96
- set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "ff67d59a162288cb7e5d4632e970e53d")
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-20230801-windows.tar.gz")
101
- set(URBANOPT_CLI_GEMS_ZIP_EXPECTED_MD5 "2293f9f07643d110a84afaa0c1049c03")
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
 
@@ -1,6 +1,6 @@
1
1
  set(OPENSTUDIO_VERSION_MAJOR 3)
2
- set(OPENSTUDIO_VERSION_MINOR 6)
3
- set(OPENSTUDIO_VERSION_PATCH 1)
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://openstudio-builds.s3.amazonaws.com/${OPENSTUDIO_VERSION}"
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 "+bb9481519e")
19
+ set(OPENSTUDIO_VERSION_SHA "+d5269793f1")
20
20
 
21
21
  if(APPLE)
22
- set(OPENSTUDIO_EXPECTED_HASH ba881908f683ec695c209399f261b299)
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
- set(OPENSTUDIO_EXPECTED_HASH 5e67958249d99f96149b4d5576c3d0ef)
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 5e67958249d99f96149b4d5576c3d0ef)
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 802f8cffeac24f011e636baf1e6ffd40)
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
- # gem 'urbanopt-reopt', github: 'URBANopt/urbanopt-reopt-gem', branch: 'develop'
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
- # gem 'urbanopt-reporting', github: 'URBANopt/urbanopt-reporting-gem', branch: 'develop'
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__)
@@ -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
- gem 'openstudio-load-flexibility-measures', '~> 0.8.0'
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.exists?('../urbanopt-geojson-gem')
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.9.1'
97
+ gem 'urbanopt-reporting', '~> 0.10.0'
98
98
  end
@@ -1105,6 +1105,6 @@ module URBANopt
1105
1105
 
1106
1106
  return osw
1107
1107
  end
1108
- end # end class
1108
+ end
1109
1109
  end
1110
1110
  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 = "xml_building"
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.collect { |k, v| [k.to_s, v] }.to_h
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 # end units.each_with_index do |unit, unit_num|
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.rb'
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.has_key?(arg.name.to_sym)
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 { |x| x.logMessage }
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"},
3
- { "name": "urbanopt-ditto-reader", "version": "0.6.3"},
4
- { "name": "NREL-disco", "version": "0.5.0"},
5
- { "name": "geojson-modelica-translator", "version": "0.6.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
  }