openstudio-load-flexibility-measures 0.1.2 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.html +76 -0
- data/CHANGELOG.md +37 -3
- data/Jenkinsfile +10 -0
- data/README.md +4 -4
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_central_ice_storage}/LICENSE.md +0 -0
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_central_ice_storage}/README.md +1 -1
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_central_ice_storage}/README.md.erb +0 -0
- data/lib/measures/add_ice_storage_to_plant_loop_for_load_flexibility/docs/Ice Measure Implementation Guide.pdf b/data/lib/measures/add_central_ice_storage/docs/Ice Measure Implementation → Guide.pdf +0 -0
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_central_ice_storage}/measure.rb +3 -3
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_central_ice_storage}/measure.xml +9 -9
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_central_ice_storage}/resources/OsLib_Schedules.rb +0 -0
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility/tests/add_ice_storage_to_plant_loop_for_load_flexibility_test.rb → add_central_ice_storage/tests/add_central_ice_storage_test.rb} +4 -4
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_central_ice_storage}/tests/ice_test_model.osm +0 -0
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_hpwh}/LICENSE.md +0 -0
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_hpwh}/README.md +1 -1
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_hpwh}/README.md.erb +0 -0
- data/lib/measures/add_central_hpwh_for_load_flexibility/docs/Flexible Domestic Hot Water Implementation Guide.pdf b/data/lib/measures/add_hpwh/docs/Flexible Domestic Hot Water Implementation → Guide.pdf +0 -0
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_hpwh}/measure.rb +4 -4
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_hpwh}/measure.xml +14 -14
- data/lib/measures/{add_central_hpwh_for_load_flexibility → add_hpwh}/tests/SmallHotel-2A.osm +0 -0
- data/lib/measures/{add_central_hpwh_for_load_flexibility/tests/add_central_hpwh_for_load_flexibility.rb → add_hpwh/tests/add_hphw_test.rb} +2 -2
- data/lib/measures/{add_ice_storage_to_plant_loop_for_load_flexibility → add_packaged_ice_storage}/LICENSE.md +0 -0
- data/lib/measures/add_packaged_ice_storage/README.html +186 -0
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_packaged_ice_storage}/README.md +3 -3
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_packaged_ice_storage}/measure.rb +9 -8
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_packaged_ice_storage}/measure.xml +14 -22
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_packaged_ice_storage}/resources/TESCurves.idf +0 -0
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility → add_packaged_ice_storage}/tests/MeasureTest.osm +0 -0
- data/lib/measures/{add_distributed_ice_storage_to_air_loop_for_load_flexibility/tests/add_distributed_ice_storage_to_air_loop_for_load_flexibility_test.rb → add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb} +2 -2
- data/lib/openstudio/load_flexibility_measures/version.rb +1 -1
- data/openstudio-load-flexibility-measures.gemspec +4 -2
- metadata +36 -37
@@ -1,4 +1,4 @@
|
|
1
|
-
# Guide for
|
1
|
+
# Guide for the Add Packaged Ice Storage Measure
|
2
2
|
|
3
3
|
## Description
|
4
4
|
This measure removes the cooling coils in the model and replaces them with packaged air conditioning units with integrated ice storage.
|
@@ -8,7 +8,7 @@ This measure applies to packaged single zone air conditioning systems or package
|
|
8
8
|
|
9
9
|
Users inputs are accepted for cooling coil size, ice storage size, system control method, modes of operation, and operating schedule.
|
10
10
|
|
11
|
-
The measure requires schedule objects and performance curves from an included resource file TESCurves.idf. Output variables of typical interest are included as well
|
11
|
+
The measure requires schedule objects and performance curves from an included resource file TESCurves.idf. Output variables of typical interest are included as well.
|
12
12
|
|
13
13
|
## Measure Type
|
14
14
|
EnergyPlus Measure
|
@@ -30,7 +30,7 @@ This measure is built to simulate packaged ice storage units which integrate wit
|
|
30
30
|
## How the Measure Works
|
31
31
|
The measure works by replacing user-selected single-speed and two-speed cooling coils (all applicable coils are pre-selected by default) with *Coil:Cooling:DX:SingleSpeed:ThermalStorage* objects. These TES units may be AutoSized, or hard-sized
|
32
32
|
|
33
|
-
An Energy Management System (EMS) program is created for each new TES coil. The default controller turns ice charging and discharging on/off based on ice storage tank end fraction (state of charge). If users desire advanced control strategies, the EMS code may be modified directly in the "measure.rb" file (line 663 ff.).
|
33
|
+
An Energy Management System (EMS) program is created for each new TES coil. The default controller turns ice charging and discharging on/off based on ice storage tank end fraction (state of charge) and user-defined operating schedule. If users desire advanced control strategies, the EMS code may be modified directly in the "measure.rb" file (line 663 ff.). A built-in Schedule Modes controller is also available.
|
34
34
|
|
35
35
|
Whether EMS Control or Schedule Modes are used, a charge/discharge schedule is required. The default is a simple schedule created by user inputs. Ice storage capacity is based on the ice discharge window.
|
36
36
|
|
@@ -37,10 +37,10 @@
|
|
37
37
|
# Measure Renamed, License Updated, and Code Cleaned - KH June 2020
|
38
38
|
|
39
39
|
# start the measure
|
40
|
-
class
|
40
|
+
class AddPackagedIceStorage < OpenStudio::Measure::EnergyPlusMeasure
|
41
41
|
# human readable name
|
42
42
|
def name
|
43
|
-
'Add
|
43
|
+
'Add Packaged Ice Storage'
|
44
44
|
end
|
45
45
|
|
46
46
|
# human readable description
|
@@ -61,11 +61,11 @@ class AddDistributedIceStorageToAirLoopForLoadFlexibility < OpenStudio::Measure:
|
|
61
61
|
def arguments(workspace)
|
62
62
|
args = OpenStudio::Measure::OSArgumentVector.new
|
63
63
|
|
64
|
-
# Add a delimiter for clarify
|
65
|
-
delimiter = OpenStudio::Measure::OSArgument.makeStringArgument('delimiter', false)
|
66
|
-
delimiter.setDisplayName('Select Coils to Replace:')
|
67
|
-
delimiter.setDefaultValue('-----------------------------------------------------------------')
|
68
|
-
args << delimiter
|
64
|
+
# # Add a delimiter for clarify
|
65
|
+
# delimiter = OpenStudio::Measure::OSArgument.makeStringArgument('delimiter', false)
|
66
|
+
# delimiter.setDisplayName('Select Coils to Replace:')
|
67
|
+
# delimiter.setDefaultValue('-----------------------------------------------------------------')
|
68
|
+
# args << delimiter
|
69
69
|
|
70
70
|
# get existing dx coils for user selection
|
71
71
|
coils = workspace.getObjectsByType('Coil:Cooling:DX:SingleSpeed'.to_IddObjectType)
|
@@ -82,6 +82,7 @@ class AddDistributedIceStorageToAirLoopForLoadFlexibility < OpenStudio::Measure:
|
|
82
82
|
coil_selection = OpenStudio::Measure::OSArgument.makeBoolArgument(k, true)
|
83
83
|
coil_selection.setDisplayName(k)
|
84
84
|
coil_selection.setDefaultValue(v)
|
85
|
+
coil_selection.setDescription('Replace this coil?')
|
85
86
|
args << coil_selection
|
86
87
|
end
|
87
88
|
|
@@ -687,4 +688,4 @@ class AddDistributedIceStorageToAirLoopForLoadFlexibility < OpenStudio::Measure:
|
|
687
688
|
end
|
688
689
|
|
689
690
|
# register the measure to be used by the application
|
690
|
-
|
691
|
+
AddPackagedIceStorage.new.registerWithApplication
|
@@ -1,13 +1,13 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
3
|
<schema_version>3.0</schema_version>
|
4
|
-
<name>
|
4
|
+
<name>add_packaged_ice_storage</name>
|
5
5
|
<uid>2aa8c128-53b9-49fd-9aaf-9253a1f05936</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>1a0ab79e-1825-4418-a4ad-aec2194d4707</version_id>
|
7
|
+
<version_modified>20201208T224029Z</version_modified>
|
8
8
|
<xml_checksum>2617824F</xml_checksum>
|
9
|
-
<class_name>
|
10
|
-
<display_name>Add
|
9
|
+
<class_name>AddPackagedIceStorage</class_name>
|
10
|
+
<display_name>Add Packaged Ice Storage</display_name>
|
11
11
|
<description>This measure removes the cooling coils in the model and replaces them with packaged air conditioning units with integrated ice storage.</description>
|
12
12
|
<modeler_description>This measure applies to packaged single zone air conditioning systems or packaged variable air volume systems that were originally modeled with CoilSystem:Cooling:DX or AirLoopHVAC:UnitarySystem container objects. It adds a Coil:Cooling:DX:SingleSpeed:ThermalStorage coil object to each user-selected thermal zone and deletes the existing cooling coil.
|
13
13
|
|
@@ -15,14 +15,6 @@
|
|
15
15
|
|
16
16
|
The measure requires schedule objects and performance curves from an included resource file TESCurves.idf. Output variables of typical interest are included as well.</modeler_description>
|
17
17
|
<arguments>
|
18
|
-
<argument>
|
19
|
-
<name>delimiter</name>
|
20
|
-
<display_name>Select Coils to Replace:</display_name>
|
21
|
-
<type>String</type>
|
22
|
-
<required>false</required>
|
23
|
-
<model_dependent>false</model_dependent>
|
24
|
-
<default_value>-----------------------------------------------------------------</default_value>
|
25
|
-
</argument>
|
26
18
|
<argument>
|
27
19
|
<name>ice_cap</name>
|
28
20
|
<display_name>Input the ice storage capacity [ton-hours]</display_name>
|
@@ -220,12 +212,6 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
220
212
|
<usage_type>test</usage_type>
|
221
213
|
<checksum>DC0DCC4B</checksum>
|
222
214
|
</file>
|
223
|
-
<file>
|
224
|
-
<filename>README.md</filename>
|
225
|
-
<filetype>md</filetype>
|
226
|
-
<usage_type>readme</usage_type>
|
227
|
-
<checksum>B27484F2</checksum>
|
228
|
-
</file>
|
229
215
|
<file>
|
230
216
|
<filename>LICENSE.md</filename>
|
231
217
|
<filetype>md</filetype>
|
@@ -233,10 +219,16 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
233
219
|
<checksum>E0468DD6</checksum>
|
234
220
|
</file>
|
235
221
|
<file>
|
236
|
-
<filename>
|
222
|
+
<filename>add_packaged_ice_storage_test.rb</filename>
|
237
223
|
<filetype>rb</filetype>
|
238
224
|
<usage_type>test</usage_type>
|
239
|
-
<checksum>
|
225
|
+
<checksum>2D918464</checksum>
|
226
|
+
</file>
|
227
|
+
<file>
|
228
|
+
<filename>README.md</filename>
|
229
|
+
<filetype>md</filetype>
|
230
|
+
<usage_type>readme</usage_type>
|
231
|
+
<checksum>A67F3738</checksum>
|
240
232
|
</file>
|
241
233
|
<file>
|
242
234
|
<version>
|
@@ -247,7 +239,7 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
247
239
|
<filename>measure.rb</filename>
|
248
240
|
<filetype>rb</filetype>
|
249
241
|
<usage_type>script</usage_type>
|
250
|
-
<checksum>
|
242
|
+
<checksum>749A70A0</checksum>
|
251
243
|
</file>
|
252
244
|
</files>
|
253
245
|
</measure>
|
File without changes
|
File without changes
|
@@ -39,7 +39,7 @@ require 'minitest/autorun'
|
|
39
39
|
|
40
40
|
require_relative '../measure.rb'
|
41
41
|
|
42
|
-
class
|
42
|
+
class AddPackagedIceStorageTest < MiniTest::Test
|
43
43
|
# def setup
|
44
44
|
# end
|
45
45
|
|
@@ -48,7 +48,7 @@ class AddDistributedIceStorageToAirLoopForLoadFlexibilityTest < MiniTest::Test
|
|
48
48
|
|
49
49
|
def test_good_argument_values
|
50
50
|
# create an instance of the measure
|
51
|
-
measure =
|
51
|
+
measure = AddPackagedIceStorage.new
|
52
52
|
|
53
53
|
# create runner with empty OSW
|
54
54
|
osw = OpenStudio::WorkflowJSON.new
|
@@ -22,11 +22,13 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
+
spec.required_ruby_version = '~> 2.7.0'
|
26
|
+
|
25
27
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
26
28
|
spec.add_development_dependency 'rake', '~> 13.0'
|
27
29
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
28
30
|
spec.add_development_dependency 'rubocop', '~> 0.54.0'
|
29
31
|
|
30
|
-
spec.add_dependency 'openstudio-extension', '~> 0.2
|
31
|
-
spec.add_dependency 'openstudio-standards', '~> 0.2.
|
32
|
+
spec.add_dependency 'openstudio-extension', '~> 0.4.2'
|
33
|
+
spec.add_dependency 'openstudio-standards', '~> 0.2.13'
|
32
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-load-flexibility-measures
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Heine
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-04-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -73,28 +73,28 @@ dependencies:
|
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.2
|
76
|
+
version: 0.4.2
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.2
|
83
|
+
version: 0.4.2
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: openstudio-standards
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.2.
|
90
|
+
version: 0.2.13
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.2.
|
97
|
+
version: 0.2.13
|
98
98
|
description: library and measures for OpenStudio for load flexibility applications.
|
99
99
|
email:
|
100
100
|
- karl.heine@nrel.gov
|
@@ -105,8 +105,10 @@ extra_rdoc_files: []
|
|
105
105
|
files:
|
106
106
|
- ".gitignore"
|
107
107
|
- ".rubocop.yml"
|
108
|
+
- CHANGELOG.html
|
108
109
|
- CHANGELOG.md
|
109
110
|
- Gemfile
|
111
|
+
- Jenkinsfile
|
110
112
|
- README.md
|
111
113
|
- Rakefile
|
112
114
|
- doc_templates/LICENSE.md
|
@@ -114,33 +116,31 @@ files:
|
|
114
116
|
- doc_templates/copyright_erb.txt
|
115
117
|
- doc_templates/copyright_js.txt
|
116
118
|
- doc_templates/copyright_ruby.txt
|
117
|
-
- lib/measures/
|
118
|
-
- lib/measures/
|
119
|
-
- lib/measures/
|
120
|
-
- lib/measures/
|
121
|
-
|
122
|
-
- lib/measures/
|
123
|
-
- lib/measures/
|
124
|
-
- lib/measures/
|
125
|
-
- lib/measures/
|
126
|
-
- lib/measures/
|
127
|
-
- lib/measures/
|
128
|
-
- lib/measures/
|
129
|
-
- lib/measures/
|
130
|
-
- lib/measures/
|
131
|
-
- lib/measures/
|
132
|
-
- lib/measures/
|
133
|
-
- lib/measures/
|
134
|
-
- lib/measures/
|
135
|
-
- lib/measures/
|
136
|
-
- lib/measures/
|
137
|
-
- lib/measures/
|
138
|
-
|
139
|
-
- lib/measures/
|
140
|
-
- lib/measures/
|
141
|
-
- lib/measures/
|
142
|
-
- lib/measures/add_ice_storage_to_plant_loop_for_load_flexibility/tests/add_ice_storage_to_plant_loop_for_load_flexibility_test.rb
|
143
|
-
- lib/measures/add_ice_storage_to_plant_loop_for_load_flexibility/tests/ice_test_model.osm
|
119
|
+
- lib/measures/add_central_ice_storage/LICENSE.md
|
120
|
+
- lib/measures/add_central_ice_storage/README.md
|
121
|
+
- lib/measures/add_central_ice_storage/README.md.erb
|
122
|
+
- lib/measures/add_central_ice_storage/docs/Ice Measure Implementation Guide.pdf
|
123
|
+
- lib/measures/add_central_ice_storage/measure.rb
|
124
|
+
- lib/measures/add_central_ice_storage/measure.xml
|
125
|
+
- lib/measures/add_central_ice_storage/resources/OsLib_Schedules.rb
|
126
|
+
- lib/measures/add_central_ice_storage/tests/add_central_ice_storage_test.rb
|
127
|
+
- lib/measures/add_central_ice_storage/tests/ice_test_model.osm
|
128
|
+
- lib/measures/add_hpwh/LICENSE.md
|
129
|
+
- lib/measures/add_hpwh/README.md
|
130
|
+
- lib/measures/add_hpwh/README.md.erb
|
131
|
+
- lib/measures/add_hpwh/docs/Flexible Domestic Hot Water Implementation Guide.pdf
|
132
|
+
- lib/measures/add_hpwh/measure.rb
|
133
|
+
- lib/measures/add_hpwh/measure.xml
|
134
|
+
- lib/measures/add_hpwh/tests/SmallHotel-2A.osm
|
135
|
+
- lib/measures/add_hpwh/tests/add_hphw_test.rb
|
136
|
+
- lib/measures/add_packaged_ice_storage/LICENSE.md
|
137
|
+
- lib/measures/add_packaged_ice_storage/README.html
|
138
|
+
- lib/measures/add_packaged_ice_storage/README.md
|
139
|
+
- lib/measures/add_packaged_ice_storage/measure.rb
|
140
|
+
- lib/measures/add_packaged_ice_storage/measure.xml
|
141
|
+
- lib/measures/add_packaged_ice_storage/resources/TESCurves.idf
|
142
|
+
- lib/measures/add_packaged_ice_storage/tests/MeasureTest.osm
|
143
|
+
- lib/measures/add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb
|
144
144
|
- lib/openstudio/load_flexibility_measures.rb
|
145
145
|
- lib/openstudio/load_flexibility_measures/version.rb
|
146
146
|
- openstudio-load-flexibility-measures.gemspec
|
@@ -153,17 +153,16 @@ require_paths:
|
|
153
153
|
- lib
|
154
154
|
required_ruby_version: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- - "
|
156
|
+
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
158
|
+
version: 2.7.0
|
159
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
160
|
requirements:
|
161
161
|
- - ">="
|
162
162
|
- !ruby/object:Gem::Version
|
163
163
|
version: '0'
|
164
164
|
requirements: []
|
165
|
-
|
166
|
-
rubygems_version: 2.7.6.2
|
165
|
+
rubygems_version: 3.1.2
|
167
166
|
signing_key:
|
168
167
|
specification_version: 4
|
169
168
|
summary: library and measures for OpenStudio for load flexibility applications.
|