openstudio-load-flexibility-measures 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +36 -36
  3. data/.rubocop.yml +6 -9
  4. data/CHANGELOG.html +75 -75
  5. data/CHANGELOG.md +59 -54
  6. data/Gemfile +31 -7
  7. data/Jenkinsfile +11 -10
  8. data/README.md +53 -42
  9. data/Rakefile +15 -15
  10. data/doc_templates/LICENSE.md +26 -26
  11. data/doc_templates/README.md.erb +41 -41
  12. data/doc_templates/copyright_erb.txt +35 -35
  13. data/doc_templates/copyright_js.txt +3 -3
  14. data/doc_templates/copyright_ruby.txt +33 -33
  15. data/lib/measures/add_central_ice_storage/LICENSE.md +26 -26
  16. data/lib/measures/add_central_ice_storage/README.md +264 -264
  17. data/lib/measures/add_central_ice_storage/README.md.erb +41 -41
  18. data/lib/measures/add_central_ice_storage/measure.rb +1325 -1324
  19. data/lib/measures/add_central_ice_storage/measure.xml +503 -503
  20. data/lib/measures/add_central_ice_storage/resources/OsLib_Schedules.rb +171 -173
  21. data/lib/measures/add_central_ice_storage/tests/add_central_ice_storage_test.rb +203 -203
  22. data/lib/measures/add_central_ice_storage/tests/ice_test_model.osm +21523 -21523
  23. data/lib/measures/add_hpwh/LICENSE.md +26 -26
  24. data/lib/measures/add_hpwh/README.md +186 -26
  25. data/lib/measures/add_hpwh/README.md.erb +41 -41
  26. data/lib/measures/add_hpwh/measure.rb +663 -645
  27. data/lib/measures/add_hpwh/measure.xml +402 -463
  28. data/lib/measures/add_hpwh/tests/SmallHotel-2A.osm +42893 -42893
  29. data/lib/measures/add_hpwh/tests/{add_hphw_test.rb → add_hpwh_test.rb} +137 -98
  30. data/lib/measures/add_packaged_ice_storage/LICENSE.md +26 -26
  31. data/lib/measures/add_packaged_ice_storage/README.html +185 -185
  32. data/lib/measures/add_packaged_ice_storage/README.md +189 -189
  33. data/lib/measures/add_packaged_ice_storage/measure.rb +694 -691
  34. data/lib/measures/add_packaged_ice_storage/measure.xml +245 -245
  35. data/lib/measures/add_packaged_ice_storage/resources/TESCurves.idf +1059 -1059
  36. data/lib/measures/add_packaged_ice_storage/tests/MeasureTest.osm +9507 -9507
  37. data/lib/measures/add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb +96 -96
  38. data/lib/openstudio/load_flexibility_measures/version.rb +40 -40
  39. data/lib/openstudio/load_flexibility_measures.rb +50 -50
  40. data/openstudio-load-flexibility-measures.gemspec +33 -34
  41. metadata +26 -26
@@ -1,27 +1,27 @@
1
- OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
2
-
3
- Redistribution and use in source and binary forms, with or without modification, are permitted
4
- provided that the following conditions are met:
5
-
6
- (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
- and the following disclaimer.
8
-
9
- (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
- and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
-
12
- (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
- or promote products derived from this software without specific prior written permission from the
14
- respective party.
15
-
16
- (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
- derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
- designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
- OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
1
+ OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted
4
+ provided that the following conditions are met:
5
+
6
+ (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
+ and the following disclaimer.
8
+
9
+ (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
+ and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
+
12
+ (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
+ or promote products derived from this software without specific prior written permission from the
14
+ respective party.
15
+
16
+ (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
+ derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
+ designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
+ OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
27
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,26 +1,186 @@
1
-
2
-
3
- ###### (Automatically generated documentation)
4
-
5
- #
6
-
7
- ## Description
8
-
9
-
10
- ## Modeler Description
11
-
12
-
13
- ## Measure Type
14
- ModelMeasure
15
-
16
- ## Taxonomy
17
-
18
-
19
- ## Arguments
20
-
21
-
22
-
23
-
24
- This measure does not have any user arguments
25
-
26
-
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Add HPWH for Domestic Hot Water
6
+
7
+ ## Description
8
+ This measure adds or replaces existing domestic hot water heater with air source heat pump system and allows for the addition of multiple daily flexible control time windows. The heater/tank system may charge at maximum capacity up to an elevated temperature, or float without any heat addition for a specified timeframe down to a minimum tank temperature.
9
+
10
+ ## Modeler Description
11
+ This measure allows selection between three heat pump water heater modeling approaches in EnergyPlus.The user may select between the pumped-condenser or wrapped-condenser objects. They may also elect to use a simplified calculation which does not use the heat pump objects, but instead used an electric resistance heater and approximates the equivalent electrical input that would be required from a heat pump. This expedites simulation at the expense of accuracy.
12
+ The flexibility of the system is based on user-defined temperatures and times, which are converted into schedule objects. There are four flexibility options. (1) None: normal operation of the DHW system at a fixed tank temperature setpoint. (2) Charge - Heat Pump: the tank is charged to a maximum temperature using only the heat pump. (3) Charge - Electric: the tank is charged using internal electric resistance heaters to a maximum temperature. (4) Float: all heating elements are turned-off for a user-defined time period unless the tank temperature falls below a minimum value. The heat pump will be prioritized in a low tank temperature event, with the electric resistance heaters serving as back-up.
13
+
14
+
15
+ ## Measure Type
16
+ ModelMeasure
17
+
18
+ ## Taxonomy
19
+
20
+
21
+ ## Arguments
22
+
23
+
24
+ ### Remove existing water heater?
25
+
26
+ **Name:** remove_wh,
27
+ **Type:** Boolean,
28
+ **Units:** ,
29
+ **Required:** true,
30
+ **Model Dependent:** false
31
+
32
+ ### Select 40+ gallon water heater to replace or augment
33
+ All can only be used with the 'Simplified' model
34
+ **Name:** wh,
35
+ **Type:** Choice,
36
+ **Units:** ,
37
+ **Required:** true,
38
+ **Model Dependent:** false
39
+
40
+ ### Set hot water tank volume [gal]
41
+ Enter 0 to use existing tank volume(s). Values less than 5 are treated as sizing multipliers.
42
+ **Name:** vol,
43
+ **Type:** Double,
44
+ **Units:** gal,
45
+ **Required:** false,
46
+ **Model Dependent:** false
47
+
48
+ ### Select heat pump water heater type
49
+
50
+ **Name:** type,
51
+ **Type:** Choice,
52
+ **Units:** ,
53
+ **Required:** true,
54
+ **Model Dependent:** false
55
+
56
+ ### Select thermal zone for HP evaporator
57
+ Does not apply to 'Simplified' cases
58
+ **Name:** zone,
59
+ **Type:** Choice,
60
+ **Units:** ,
61
+ **Required:** true,
62
+ **Model Dependent:** false
63
+
64
+ ### Set heat pump heating capacity
65
+ [kW]
66
+ **Name:** cap,
67
+ **Type:** Double,
68
+ **Units:** ,
69
+ **Required:** true,
70
+ **Model Dependent:** false
71
+
72
+ ### Set heat pump rated COP (heating)
73
+
74
+ **Name:** cop,
75
+ **Type:** Double,
76
+ **Units:** ,
77
+ **Required:** true,
78
+ **Model Dependent:** false
79
+
80
+ ### Set electric backup heating capacity
81
+ [kW]
82
+ **Name:** bu_cap,
83
+ **Type:** Double,
84
+ **Units:** ,
85
+ **Required:** true,
86
+ **Model Dependent:** false
87
+
88
+ ### Set maximum tank temperature
89
+ [F]
90
+ **Name:** max_temp,
91
+ **Type:** Double,
92
+ **Units:** ,
93
+ **Required:** true,
94
+ **Model Dependent:** false
95
+
96
+ ### Set minimum tank temperature during float
97
+ [F]
98
+ **Name:** min_temp,
99
+ **Type:** Double,
100
+ **Units:** ,
101
+ **Required:** true,
102
+ **Model Dependent:** false
103
+
104
+ ### Set deadband temperature difference between heat pump and electric backup
105
+ [F]
106
+ **Name:** db_temp,
107
+ **Type:** Double,
108
+ **Units:** ,
109
+ **Required:** true,
110
+ **Model Dependent:** false
111
+
112
+ ### Select reference tank setpoint temperature schedule
113
+
114
+ **Name:** sched,
115
+ **Type:** Choice,
116
+ **Units:** ,
117
+ **Required:** true,
118
+ **Model Dependent:** false
119
+
120
+ ### Daily Flex Period 1:
121
+ Applies every day in the full run period.
122
+ **Name:** flex0,
123
+ **Type:** Choice,
124
+ **Units:** ,
125
+ **Required:** true,
126
+ **Model Dependent:** false
127
+
128
+ ### Use 24-Hour Format
129
+
130
+ **Name:** flex_hrs0,
131
+ **Type:** String,
132
+ **Units:** ,
133
+ **Required:** false,
134
+ **Model Dependent:** false
135
+
136
+ ### Daily Flex Period 2:
137
+ Applies every day in the full run period.
138
+ **Name:** flex1,
139
+ **Type:** Choice,
140
+ **Units:** ,
141
+ **Required:** true,
142
+ **Model Dependent:** false
143
+
144
+ ### Use 24-Hour Format
145
+
146
+ **Name:** flex_hrs1,
147
+ **Type:** String,
148
+ **Units:** ,
149
+ **Required:** false,
150
+ **Model Dependent:** false
151
+
152
+ ### Daily Flex Period 3:
153
+ Applies every day in the full run period.
154
+ **Name:** flex2,
155
+ **Type:** Choice,
156
+ **Units:** ,
157
+ **Required:** true,
158
+ **Model Dependent:** false
159
+
160
+ ### Use 24-Hour Format
161
+
162
+ **Name:** flex_hrs2,
163
+ **Type:** String,
164
+ **Units:** ,
165
+ **Required:** false,
166
+ **Model Dependent:** false
167
+
168
+ ### Daily Flex Period 4:
169
+ Applies every day in the full run period.
170
+ **Name:** flex3,
171
+ **Type:** Choice,
172
+ **Units:** ,
173
+ **Required:** true,
174
+ **Model Dependent:** false
175
+
176
+ ### Use 24-Hour Format
177
+
178
+ **Name:** flex_hrs3,
179
+ **Type:** String,
180
+ **Units:** ,
181
+ **Required:** false,
182
+ **Model Dependent:** false
183
+
184
+
185
+
186
+
@@ -1,42 +1,42 @@
1
- <%#= README.md.erb is used to auto-generate README.md. %>
2
- <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
- ###### (Automatically generated documentation)
4
-
5
- # <%= name %>
6
-
7
- ## Description
8
- <%= description %>
9
-
10
- ## Modeler Description
11
- <%= modelerDescription %>
12
-
13
- ## Measure Type
14
- <%= measureType %>
15
-
16
- ## Taxonomy
17
- <%= taxonomy %>
18
-
19
- ## Arguments
20
-
21
- <% arguments.each do |argument| %>
22
- ### <%= argument[:display_name] %>
23
- <%= argument[:description] %>
24
- **Name:** <%= argument[:name] %>,
25
- **Type:** <%= argument[:type] %>,
26
- **Units:** <%= argument[:units] %>,
27
- **Required:** <%= argument[:required] %>,
28
- **Model Dependent:** <%= argument[:model_dependent] %>
29
- <% end %>
30
-
31
- <% if arguments.size == 0 %>
32
- <%= "This measure does not have any user arguments" %>
33
- <% end %>
34
-
35
- <% if outputs.size > 0 %>
36
- ## Outputs
37
- <% output_names = [] %>
38
- <% outputs.each do |output| %>
39
- <% output_names << output[:display_name] %>
40
- <% end %>
41
- <%= output_names.join(", ") %>
1
+ <%#= README.md.erb is used to auto-generate README.md. %>
2
+ <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
+ ###### (Automatically generated documentation)
4
+
5
+ # <%= name %>
6
+
7
+ ## Description
8
+ <%= description %>
9
+
10
+ ## Modeler Description
11
+ <%= modelerDescription %>
12
+
13
+ ## Measure Type
14
+ <%= measureType %>
15
+
16
+ ## Taxonomy
17
+ <%= taxonomy %>
18
+
19
+ ## Arguments
20
+
21
+ <% arguments.each do |argument| %>
22
+ ### <%= argument[:display_name] %>
23
+ <%= argument[:description] %>
24
+ **Name:** <%= argument[:name] %>,
25
+ **Type:** <%= argument[:type] %>,
26
+ **Units:** <%= argument[:units] %>,
27
+ **Required:** <%= argument[:required] %>,
28
+ **Model Dependent:** <%= argument[:model_dependent] %>
29
+ <% end %>
30
+
31
+ <% if arguments.size == 0 %>
32
+ <%= "This measure does not have any user arguments" %>
33
+ <% end %>
34
+
35
+ <% if outputs.size > 0 %>
36
+ ## Outputs
37
+ <% output_names = [] %>
38
+ <% outputs.each do |output| %>
39
+ <% output_names << output[:display_name] %>
40
+ <% end %>
41
+ <%= output_names.join(", ") %>
42
42
  <% end %>