openstudio-analysis 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|