openstudio-analysis 0.4.2 → 0.4.3
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/README.md +6 -1
- data/lib/openstudio-analysis.rb +4 -0
- data/lib/openstudio/analysis.rb +16 -0
- data/lib/openstudio/analysis/algorithm_attributes.rb +4 -0
- data/lib/openstudio/analysis/formulation.rb +115 -49
- data/lib/openstudio/analysis/server_api.rb +151 -12
- data/lib/openstudio/analysis/support_files.rb +21 -3
- data/lib/openstudio/analysis/translator/excel.rb +84 -299
- data/lib/openstudio/analysis/version.rb +1 -1
- data/lib/openstudio/analysis/workflow.rb +79 -33
- data/lib/openstudio/analysis/workflow_step.rb +165 -39
- data/lib/openstudio/helpers/string.rb +1 -1
- data/lib/openstudio/weather/epw.rb +193 -0
- data/spec/files/0_1_09_outputvars.xlsx +0 -0
- data/spec/files/0_1_09_setup_version_2.xlsx +0 -0
- data/spec/files/0_3_0_dynamic_uuids.xlsx +0 -0
- data/spec/files/0_3_0_outputs.xlsx +0 -0
- data/spec/files/0_3_3_short_names.xlsx +0 -0
- data/spec/files/0_3_5_multiple_measure_paths.xlsx +0 -0
- data/spec/files/0_3_7_unique_measure_names.xlsx +0 -0
- data/spec/files/0_3_7_worker_init_final.xlsx +0 -0
- data/spec/files/0_4_0_multiple_seeds.xlsx +0 -0
- data/spec/files/0_4_0_pivot_test.xlsx +0 -0
- data/spec/files/analysis/examples/medium_office_workflow.json +1298 -0
- data/spec/files/analysis/medium_office.json +666 -603
- data/spec/files/analysis/medium_office.zip +0 -0
- data/spec/files/analysis/name_goes_here.json +1752 -0
- data/spec/files/{export/analysis/small_seed.zip → analysis/name_goes_here.zip} +0 -0
- data/spec/files/export/analysis/0_1_09_outputvars.json +265 -230
- data/spec/files/export/analysis/0_1_09_outputvars.zip +0 -0
- data/spec/files/export/analysis/{71bebb0a-34b7-404b-b430-0ee7dab962ff.json → 0_3_0_dynamic_uuids.json} +684 -590
- data/spec/files/export/analysis/{67e3ba4a-2660-41b6-a7c5-d4457a4275c4.zip → 0_3_0_dynamic_uuids.zip} +0 -0
- data/spec/files/export/analysis/0_3_0_outputs.json +684 -590
- data/spec/files/export/analysis/0_3_0_outputs.zip +0 -0
- data/spec/files/export/analysis/{5b5264db-a31e-4bab-931b-94101bd23b80.json → 0_3_3_short_names.json} +697 -622
- data/spec/files/export/analysis/{1d8d62bb-f058-4c38-893b-8eaa7ceea254.zip → 0_3_3_short_names.zip} +0 -0
- data/spec/files/export/analysis/{1d8d62bb-f058-4c38-893b-8eaa7ceea254.json → 0_3_5_multiple_measure_paths.json} +717 -602
- data/spec/files/export/analysis/{5b5264db-a31e-4bab-931b-94101bd23b80.zip → 0_3_5_multiple_measure_paths.zip} +0 -0
- data/spec/files/export/analysis/{67e3ba4a-2660-41b6-a7c5-d4457a4275c4.json → 0_3_7_worker_init_final.json} +708 -613
- data/spec/files/export/analysis/{71bebb0a-34b7-404b-b430-0ee7dab962ff.zip → 0_3_7_worker_init_final.zip} +0 -0
- data/spec/files/export/analysis/{0_1_11_discrete_variables.json → example_analysis.json} +279 -214
- data/spec/files/export/analysis/{0_1_11_discrete_variables.zip → example_analysis.zip} +0 -0
- data/spec/files/export/analysis/{discrete_lhs_example.json → lhs_discrete_and_continuous_variables.json} +549 -436
- data/spec/files/export/analysis/{discrete_lhs_example.zip → lhs_discrete_and_continuous_variables.zip} +0 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_f4a73fc4-0514-4033-b54d-d1c58c77c724.json +1298 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_f4a73fc4-0514-4033-b54d-d1c58c77c724.zip +0 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_model_-_1.json +1298 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_model_-_1.zip +0 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_something_else.json +1298 -0
- data/spec/files/export/analysis/lhs_discrete_and_continuous_variables_something_else.zip +0 -0
- data/spec/files/export/analysis/pivot_test.json +1323 -0
- data/spec/files/export/analysis/pivot_test.zip +0 -0
- data/spec/files/export/analysis/{0_2_0_template_simpletest.json → simple_test.json} +201 -178
- data/spec/files/export/analysis/{0_2_0_template_simpletest.zip → simple_test.zip} +0 -0
- data/spec/files/export/analysis/{0_1_12_discrete_dynamic_columns.json → test_model.json} +189 -167
- data/spec/files/export/analysis/{0_1_12_discrete_dynamic_columns.zip → test_model.zip} +0 -0
- data/spec/files/export/weather/weather_out.epw +32 -0
- data/spec/files/export/weather/weather_out_appended.epw +56 -0
- data/spec/files/export/workflow/analysis.json +0 -1
- data/spec/files/measures/reduce_space_infiltration_by_percentage/measure.rb +5 -0
- data/spec/files/measures/reduce_space_infiltration_by_percentage/measure.xml +1 -0
- data/spec/files/measures/rotate_building/measure.rb +5 -0
- data/spec/files/measures/rotate_building/measure.xml +1 -0
- data/spec/files/measures/set_window_to_wall_ratio_by_facade/measure.rb +5 -0
- data/spec/files/measures/set_window_to_wall_ratio_by_facade/measure.xml +1 -0
- data/spec/files/partial_weather.epw +32 -32
- data/spec/openstudio/excel_spec.rb +103 -69
- data/spec/openstudio/formulation_spec.rb +28 -14
- data/spec/openstudio/support_files_spec.rb +2 -2
- data/spec/openstudio/weather_spec.rb +45 -0
- data/spec/openstudio/workflow_spec.rb +2 -1
- data/spec/openstudio/workflow_step_spec.rb +24 -22
- data/spec/reports/SPEC-OpenStudio-Analysis-Formulation.xml +59 -10
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.xml +1 -1
- data/spec/reports/SPEC-OpenStudio-Analysis-SupportFiles.xml +6 -6
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.xml +25 -7
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.xml +18 -5
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.xml +5 -8
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.xml +29 -12
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.xml +5 -5
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.xml +26 -9
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.xml +2 -2
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.xml +3 -7
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.xml +20 -9
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.xml +35 -10
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.xml +47 -5
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.xml +3 -6
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.xml +48 -10
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.xml +48 -6
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-5-and-measure-paths.xml +48 -8
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.0.xml +55 -6
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.xml +51 -8
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-4-0-multiple-seed-models.xml +165 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-4-0-pivot-test.xml +60 -0
- data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.xml +1 -1
- data/spec/reports/SPEC-OpenStudio-Analysis-Workflow.xml +7 -7
- data/spec/reports/SPEC-OpenStudio-Analysis-WorkflowStep.xml +8 -14
- data/spec/reports/SPEC-OpenStudio-Weather-Epw.xml +9 -0
- metadata +97 -50
- data/spec/files/export/analysis/small_seed.json +0 -593
@@ -0,0 +1,193 @@
|
|
1
|
+
######################################################################
|
2
|
+
# Copyright (c) 2008-2013, Alliance for Sustainable Energy.
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
######################################################################
|
19
|
+
|
20
|
+
# TODO: this should its own gem because this file may be useful in various workflows
|
21
|
+
module OpenStudio
|
22
|
+
module Weather
|
23
|
+
class Epw
|
24
|
+
attr_accessor :filename
|
25
|
+
attr_reader :city
|
26
|
+
attr_reader :state
|
27
|
+
attr_reader :country
|
28
|
+
attr_accessor :data_type
|
29
|
+
attr_reader :wmo
|
30
|
+
attr_reader :lat
|
31
|
+
attr_reader :lon
|
32
|
+
attr_reader :gmt
|
33
|
+
attr_reader :elevation
|
34
|
+
attr_accessor :data_period
|
35
|
+
|
36
|
+
# access to all the weather data in array of arrays
|
37
|
+
attr_reader :header_data
|
38
|
+
attr_accessor :weather_data
|
39
|
+
|
40
|
+
def initialize(filename)
|
41
|
+
@filename = filename
|
42
|
+
@city = ''
|
43
|
+
@state = ''
|
44
|
+
@country = ''
|
45
|
+
@data_type = ''
|
46
|
+
@wmo = ''
|
47
|
+
@lat = ''
|
48
|
+
@lon = ''
|
49
|
+
@gmt = ''
|
50
|
+
@elevation = ''
|
51
|
+
@valid = false
|
52
|
+
|
53
|
+
@header_data = []
|
54
|
+
@weather_data = []
|
55
|
+
process_header
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.load(filename)
|
59
|
+
fail "EPW file does not exist: #{filename}" unless File.exist?(filename)
|
60
|
+
f = OpenStudio::Weather::Epw.new(filename)
|
61
|
+
end
|
62
|
+
|
63
|
+
def to_kml(xml_builder_obj, url)
|
64
|
+
xml_builder_obj.Placemark do
|
65
|
+
xml_builder_obj.name @city
|
66
|
+
xml_builder_obj.visibility '0'
|
67
|
+
xml_builder_obj.description do
|
68
|
+
xml_builder_obj.cdata!("<img src=\"kml/ep_header8.png\" width=180 align=right><br><table><tr><td colspan=\"2\">"\
|
69
|
+
"<b>#{@city}</b></href></td></tr>\n" +
|
70
|
+
# "<tr><td></td><td><b>Data Type</td></tr>\n"+
|
71
|
+
"<tr><td></td><td>WMO <b>#{@wmo}</b></td></tr>\n" +
|
72
|
+
# "<tr><td></td><td>E 3� 15' N 36� 43'</td></tr>\n"+
|
73
|
+
# "<tr><td></td><td><b>25</b> m</td></tr>\n"+
|
74
|
+
"<tr><td></td><td>Time Zone GMT <b>#{@gmt}</b> hours</td></tr>\n" +
|
75
|
+
# "<tr><td></td><td>ASHRAE Std 169 Climate Zone <b>4A - Mixed - Humid</b></td></tr>\n"+
|
76
|
+
# "<tr><td></td><td>99% Heating DB=<b>3.1</b>, 1% Cooling DB=<b>33.2</b></td></tr>\n"+
|
77
|
+
# "<tr><td></td><td>HDD18 <b>1019</b>, CDD10 <b>2849</b></td></tr>\n"+
|
78
|
+
"<tr><td></td><td>URL #{url}</td></tr></table>")
|
79
|
+
end
|
80
|
+
xml_builder_obj.styleUrl '#weatherlocation'
|
81
|
+
xml_builder_obj.Point do
|
82
|
+
xml_builder_obj.altitudeMode 'absolute'
|
83
|
+
xml_builder_obj.coordinates "#{@lon},#{@lat},#{elevation}"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def valid?
|
89
|
+
return @valid
|
90
|
+
end
|
91
|
+
|
92
|
+
def save_as(filename)
|
93
|
+
File.delete filename if File.exist? filename
|
94
|
+
FileUtils.mkdir_p(File.dirname(filename)) unless Dir.exist?(File.dirname(filename))
|
95
|
+
|
96
|
+
CSV.open(filename, 'wb') do |csv|
|
97
|
+
@header_data.each { |r| csv << r }
|
98
|
+
csv << [
|
99
|
+
'DATA PERIODS', @data_period[:count], @data_period[:records_per_hour], @data_period[:name],
|
100
|
+
@data_period[:start_day_of_week], @data_period[:start_date], @data_period[:end_date]
|
101
|
+
]
|
102
|
+
@weather_data.each { |r| csv << r }
|
103
|
+
end
|
104
|
+
|
105
|
+
true
|
106
|
+
end
|
107
|
+
|
108
|
+
# Append the weather data (after data periods) to the end of the weather file. This allows
|
109
|
+
# for the creation of multiyear weather files. Note that the date/order is not checked. It assumes
|
110
|
+
# that the data are being added at the end is the more recent data
|
111
|
+
#
|
112
|
+
# @param filename [String] Path to the file that will be appended
|
113
|
+
def append_weather_data(filename)
|
114
|
+
to_append = OpenStudio::Weather::Epw.load(filename)
|
115
|
+
|
116
|
+
prev_length = @weather_data.size
|
117
|
+
@weather_data += to_append.weather_data
|
118
|
+
|
119
|
+
prev_length + to_append.weather_data.size == @weather_data.size
|
120
|
+
end
|
121
|
+
|
122
|
+
def metadata_to_hash
|
123
|
+
{
|
124
|
+
city: @city,
|
125
|
+
state: @state,
|
126
|
+
country: @country,
|
127
|
+
data_type: @data_type,
|
128
|
+
wmo: @wmo,
|
129
|
+
latitude: @lat,
|
130
|
+
longitude: @lon,
|
131
|
+
elevation: @elevation
|
132
|
+
}
|
133
|
+
end
|
134
|
+
|
135
|
+
private
|
136
|
+
|
137
|
+
# initialize
|
138
|
+
def process_header
|
139
|
+
header_section = true
|
140
|
+
row_count = 0
|
141
|
+
|
142
|
+
CSV.foreach(@filename, 'r') do |row|
|
143
|
+
row_count += 1
|
144
|
+
|
145
|
+
if header_section
|
146
|
+
if row[0] =~ /data.periods/i
|
147
|
+
@data_period = {
|
148
|
+
count: row[1].to_i,
|
149
|
+
records_per_hour: row[2].to_i,
|
150
|
+
name: row[3],
|
151
|
+
start_day_of_week: row[4],
|
152
|
+
start_date: row[5],
|
153
|
+
end_date: row[6]
|
154
|
+
}
|
155
|
+
|
156
|
+
header_section = false
|
157
|
+
|
158
|
+
next
|
159
|
+
else
|
160
|
+
@header_data << row
|
161
|
+
end
|
162
|
+
else
|
163
|
+
@weather_data << row
|
164
|
+
end
|
165
|
+
|
166
|
+
# process only header row
|
167
|
+
# LOCATION,Adak Nas,AK,USA,TMY3,704540,51.88,-176.65,-10.0,5.0
|
168
|
+
if row_count == 1
|
169
|
+
@valid = true
|
170
|
+
|
171
|
+
@city = row[1].gsub('/', '-')
|
172
|
+
@state = row[2]
|
173
|
+
@country = row[3]
|
174
|
+
@data_type = row[4]
|
175
|
+
if @data_type =~ /TMY3/i
|
176
|
+
@data_type = 'TMY3'
|
177
|
+
elsif @data_type =~ /TMY2/i
|
178
|
+
@data_type = 'TMY2'
|
179
|
+
elsif @data_type =~ /TMY/i
|
180
|
+
@data_type = 'TMY'
|
181
|
+
end
|
182
|
+
@wmo = row[5]
|
183
|
+
@wmo.nil? ? @wmo = 'wmoundefined' : @wmo = @wmo.to_i
|
184
|
+
@lat = row[6].to_f
|
185
|
+
@lon = row[7].to_f
|
186
|
+
@gmt = row[8].to_f
|
187
|
+
@elevation = row[9].to_f
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,1298 @@
|
|
1
|
+
{
|
2
|
+
"workflow": [
|
3
|
+
{
|
4
|
+
"measure_definition_class_name": "ReduceLightingLoadsByPercentage",
|
5
|
+
"measure_definition_directory": "./measures/ReduceLightingLoadsByPercentage",
|
6
|
+
"measure_definition_display_name": "ReduceLightingLoadsByPercentage",
|
7
|
+
"measure_definition_uuid": "1f94e8e3-7a47-441b-ab9e-981ff411918c",
|
8
|
+
"measure_definition_version_uuid": "cfde8804-bb7b-4070-9c7e-5ac710db9611",
|
9
|
+
"measure_type": "RubyMeasure",
|
10
|
+
"arguments": [
|
11
|
+
{
|
12
|
+
"display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
13
|
+
"display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
14
|
+
"name": "space_type",
|
15
|
+
"value": "*Entire Building*",
|
16
|
+
"value_type": "choice"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"display_name": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
|
20
|
+
"display_name_short": "Increase in Material and Installation Cost for Lighting per Floor Area (%).",
|
21
|
+
"name": "material_and_installation_cost",
|
22
|
+
"value": 0.0,
|
23
|
+
"value_type": "double"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"display_name": "Increase in Demolition Costs for Lighting per Floor Area (%).",
|
27
|
+
"display_name_short": "Increase in Demolition Costs for Lighting per Floor Area (%).",
|
28
|
+
"name": "demolition_cost",
|
29
|
+
"value": 0.0,
|
30
|
+
"value_type": "double"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"display_name": "Years Until Costs Start (whole years).",
|
34
|
+
"display_name_short": "Years Until Costs Start (whole years).",
|
35
|
+
"name": "years_until_costs_start",
|
36
|
+
"value": 0,
|
37
|
+
"value_type": "integer"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"display_name": "Demolition Costs Occur During Initial Construction?",
|
41
|
+
"display_name_short": "Demolition Costs Occur During Initial Construction?",
|
42
|
+
"name": "demo_cost_initial_const",
|
43
|
+
"value": true,
|
44
|
+
"value_type": "bool"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"display_name": "Expected Life (whole years).",
|
48
|
+
"display_name_short": "Expected Life (whole years).",
|
49
|
+
"name": "expected_life",
|
50
|
+
"value": 15,
|
51
|
+
"value_type": "integer"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"display_name": "Increase O & M Costs for Lighting per Floor Area (%).",
|
55
|
+
"display_name_short": "Increase O & M Costs for Lighting per Floor Area (%).",
|
56
|
+
"name": "om_cost",
|
57
|
+
"value": 0.0,
|
58
|
+
"value_type": "double"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"display_name": "O & M Frequency (whole years).",
|
62
|
+
"display_name_short": "O & M Frequency (whole years).",
|
63
|
+
"name": "om_frequency",
|
64
|
+
"value": 1,
|
65
|
+
"value_type": "integer"
|
66
|
+
}
|
67
|
+
],
|
68
|
+
"display_name": "Reduce Lighting Loads by Percentage",
|
69
|
+
"name": "reduce_lighting_loads_by_percentage",
|
70
|
+
"variables": [
|
71
|
+
{
|
72
|
+
"argument": {
|
73
|
+
"display_name": "Lighting Power Reduction",
|
74
|
+
"display_name_short": "Lighting Power Reduction",
|
75
|
+
"name": "lighting_power_reduction_percent",
|
76
|
+
"value_type": "double"
|
77
|
+
},
|
78
|
+
"display_name": "Lighting Power Reduction",
|
79
|
+
"display_name_short": "Lighting Power Reduction",
|
80
|
+
"maximum": 20.0,
|
81
|
+
"minimum": -20.0,
|
82
|
+
"relation_to_output": "",
|
83
|
+
"static_value": 0.0,
|
84
|
+
"uncertainty_description": {
|
85
|
+
"attributes": [
|
86
|
+
{
|
87
|
+
"name": "lower_bounds",
|
88
|
+
"value": -20.0
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"name": "upper_bounds",
|
92
|
+
"value": 20.0
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"name": "stddev",
|
96
|
+
"value": 6.666666666666667
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"name": "delta_x",
|
100
|
+
"value": null
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"name": "modes",
|
104
|
+
"value": -1.0
|
105
|
+
}
|
106
|
+
],
|
107
|
+
"type": "triangle_uncertain"
|
108
|
+
},
|
109
|
+
"units": "",
|
110
|
+
"value_type": "double",
|
111
|
+
"variable": true,
|
112
|
+
"variable_type": "RubyContinuousVariable",
|
113
|
+
"uuid": "a36c2136-ced9-4d04-b18b-79aa1519fc47",
|
114
|
+
"version_uuid": "c1b21219-0c61-4fa2-9672-d98c9eaf8901"
|
115
|
+
}
|
116
|
+
],
|
117
|
+
"workflow_index": 0,
|
118
|
+
"workflow_step_type": "Measure",
|
119
|
+
"uuid": "f5dbe06a-87c8-4617-8b2c-1ff2378dbf09",
|
120
|
+
"version_uuid": "3d7ffd00-26ff-4f49-a27c-f8ff4a53a842"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"measure_definition_class_name": "ReduceElectricEquipmentLoadsByPercentage",
|
124
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
125
|
+
"measure_definition_display_name": "ReduceElectricEquipmentLoadsByPercentage",
|
126
|
+
"measure_definition_uuid": "8ccd35ad-2442-4861-9c8e-57248d1012a4",
|
127
|
+
"measure_definition_version_uuid": "9b299c5a-4fa0-4343-a5fc-27e806e4934e",
|
128
|
+
"measure_type": "RubyMeasure",
|
129
|
+
"arguments": [
|
130
|
+
{
|
131
|
+
"display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
132
|
+
"display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
133
|
+
"name": "space_type",
|
134
|
+
"value": "*Entire Building*",
|
135
|
+
"value_type": "choice"
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"display_name": "Increase in Material and Installation Cost for Electric Equipment per Floor Area (%).",
|
139
|
+
"display_name_short": "Increase in Material and Installation Cost for Electric Equipment per Floor Area (%).",
|
140
|
+
"name": "material_and_installation_cost",
|
141
|
+
"value": 0.0,
|
142
|
+
"value_type": "double"
|
143
|
+
},
|
144
|
+
{
|
145
|
+
"display_name": "Increase in Demolition Costs for Electric Equipment per Floor Area (%).",
|
146
|
+
"display_name_short": "Increase in Demolition Costs for Electric Equipment per Floor Area (%).",
|
147
|
+
"name": "demolition_cost",
|
148
|
+
"value": 0.0,
|
149
|
+
"value_type": "double"
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"display_name": "Years Until Costs Start (whole years).",
|
153
|
+
"display_name_short": "Years Until Costs Start (whole years).",
|
154
|
+
"name": "years_until_costs_start",
|
155
|
+
"value": 0,
|
156
|
+
"value_type": "integer"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"display_name": "Demolition Costs Occur During Initial Construction?",
|
160
|
+
"display_name_short": "Demolition Costs Occur During Initial Construction?",
|
161
|
+
"name": "demo_cost_initial_const",
|
162
|
+
"value": false,
|
163
|
+
"value_type": "bool"
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"display_name": "Expected Life (whole years).",
|
167
|
+
"display_name_short": "Expected Life (whole years).",
|
168
|
+
"name": "expected_life",
|
169
|
+
"value": 15,
|
170
|
+
"value_type": "integer"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"display_name": "Increase O & M Costs for Electric Equipment per Floor Area (%).",
|
174
|
+
"display_name_short": "Increase O & M Costs for Electric Equipment per Floor Area (%).",
|
175
|
+
"name": "om_cost",
|
176
|
+
"value": 0.0,
|
177
|
+
"value_type": "double"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"display_name": "O & M Frequency (whole years).",
|
181
|
+
"display_name_short": "O & M Frequency (whole years).",
|
182
|
+
"name": "om_frequency",
|
183
|
+
"value": 1,
|
184
|
+
"value_type": "integer"
|
185
|
+
}
|
186
|
+
],
|
187
|
+
"display_name": "Reduce Electric Equipment Loads by Percentage",
|
188
|
+
"name": "reduce_electric_equipment_loads_by_percentage",
|
189
|
+
"variables": [
|
190
|
+
{
|
191
|
+
"argument": {
|
192
|
+
"display_name": "Electric Equipment Power Reduction (%).",
|
193
|
+
"display_name_short": "Electric Equipment Power Reduction (%).",
|
194
|
+
"name": "elecequip_power_reduction_percent",
|
195
|
+
"value_type": "double"
|
196
|
+
},
|
197
|
+
"display_name": "Electric Equipment Power Reduction (%).",
|
198
|
+
"display_name_short": "Electric Equipment Power Reduction (%).",
|
199
|
+
"maximum": 30.0,
|
200
|
+
"minimum": -20.0,
|
201
|
+
"relation_to_output": "",
|
202
|
+
"static_value": 0.0,
|
203
|
+
"uncertainty_description": {
|
204
|
+
"attributes": [
|
205
|
+
{
|
206
|
+
"name": "lower_bounds",
|
207
|
+
"value": -20.0
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"name": "upper_bounds",
|
211
|
+
"value": 30.0
|
212
|
+
},
|
213
|
+
{
|
214
|
+
"name": "stddev",
|
215
|
+
"value": 8.333333333333334
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"name": "delta_x",
|
219
|
+
"value": null
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"name": "modes",
|
223
|
+
"value": 0.0
|
224
|
+
}
|
225
|
+
],
|
226
|
+
"type": "triangle_uncertain"
|
227
|
+
},
|
228
|
+
"units": "",
|
229
|
+
"value_type": "double",
|
230
|
+
"variable": true,
|
231
|
+
"variable_type": "RubyContinuousVariable",
|
232
|
+
"uuid": "0bcf3526-7376-43a7-ae5a-3855d9d11f25",
|
233
|
+
"version_uuid": "6d3807c3-e0a4-4953-89dd-8a289da4b025"
|
234
|
+
}
|
235
|
+
],
|
236
|
+
"workflow_index": 1,
|
237
|
+
"workflow_step_type": "Measure",
|
238
|
+
"uuid": "e1e9a1e8-65df-426e-b9b1-f372660f0a28",
|
239
|
+
"version_uuid": "e0108fdb-2c6c-4471-8beb-e20a4dd17c1b"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"measure_definition_class_name": "ReduceSpaceInfiltrationByPercentage",
|
243
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
244
|
+
"measure_definition_display_name": "ReduceSpaceInfiltrationByPercentage",
|
245
|
+
"measure_definition_uuid": "4d300b6b-f25e-4bc0-8965-5e4bd2e231dd",
|
246
|
+
"measure_definition_version_uuid": "c272ff8a-c277-456e-8e1a-afd4b6a447b7",
|
247
|
+
"measure_type": "RubyMeasure",
|
248
|
+
"arguments": [
|
249
|
+
{
|
250
|
+
"display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
251
|
+
"display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
252
|
+
"name": "space_type",
|
253
|
+
"value": "*Entire Building*",
|
254
|
+
"value_type": "choice"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
"display_name": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
|
258
|
+
"display_name_short": "Increase in Material and Installation Costs for Building per Affected Floor Area ($/ft^2).",
|
259
|
+
"name": "material_and_installation_cost",
|
260
|
+
"value": 0.0,
|
261
|
+
"value_type": "double"
|
262
|
+
},
|
263
|
+
{
|
264
|
+
"display_name": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
|
265
|
+
"display_name_short": "O & M Costs for Construction per Affected Floor Area ($/ft^2).",
|
266
|
+
"name": "om_cost",
|
267
|
+
"value": 0.0,
|
268
|
+
"value_type": "double"
|
269
|
+
},
|
270
|
+
{
|
271
|
+
"display_name": "O & M Frequency (whole years).",
|
272
|
+
"display_name_short": "O & M Frequency (whole years).",
|
273
|
+
"name": "om_frequency",
|
274
|
+
"value": 1,
|
275
|
+
"value_type": "integer"
|
276
|
+
}
|
277
|
+
],
|
278
|
+
"display_name": "ReduceSpaceInfiltrationByPercentage",
|
279
|
+
"name": "reducespaceinfiltrationbypercentage",
|
280
|
+
"variables": [
|
281
|
+
{
|
282
|
+
"argument": {
|
283
|
+
"display_name": "Space Infiltration Power Reduction",
|
284
|
+
"display_name_short": "Space Infiltration Power Reduction",
|
285
|
+
"name": "space_infiltration_reduction_percent",
|
286
|
+
"value_type": "double"
|
287
|
+
},
|
288
|
+
"display_name": "Space Infiltration Power Reduction",
|
289
|
+
"display_name_short": "Space Infiltration Power Reduction",
|
290
|
+
"maximum": 1.0,
|
291
|
+
"minimum": -100.0,
|
292
|
+
"relation_to_output": "",
|
293
|
+
"static_value": 0.0,
|
294
|
+
"uncertainty_description": {
|
295
|
+
"attributes": [
|
296
|
+
{
|
297
|
+
"name": "lower_bounds",
|
298
|
+
"value": -100.0
|
299
|
+
},
|
300
|
+
{
|
301
|
+
"name": "upper_bounds",
|
302
|
+
"value": 1.0
|
303
|
+
},
|
304
|
+
{
|
305
|
+
"name": "stddev",
|
306
|
+
"value": 16.833333333333332
|
307
|
+
},
|
308
|
+
{
|
309
|
+
"name": "delta_x",
|
310
|
+
"value": null
|
311
|
+
},
|
312
|
+
{
|
313
|
+
"name": "modes",
|
314
|
+
"value": -50.0
|
315
|
+
}
|
316
|
+
],
|
317
|
+
"type": "uniform_uncertain"
|
318
|
+
},
|
319
|
+
"units": "",
|
320
|
+
"value_type": "double",
|
321
|
+
"variable": true,
|
322
|
+
"variable_type": "RubyContinuousVariable",
|
323
|
+
"uuid": "57db25e9-efa6-4b23-81b7-8843159a98ba",
|
324
|
+
"version_uuid": "3c3cdc0d-1f08-42e0-b599-3f02d79df10c"
|
325
|
+
}
|
326
|
+
],
|
327
|
+
"workflow_index": 2,
|
328
|
+
"workflow_step_type": "Measure",
|
329
|
+
"uuid": "92649f03-347d-4d18-b80a-14ab54a42cbf",
|
330
|
+
"version_uuid": "23ab069d-cef9-48b3-a753-4c8e2d9d1bcf"
|
331
|
+
},
|
332
|
+
{
|
333
|
+
"measure_definition_class_name": "AdjustTheromstatSetpointsByDegrees",
|
334
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
335
|
+
"measure_definition_display_name": "AdjustTheromstatSetpointsByDegrees",
|
336
|
+
"measure_definition_uuid": "98f04acd-6353-4812-bb41-87eb0cdef9aa",
|
337
|
+
"measure_definition_version_uuid": "74467764-bec4-4b43-bed1-eec9849781eb",
|
338
|
+
"measure_type": "RubyMeasure",
|
339
|
+
"arguments": [
|
340
|
+
{
|
341
|
+
"display_name": "Alter Design Day Thermostats?",
|
342
|
+
"display_name_short": "Alter Design Day Thermostats?",
|
343
|
+
"name": "alter_design_days",
|
344
|
+
"value": false,
|
345
|
+
"value_type": "bool"
|
346
|
+
}
|
347
|
+
],
|
348
|
+
"display_name": "Adjust Thermostat Setpoints by Degrees",
|
349
|
+
"name": "adjust_thermostat_setpoints_by_degrees",
|
350
|
+
"variables": [
|
351
|
+
{
|
352
|
+
"argument": {
|
353
|
+
"display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
|
354
|
+
"display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
|
355
|
+
"name": "cooling_adjustment",
|
356
|
+
"value_type": "double"
|
357
|
+
},
|
358
|
+
"display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
|
359
|
+
"display_name_short": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
|
360
|
+
"maximum": 2.0,
|
361
|
+
"minimum": -2.0,
|
362
|
+
"relation_to_output": "",
|
363
|
+
"static_value": 1.0,
|
364
|
+
"uncertainty_description": {
|
365
|
+
"attributes": [
|
366
|
+
{
|
367
|
+
"name": "lower_bounds",
|
368
|
+
"value": -2.0
|
369
|
+
},
|
370
|
+
{
|
371
|
+
"name": "upper_bounds",
|
372
|
+
"value": 2.0
|
373
|
+
},
|
374
|
+
{
|
375
|
+
"name": "stddev",
|
376
|
+
"value": 0.6666666666666666
|
377
|
+
},
|
378
|
+
{
|
379
|
+
"name": "delta_x",
|
380
|
+
"value": null
|
381
|
+
},
|
382
|
+
{
|
383
|
+
"name": "modes",
|
384
|
+
"value": 0.0
|
385
|
+
}
|
386
|
+
],
|
387
|
+
"type": "uniform_uncertain"
|
388
|
+
},
|
389
|
+
"units": "",
|
390
|
+
"value_type": "double",
|
391
|
+
"variable": true,
|
392
|
+
"variable_type": "RubyContinuousVariable",
|
393
|
+
"uuid": "9fb8e6a8-d4e4-460a-81a8-7c82adaf3796",
|
394
|
+
"version_uuid": "89a84e90-5f3e-4296-80d0-c8d631d847c2"
|
395
|
+
},
|
396
|
+
{
|
397
|
+
"argument": {
|
398
|
+
"display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
|
399
|
+
"display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
|
400
|
+
"name": "heating_adjustment",
|
401
|
+
"value_type": "double"
|
402
|
+
},
|
403
|
+
"display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
|
404
|
+
"display_name_short": "Degrees Fahrenheit to Adjust heating Setpoint By.",
|
405
|
+
"maximum": 2.0,
|
406
|
+
"minimum": -2.0,
|
407
|
+
"relation_to_output": "",
|
408
|
+
"static_value": -1.0,
|
409
|
+
"uncertainty_description": {
|
410
|
+
"attributes": [
|
411
|
+
{
|
412
|
+
"name": "lower_bounds",
|
413
|
+
"value": -2.0
|
414
|
+
},
|
415
|
+
{
|
416
|
+
"name": "upper_bounds",
|
417
|
+
"value": 2.0
|
418
|
+
},
|
419
|
+
{
|
420
|
+
"name": "stddev",
|
421
|
+
"value": 0.6666666666666666
|
422
|
+
},
|
423
|
+
{
|
424
|
+
"name": "delta_x",
|
425
|
+
"value": null
|
426
|
+
},
|
427
|
+
{
|
428
|
+
"name": "modes",
|
429
|
+
"value": 0.0
|
430
|
+
}
|
431
|
+
],
|
432
|
+
"type": "uniform_uncertain"
|
433
|
+
},
|
434
|
+
"units": "",
|
435
|
+
"value_type": "double",
|
436
|
+
"variable": true,
|
437
|
+
"variable_type": "RubyContinuousVariable",
|
438
|
+
"uuid": "a27a863e-0358-4901-8128-5000f8f01fc1",
|
439
|
+
"version_uuid": "b873208d-fe8a-4e59-8e5f-24d72df55da7"
|
440
|
+
}
|
441
|
+
],
|
442
|
+
"workflow_index": 3,
|
443
|
+
"workflow_step_type": "Measure",
|
444
|
+
"uuid": "a9c283b5-2629-46fd-ad84-ddcdf8f88623",
|
445
|
+
"version_uuid": "6bbd5bb2-ae7c-4870-b6c1-43f0b36949b8"
|
446
|
+
},
|
447
|
+
{
|
448
|
+
"measure_definition_class_name": "ReduceVentilationByPercentage",
|
449
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
450
|
+
"measure_definition_display_name": "ReduceVentilationByPercentage",
|
451
|
+
"measure_definition_uuid": "02e71f48-0733-4310-8b62-03b32e5b6605",
|
452
|
+
"measure_definition_version_uuid": "b5e1b7a9-4913-4b22-bb89-0b1db97c5115",
|
453
|
+
"measure_type": "RubyMeasure",
|
454
|
+
"arguments": [
|
455
|
+
{
|
456
|
+
"display_name": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
457
|
+
"display_name_short": "Apply the Measure to a Specific Space Type or to the Entire Model.",
|
458
|
+
"name": "space_type",
|
459
|
+
"value": "*Entire Building*",
|
460
|
+
"value_type": "choice"
|
461
|
+
}
|
462
|
+
],
|
463
|
+
"display_name": "Reduce Ventilation By Percentage",
|
464
|
+
"name": "reduce_ventilation_by_percentage",
|
465
|
+
"variables": [
|
466
|
+
{
|
467
|
+
"argument": {
|
468
|
+
"display_name": "Design Specification Outdoor Air Reduction (%).",
|
469
|
+
"display_name_short": "Design Specification Outdoor Air Reduction (%).",
|
470
|
+
"name": "design_spec_outdoor_air_reduction_percent",
|
471
|
+
"value_type": "double"
|
472
|
+
},
|
473
|
+
"display_name": "Design Specification Outdoor Air Reduction (%).",
|
474
|
+
"display_name_short": "Design Specification Outdoor Air Reduction (%).",
|
475
|
+
"maximum": 90.0,
|
476
|
+
"minimum": -90.0,
|
477
|
+
"relation_to_output": "",
|
478
|
+
"static_value": 0.0,
|
479
|
+
"uncertainty_description": {
|
480
|
+
"attributes": [
|
481
|
+
{
|
482
|
+
"name": "lower_bounds",
|
483
|
+
"value": -90.0
|
484
|
+
},
|
485
|
+
{
|
486
|
+
"name": "upper_bounds",
|
487
|
+
"value": 90.0
|
488
|
+
},
|
489
|
+
{
|
490
|
+
"name": "stddev",
|
491
|
+
"value": 30.0
|
492
|
+
},
|
493
|
+
{
|
494
|
+
"name": "delta_x",
|
495
|
+
"value": null
|
496
|
+
},
|
497
|
+
{
|
498
|
+
"name": "modes",
|
499
|
+
"value": -1.0
|
500
|
+
}
|
501
|
+
],
|
502
|
+
"type": "triangle_uncertain"
|
503
|
+
},
|
504
|
+
"units": "",
|
505
|
+
"value_type": "double",
|
506
|
+
"variable": true,
|
507
|
+
"variable_type": "RubyContinuousVariable",
|
508
|
+
"uuid": "e4cf8bd4-28bd-4fd1-9a81-347323fc0ae7",
|
509
|
+
"version_uuid": "8ccd36a8-ae3a-4791-8947-92b3c625cb67"
|
510
|
+
}
|
511
|
+
],
|
512
|
+
"workflow_index": 4,
|
513
|
+
"workflow_step_type": "Measure",
|
514
|
+
"uuid": "d4f5a0d2-17db-476d-8e58-4acc94be4275",
|
515
|
+
"version_uuid": "77afb120-1e8d-40d6-9bf6-58ef6dd0f647"
|
516
|
+
},
|
517
|
+
{
|
518
|
+
"measure_definition_class_name": "EnableEconomizerControl",
|
519
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
520
|
+
"measure_definition_display_name": "EnableEconomizerControl",
|
521
|
+
"measure_definition_uuid": "efba115e-2fc9-46f2-bb4b-feac58a774a9",
|
522
|
+
"measure_definition_version_uuid": "aafc0236-a519-4100-b1d4-2e43bc1ed5eb",
|
523
|
+
"measure_type": "RubyMeasure",
|
524
|
+
"arguments": [
|
525
|
+
{
|
526
|
+
"display_name": "Choose an Air Loop to Alter.",
|
527
|
+
"display_name_short": "Choose an Air Loop to Alter.",
|
528
|
+
"name": "object",
|
529
|
+
"value": "*All Air Loops*",
|
530
|
+
"value_type": "choice"
|
531
|
+
},
|
532
|
+
{
|
533
|
+
"display_name": "Economizer Control Type.",
|
534
|
+
"display_name_short": "Economizer Control Type.",
|
535
|
+
"name": "economizer_type",
|
536
|
+
"value": "FixedDryBulb",
|
537
|
+
"value_type": "choice"
|
538
|
+
},
|
539
|
+
{
|
540
|
+
"display_name": "Economizer Maximum Enthalpy (Btu/lb).",
|
541
|
+
"display_name_short": "Economizer Maximum Enthalpy (Btu/lb).",
|
542
|
+
"name": "econoMaxEnthalpy",
|
543
|
+
"value": 28.0,
|
544
|
+
"value_type": "double"
|
545
|
+
},
|
546
|
+
{
|
547
|
+
"display_name": "Economizer Maximum Limit Dewpoint Temperature (F).",
|
548
|
+
"display_name_short": "Economizer Maximum Limit Dewpoint Temperature (F).",
|
549
|
+
"name": "econoMaxDewpointTemp",
|
550
|
+
"value": 55.0,
|
551
|
+
"value_type": "double"
|
552
|
+
},
|
553
|
+
{
|
554
|
+
"display_name": "Economizer Minimum Limit Dry-Bulb Temperature (F).",
|
555
|
+
"display_name_short": "Economizer Minimum Limit Dry-Bulb Temperature (F).",
|
556
|
+
"name": "econoMinDryBulbTemp",
|
557
|
+
"value": -148.0,
|
558
|
+
"value_type": "double"
|
559
|
+
},
|
560
|
+
{
|
561
|
+
"display_name": "Remove Baseline Costs From Effected AirLoopHVACOutdoorAirSystems?",
|
562
|
+
"display_name_short": "Remove Baseline Costs From Effected AirLoopHVACOutdoorAirSystems?",
|
563
|
+
"name": "remove_costs",
|
564
|
+
"value": false,
|
565
|
+
"value_type": "bool"
|
566
|
+
},
|
567
|
+
{
|
568
|
+
"display_name": "Material and Installation Costs per Air Loop to Enable Economizer ($).",
|
569
|
+
"display_name_short": "Material and Installation Costs per Air Loop to Enable Economizer ($).",
|
570
|
+
"name": "material_cost",
|
571
|
+
"value": 0.0,
|
572
|
+
"value_type": "double"
|
573
|
+
},
|
574
|
+
{
|
575
|
+
"display_name": "Demolition Costs per Air Loop to Enable Economizer ($).",
|
576
|
+
"display_name_short": "Demolition Costs per Air Loop to Enable Economizer ($).",
|
577
|
+
"name": "demolition_cost",
|
578
|
+
"value": 0.0,
|
579
|
+
"value_type": "double"
|
580
|
+
},
|
581
|
+
{
|
582
|
+
"display_name": "Years Until Costs Start (whole years).",
|
583
|
+
"display_name_short": "Years Until Costs Start (whole years).",
|
584
|
+
"name": "years_until_costs_start",
|
585
|
+
"value": 0,
|
586
|
+
"value_type": "integer"
|
587
|
+
},
|
588
|
+
{
|
589
|
+
"display_name": "Demolition Costs Occur During Initial Construction?",
|
590
|
+
"display_name_short": "Demolition Costs Occur During Initial Construction?",
|
591
|
+
"name": "demo_cost_initial_const",
|
592
|
+
"value": false,
|
593
|
+
"value_type": "bool"
|
594
|
+
},
|
595
|
+
{
|
596
|
+
"display_name": "Expected Life (whole years).",
|
597
|
+
"display_name_short": "Expected Life (whole years).",
|
598
|
+
"name": "expected_life",
|
599
|
+
"value": 20,
|
600
|
+
"value_type": "integer"
|
601
|
+
},
|
602
|
+
{
|
603
|
+
"display_name": "O & M Costs per Air Loop for Economizer ($).",
|
604
|
+
"display_name_short": "O & M Costs per Air Loop for Economizer ($).",
|
605
|
+
"name": "om_cost",
|
606
|
+
"value": 0.0,
|
607
|
+
"value_type": "double"
|
608
|
+
},
|
609
|
+
{
|
610
|
+
"display_name": "O & M Frequency (whole years).",
|
611
|
+
"display_name_short": "O & M Frequency (whole years).",
|
612
|
+
"name": "om_frequency",
|
613
|
+
"value": 1,
|
614
|
+
"value_type": "integer"
|
615
|
+
}
|
616
|
+
],
|
617
|
+
"display_name": "Enable Economizer Control",
|
618
|
+
"name": "enable_economizer_control",
|
619
|
+
"variables": [
|
620
|
+
{
|
621
|
+
"argument": {
|
622
|
+
"display_name": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
|
623
|
+
"display_name_short": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
|
624
|
+
"name": "econoMaxDryBulbTemp",
|
625
|
+
"value_type": "double"
|
626
|
+
},
|
627
|
+
"display_name": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
|
628
|
+
"display_name_short": "Economizer Maximum Limit Dry-Bulb Temperature (F).",
|
629
|
+
"maximum": 80.0,
|
630
|
+
"minimum": 76.0,
|
631
|
+
"relation_to_output": "",
|
632
|
+
"static_value": 79.0,
|
633
|
+
"uncertainty_description": {
|
634
|
+
"attributes": [
|
635
|
+
{
|
636
|
+
"name": "lower_bounds",
|
637
|
+
"value": 76.0
|
638
|
+
},
|
639
|
+
{
|
640
|
+
"name": "upper_bounds",
|
641
|
+
"value": 80.0
|
642
|
+
},
|
643
|
+
{
|
644
|
+
"name": "stddev",
|
645
|
+
"value": 0.6666666666666666
|
646
|
+
},
|
647
|
+
{
|
648
|
+
"name": "delta_x",
|
649
|
+
"value": null
|
650
|
+
},
|
651
|
+
{
|
652
|
+
"name": "modes",
|
653
|
+
"value": 78.0
|
654
|
+
}
|
655
|
+
],
|
656
|
+
"type": "triangle_uncertain"
|
657
|
+
},
|
658
|
+
"units": "",
|
659
|
+
"value_type": "double",
|
660
|
+
"variable": true,
|
661
|
+
"variable_type": "RubyContinuousVariable",
|
662
|
+
"uuid": "c4b775dd-2b6b-4242-8e3c-274344153377",
|
663
|
+
"version_uuid": "b52d2194-b65b-456b-96e3-037c8fa89d99"
|
664
|
+
}
|
665
|
+
],
|
666
|
+
"workflow_index": 5,
|
667
|
+
"workflow_step_type": "Measure",
|
668
|
+
"uuid": "2b596bed-b3f9-42ec-b2b6-3fe380ab63b9",
|
669
|
+
"version_uuid": "85f13786-7d25-4dcd-bb56-c45b302e9ef4"
|
670
|
+
},
|
671
|
+
{
|
672
|
+
"measure_definition_class_name": "SetBoilerThermalEfficiency",
|
673
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
674
|
+
"measure_definition_display_name": "SetBoilerThermalEfficiency",
|
675
|
+
"measure_definition_uuid": "ee772275-3fe4-4033-a77f-1f0e25ed0c50",
|
676
|
+
"measure_definition_version_uuid": "8a76a465-1f38-4557-a0e7-1f5bc82b8016",
|
677
|
+
"measure_type": "RubyMeasure",
|
678
|
+
"arguments": [
|
679
|
+
{
|
680
|
+
"display_name": "Apply the measure to",
|
681
|
+
"display_name_short": "Apply the measure to",
|
682
|
+
"name": "boiler_widget",
|
683
|
+
"value": "*All boilers*",
|
684
|
+
"value_type": "choice"
|
685
|
+
},
|
686
|
+
{
|
687
|
+
"display_name": "Option 1, set boiler nominal thermal efficiency to a user defined value",
|
688
|
+
"display_name_short": "Option 1, set boiler nominal thermal efficiency to a user defined value",
|
689
|
+
"name": "input_option_manual",
|
690
|
+
"value": true,
|
691
|
+
"value_type": "bool"
|
692
|
+
},
|
693
|
+
{
|
694
|
+
"display_name": "Option 2, set boiler nominal thermal efficiency based on ASHRAE Standard 90.1 requirement",
|
695
|
+
"display_name_short": "Option 2, set boiler nominal thermal efficiency based on ASHRAE Standard 90.1 requirement",
|
696
|
+
"name": "input_option_standard",
|
697
|
+
"value": false,
|
698
|
+
"value_type": "bool"
|
699
|
+
},
|
700
|
+
{
|
701
|
+
"display_name": "Boiler nominal capacity [W]",
|
702
|
+
"display_name_short": "Boiler nominal capacity [W]",
|
703
|
+
"name": "nominal_capacity",
|
704
|
+
"value": 0.0,
|
705
|
+
"value_type": "double"
|
706
|
+
},
|
707
|
+
{
|
708
|
+
"display_name": "Fuel type",
|
709
|
+
"display_name_short": "Fuel type",
|
710
|
+
"name": "fuel_type_widget",
|
711
|
+
"value": "0.0",
|
712
|
+
"value_type": "choice"
|
713
|
+
},
|
714
|
+
{
|
715
|
+
"display_name": "ASHRAE Standards 90.1",
|
716
|
+
"display_name_short": "ASHRAE Standards 90.1",
|
717
|
+
"name": "standards_widget",
|
718
|
+
"value": "0.0",
|
719
|
+
"value_type": "choice"
|
720
|
+
}
|
721
|
+
],
|
722
|
+
"display_name": "Set Boiler Thermal Efficiency",
|
723
|
+
"name": "set_boiler_thermal_efficiency",
|
724
|
+
"variables": [
|
725
|
+
{
|
726
|
+
"argument": {
|
727
|
+
"display_name": "Boiler nominal thermal efficiency (between 0 and 1)",
|
728
|
+
"display_name_short": "Boiler nominal thermal efficiency (between 0 and 1)",
|
729
|
+
"name": "boiler_thermal_efficiency",
|
730
|
+
"value_type": "double"
|
731
|
+
},
|
732
|
+
"display_name": "Boiler nominal thermal efficiency (between 0 and 1)",
|
733
|
+
"display_name_short": "Boiler nominal thermal efficiency (between 0 and 1)",
|
734
|
+
"maximum": 0.9,
|
735
|
+
"minimum": 0.5,
|
736
|
+
"relation_to_output": "",
|
737
|
+
"static_value": 0.8,
|
738
|
+
"uncertainty_description": {
|
739
|
+
"attributes": [
|
740
|
+
{
|
741
|
+
"name": "lower_bounds",
|
742
|
+
"value": 0.5
|
743
|
+
},
|
744
|
+
{
|
745
|
+
"name": "upper_bounds",
|
746
|
+
"value": 0.9
|
747
|
+
},
|
748
|
+
{
|
749
|
+
"name": "stddev",
|
750
|
+
"value": 0.06666666666666667
|
751
|
+
},
|
752
|
+
{
|
753
|
+
"name": "delta_x",
|
754
|
+
"value": null
|
755
|
+
},
|
756
|
+
{
|
757
|
+
"name": "modes",
|
758
|
+
"value": 0.75
|
759
|
+
}
|
760
|
+
],
|
761
|
+
"type": "triangle_uncertain"
|
762
|
+
},
|
763
|
+
"units": "",
|
764
|
+
"value_type": "double",
|
765
|
+
"variable": true,
|
766
|
+
"variable_type": "RubyContinuousVariable",
|
767
|
+
"uuid": "4b76bd7c-dd0b-47d3-a4c3-43944b6b1075",
|
768
|
+
"version_uuid": "886d3b65-b08b-4e8f-9066-aa3f5fe4f15c"
|
769
|
+
}
|
770
|
+
],
|
771
|
+
"workflow_index": 6,
|
772
|
+
"workflow_step_type": "Measure",
|
773
|
+
"uuid": "a194ec5f-8f0d-4ce0-9083-0569a9065f0f",
|
774
|
+
"version_uuid": "651daad9-8840-4d72-af65-f2f8b4ee444a"
|
775
|
+
},
|
776
|
+
{
|
777
|
+
"measure_definition_class_name": "IncreaseInsulationRValueForExteriorWalls",
|
778
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
779
|
+
"measure_definition_display_name": "IncreaseInsulationRValueForExteriorWalls",
|
780
|
+
"measure_definition_uuid": "de84aba1-5f75-4438-ae03-08ffd9c12954",
|
781
|
+
"measure_definition_version_uuid": "8bf5a2de-c73a-4b5f-80d3-41715ef2f9c4",
|
782
|
+
"measure_type": "RubyMeasure",
|
783
|
+
"arguments": [
|
784
|
+
{
|
785
|
+
"display_name": "Allow both increase and decrease in R-value to reach requested target?",
|
786
|
+
"display_name_short": "Allow both increase and decrease in R-value to reach requested target?",
|
787
|
+
"name": "allow_reduction",
|
788
|
+
"value": true,
|
789
|
+
"value_type": "bool"
|
790
|
+
},
|
791
|
+
{
|
792
|
+
"display_name": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
|
793
|
+
"display_name_short": "Increase in Material and Installation Costs for Construction per Area Used ($/ft^2).",
|
794
|
+
"name": "material_cost_increase_ip",
|
795
|
+
"value": 0.0,
|
796
|
+
"value_type": "double"
|
797
|
+
},
|
798
|
+
{
|
799
|
+
"display_name": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
|
800
|
+
"display_name_short": "One Time Retrofit Cost to Add Insulation to Construction ($/ft^2).",
|
801
|
+
"name": "one_time_retrofit_cost_ip",
|
802
|
+
"value": 0.0,
|
803
|
+
"value_type": "double"
|
804
|
+
},
|
805
|
+
{
|
806
|
+
"display_name": "Year to Incur One Time Retrofit Cost (whole years).",
|
807
|
+
"display_name_short": "Year to Incur One Time Retrofit Cost (whole years).",
|
808
|
+
"name": "years_until_retrofit_cost",
|
809
|
+
"value": 0,
|
810
|
+
"value_type": "integer"
|
811
|
+
}
|
812
|
+
],
|
813
|
+
"display_name": "Set R-value of Insulation for Exterior Walls to a Specific Value",
|
814
|
+
"name": "set_r_value_of_insulation_for_exterior_walls_to_a_specific_value",
|
815
|
+
"variables": [
|
816
|
+
{
|
817
|
+
"argument": {
|
818
|
+
"display_name": "Insulation R-value (ft^2*h*R/Btu).",
|
819
|
+
"display_name_short": "Insulation R-value (ft^2*h*R/Btu).",
|
820
|
+
"name": "r_value",
|
821
|
+
"value_type": "double"
|
822
|
+
},
|
823
|
+
"display_name": "Insulation R-value (ft^2*h*R/Btu).",
|
824
|
+
"display_name_short": "Insulation R-value (ft^2*h*R/Btu).",
|
825
|
+
"maximum": 5.0,
|
826
|
+
"minimum": 1.0,
|
827
|
+
"relation_to_output": "",
|
828
|
+
"static_value": 5.0,
|
829
|
+
"uncertainty_description": {
|
830
|
+
"attributes": [
|
831
|
+
{
|
832
|
+
"name": "lower_bounds",
|
833
|
+
"value": 1.0
|
834
|
+
},
|
835
|
+
{
|
836
|
+
"name": "upper_bounds",
|
837
|
+
"value": 5.0
|
838
|
+
},
|
839
|
+
{
|
840
|
+
"name": "stddev",
|
841
|
+
"value": 0.6666666666666666
|
842
|
+
},
|
843
|
+
{
|
844
|
+
"name": "delta_x",
|
845
|
+
"value": null
|
846
|
+
},
|
847
|
+
{
|
848
|
+
"name": "modes",
|
849
|
+
"value": 2.5
|
850
|
+
}
|
851
|
+
],
|
852
|
+
"type": "triangle_uncertain"
|
853
|
+
},
|
854
|
+
"units": "",
|
855
|
+
"value_type": "double",
|
856
|
+
"variable": true,
|
857
|
+
"variable_type": "RubyContinuousVariable",
|
858
|
+
"uuid": "539774fe-5468-4517-b0a5-dcf3fb524e0c",
|
859
|
+
"version_uuid": "47dde188-b93d-4d77-a806-546f47ef11e6"
|
860
|
+
}
|
861
|
+
],
|
862
|
+
"workflow_index": 7,
|
863
|
+
"workflow_step_type": "Measure",
|
864
|
+
"uuid": "729b7975-6dd2-4a53-8ca5-373247a9bcdd",
|
865
|
+
"version_uuid": "30a3f0a4-1dd0-4ea0-9e56-7989230c7390"
|
866
|
+
},
|
867
|
+
{
|
868
|
+
"measure_definition_class_name": "SetChillerCOP",
|
869
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
870
|
+
"measure_definition_display_name": "SetChillerCOP",
|
871
|
+
"measure_definition_uuid": "02c5f4d2-58b8-4723-b55a-dc74efab6b7c",
|
872
|
+
"measure_definition_version_uuid": "b4cf324d-af0d-4923-81ec-8808910be926",
|
873
|
+
"measure_type": "RubyMeasure",
|
874
|
+
"arguments": [
|
875
|
+
{
|
876
|
+
"display_name": "Apply the measure to",
|
877
|
+
"display_name_short": "Apply the measure to",
|
878
|
+
"name": "chiller_widget",
|
879
|
+
"value": "*All chillers*",
|
880
|
+
"value_type": "choice"
|
881
|
+
}
|
882
|
+
],
|
883
|
+
"display_name": "SetChillerCOP",
|
884
|
+
"name": "setchillercop",
|
885
|
+
"variables": [
|
886
|
+
{
|
887
|
+
"argument": {
|
888
|
+
"display_name": "Chiller Rated COP (more than 0)",
|
889
|
+
"display_name_short": "Chiller Rated COP (more than 0)",
|
890
|
+
"name": "chiller_thermal_efficiency",
|
891
|
+
"value_type": "double"
|
892
|
+
},
|
893
|
+
"display_name": "Chiller Rated COP (more than 0)",
|
894
|
+
"display_name_short": "Chiller Rated COP (more than 0)",
|
895
|
+
"maximum": 5.5,
|
896
|
+
"minimum": 2.5,
|
897
|
+
"relation_to_output": "",
|
898
|
+
"static_value": 3.0,
|
899
|
+
"uncertainty_description": {
|
900
|
+
"attributes": [
|
901
|
+
{
|
902
|
+
"name": "lower_bounds",
|
903
|
+
"value": 2.5
|
904
|
+
},
|
905
|
+
{
|
906
|
+
"name": "upper_bounds",
|
907
|
+
"value": 5.5
|
908
|
+
},
|
909
|
+
{
|
910
|
+
"name": "stddev",
|
911
|
+
"value": 0.5
|
912
|
+
},
|
913
|
+
{
|
914
|
+
"name": "delta_x",
|
915
|
+
"value": null
|
916
|
+
},
|
917
|
+
{
|
918
|
+
"name": "modes",
|
919
|
+
"value": 3.5
|
920
|
+
}
|
921
|
+
],
|
922
|
+
"type": "triangle_uncertain"
|
923
|
+
},
|
924
|
+
"units": "",
|
925
|
+
"value_type": "double",
|
926
|
+
"variable": true,
|
927
|
+
"variable_type": "RubyContinuousVariable",
|
928
|
+
"uuid": "c4f7e5be-4893-434a-95f5-494d5b0bd927",
|
929
|
+
"version_uuid": "c636f5ad-6f1d-4cb1-b1e7-3585125cda00"
|
930
|
+
}
|
931
|
+
],
|
932
|
+
"workflow_index": 8,
|
933
|
+
"workflow_step_type": "Measure",
|
934
|
+
"uuid": "6ad2752c-56b9-4342-9d11-9fb8123dc686",
|
935
|
+
"version_uuid": "ed80b633-4a56-4136-81ef-6bbf897a4343"
|
936
|
+
},
|
937
|
+
{
|
938
|
+
"measure_definition_class_name": "SetHeatingandCoolingSizingFactors",
|
939
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
940
|
+
"measure_definition_display_name": "SetHeatingandCoolingSizingFactors",
|
941
|
+
"measure_definition_uuid": "3b5adf5e-86b2-427d-b6af-f169c1ddf6bd",
|
942
|
+
"measure_definition_version_uuid": "9628e7a3-16f8-4520-88f5-ce53f11e93c6",
|
943
|
+
"measure_type": "RubyMeasure",
|
944
|
+
"arguments": [
|
945
|
+
],
|
946
|
+
"display_name": "Set Heating and Cooling Sizing Factors",
|
947
|
+
"name": "set_heating_and_cooling_sizing_factors",
|
948
|
+
"variables": [
|
949
|
+
{
|
950
|
+
"argument": {
|
951
|
+
"display_name": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
|
952
|
+
"display_name_short": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
|
953
|
+
"name": "htg_sz_factor",
|
954
|
+
"value_type": "double"
|
955
|
+
},
|
956
|
+
"display_name": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
|
957
|
+
"display_name_short": "Heating Sizing Factor (eg 1.25 = 125% of required heating capacity.",
|
958
|
+
"maximum": 1.5,
|
959
|
+
"minimum": 1.0,
|
960
|
+
"relation_to_output": "",
|
961
|
+
"static_value": 1.25,
|
962
|
+
"uncertainty_description": {
|
963
|
+
"attributes": [
|
964
|
+
{
|
965
|
+
"name": "lower_bounds",
|
966
|
+
"value": 1.0
|
967
|
+
},
|
968
|
+
{
|
969
|
+
"name": "upper_bounds",
|
970
|
+
"value": 1.5
|
971
|
+
},
|
972
|
+
{
|
973
|
+
"name": "stddev",
|
974
|
+
"value": 0.08333333333333333
|
975
|
+
},
|
976
|
+
{
|
977
|
+
"name": "delta_x",
|
978
|
+
"value": null
|
979
|
+
},
|
980
|
+
{
|
981
|
+
"name": "modes",
|
982
|
+
"value": 1.25
|
983
|
+
}
|
984
|
+
],
|
985
|
+
"type": "triangle_uncertain"
|
986
|
+
},
|
987
|
+
"units": "",
|
988
|
+
"value_type": "double",
|
989
|
+
"variable": true,
|
990
|
+
"variable_type": "RubyContinuousVariable",
|
991
|
+
"uuid": "640893ee-47f1-41dc-8766-83eeef8513ff",
|
992
|
+
"version_uuid": "787a6e37-911d-4266-ba20-33b5bc5b793f"
|
993
|
+
},
|
994
|
+
{
|
995
|
+
"argument": {
|
996
|
+
"display_name": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
|
997
|
+
"display_name_short": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
|
998
|
+
"name": "clg_sz_factor",
|
999
|
+
"value_type": "double"
|
1000
|
+
},
|
1001
|
+
"display_name": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
|
1002
|
+
"display_name_short": "Coolinig Sizing Factor (eg 1.15 = 115% of required cooling capacity.",
|
1003
|
+
"maximum": 1.5,
|
1004
|
+
"minimum": 1.0,
|
1005
|
+
"relation_to_output": "",
|
1006
|
+
"static_value": 1.15,
|
1007
|
+
"uncertainty_description": {
|
1008
|
+
"attributes": [
|
1009
|
+
{
|
1010
|
+
"name": "lower_bounds",
|
1011
|
+
"value": 1.0
|
1012
|
+
},
|
1013
|
+
{
|
1014
|
+
"name": "upper_bounds",
|
1015
|
+
"value": 1.5
|
1016
|
+
},
|
1017
|
+
{
|
1018
|
+
"name": "stddev",
|
1019
|
+
"value": 0.08333333333333333
|
1020
|
+
},
|
1021
|
+
{
|
1022
|
+
"name": "delta_x",
|
1023
|
+
"value": null
|
1024
|
+
},
|
1025
|
+
{
|
1026
|
+
"name": "modes",
|
1027
|
+
"value": 1.15
|
1028
|
+
}
|
1029
|
+
],
|
1030
|
+
"type": "triangle_uncertain"
|
1031
|
+
},
|
1032
|
+
"units": "",
|
1033
|
+
"value_type": "double",
|
1034
|
+
"variable": true,
|
1035
|
+
"variable_type": "RubyContinuousVariable",
|
1036
|
+
"uuid": "0656bd9f-c3c7-44e4-85c4-c6b1f84c1f60",
|
1037
|
+
"version_uuid": "080d3152-31b0-4c63-b0cd-60f525a31dd8"
|
1038
|
+
}
|
1039
|
+
],
|
1040
|
+
"workflow_index": 9,
|
1041
|
+
"workflow_step_type": "Measure",
|
1042
|
+
"uuid": "f30a1787-d861-4ba2-9a15-1dbac1133806",
|
1043
|
+
"version_uuid": "1aded70c-811b-4eb0-ba5a-88f63fa76ece"
|
1044
|
+
},
|
1045
|
+
{
|
1046
|
+
"measure_definition_class_name": "SetChilledWaterLoopTemperature",
|
1047
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
1048
|
+
"measure_definition_display_name": "SetChilledWaterLoopTemperature",
|
1049
|
+
"measure_definition_uuid": "fae758d9-7fea-42ab-ae7a-0a5fc00e9295",
|
1050
|
+
"measure_definition_version_uuid": "b9478c40-19e1-4a2a-90f3-0bd881ebea4c",
|
1051
|
+
"measure_type": "RubyMeasure",
|
1052
|
+
"arguments": [
|
1053
|
+
],
|
1054
|
+
"display_name": "Set Chilled Water Loop Temperature",
|
1055
|
+
"name": "set_chilled_water_loop_temperature",
|
1056
|
+
"variables": [
|
1057
|
+
{
|
1058
|
+
"argument": {
|
1059
|
+
"display_name": "Desired chilled water setpoint (F)",
|
1060
|
+
"display_name_short": "Desired chilled water setpoint (F)",
|
1061
|
+
"name": "cw_temp_f",
|
1062
|
+
"value_type": "double"
|
1063
|
+
},
|
1064
|
+
"display_name": "Desired chilled water setpoint (F)",
|
1065
|
+
"display_name_short": "Desired chilled water setpoint (F)",
|
1066
|
+
"maximum": 46.0,
|
1067
|
+
"minimum": 42.0,
|
1068
|
+
"relation_to_output": "",
|
1069
|
+
"static_value": 44.0,
|
1070
|
+
"uncertainty_description": {
|
1071
|
+
"attributes": [
|
1072
|
+
{
|
1073
|
+
"name": "lower_bounds",
|
1074
|
+
"value": 42.0
|
1075
|
+
},
|
1076
|
+
{
|
1077
|
+
"name": "upper_bounds",
|
1078
|
+
"value": 46.0
|
1079
|
+
},
|
1080
|
+
{
|
1081
|
+
"name": "stddev",
|
1082
|
+
"value": 0.6666666666666666
|
1083
|
+
},
|
1084
|
+
{
|
1085
|
+
"name": "delta_x",
|
1086
|
+
"value": null
|
1087
|
+
},
|
1088
|
+
{
|
1089
|
+
"name": "modes",
|
1090
|
+
"value": 44.0
|
1091
|
+
}
|
1092
|
+
],
|
1093
|
+
"type": "triangle_uncertain"
|
1094
|
+
},
|
1095
|
+
"units": "",
|
1096
|
+
"value_type": "double",
|
1097
|
+
"variable": true,
|
1098
|
+
"variable_type": "RubyContinuousVariable",
|
1099
|
+
"uuid": "d5a838ba-6371-4402-96cf-e0aefe42083a",
|
1100
|
+
"version_uuid": "6ee18afc-92c9-485a-861e-5e37a897a085"
|
1101
|
+
}
|
1102
|
+
],
|
1103
|
+
"workflow_index": 10,
|
1104
|
+
"workflow_step_type": "Measure",
|
1105
|
+
"uuid": "38263a9a-25dd-4d3f-bb70-8fcb9d0d0d71",
|
1106
|
+
"version_uuid": "427b4a13-bb80-499e-af8a-d9ec0623bd37"
|
1107
|
+
},
|
1108
|
+
{
|
1109
|
+
"measure_definition_class_name": "SetHotWaterLoopTemperature",
|
1110
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
1111
|
+
"measure_definition_display_name": "SetHotWaterLoopTemperature",
|
1112
|
+
"measure_definition_uuid": "a97acd58-bf40-41e7-937b-0967dd118a00",
|
1113
|
+
"measure_definition_version_uuid": "1a80c759-1ec0-4f5f-ae15-d5c53e08336c",
|
1114
|
+
"measure_type": "RubyMeasure",
|
1115
|
+
"arguments": [
|
1116
|
+
],
|
1117
|
+
"display_name": "Set Hot Water Loop Temperature",
|
1118
|
+
"name": "set_hot_water_loop_temperature",
|
1119
|
+
"variables": [
|
1120
|
+
{
|
1121
|
+
"argument": {
|
1122
|
+
"display_name": "Desired hot water setpoint (F)",
|
1123
|
+
"display_name_short": "Desired hot water setpoint (F)",
|
1124
|
+
"name": "hw_temp_f",
|
1125
|
+
"value_type": "double"
|
1126
|
+
},
|
1127
|
+
"display_name": "Desired hot water setpoint (F)",
|
1128
|
+
"display_name_short": "Desired hot water setpoint (F)",
|
1129
|
+
"maximum": 122.0,
|
1130
|
+
"minimum": 118.0,
|
1131
|
+
"relation_to_output": "",
|
1132
|
+
"static_value": 120.0,
|
1133
|
+
"uncertainty_description": {
|
1134
|
+
"attributes": [
|
1135
|
+
{
|
1136
|
+
"name": "lower_bounds",
|
1137
|
+
"value": 118.0
|
1138
|
+
},
|
1139
|
+
{
|
1140
|
+
"name": "upper_bounds",
|
1141
|
+
"value": 122.0
|
1142
|
+
},
|
1143
|
+
{
|
1144
|
+
"name": "stddev",
|
1145
|
+
"value": 0.6666666666666666
|
1146
|
+
},
|
1147
|
+
{
|
1148
|
+
"name": "delta_x",
|
1149
|
+
"value": null
|
1150
|
+
},
|
1151
|
+
{
|
1152
|
+
"name": "modes",
|
1153
|
+
"value": 120.0
|
1154
|
+
}
|
1155
|
+
],
|
1156
|
+
"type": "triangle_uncertain"
|
1157
|
+
},
|
1158
|
+
"units": "",
|
1159
|
+
"value_type": "double",
|
1160
|
+
"variable": true,
|
1161
|
+
"variable_type": "RubyContinuousVariable",
|
1162
|
+
"uuid": "f2c42cf6-5355-40d9-8a91-e2da0e4b43c7",
|
1163
|
+
"version_uuid": "fece63c3-a96d-4258-8bcd-dee0778b5031"
|
1164
|
+
}
|
1165
|
+
],
|
1166
|
+
"workflow_index": 11,
|
1167
|
+
"workflow_step_type": "Measure",
|
1168
|
+
"uuid": "17bf0aab-a38f-4a1c-99ea-bce47bb6a0d1",
|
1169
|
+
"version_uuid": "d63d1cfe-79ce-40b9-af92-84dcea33d5f2"
|
1170
|
+
},
|
1171
|
+
{
|
1172
|
+
"measure_definition_class_name": "SetMinimumVAVTerminalFlowFraction",
|
1173
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
1174
|
+
"measure_definition_display_name": "SetMinimumVAVTerminalFlowFraction",
|
1175
|
+
"measure_definition_uuid": "42c4422c-512b-4e69-8f0f-c829eb1f16e0",
|
1176
|
+
"measure_definition_version_uuid": "e134d04e-76f6-490c-bc5b-4eb1d26ecc25",
|
1177
|
+
"measure_type": "RubyMeasure",
|
1178
|
+
"arguments": [
|
1179
|
+
],
|
1180
|
+
"display_name": "Set Minimum VAV Terminal Flow Fraction",
|
1181
|
+
"name": "set_minimum_vav_terminal_flow_fraction",
|
1182
|
+
"variables": [
|
1183
|
+
{
|
1184
|
+
"argument": {
|
1185
|
+
"display_name": "Minimum VAV Terminal Flow Fraction (%)",
|
1186
|
+
"display_name_short": "Minimum VAV Terminal Flow Fraction (%)",
|
1187
|
+
"name": "min_vav_frac",
|
1188
|
+
"value_type": "double"
|
1189
|
+
},
|
1190
|
+
"display_name": "Minimum VAV Terminal Flow Fraction (%)",
|
1191
|
+
"display_name_short": "Minimum VAV Terminal Flow Fraction (%)",
|
1192
|
+
"maximum": 60.0,
|
1193
|
+
"minimum": 0.0,
|
1194
|
+
"relation_to_output": "",
|
1195
|
+
"static_value": 30.0,
|
1196
|
+
"uncertainty_description": {
|
1197
|
+
"attributes": [
|
1198
|
+
{
|
1199
|
+
"name": "lower_bounds",
|
1200
|
+
"value": 0.0
|
1201
|
+
},
|
1202
|
+
{
|
1203
|
+
"name": "upper_bounds",
|
1204
|
+
"value": 60.0
|
1205
|
+
},
|
1206
|
+
{
|
1207
|
+
"name": "stddev",
|
1208
|
+
"value": 10.0
|
1209
|
+
},
|
1210
|
+
{
|
1211
|
+
"name": "delta_x",
|
1212
|
+
"value": null
|
1213
|
+
},
|
1214
|
+
{
|
1215
|
+
"name": "modes",
|
1216
|
+
"value": 30.0
|
1217
|
+
}
|
1218
|
+
],
|
1219
|
+
"type": "triangle_uncertain"
|
1220
|
+
},
|
1221
|
+
"units": "",
|
1222
|
+
"value_type": "double",
|
1223
|
+
"variable": true,
|
1224
|
+
"variable_type": "RubyContinuousVariable",
|
1225
|
+
"uuid": "807a8596-1aef-46b0-8d40-41d443bde9bf",
|
1226
|
+
"version_uuid": "3bd36020-161a-4e8f-a799-bf5f75dfe4b5"
|
1227
|
+
}
|
1228
|
+
],
|
1229
|
+
"workflow_index": 12,
|
1230
|
+
"workflow_step_type": "Measure",
|
1231
|
+
"uuid": "d44e1c1c-be8c-4728-b055-3a9c8a4de558",
|
1232
|
+
"version_uuid": "6d8c8536-95cf-4483-9702-c439bfee173c"
|
1233
|
+
},
|
1234
|
+
{
|
1235
|
+
"measure_definition_class_name": "ModifyEnergyPlusFanVariableVolumeObjects",
|
1236
|
+
"measure_definition_directory": "./measures/ExampleMeasure",
|
1237
|
+
"measure_definition_display_name": "ModifyEnergyPlusFanVariableVolumeObjects",
|
1238
|
+
"measure_definition_uuid": "9fdfea68-43ca-44c0-a97c-a27db07f6435",
|
1239
|
+
"measure_definition_version_uuid": "cd876ad7-5cd0-4932-9340-206aefef44fa",
|
1240
|
+
"measure_type": "EnergyPlusMeasure",
|
1241
|
+
"arguments": [
|
1242
|
+
],
|
1243
|
+
"display_name": "Modify EnergyPlus Fan Varaible Volume Objects",
|
1244
|
+
"name": "modify_energyplus_fan_varaible_volume_objects",
|
1245
|
+
"variables": [
|
1246
|
+
{
|
1247
|
+
"argument": {
|
1248
|
+
"display_name": "Pressure Rise (Pa).",
|
1249
|
+
"display_name_short": "Pressure Rise (Pa).",
|
1250
|
+
"name": "pressureRise",
|
1251
|
+
"value_type": "double"
|
1252
|
+
},
|
1253
|
+
"display_name": "Pressure Rise (Pa).",
|
1254
|
+
"display_name_short": "Pressure Rise (Pa).",
|
1255
|
+
"maximum": 700.0,
|
1256
|
+
"minimum": 400.0,
|
1257
|
+
"relation_to_output": "",
|
1258
|
+
"static_value": 500.0,
|
1259
|
+
"uncertainty_description": {
|
1260
|
+
"attributes": [
|
1261
|
+
{
|
1262
|
+
"name": "lower_bounds",
|
1263
|
+
"value": 400.0
|
1264
|
+
},
|
1265
|
+
{
|
1266
|
+
"name": "upper_bounds",
|
1267
|
+
"value": 700.0
|
1268
|
+
},
|
1269
|
+
{
|
1270
|
+
"name": "stddev",
|
1271
|
+
"value": 50.0
|
1272
|
+
},
|
1273
|
+
{
|
1274
|
+
"name": "delta_x",
|
1275
|
+
"value": 5.0
|
1276
|
+
},
|
1277
|
+
{
|
1278
|
+
"name": "modes",
|
1279
|
+
"value": 500.0
|
1280
|
+
}
|
1281
|
+
],
|
1282
|
+
"type": "triangle_uncertain"
|
1283
|
+
},
|
1284
|
+
"units": "",
|
1285
|
+
"value_type": "double",
|
1286
|
+
"variable": true,
|
1287
|
+
"variable_type": "RubyContinuousVariable",
|
1288
|
+
"uuid": "31ac4d3b-97ea-4aab-bae4-b88bf73cdebf",
|
1289
|
+
"version_uuid": "4dbca1d1-09f0-4808-b652-fc5803c3b5df"
|
1290
|
+
}
|
1291
|
+
],
|
1292
|
+
"workflow_index": 13,
|
1293
|
+
"workflow_step_type": "Measure",
|
1294
|
+
"uuid": "d92eca35-ca8e-464f-a2bc-842dfb2fecc6",
|
1295
|
+
"version_uuid": "480be4ef-bff8-49ff-98b3-2eeac8c0099a"
|
1296
|
+
}
|
1297
|
+
]
|
1298
|
+
}
|