openstudio-analysis 0.1.10 → 0.1.11
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/lib/openstudio/analysis/server_api.rb +1 -1
- data/lib/openstudio/analysis/translator/excel.rb +55 -7
- data/lib/openstudio/analysis/version.rb +1 -1
- data/lib/openstudio/helpers/string.rb +7 -1
- data/lib/openstudio/templates/analysis.json.erb +1 -0
- data/spec/files/discrete_variables.xlsx +0 -0
- data/spec/files/export/analysis/discrete_seed.json +81 -75
- data/spec/files/export/analysis/discrete_seed.zip +0 -0
- data/spec/files/export/analysis/output_vars.json +654 -0
- data/spec/files/export/analysis/output_vars.zip +0 -0
- data/spec/files/export/analysis/small_seed.json +83 -77
- data/spec/files/export/analysis/small_seed.zip +0 -0
- data/spec/files/no_variables.xlsx +0 -0
- data/spec/files/outputvars.xlsx +0 -0
- data/spec/files/proxy.xlsx +0 -0
- data/spec/files/proxy_user.xlsx +0 -0
- data/spec/files/setup_version_2.xlsx +0 -0
- data/spec/files/small_list.xlsx +0 -0
- data/spec/files/small_list_incomplete.xlsx +0 -0
- data/spec/files/small_list_repeat_vars.xlsx +0 -0
- data/spec/files/small_list_validation_errors.xlsx +0 -0
- data/spec/files/template_input_0.1.10.xlsx +0 -0
- data/spec/openstudio/analysis/translator/excel_spec.rb +86 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.47.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.48.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.49.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.50.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.47.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.48.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.49.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.50.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.47.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.48.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.49.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.50.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.5.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.6.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.7.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.8.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.47.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.48.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.49.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.50.xml +20 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.13.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.14.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.15.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.16.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.19.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.20.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.21.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.22.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.0.xml +35 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.1.xml +35 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.2.xml +37 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.xml +35 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-2.40.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-2.41.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-2.42.xml +21 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.47.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.48.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.49.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.50.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.47.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.48.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.49.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.50.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.47.xml +24 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.48.xml +24 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.49.xml +24 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.50.xml +24 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.47.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.48.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.49.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.50.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.47.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.48.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.49.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.50.xml +7 -0
- metadata +124 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 012a689f9bf233df7fe3b4be501f767957e59e1b
|
|
4
|
+
data.tar.gz: 27f15a3639dff8a0a1fe3c820eabc77b20989ad6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ab15fa60fe2550024153cc657f1d91e4662704a2edd07ee62c485ad0140b29192968f21bcb7d518cc2c7a0a8761a4bf66167899fb3816482e8e2d4d27f0d2b15
|
|
7
|
+
data.tar.gz: 4ca3acacf965c8a19f3450a28ee8e5dfdaab7c358d218cc4d10f345234551d209bb1e1fd93f00e5f3a27271d43742d5a795c432a032f0c85b04c65f3cf8d5c4d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
OpenStudio Analysis Gem Change Log
|
|
2
2
|
==================================
|
|
3
3
|
|
|
4
|
+
Version 0.1.11
|
|
5
|
+
-------------
|
|
6
|
+
|
|
7
|
+
* Add cluster name and openstudio server version
|
|
8
|
+
|
|
9
|
+
* Make the booleans in run_options actual booleans
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Version 0.1.10
|
|
13
|
+
-------------
|
|
14
|
+
|
|
15
|
+
* Add output variables to the spreadsheet as a separate tab
|
|
16
|
+
|
|
4
17
|
Version 0.1.9
|
|
5
18
|
-------------
|
|
6
19
|
|
|
@@ -5,13 +5,16 @@ module OpenStudio
|
|
|
5
5
|
attr_reader :version
|
|
6
6
|
attr_reader :settings
|
|
7
7
|
attr_reader :variables
|
|
8
|
+
attr_reader :outputs
|
|
8
9
|
attr_reader :models
|
|
9
10
|
attr_reader :weather_files
|
|
10
11
|
attr_reader :measure_path
|
|
11
12
|
attr_reader :export_path
|
|
13
|
+
attr_reader :cluster_name
|
|
12
14
|
attr_reader :variables
|
|
13
15
|
attr_reader :algorithm
|
|
14
16
|
attr_reader :problem
|
|
17
|
+
attr_reader :run_setup
|
|
15
18
|
|
|
16
19
|
# remove these once we have classes to construct the JSON file
|
|
17
20
|
attr_reader :name
|
|
@@ -36,6 +39,7 @@ module OpenStudio
|
|
|
36
39
|
@version = '0.0.1'
|
|
37
40
|
@name = nil
|
|
38
41
|
@machine_name = nil
|
|
42
|
+
@cluster_name = nil
|
|
39
43
|
@settings = {}
|
|
40
44
|
@weather_files = []
|
|
41
45
|
@models = []
|
|
@@ -46,6 +50,8 @@ module OpenStudio
|
|
|
46
50
|
@problem = {}
|
|
47
51
|
@algorithm = {}
|
|
48
52
|
@template_json = nil
|
|
53
|
+
@outputs = {}
|
|
54
|
+
@run_setup = {}
|
|
49
55
|
end
|
|
50
56
|
|
|
51
57
|
def process
|
|
@@ -56,6 +62,8 @@ module OpenStudio
|
|
|
56
62
|
|
|
57
63
|
@variables = parse_variables()
|
|
58
64
|
|
|
65
|
+
@outputs = parse_outputs()
|
|
66
|
+
|
|
59
67
|
# call validate to make sure everything that is needed exists (i.e. directories)
|
|
60
68
|
validate_analysis()
|
|
61
69
|
end
|
|
@@ -184,7 +192,7 @@ module OpenStudio
|
|
|
184
192
|
|
|
185
193
|
openstudio_analysis_json['analysis']['problem'].merge!(@problem)
|
|
186
194
|
openstudio_analysis_json['analysis']['problem']['algorithm'].merge!(@algorithm)
|
|
187
|
-
|
|
195
|
+
openstudio_analysis_json['analysis'].merge!(@outputs)
|
|
188
196
|
|
|
189
197
|
@measure_index = -1
|
|
190
198
|
@variables['data'].each do |measure|
|
|
@@ -247,18 +255,18 @@ module OpenStudio
|
|
|
247
255
|
if @variable['distribution']['discrete_weights'] && @variable['distribution']['discrete_weights'] != ''
|
|
248
256
|
weights = eval(@variable['distribution']['discrete_weights'])
|
|
249
257
|
end
|
|
250
|
-
|
|
258
|
+
|
|
251
259
|
values = nil
|
|
252
260
|
if variable['type'].downcase == 'bool'
|
|
253
261
|
values = eval(@variable['distribution']['discrete_values'])
|
|
254
|
-
values.map!{|v| v.downcase == 'true'}
|
|
262
|
+
values.map! { |v| v.downcase == 'true' }
|
|
255
263
|
else
|
|
256
264
|
values = eval(@variable['distribution']['discrete_values'])
|
|
257
265
|
end
|
|
258
266
|
|
|
259
267
|
if weights
|
|
260
268
|
raise "Discrete variable #{@variable['name']} does not have equal length of values and weights" if values.size != weights.size
|
|
261
|
-
@values_and_weights = values.zip(
|
|
269
|
+
@values_and_weights = values.zip(weights).map { |v, w| {value: v, weight: w} }.to_json
|
|
262
270
|
else
|
|
263
271
|
@values_and_weights = values.map { |v| {value: v} }.to_json
|
|
264
272
|
end
|
|
@@ -423,15 +431,22 @@ module OpenStudio
|
|
|
423
431
|
if b_settings
|
|
424
432
|
@version = row[1].chomp if row[0] == "Spreadsheet Version"
|
|
425
433
|
@settings["#{row[0].snake_case}"] = row[1] if row[0]
|
|
426
|
-
|
|
434
|
+
@cluster_name = @settings["cluster_name"].snake_case if @settings["cluster_name"]
|
|
435
|
+
|
|
427
436
|
# type some of the values that we know
|
|
428
437
|
@settings["proxy_port"] = @settings["proxy_port"].to_i if @settings["proxy_port"]
|
|
429
|
-
|
|
430
438
|
elsif b_run_setup
|
|
431
439
|
@name = row[1].chomp if row[0] == "Analysis Name"
|
|
432
440
|
@machine_name = @name.snake_case
|
|
433
441
|
@export_path = File.expand_path(File.join(@root_path, row[1])) if row[0] == "Export Directory"
|
|
434
442
|
@measure_path = File.expand_path(File.join(@root_path, row[1])) if row[0] == "Measure Directory"
|
|
443
|
+
|
|
444
|
+
@run_setup["#{row[0].snake_case}"] = row[1] if row[0]
|
|
445
|
+
|
|
446
|
+
# type cast
|
|
447
|
+
@run_setup["allow_multiple_jobs"] = @run_setup["allow_multiple_jobs"].to_s.to_bool if @run_setup["allow_multiple_jobs"]
|
|
448
|
+
@run_setup["use_server_as_worker"] = @run_setup["use_server_as_worker"].to_s.to_bool if @run_setup["use_server_as_worker"]
|
|
449
|
+
|
|
435
450
|
elsif b_problem_setup
|
|
436
451
|
if row[0]
|
|
437
452
|
v = row[1]
|
|
@@ -457,7 +472,6 @@ module OpenStudio
|
|
|
457
472
|
end
|
|
458
473
|
end
|
|
459
474
|
|
|
460
|
-
|
|
461
475
|
# parse_variables will parse the XLS spreadsheet and save the data into
|
|
462
476
|
# a higher level JSON file. The JSON file is historic and it should really
|
|
463
477
|
# be omitted as an intermediate step
|
|
@@ -563,6 +577,40 @@ module OpenStudio
|
|
|
563
577
|
data
|
|
564
578
|
end
|
|
565
579
|
|
|
580
|
+
def parse_outputs()
|
|
581
|
+
rows = @xls.sheet('Outputs').parse()
|
|
582
|
+
|
|
583
|
+
if !rows
|
|
584
|
+
raise "Could not find the sheet name 'Outputs' in excel file #{@root_path}"
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
data = {}
|
|
588
|
+
data['output_variables'] = []
|
|
589
|
+
|
|
590
|
+
icnt = 0
|
|
591
|
+
variable_index = -1
|
|
592
|
+
@algorithm['objective_functions'] = []
|
|
593
|
+
|
|
594
|
+
rows.each do |row|
|
|
595
|
+
icnt += 1
|
|
596
|
+
# puts "Parsing line: #{icnt}"
|
|
597
|
+
next if icnt <= 3 # skip the first 3 lines of the file
|
|
598
|
+
variable_index += 1
|
|
599
|
+
var = {}
|
|
600
|
+
var['display_name'] = row[0].strip
|
|
601
|
+
var['name'] = row[1]
|
|
602
|
+
var['units'] = row[2]
|
|
603
|
+
var['objective_function'] = row[3].downcase == "true" ? true : false
|
|
604
|
+
if var['objective_function'] == true
|
|
605
|
+
@algorithm['objective_functions'] << var['name']
|
|
606
|
+
end
|
|
607
|
+
var['objective_function_target'] = row[4]
|
|
608
|
+
var['objective_function_index'] = variable_index
|
|
609
|
+
data['output_variables'] << var
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
data
|
|
613
|
+
end
|
|
566
614
|
end
|
|
567
615
|
end
|
|
568
616
|
end
|
|
@@ -8,9 +8,15 @@ class String
|
|
|
8
8
|
tr("-", "_").
|
|
9
9
|
downcase
|
|
10
10
|
end
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
def snake_case
|
|
13
13
|
self.gsub(" ", "_").downcase
|
|
14
14
|
end
|
|
15
|
+
|
|
16
|
+
def to_bool
|
|
17
|
+
return true if self == true || self =~ (/(true|t|yes|y|1)$/i)
|
|
18
|
+
return false if self == false || self =~ (/(false|f|no|n|0)$/i)
|
|
19
|
+
raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
|
|
20
|
+
end
|
|
15
21
|
end
|
|
16
22
|
|
|
Binary file
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
"name": "example_analysis",
|
|
5
5
|
"parameter_space": [
|
|
6
6
|
|
|
7
|
+
],
|
|
8
|
+
"output_variables": [
|
|
9
|
+
|
|
7
10
|
],
|
|
8
11
|
"problem": {
|
|
9
12
|
"algorithm": {
|
|
10
13
|
"sample_method": "all_variables",
|
|
11
14
|
"number_of_samples": 100,
|
|
12
|
-
"number_of_generations": 20
|
|
15
|
+
"number_of_generations": 20,
|
|
16
|
+
"objective_functions": [
|
|
17
|
+
|
|
18
|
+
]
|
|
13
19
|
},
|
|
14
20
|
"name": "Problem",
|
|
15
21
|
"workflow": [
|
|
@@ -20,64 +26,64 @@
|
|
|
20
26
|
"machine_name": "apply_the_measure_to_a_specific_space_type_or_to_the_entire_model.",
|
|
21
27
|
"name": "space_type",
|
|
22
28
|
"value": "*Entire Building*",
|
|
23
|
-
"uuid": "
|
|
24
|
-
"version_uuid": "
|
|
29
|
+
"uuid": "07f74880-6dfc-0131-dbb5-14109fdf0b37",
|
|
30
|
+
"version_uuid": "07f76270-6dfc-0131-dbb6-14109fdf0b37"
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
33
|
"display_name": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
|
|
28
34
|
"machine_name": "increase_in_material_and_installation_cost_for_lighting_per_floor_area_(%).",
|
|
29
35
|
"name": "material_and_installation_cost",
|
|
30
36
|
"value": 0.0,
|
|
31
|
-
"uuid": "
|
|
32
|
-
"version_uuid": "
|
|
37
|
+
"uuid": "07f78610-6dfc-0131-dbb7-14109fdf0b37",
|
|
38
|
+
"version_uuid": "07f7a5e0-6dfc-0131-dbb8-14109fdf0b37"
|
|
33
39
|
},
|
|
34
40
|
{
|
|
35
41
|
"display_name": "Increase in Demolition Costs for Lighting per Floor Area (%).",
|
|
36
42
|
"machine_name": "increase_in_demolition_costs_for_lighting_per_floor_area_(%).",
|
|
37
43
|
"name": "demolition_cost",
|
|
38
44
|
"value": 0.0,
|
|
39
|
-
"uuid": "
|
|
40
|
-
"version_uuid": "
|
|
45
|
+
"uuid": "07f7c1c0-6dfc-0131-dbb9-14109fdf0b37",
|
|
46
|
+
"version_uuid": "07f7dc60-6dfc-0131-dbba-14109fdf0b37"
|
|
41
47
|
},
|
|
42
48
|
{
|
|
43
49
|
"display_name": "Years Until Costs Start (whole years).",
|
|
44
50
|
"machine_name": "years_until_costs_start_(whole_years).",
|
|
45
51
|
"name": "years_until_costs_start",
|
|
46
52
|
"value": 0,
|
|
47
|
-
"uuid": "
|
|
48
|
-
"version_uuid": "
|
|
53
|
+
"uuid": "07f7f970-6dfc-0131-dbbb-14109fdf0b37",
|
|
54
|
+
"version_uuid": "07f81230-6dfc-0131-dbbc-14109fdf0b37"
|
|
49
55
|
},
|
|
50
56
|
{
|
|
51
57
|
"display_name": "Demolition Costs Occur During Initial Construction?",
|
|
52
58
|
"machine_name": "demolition_costs_occur_during_initial_construction?",
|
|
53
59
|
"name": "demo_cost_initial_const",
|
|
54
60
|
"value": true,
|
|
55
|
-
"uuid": "
|
|
56
|
-
"version_uuid": "
|
|
61
|
+
"uuid": "07f82fe0-6dfc-0131-dbbd-14109fdf0b37",
|
|
62
|
+
"version_uuid": "07f84d60-6dfc-0131-dbbe-14109fdf0b37"
|
|
57
63
|
},
|
|
58
64
|
{
|
|
59
65
|
"display_name": "Expected Life (whole years).",
|
|
60
66
|
"machine_name": "expected_life_(whole_years).",
|
|
61
67
|
"name": "expected_life",
|
|
62
68
|
"value": 15,
|
|
63
|
-
"uuid": "
|
|
64
|
-
"version_uuid": "
|
|
69
|
+
"uuid": "07f86e90-6dfc-0131-dbbf-14109fdf0b37",
|
|
70
|
+
"version_uuid": "07f88a30-6dfc-0131-dbc0-14109fdf0b37"
|
|
65
71
|
},
|
|
66
72
|
{
|
|
67
73
|
"display_name": "Increase O & M Costs for Lighting per Floor Area (%).",
|
|
68
74
|
"machine_name": "increase_o_&_m_costs_for_lighting_per_floor_area_(%).",
|
|
69
75
|
"name": "om_cost",
|
|
70
76
|
"value": 0.0,
|
|
71
|
-
"uuid": "
|
|
72
|
-
"version_uuid": "
|
|
77
|
+
"uuid": "07f8aab0-6dfc-0131-dbc1-14109fdf0b37",
|
|
78
|
+
"version_uuid": "07f8c7d0-6dfc-0131-dbc2-14109fdf0b37"
|
|
73
79
|
},
|
|
74
80
|
{
|
|
75
81
|
"display_name": "O & M Frequency (whole years).",
|
|
76
82
|
"machine_name": "o_&_m_frequency_(whole_years).",
|
|
77
83
|
"name": "om_frequency",
|
|
78
84
|
"value": 1,
|
|
79
|
-
"uuid": "
|
|
80
|
-
"version_uuid": "
|
|
85
|
+
"uuid": "07f8f350-6dfc-0131-dbc3-14109fdf0b37",
|
|
86
|
+
"version_uuid": "07f919c0-6dfc-0131-dbc4-14109fdf0b37"
|
|
81
87
|
}
|
|
82
88
|
],
|
|
83
89
|
"bcl_measure_directory": "./measures/reduce_lighting_loads_by_percentage",
|
|
@@ -85,14 +91,14 @@
|
|
|
85
91
|
"bcl_measure_class_name_ADDME": "ReduceLightingLoadsByPercentage",
|
|
86
92
|
"measure_definition_class_name_CHANGE_TO_ME": "ReduceLightingLoadsByPercentage",
|
|
87
93
|
"measure_definition_class_name": "ReduceLightingLoadsByPercentage",
|
|
88
|
-
"bcl_measure_uuid": "
|
|
89
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
90
|
-
"bcl_measure_version_uuid": "
|
|
91
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
94
|
+
"bcl_measure_uuid": "07f63180-6dfc-0131-dbaf-14109fdf0b37",
|
|
95
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07f6b340-6dfc-0131-dbb0-14109fdf0b37",
|
|
96
|
+
"bcl_measure_version_uuid": "07f6d0f0-6dfc-0131-dbb1-14109fdf0b37",
|
|
97
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07f6efe0-6dfc-0131-dbb2-14109fdf0b37",
|
|
92
98
|
"measure_type": "RubyMeasure",
|
|
93
99
|
"name": "reduce_lighting_loads_by_percentage",
|
|
94
100
|
"display_name": "Reduce Lighting Loads by Percentage",
|
|
95
|
-
"uuid": "
|
|
101
|
+
"uuid": "07f70e20-6dfc-0131-dbb3-14109fdf0b37",
|
|
96
102
|
"variables": [
|
|
97
103
|
{
|
|
98
104
|
"argument": {
|
|
@@ -141,7 +147,7 @@
|
|
|
141
147
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
142
148
|
}
|
|
143
149
|
],
|
|
144
|
-
"version_uuid": "
|
|
150
|
+
"version_uuid": "07f72b60-6dfc-0131-dbb4-14109fdf0b37",
|
|
145
151
|
"workflow_index": 0,
|
|
146
152
|
"workflow_step_type": "Measure"
|
|
147
153
|
},
|
|
@@ -152,32 +158,32 @@
|
|
|
152
158
|
"machine_name": "apply_the_measure_to_a_specific_space_type_or_to_the_entire_model.",
|
|
153
159
|
"name": "space_type",
|
|
154
160
|
"value": "*Entire Building*",
|
|
155
|
-
"uuid": "
|
|
156
|
-
"version_uuid": "
|
|
161
|
+
"uuid": "07f9f060-6dfc-0131-dbcb-14109fdf0b37",
|
|
162
|
+
"version_uuid": "07fa0a60-6dfc-0131-dbcc-14109fdf0b37"
|
|
157
163
|
},
|
|
158
164
|
{
|
|
159
165
|
"display_name": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
|
|
160
166
|
"machine_name": "increase_in_material_and_installation_costs_for_building_per_affected_floor_area_($/ft^2).",
|
|
161
167
|
"name": "material_and_installation_cost",
|
|
162
168
|
"value": 0.0,
|
|
163
|
-
"uuid": "
|
|
164
|
-
"version_uuid": "
|
|
169
|
+
"uuid": "07fa3680-6dfc-0131-dbcd-14109fdf0b37",
|
|
170
|
+
"version_uuid": "07fa5ac0-6dfc-0131-dbce-14109fdf0b37"
|
|
165
171
|
},
|
|
166
172
|
{
|
|
167
173
|
"display_name": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
|
|
168
174
|
"machine_name": "o_&_m_costs_for_construction_per_affected_floor_area_($/ft^2).",
|
|
169
175
|
"name": "om_cost",
|
|
170
176
|
"value": 0.0,
|
|
171
|
-
"uuid": "
|
|
172
|
-
"version_uuid": "
|
|
177
|
+
"uuid": "07fa7fc0-6dfc-0131-dbcf-14109fdf0b37",
|
|
178
|
+
"version_uuid": "07fa9b60-6dfc-0131-dbd0-14109fdf0b37"
|
|
173
179
|
},
|
|
174
180
|
{
|
|
175
181
|
"display_name": "O & M Frequency (whole years).",
|
|
176
182
|
"machine_name": "o_&_m_frequency_(whole_years).",
|
|
177
183
|
"name": "om_frequency",
|
|
178
184
|
"value": 1,
|
|
179
|
-
"uuid": "
|
|
180
|
-
"version_uuid": "
|
|
185
|
+
"uuid": "07fac610-6dfc-0131-dbd1-14109fdf0b37",
|
|
186
|
+
"version_uuid": "07fae0c0-6dfc-0131-dbd2-14109fdf0b37"
|
|
181
187
|
}
|
|
182
188
|
],
|
|
183
189
|
"bcl_measure_directory": "./measures/reduce_space_infiltration_by_percentage",
|
|
@@ -185,14 +191,14 @@
|
|
|
185
191
|
"bcl_measure_class_name_ADDME": "ReduceSpaceInfiltrationByPercentage",
|
|
186
192
|
"measure_definition_class_name_CHANGE_TO_ME": "ReduceSpaceInfiltrationByPercentage",
|
|
187
193
|
"measure_definition_class_name": "ReduceSpaceInfiltrationByPercentage",
|
|
188
|
-
"bcl_measure_uuid": "
|
|
189
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
190
|
-
"bcl_measure_version_uuid": "
|
|
191
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
194
|
+
"bcl_measure_uuid": "07f93dc0-6dfc-0131-dbc5-14109fdf0b37",
|
|
195
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07f95870-6dfc-0131-dbc6-14109fdf0b37",
|
|
196
|
+
"bcl_measure_version_uuid": "07f97860-6dfc-0131-dbc7-14109fdf0b37",
|
|
197
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07f99790-6dfc-0131-dbc8-14109fdf0b37",
|
|
192
198
|
"measure_type": "RubyMeasure",
|
|
193
199
|
"name": "reducespaceinfiltrationbypercentage",
|
|
194
200
|
"display_name": "ReduceSpaceInfiltrationByPercentage",
|
|
195
|
-
"uuid": "
|
|
201
|
+
"uuid": "07f9b490-6dfc-0131-dbc9-14109fdf0b37",
|
|
196
202
|
"variables": [
|
|
197
203
|
{
|
|
198
204
|
"argument": {
|
|
@@ -237,7 +243,7 @@
|
|
|
237
243
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
238
244
|
}
|
|
239
245
|
],
|
|
240
|
-
"version_uuid": "
|
|
246
|
+
"version_uuid": "07f9cfe0-6dfc-0131-dbca-14109fdf0b37",
|
|
241
247
|
"workflow_index": 1,
|
|
242
248
|
"workflow_step_type": "Measure"
|
|
243
249
|
},
|
|
@@ -250,14 +256,14 @@
|
|
|
250
256
|
"bcl_measure_class_name_ADDME": "AdjustTheromstatSetpointsByDegrees",
|
|
251
257
|
"measure_definition_class_name_CHANGE_TO_ME": "AdjustTheromstatSetpointsByDegrees",
|
|
252
258
|
"measure_definition_class_name": "AdjustTheromstatSetpointsByDegrees",
|
|
253
|
-
"bcl_measure_uuid": "
|
|
254
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
255
|
-
"bcl_measure_version_uuid": "
|
|
256
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
259
|
+
"bcl_measure_uuid": "07fb0510-6dfc-0131-dbd3-14109fdf0b37",
|
|
260
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07fb22d0-6dfc-0131-dbd4-14109fdf0b37",
|
|
261
|
+
"bcl_measure_version_uuid": "07fb41f0-6dfc-0131-dbd5-14109fdf0b37",
|
|
262
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07fb5c30-6dfc-0131-dbd6-14109fdf0b37",
|
|
257
263
|
"measure_type": "RubyMeasure",
|
|
258
264
|
"name": "adjust_thermostat_setpoints_by_degrees",
|
|
259
265
|
"display_name": "Adjust Thermostat Setpoints by Degrees",
|
|
260
|
-
"uuid": "
|
|
266
|
+
"uuid": "07fb78c0-6dfc-0131-dbd7-14109fdf0b37",
|
|
261
267
|
"variables": [
|
|
262
268
|
{
|
|
263
269
|
"argument": {
|
|
@@ -382,7 +388,7 @@
|
|
|
382
388
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
383
389
|
}
|
|
384
390
|
],
|
|
385
|
-
"version_uuid": "
|
|
391
|
+
"version_uuid": "07fb9640-6dfc-0131-dbd8-14109fdf0b37",
|
|
386
392
|
"workflow_index": 2,
|
|
387
393
|
"workflow_step_type": "Measure"
|
|
388
394
|
},
|
|
@@ -393,24 +399,24 @@
|
|
|
393
399
|
"machine_name": "increase_in_material_and_installation_costs_for_construction_per_area_used_($/ft^2).",
|
|
394
400
|
"name": "material_cost_increase_ip",
|
|
395
401
|
"value": 0.0,
|
|
396
|
-
"uuid": "
|
|
397
|
-
"version_uuid": "
|
|
402
|
+
"uuid": "07fcc430-6dfc-0131-dbdf-14109fdf0b37",
|
|
403
|
+
"version_uuid": "07fce100-6dfc-0131-dbe0-14109fdf0b37"
|
|
398
404
|
},
|
|
399
405
|
{
|
|
400
406
|
"display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
|
|
401
407
|
"machine_name": "one_time_retrofit_cost_to_add_insulation_to_construction_($/ft^2).",
|
|
402
408
|
"name": "one_time_retrofit_cost_ip",
|
|
403
409
|
"value": 0.0,
|
|
404
|
-
"uuid": "
|
|
405
|
-
"version_uuid": "
|
|
410
|
+
"uuid": "07fcff60-6dfc-0131-dbe1-14109fdf0b37",
|
|
411
|
+
"version_uuid": "07fd1930-6dfc-0131-dbe2-14109fdf0b37"
|
|
406
412
|
},
|
|
407
413
|
{
|
|
408
414
|
"display_name": "Year to Incur One Time Retrofit Cost (whole years).",
|
|
409
415
|
"machine_name": "year_to_incur_one_time_retrofit_cost_(whole_years).",
|
|
410
416
|
"name": "years_until_retrofit_cost",
|
|
411
417
|
"value": 0,
|
|
412
|
-
"uuid": "
|
|
413
|
-
"version_uuid": "
|
|
418
|
+
"uuid": "07fd3620-6dfc-0131-dbe3-14109fdf0b37",
|
|
419
|
+
"version_uuid": "07fd5780-6dfc-0131-dbe4-14109fdf0b37"
|
|
414
420
|
}
|
|
415
421
|
],
|
|
416
422
|
"bcl_measure_directory": "./measures/increase_insulation_r_value_for_exterior_walls",
|
|
@@ -418,14 +424,14 @@
|
|
|
418
424
|
"bcl_measure_class_name_ADDME": "IncreaseInsulationRValueForExteriorWalls",
|
|
419
425
|
"measure_definition_class_name_CHANGE_TO_ME": "IncreaseInsulationRValueForExteriorWalls",
|
|
420
426
|
"measure_definition_class_name": "IncreaseInsulationRValueForExteriorWalls",
|
|
421
|
-
"bcl_measure_uuid": "
|
|
422
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
423
|
-
"bcl_measure_version_uuid": "
|
|
424
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
427
|
+
"bcl_measure_uuid": "07fbd890-6dfc-0131-dbd9-14109fdf0b37",
|
|
428
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07fbffb0-6dfc-0131-dbda-14109fdf0b37",
|
|
429
|
+
"bcl_measure_version_uuid": "07fc1f50-6dfc-0131-dbdb-14109fdf0b37",
|
|
430
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07fc3fa0-6dfc-0131-dbdc-14109fdf0b37",
|
|
425
431
|
"measure_type": "RubyMeasure",
|
|
426
432
|
"name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
|
|
427
433
|
"display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
|
|
428
|
-
"uuid": "
|
|
434
|
+
"uuid": "07fc6ad0-6dfc-0131-dbdd-14109fdf0b37",
|
|
429
435
|
"variables": [
|
|
430
436
|
{
|
|
431
437
|
"argument": {
|
|
@@ -470,7 +476,7 @@
|
|
|
470
476
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
471
477
|
}
|
|
472
478
|
],
|
|
473
|
-
"version_uuid": "
|
|
479
|
+
"version_uuid": "07fc9490-6dfc-0131-dbde-14109fdf0b37",
|
|
474
480
|
"workflow_index": 3,
|
|
475
481
|
"workflow_step_type": "Measure"
|
|
476
482
|
},
|
|
@@ -481,24 +487,24 @@
|
|
|
481
487
|
"machine_name": "increase_in_material_and_installation_costs_for_construction_per_area_used_($/ft^2).",
|
|
482
488
|
"name": "material_cost_increase_ip",
|
|
483
489
|
"value": 0.0,
|
|
484
|
-
"uuid": "
|
|
485
|
-
"version_uuid": "
|
|
490
|
+
"uuid": "07fe2780-6dfc-0131-dbeb-14109fdf0b37",
|
|
491
|
+
"version_uuid": "07fe43d0-6dfc-0131-dbec-14109fdf0b37"
|
|
486
492
|
},
|
|
487
493
|
{
|
|
488
494
|
"display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
|
|
489
495
|
"machine_name": "one_time_retrofit_cost_to_add_insulation_to_construction_($/ft^2).",
|
|
490
496
|
"name": "one_time_retrofit_cost_ip",
|
|
491
497
|
"value": 0.0,
|
|
492
|
-
"uuid": "
|
|
493
|
-
"version_uuid": "
|
|
498
|
+
"uuid": "07fe63d0-6dfc-0131-dbed-14109fdf0b37",
|
|
499
|
+
"version_uuid": "07fe82f0-6dfc-0131-dbee-14109fdf0b37"
|
|
494
500
|
},
|
|
495
501
|
{
|
|
496
502
|
"display_name": "Year to Incur One Time Retrofit Cost (whole years).",
|
|
497
503
|
"machine_name": "year_to_incur_one_time_retrofit_cost_(whole_years).",
|
|
498
504
|
"name": "years_until_retrofit_cost",
|
|
499
505
|
"value": 0,
|
|
500
|
-
"uuid": "
|
|
501
|
-
"version_uuid": "
|
|
506
|
+
"uuid": "07fe9e30-6dfc-0131-dbef-14109fdf0b37",
|
|
507
|
+
"version_uuid": "07fec500-6dfc-0131-dbf0-14109fdf0b37"
|
|
502
508
|
}
|
|
503
509
|
],
|
|
504
510
|
"bcl_measure_directory": "./measures/increase_insulation_r_value_for_roofs",
|
|
@@ -506,14 +512,14 @@
|
|
|
506
512
|
"bcl_measure_class_name_ADDME": "IncreaseInsulationRValueForRoofs",
|
|
507
513
|
"measure_definition_class_name_CHANGE_TO_ME": "IncreaseInsulationRValueForRoofs",
|
|
508
514
|
"measure_definition_class_name": "IncreaseInsulationRValueForRoofs",
|
|
509
|
-
"bcl_measure_uuid": "
|
|
510
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
511
|
-
"bcl_measure_version_uuid": "
|
|
512
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
515
|
+
"bcl_measure_uuid": "07fd7a70-6dfc-0131-dbe5-14109fdf0b37",
|
|
516
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07fd9640-6dfc-0131-dbe6-14109fdf0b37",
|
|
517
|
+
"bcl_measure_version_uuid": "07fdb250-6dfc-0131-dbe7-14109fdf0b37",
|
|
518
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07fdcf30-6dfc-0131-dbe8-14109fdf0b37",
|
|
513
519
|
"measure_type": "RubyMeasure",
|
|
514
520
|
"name": "set_r_value_of_insulation_for_roofs_to_a_specific_value",
|
|
515
521
|
"display_name": "Set R-value of Insulation for Roofs to a Specific Value",
|
|
516
|
-
"uuid": "
|
|
522
|
+
"uuid": "07fde9d0-6dfc-0131-dbe9-14109fdf0b37",
|
|
517
523
|
"variables": [
|
|
518
524
|
{
|
|
519
525
|
"argument": {
|
|
@@ -558,7 +564,7 @@
|
|
|
558
564
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
559
565
|
}
|
|
560
566
|
],
|
|
561
|
-
"version_uuid": "
|
|
567
|
+
"version_uuid": "07fe02b0-6dfc-0131-dbea-14109fdf0b37",
|
|
562
568
|
"workflow_index": 4,
|
|
563
569
|
"workflow_step_type": "Measure"
|
|
564
570
|
},
|
|
@@ -569,8 +575,8 @@
|
|
|
569
575
|
"machine_name": "apply_the_measure_to_a_specific_space_type_or_to_the_entire_model.",
|
|
570
576
|
"name": "space_type",
|
|
571
577
|
"value": "*Entire Building*",
|
|
572
|
-
"uuid": "
|
|
573
|
-
"version_uuid": "
|
|
578
|
+
"uuid": "07ffa070-6dfc-0131-dbf7-14109fdf0b37",
|
|
579
|
+
"version_uuid": "07ffb990-6dfc-0131-dbf8-14109fdf0b37"
|
|
574
580
|
}
|
|
575
581
|
],
|
|
576
582
|
"bcl_measure_directory": "./measures/reduce_ventilation_by_percentage",
|
|
@@ -578,14 +584,14 @@
|
|
|
578
584
|
"bcl_measure_class_name_ADDME": "ReduceVentilationByPercentage",
|
|
579
585
|
"measure_definition_class_name_CHANGE_TO_ME": "ReduceVentilationByPercentage",
|
|
580
586
|
"measure_definition_class_name": "ReduceVentilationByPercentage",
|
|
581
|
-
"bcl_measure_uuid": "
|
|
582
|
-
"measure_definition_uuid_CHANGE_TO_ME": "
|
|
583
|
-
"bcl_measure_version_uuid": "
|
|
584
|
-
"measure_definition_version_uuid_CHANGE_TO_ME": "
|
|
587
|
+
"bcl_measure_uuid": "07fee940-6dfc-0131-dbf1-14109fdf0b37",
|
|
588
|
+
"measure_definition_uuid_CHANGE_TO_ME": "07ff06c0-6dfc-0131-dbf2-14109fdf0b37",
|
|
589
|
+
"bcl_measure_version_uuid": "07ff2550-6dfc-0131-dbf3-14109fdf0b37",
|
|
590
|
+
"measure_definition_version_uuid_CHANGE_TO_ME": "07ff4280-6dfc-0131-dbf4-14109fdf0b37",
|
|
585
591
|
"measure_type": "RubyMeasure",
|
|
586
592
|
"name": "reduce_ventilation_by_percentage",
|
|
587
593
|
"display_name": "Reduce Ventilation By Percentage",
|
|
588
|
-
"uuid": "
|
|
594
|
+
"uuid": "07ff5ec0-6dfc-0131-dbf5-14109fdf0b37",
|
|
589
595
|
"variables": [
|
|
590
596
|
{
|
|
591
597
|
"argument": {
|
|
@@ -633,7 +639,7 @@
|
|
|
633
639
|
"version_uuid": "26e7d8de-83e3-4a53-938b-45d3e0f29953"
|
|
634
640
|
}
|
|
635
641
|
],
|
|
636
|
-
"version_uuid": "
|
|
642
|
+
"version_uuid": "07ff7f20-6dfc-0131-dbf6-14109fdf0b37",
|
|
637
643
|
"workflow_index": 5,
|
|
638
644
|
"workflow_step_type": "Measure"
|
|
639
645
|
}
|
|
Binary file
|